Quality is an integrated part of development process which means that the work of a tester will begin when the problem arrives.
In software development we talk about solutions, and whenever we talk about a solution we need to consider every aspect involved.
In order to deliver a solution to the client, not only a product, we need to start understanding the client’s challenges. This is well known in the software industry, and I believe that this is also known in other industries.
The big question here is: Who is the client? Answering this question is like opening a door and cast a glance to the purpose of the solution. In this case the client is not the corporate that pays for the solution in order to sell it and to make profit nor the machine that is executing the commands encoded by the developers. Keeping that in mind, the tester should always guide the software development towards an easy to learn product.
Providing the controls where the user expect them to be and providing a fluent experience are key components. I have decided to write about the most familiar client: the human being.
Software market is increasing and only the best thrive.
Why is that happening? Because the humanity has became addicted to software, because only functionality is not enough, because the expectation of the clients are constantly growing. This is called progress and in order to keep the pace, a tester should not only check whether all the acceptance criteria are met and if all the requirements are satisfied, it should also predict how human will interact with the final solution.
Software predictability requires careful analysis and observation, but the result is a product easy to learn. It is necessary for a tester, involved in software development process, to gain the ability to metamorphose into a typical user. But seeing through the eyes of a person, that will eventually use the solution, it`s not enough. Skills, like document the result thoroughly and observe your behavior should not be lost. In software testing, testers should pay attention to this ongoing process and observe all ambiguities and provide feedback.
A definition of a software tester can be briefly worded like this: A technician who conducts prescribed tests on software programs in order to ensure quality prior to the implementation of the solution.
It is not enough, a tester needs also speed. And again, speed alone is not sufficient because it will only result in a frenzy of activity. A very well established direction is also required and only then we can talk about the velocity in software testing.
High velocity is crucial in software development because it is well known that the faster you reveal the errors, the lower the cost of fixing them is, and the lower is the risk of failures.