Blog

Test Infrastructure at Device Manufacturers - Richard Seidl

Written by Richard Seidl | 01/14/2025

Podcast Episode: Test Infrastructure at Device Manufacturers

In this podcast episode, I talk to Andreas Berger from RATIONAL, a manufacturer of kitchen appliances. Andreas explains the importance of system testing and a good test infrastructure for their products, such as combi steamers. We talk about how their appliances, which are used in large kitchens such as restaurants and hotels, are equipped with lots of software. Around 700,000 lines of code in their appliances are matched by extensive test automation. Andreas gives insights into the daily testing routine and how they overcome the challenges that come with scaling their development.

"The biggest challenge is scaling with development. We are currently growing massively in terms of development, and we don't want to end up in a situation where we have as many people in test automation as in development." - Andreas Berger

After studying computer engineering, Andreas Berger started in embedded software development at a payment terminal manufacturer. The main area of his work was middleware development. The next station led him, also as an embedded middleware developer, to a medical technology company that developed dephibrilators for ambulances and helicopters. He has been working at RATIONAL since 2012. He also started there as an embedded developer and has been setting up automated system testing for the devices since the end of 2017. Since last year, he has officially led the Nightwatch team.

apple spotify youtube

Highlights der Episode

  • System test environments for kitchen appliances play a central role in the quality assurance of appliances such as combi steamers and tilt catch systems for commercial kitchens.
  • These appliances are heavily software-based, with the software mainly developed in-house. Many electronic components have to be extensively tested.
  • The aim is to carry out automated test runs during the night and evaluate the results the next morning.
  • Tests include controlling operating modes such as hot-air cooking and appraisal of the correct functioning of controllers and heaters.
  • Networking solutions are essential to enable remote updates and the roll-out of software programs in large restaurant chains.

Efficient test automation in commercial kitchen technology

RATIONAL: More than just kitchen appliances

RATIONAL is known for the manufacture of combi-steamers and tilting catcher systems that are used in commercial kitchens worldwide. At first glance, these appliances look like pure kitchen technology, but they are highly complex systems with a large number of electronic components and company-specific functions that have to work together precisely. An average appliance contains around 700,000 cells that communicate with each other. This high level of technical complexity makes comprehensive and thorough system testing essential to ensure smooth operation.

Automated tests for maximum reliability

A key objective at RATIONAL is to test all key appliance functions fully automatically. To this end, a comprehensive test infrastructure consisting of racks, electronic assemblies and relay modules is being set up. The entire test process runs automatically - from initiation to report generation the next morning. This automation significantly reduces manual sources of error and simultaneously increases the efficiency of the test processes.

The challenges of test automation

One of the biggest challenges is the integration of hardware and software components to ensure seamless collaboration. To achieve this, RATIONAL relies on a specially developed Python framework. The choice of Python is based on its versatility and simplicity compared to programming languages such as C or C++. Another advantage of Python is the lack of need for compilation times, which further accelerates the testing process.

Typical test scenarios and their meaning

A frequent test scenario at RATIONAL involves simulating specific operating modes, such as cooking with hot air. This involves checking whether all relevant components such as motors, heaters and temperature sensors work correctly and achieve the desired goals. Such tests are crucial to ensure that the appliances function reliably under real-life conditions.

Future prospects: Continuous improvement

A key goal for the future of test automation at RATIONAL is the introduction of a comprehensive test impact analysis. This analysis should help to prioritize test cases more efficiently and further optimize the test process. A functioning test impact analysis would make it possible to test changes in a targeted manner and make the entire process even more efficient. This step is an important milestone on the way to continuously improving quality assurance.

Frequently asked questions about software test infrastructure

What is software test infrastructure?

The software test infrastructure comprises all the necessary resources and tools required for testing software. This includes hardware, software, test environments, test data and test tools. It forms the basis for the planning, execution and evaluation of tests to ensure the quality and functionality of the software. A well-structured test infrastructure enables efficient test processes and contributes to the early detection of errors.

Which components are part of the software test infrastructure?

The main components of the software test infrastructure include test environments, test tools, test data and hardware resources. Test environments simulate the production environment to enable realistic tests. Test tools support the automation and management of tests. Test data is necessary to map different scenarios. Hardware resources provide the required computing power and storage capacity.

Why is a solid test infrastructure important?

A solid test infrastructure is crucial to ensure the quality and reliability of software products. It enables tests to be carried out efficiently, errors to be detected at an early stage and development time to be shortened. Without a suitable infrastructure, tests can be incomplete or faulty, which can lead to problems in production and dissatisfied customers.

How do you set up an effective test infrastructure?

Setting up an effective test infrastructure starts with analyzing the test requirements and selecting suitable test tools. It is important to create test environments that realistically replicate production conditions. Obtaining relevant test data and ensuring sufficient hardware resources are also crucial. Close cooperation between developers and testers also promotes the development of an efficient test infrastructure.

What role does automation play in the test infrastructure?

Automation plays a central role in the test infrastructure, as it takes over repetitive tasks and increases test efficiency. Automated tests enable faster feedback on the state of the software and reduce human error. They are particularly useful for regression testing and continuous integration processes, as they can perform tests regularly and consistently.

What are the challenges in setting up a test infrastructure?

When setting up a test infrastructure, challenges can arise such as selecting the right tools, integrating them into existing systems and ensuring scalability. In addition, test environments must be configured to accurately replicate production conditions. Managing and updating test data and training the team to use the new infrastructure are other important aspects.

