Home » TPT » Cloud Testing with TPT: Case Study with AGSOTEC » Reasons to test Software in the Cloud
Test executions are computationally intensive and time-consuming.
The complete testing of a software application can take several days to weeks. Most often, the tests are still conducted on individual workstations.
Scaling the infrastructure to accelerate test execution times quickly encounters organizational, technological, operational, and/or financial limits. We wanted to understand exactly how setting up tests in the cloud works.
To test software, it takes
System under Test
For example, software models (Simulink, Targetlink), code (C/C++).
Test Cases
At best, they represent a meaningful stimulation of the System under Test.
Test Environment
The test environment stimulates the System under Test and measures and evaluates results.
A test environment requires many IT resources (especially memory and CPU) because it performs multiple tasks simultaneously:
Stimulation of the System under Test
Execution of the System under Test
Measurement of the System under Test
Assessment of the System under Test´s behavior
In Model/Software-in-the-Loop tests, stimulation is one of the computationally intensive components, as it involves runtime calculations of the environment simulations for the stimulation. Therefore, tests require almost all resources of a computing unit.
We have extensively and repeatedly examined how test execution times can be reduced for automotive software development using state-of-the-art cloud technologies.
The focus of the analysis was primarily on the usability for setup and operation, as well as the costs for operation, with the overarching goal of accelerating development through shorter feedback cycles to reduce the time-to-market of software-based vehicle functions.
For development teams, IT, and management, the cloud-based approach offers interesting use cases, which could be familiar to many as real-world examples:
Typical scenario: Just before the release, a last-minute change comes in that urgently needs to be included in the current version. A CCB or management decision has been made. Implementation only takes a day. Unfortunately, it’s in a central software module, so three-quarters of all tests need to be re-run.
The necessary test run on the high-performance machine takes at least five days, two days later than the promised delivery date. And the documentation still needs to be created. The deadline must be met at all costs.
In critical situations, such as impending shifts in the start-of-production, short-term, significantly higher costs may be justified. With test solutions in the cloud, it’s possible to create as many computers as needed at short notice. And with the principle that a machine is set up as desired and then cloned multiple times, more virtual machines can test much more.
If one were to say, for example, that one test case is executed per machine, then with 7,200 tests, there would be 7,200 machines. If one test case takes one minute, then a complete test run could be completed in a matter of minutes due to the large number of virtual machines, instead of five days on a single physical machine.
Feedback is Breakfast for Champions. And Testing is the Feedback in Development.
In our experience, this holds true for all software development: The faster the development receives feedback on the success of the changes made, the more effective and efficient it becomes.
Especially in large and complex software products with numerous dependencies, a small change can lead to significant problems. According to the Rule of Ten, the cost of fixing errors increases exponentially with the time it takes to discover the error. This means that the later an error is found, the more expensive it is. That’s why early testing and fast results are so important.
For quick starts, Continuous Integration (CI) environments have become established in professional software development. With every change made to the codebase (Push/Commit), tests are automatically initiated. The CI orchestrates the entire integration process by incrementally loading, building, and testing software components from unit to end product. Tests can be executed on one or more different computing units. Additionally, cloud integration with CI environments is possible to further accelerate testing.
Companies often have to invest a considerable amount in hardware to be able to run a large number of tests simultaneously. The setup and operation tie up valuable internal resources, as there is usually not enough personnel in the IT departments for the growing future demand. Scalability is therefore fundamentally inadequate.
During start-of-production launches and just before new releases, development teams often have temporarily increased and unpredictable infrastructure needs for their tests. With virtual machines in the cloud, temporarily occurring demand peaks can be absorbed, which also means relief for the IT department.
Hybrid approaches, such as combining on-premise and cloud, in conjunction with sophisticated IT cloud operation strategies, can lead to optimal cost-benefit ratios, as well as cloud-only approaches, with the option for immediate, rapid scaling.
And then there’s the release from five years ago. Now, there’s a need to implement a small change for only a small number of vehicles. The infrastructure has since evolved, been enhanced, and software has been updated. Now, all old tests need to be migrated to the new infrastructure. A huge effort for a small change.
Here too, the cloud offers an interesting solution: Once set up, virtual machines can be archived and reactivated at a later time. One would need to re-familiarize themselves with the processes, methods, and tools used at that time. In our experience, however, this is easier and faster than a complete migration from old to new.
By clicking 'I Accept' you agree to the storing of first- and third-party cookies on your device to enhance site navigation, analyze site usage, and assist in Synopsys marketing efforts. For additional information, please see the Synopsys privacy policy. If you are under 16 and wish to give consent to optional services, you must ask your legal guardians for permission. You can revoke or adjust your selection at any time under Settings.
If you are under 16 and wish to give consent to optional services, you must ask your legal guardians for permission. Here you will find an overview of all cookies used. You can give your consent to whole categories or display further information and select certain cookies.