This only changes when it does not work. To prevent this from happening, consistent quality control is important. The magic word for this: Software Testing.
Software Testing: An Attempt at an Approach
"There is no standard definition for software testing," reports Thomas Steirer, testing expert at Nagarro. "From my point of view, however, it makes sense to define the term broadly. Then it includes all measures that ensure that software fulfills the tasks for which it was designed. Software testing thus becomes a holistic task that, at best, already begins during development."
In fact, the term "DevOps" established a philosophy that pursues precisely this. "DevOps", composed of "development" and "operations", brings software development and software operations closer together. To this end, companies are establishing processes and tools that facilitate feedback loops. One goal here is to break down rigid, sequential processes and thus improve quality assurance. "In the past, thinking was often activity-based. Developers specified the new software and outlined its logical structure, and programmers implemented it. Afterwards, internal users tested the first alpha version," explains Thomas Steirer.
The disadvantage of this approach was that even serious defects were often only discovered by the testers at a late stage - in the worst case at the end customer. This lengthened development times, and at the same time sometimes resulted in considerable additional costs. "That's why we already accompany the development process today. Our experience shows that around 80 percent of all errors occur there: For example, development overlooks important functionalities for users or fails to consider the third-party systems with which the software will frequently interact. This can be avoided through early quality controls," says Thomas Steirer, who knows from experience.
A must-have - not only for software producers
At first it seems as if testing primarily concerns software houses. But far from it! Today, all companies use software: ERP and CRM systems, websites with associated online stores, control systems for production are classic examples. Often, these are solutions that companies tailor to their needs - often designing entire IT ecosystems in the process. "Let's look at SAP, for example. This is not just simple software, but rather a colorful toolbox that companies can draw from based on their needs," says Thomas Steirer. "The SAP Business Technology Platform (BTP) in particular proves this: it's more and more about company-specific, orchestrated system landscapes."
These IT ecosystems are essential for smooth operations. In the case of websites and online stores, the company's internal IT also directly affects the end consumers. It is then annoying if they cannot place an order due to software errors, for example. Software testers therefore not "only" passively ensure smooth processes, but also protect companies from fundamental business risks - because without modern IT, nothing works in companies today. Thomas Steirer comments: "Software is a vital factor for the survival of virtually all companies. And thus software risks do not only remain in the software - but affect the entire organization and its livelihood. A well set up software test reduces this risk to a low and manageable level. This basically turns the work of the testers into a form of risk management."
Testing system landscapes - a question of experience
However, complex system landscapes are generally prone to errors. The focus here is therefore on the extent to which the individual components fit together appropriately and coherently. To this end, system architects define the requirements they must meet even before go-live. To this end, they specify
- Tasks and goals of the new environment
- common use cases and
- required APIs so that the individual components can be interconnected.
Testers support them by questioning assumptions, checking requirements for completeness, or examining use cases for practical relevance. Operationally, they also check input forms or test interfaces. The difficulty here is that in order for this to be successful, experience is particularly important. Thomas Steirer: "Testing is where science and art come together. The scientific aspects can be learned by studying the literature. Relevant publications fill entire bookshelves. But you only get really good at it when you develop a feel for typical problems. An example: In practice, an infinite number of application scenarios are conceivable. But only a finite number of scenarios can be run through. The trick is to assess which ones are realistic - and to focus on those. It's clear that this requires project experience."
An experimental field for the interaction of "man and machine"? It is even possible that experiential knowledge will become even more important as a result of AI. The reason: AI currently takes on mainly operational, often boring and repetitive tasks. For example, few people probably enjoy reading source code. Then it's nice when ChatGTP & Co. check it. But only humans can assess where AI deployment and test automation make sense - and where they don't. In addition, more and more companies are using machine learning. A practical example of this: virtual assistants. However, these must first be trained and validated with test data - another field of activity for testers.
A conclusion for companies
In times of data-driven business models and uncertain supply chains, IT is becoming even more critical to success. Companies should therefore keep an eye on this topic and at least invest in it gradually. Especially in the beginning, competent specialists can accompany companies in this process, as external service providers or by training the workforce. Thomas Steirer: "After the first few projects, it will become clear whether a company will hire its own specialists or rely on external partners on a permanent basis. Initially, however, it can approach the topic in an uncomplicated manner. Given the importance of IT today, there's no harm in giving it a try."