Hurdles of Testing Large-scale Software Systems - Michaela Greiler

Hurdles of Testing Large-scale Software Systems - Michaela Greiler

Description:

In this talk, I explain how integration and compliance testing is done at one of the largest software companies. You learn how large and complex software systems are developed and which implications this development style has for software testing. I show how a typical integration and compliance process looks like for a large-scale system and explain the challenges software testers face. Finally, I will highlight a novel approach that tackles some of the described testing challenges.

Here is a bit of a teaser:

Large-scale software systems are developed by several hundreds or even thousands of software engineers. Those engineers often work on a particular part, feature or piece of code in isolation by using the concept of development branches. The problem for software testing starts when code changes from several engineers are merged together.

Even though the code has been previously tested by the engineer, the new integration must be tested as well. Furthermore, large and complex software systems also require checking that changes do not impact other parts of the system by running integration tests, tests for backward compatibility, performance and security tests. Such test suites are time-consuming and expensive. They also require a fair amount of manual work. On the other hand, by design, they often do not find defects. Their main function is to be a safety net to ensure the software is compliant.

The problem of these test suites is that their execution times (which can be several hours for large software systems) contrast with the need for software companies to shorten release cycles.

In this talk, I highlight a novel approach, developed at one of the largest software companies, that helps to reduce test execution times and manual interventions without sacrificing software quality.

Takeaways

After this talk participants will know:

  • how large-scale software systems are developed
  • and more importantly, how such systems are tested in practice.
  • They will have a good understanding of how integration and compliance testing is done at one of the largest software companies.
  • and how test suite execution times and frequent manual intervention can impact release cycles.
  • Finally, participants learn a novel approach to tackle some of the problems discussed.