Welcome to the two-part series "Holistic Software Testing". In this series, we explain the importance of software testing and introduce you to the concept of a holistic approach to software testing in the second part.
In response to a customer request, twim has developed a concept of a holistic approach that allows software testing to be performed more efficiently and cost-effectively without sacrificing quality.
After a detailed study of the existing testing situation in the company and the analysis of comprehensive expert knowledge, an approach was developed with which a considerable increase in testing requirements can be covered within three years without increased personnel resources, but which is considerably optimised in terms of quality, and which has a savings potential of over 30 % cost reduction.
What is software testing and how does it benefit a company?
When a company decides on a digital business model, it automatically becomes dependent on software. This is because its success stands and falls, among other things, on the quality of the software used; depending on the industry, this is partly responsible for customer satisfaction, for the continuity of production or even for the smooth functioning of the administration. The idea that software quality must be ensured is therefore obvious.
Software testing is quality assurance for software. If all quality features are tested in a structured and systematic way, software errors (so-called bugs) can be identified and eliminated. Historically, it took some time before the necessity of software testing was recognised. At first, software testing was not carried out at all or only by the software developers themselves, later in the form of beta testing by specialists, but detached from the software development process and only at the end of the production cycle.
More recently, it has become clear that software testers must be directly involved in the software development process so that errors can be avoided or detected at an early stage.
Is software testing dispensable?
Nevertheless, software testing is still often the first stream in software projects to fall victim to corporate cost-cutting measures. For example, it is limited to certain test levels or less qualified testers are employed; in extreme cases, software testing is dispensed with altogether.
There are several reasons for this: Manual testing is time-consuming and thus resource-intensive, furthermore, a certain amount of errors is considered tolerable in the development of software, and furthermore, no one likes to be confronted with inadequacies in their own work results, which also applies to developers and requirements engineers.
Finally, a major factor why software testing is difficult to justify is that it does not deliver any discernible return. Not only does it seem to lack constructiveness, but according to this view, testing even has a destructive character. This misconception must be countered by the fact that software testing must be recognised as an important part of software development that does indeed deliver constructive results:
Martina Schelling, Senior Softwaretester
The importance of software testing is increasing
Without systematic testing throughout the entire development process, a company accepts the risk of faulty software - including all conceivable consequences such as dissatisfied customers, but also liability issues. For this very reason, doing without software testing or limiting it is not a valid solution. This is even more true with advancing digitalisation.
Because a higher degree of digitalisation brings with it more software and more interfaces. Moreover, the more sophisticated software is, the more complex and faster it becomes on the one hand, and the more unstable on the other. An increase in interfaces between software tools requires a better end-to-end understanding and security requirements are also becoming more stringent.
These factors make a higher number of test cases necessary and ensure that software testing becomes more complex. The former clouds the quantity aspect of testing, the latter the quality. In the course of this development, more test personnel are therefore needed, who must be more highly qualified, as it were, in order to cope with more numerous and more demanding test cases.
«Software becomes more complex and faster with each version, but also more unstable. - This also makes software testing more complex and difficult.»
So software testing lacks acceptance and it is costly. Nevertheless, it is important and increasingly indispensable. - Our client was confronted with this initial situation.
At first, the only possible solutions seemed to be the reduction of testing resources and/or the employment of less qualified testing personnel. It was obvious that these options would not be very promising, at least not in the long term, because firstly, they offer only limited savings potential, and secondly, a loss of quality is unavoidable.
For this reason, the company commissioned twim to develop a long-term strategy that would enable it to meet the growing need for software testing and the associated higher quality requirements without having to accept additional costs.
In summary, the new testing solution should pursue the following goals:
Cover the increasing testing volume without additional testing staff, increase the quality of software testing, save costs in the long run, improve acceptance and cooperation with the software testing stream.
In response to this request, twim developed a concept that covers all these needs and even offers considerable added value. The concept was developed on the basis of various business cases and found to be valid and implementable by the client's test managers. Thanks to the holistic, efficient and long-term approach, twim met with enthusiasm.
Learn more about our approach in the comprehensive part 2: Productivity-increasing software testing concept (data basis, design and effects).