How does the test infrastructure differ between manual and automated tests?

With manual tests, the focus of the infrastructure is on the provision of test environments and tools for test documentation. Automated tests, on the other hand, require additional tools for script creation and execution as well as systems for continuous integration. The hardware requirements can be higher for automated tests, especially if parallel test executions are planned.

What are the best practices for maintaining the test infrastructure?

Regular updates of test tools and environments are essential to keep pace with technological developments. It is important to ensure the consistency of test data and to remove outdated data. Documentation and monitoring help to keep track of the state of the infrastructure. In addition, the team should be continuously trained to be able to work effectively with the infrastructure.

How does the test infrastructure influence software quality?

A well-developed test infrastructure enables comprehensive and efficient testing, allowing errors to be detected and rectified at an early stage. This leads to higher software quality and reliability. Without an adequate test infrastructure, important tests can be overlooked, increasing the risk of errors in the production environment.

What are the trends in the development of test infrastructures?

Current trends in the development of test infrastructures include the increased use of cloud-based test environments, the integration of AI for test automation and the use of container technologies such as Docker. These approaches offer flexibility, scalability and increased efficiency in the testing process. The concept of shift-left testing, in which tests are integrated earlier in the development cycle, is also becoming increasingly important.

Häufige Fragen

What current trends and developments are shaping the test infrastructure?

Current trends in test infrastructure include increasing automation, continuous testing and the use of AI for error detection. Cloud-based testing solutions are gaining popularity as they offer flexibility and scalability. In addition, the integration of test infrastructure into DevOps pipelines is becoming increasingly important to enable faster development cycles. Mobile and IoT testing is also on the rise to meet the increasing use of mobile devices.

How does the test infrastructure affect the quality of software?

The test infrastructure has a direct influence on the quality of software, as it enables systematic and automated tests. A well-organized test infrastructure detects errors at an early stage and thus reduces costly rework. It promotes efficiency and consistency in the testing process and enables faster feedback for developers. In addition, a robust test infrastructure supports continuous integration and deployment, resulting in more stable and error-free software releases. Ultimately, this contributes to higher customer satisfaction and a better user experience.

How do I optimally maintain and service my test infrastructure?

In order to optimally maintain and service your test infrastructure, you should regularly update the software and tools to ensure security and performance. Create automated tests to detect errors at an early stage. Document all processes and changes to share knowledge within the team Monitor and adjust resources to avoid bottlenecks. Schedule regular reviews to continuously check and improve the infrastructure.

What are the differences in the test infrastructure between manual and automated tests?

The test infrastructure differs fundamentally between manual and automated tests. Manual tests require human intervention, which is often time-consuming and error-prone, while automated tests are performed using software tools, making them faster and more consistent. In addition, automated testing infrastructure requires scripts and test environments to be set up, whereas manual testing can often be performed on an ad-hoc basis. Automation also enables repeatable testing over longer periods of time, which is usually not practical with manual testing.

What challenges need to be considered when setting up an effective test infrastructure?

When setting up an effective test infrastructure, several challenges must be taken into account. These include the selection of suitable test tools, integration into existing systems and ensuring test data quality. It is also important to define clear test processes and offer training for the team. The adaptability of the test infrastructure to changing requirements and the timely identification of bottlenecks are also crucial in order to enable efficient and reliable tests in the long term.

How does automation affect efficiency and quality in the test infrastructure?

Automation significantly improves the efficiency and quality of the test infrastructure. It reduces manual errors, accelerates test cycles and enables more frequent and thorough testing. This leads to faster feedback and prompt adjustments in development. Automation also ensures that tests are consistent and repeatable, which increases the reliability of the results. Overall, this increases product quality and reduces costs in the test infrastructure in the long term.

What steps are necessary to set up an effective test infrastructure?

To set up an effective test infrastructure, first define clear test objectives and strategies. Select suitable tools for automated tests and version control. Set up a stable environment that mirrors the production environment as much as possible. Automate repeatable tests and implement continuous integration to get quick feedback. Training for the team is important to ensure the handling of the test infrastructure. Finally, document all processes and tests to ensure maintainability and traceability.

What advantages does a solid test infrastructure offer for software projects?

A solid test infrastructure ensures high software quality through automated tests that detect errors at an early stage. It improves development speed as developers receive feedback more quickly. It also reduces the cost of subsequent bug fixes as problems are effectively identified before they reach production. A well-defined test infrastructure promotes team collaboration and increases confidence in the software, as regular testing ensures stability. Ultimately, it ensures a better user experience because higher quality software has fewer bugs.

What are the most important components of an effective test infrastructure?

The most important components of an effective test infrastructure are automated test tools, a stable test environment and a well-structured test management system. Automated tests guarantee consistency and speed, while a reliable test environment creates realistic conditions. A structured test management system facilitates the planning, execution and evaluation of tests. In addition, clear documentation and integration into the software development process are crucial to ensure efficiency and transparency.

What is a test infrastructure in software development?

A test infrastructure in software development comprises all the necessary resources, tools and environments to systematically test software. This includes test servers, automation tools, test databases and integration systems. The test infrastructure enables efficient testing, increases the quality of the software and supports the rapid identification of errors. It forms the basis for manual and automated tests to ensure that the software meets the requirements. A well-planned test infrastructure is crucial to the success of the software development process.