The development of modern appliances requires a robust test infrastructure and comprehensive system tests to ensure quality and reliability. Appliances such as combi-steamers, which are used in professional kitchens, often contain extensive software - for some manufacturers this comprises up to 700,000 lines of code. Extensive test automation is used to manage this complexity. Insights into the daily test routine show how companies master the challenges of scaling in software development while ensuring the highest standards for their products.
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 testing 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 offset 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 the automated system test for the devices since the end of 2017. Since last year, he has officially led the Nightwatch team.
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.
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.
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.
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.
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.