What exactly is the benefit of testing?
“We forgot to include the hours for testing in the budget…”
“Maybe the secretariat is available to click through the application”
“… but soon because the final release has to go to the customer tomorrow”
Software testing is often a suppositious consideration. It is at the bottom of the list of many developmental programs and is being executed just because that is the way it is.
The causes of incorrect or non-testing therefore often relate to:
- Lack of knowledge to be able to test in a structured way;
- no test cases are made;
- there are no fixed protoc;
- as a result, the test work probably takes unnecessary time;
- so there is a danger of not testing certain parts and other parts twice;
- Do not take into account budget testing and therefore come up with unexpected surprises;
- The fact that the effect of testing is noticeable only later. At the moment when the application is put into operation and it is placed under stress, the effect of testing becomes noticeable;
- Developers Tunnel Vision. Everybody tests their own area, but no one tests the consistency of the components;
- Too limited testing. Often, testing is limited to clicking on buttons and checking if it does not provide blue screens. This happens often unstructured and executed by persons not trained as a professional tester;
- Underestimate the importance of testing. With the idea “developers are doing their work well,” testing is often considered superfluous.
More attention to the benefit of testing
There are a number of developments that ask for more attention for testing.
- The use of web applications. As a result, the application must work in theory on all common browsers. However, practice often indicates otherwise.
- The arrival of mobile devices. With the arrival of the tablet and the smartphone, more and more online applications and websites with these devices will be approached. Due to the multitude of different models, complexity increases in compatibility. Each type of device will have to be tested separately.
- Agile Software Development. More and more applications are developed according to the Agile methodology. As a result, it is necessary to make the testing being done parallel with the developments.
Allowing developers to do the testing is a waste of resources
In addition to the external factors that affect testing, it is also not advisable to let developers themselves test. The famous author and researcher Fred Brooks wrote in his standard work “The Mythical Man-Month” (1) that software developers spend 50% of their time on testing. This is probably a bit lower today if we can trust the stories from practice, but it still remains a significant part. This is not efficient and therefore certainly does not contribute to productivity. Developers naturally want to work on new and challenging projects. At a time when companies fight for good developers, it is important to make the most of the developers capacity. Therefore, let the developers do what they are good at: analysing and programming. This usually does not include performing testing tasks. This also has a positive effect on employee satisfaction. Taking out testing by specialised testers will benefit you more from the benefits of testing.
Testing works well out to low wages countries in Eastern Europe. This has a number of advantages:
- Testing is usually repetitive production. This outsourcing usually results in cost advantage and quality gains.
- By using the right tools, it is ensured that the remote tester is fully integrated into the development team and is able to test integrally.
- Assuming a dedicated test team, it is the advantage that the client can have a solid team of testers who acquire knowledge of the products of the client and thus learn about the coherence of the various application parts.
- Abroad, the professional and well-trained testers are still available.
From the above it can be deduced that testing not only costs money, but can also save. Well-tested software provides greater customer satisfaction, which is a profit for the user and/or customer.