For many software products and projects, it is difficult to find suitable people who are qualified to fulfill the role of tester.
Their task is to scrutinize the software comprehensively and with expertise in order to find errors and anomalies at an early stage. This is so that they can be rectified before the customer notices them.
What is special about the "tester" species and why can't every person do testing? We will address this question in the following.
How do you become a tester?
In Germany, there is no apprenticeship or degree program that enables you become a "software tester." In the relevant job boards, there is no standardized job title for testers. For example, you can find:
In all of the above positions, the job profile includes tasks from the Test subject area. What you can see here is that there is no such thing as "the tester." Rather, testers are experts who are highly specialized in certain areas and topics.
To professionalize the job profile, the International Software Testing Qualifications Board (ISTQB), a non-profit certification body, has set itself the task of developing standardized training for software testers. This involves offering incremental certification with specializations for software engineering.
What are the testers' tasks?
Testers should be involved in the process at an early stage, as testing does not begin at the end of the software's development, but in its early phases.
In these phases, testers are already supporting the design and development team and analyzing the specifications, drawing up a test concept and starting to create the test cases.
Depending on the software's degree of completion, the testing should already be started, so long as it is sensible to do so. In this way, initial test results can be obtained via functional tests and non-functional tests, and, in the event of errors and anomalies, measures can be taken at an early stage.
As the software matures, the demands on the test also increase. In addition to the functional tests and non-functional tests, further testing stages are now being added. The system is tested in combination with other systems (end-to-end). Possible security vulnerabilities are searched for in the penetration test, and the response time behavior is checked as part of load and performance tests, to name just a few testing stages.
The range of tasks performed by testers is very broad and extends from test planning, the creation and maintenance of test cases and test data, the execution of test cases, the evaluation and documentation of test results to support in error analysis and troubleshooting, and the documentation and presentation of results. This means that the testers must maintain close contact with everyone involved at all times.
But what kinds of qualifications and behavioral skills must a tester have for these tasks?
Requirements for testing personnel
Because the tasks are frequently underestimated by project/product managers, employees are often asked to perform testing who neither fulfill the intrinsic motivation requirement nor any of the other necessary requirements.
"Anyone can test" is a frequently heard statement.
No, this is not the case, unfortunately. As a tester, you need to have a set of hard and soft skills to master the tasks.
As the tasks vary a great deal, the tester must understand the requirements engineers'and developers' specifications and always keep the end customers in mind. This is so that the system also meets future users' expectations. In addition to IT knowledge, it is necessary to have methodological skills with respect to testing. This is the only way to derive test cases that have a high probability of detecting unknown errors. In addition to IT and testing knowledge, domain knowledge, i.e. specialist knowledge of the test objects' environment, is necessary in order to test the system.
Interpersonal skills or behavioral skills is also an important requirement. As testers interact with many people during the process (from requirements engineers to end customers), the ability to work in a team, political skills and the ability to change perspectives are essential. In addition, curiosity, creativity, analytical thinking and frustration tolerance are just as important as the willingness to question apparent facts.
That makes them sound like nice, friendly people, doesn't it?
So why is it that software testers are still mostly unpopular?
Imagine that a new software product is being developed. Project managers, requirements engineers and developers plan the product together as a team. They all believe in the project's success and in the possibility of constructing a new system. From the specification to the application, everyone works hand in hand so that the "baby" can see the light of day.
Furthermore, imagine that after the "birth," testers appear on the scene who analyze the system from a "destructive" point of view and search for errors and anomalies.
There is obviously a conflict of interest here. The designers feel attacked - their work is destroyed and criticized. This leads to an image problem for the testers.
There is no doubt that testers think "destructively" - but that is their job. Good testers assume that the system is not error-free. Every error that is found can be rectified before delivery and makes the product even better.
All in all, everyone involved is creating a new system. Testers support the team in order to make the system "perfect."
Testing can reveal the presence of errors, but never provide proof of the absence of errors!
There is no such thing as error-free software, and a complete test is not possible, even if you have unlimited time, budget and resources. Tests are always only random samples and the choice of test cases must be designed in such a way that errors are found with a high probability. This is the art that testers have to master.
"Testing is an extremely creative and intellectually challenging task"
This task belongs in the hands of experts who meet the requirements and are intrinsically motivated to improve the system.
Software testers must be seen as an important part of the process and not just as "click robots" that handle test cases.
Would you like to learn more about what our software can do for insurers? Then please get in touch with our expert Karsten Schmitt, Head of Business Development.