Automated Test Cases: A Success Story Impacting Thousands
During the COVID-19 pandemic, mechanical ventilators became vital for the treatment of patients with respiratory failure. Therefore, manufacturers of these devices were challenged to triple their production overnight to meet domestic and international demand. Prior to this scenario, a leading Argentinian company in the manufacture of respirators called on us for a project to automate test cases in order to speed up the manufacturing processes.
During the development process of a new line of ventilators, isolated tests are performed on each of the components that will be integrated into the equipment: from the mechanical parts to the software that will control the equipment. When installing this last component, it is essential to verify its correct operation and compliance with safety standards for medical equipment.
This verification stage is executed as many times as iterations of the software development and the result of each of the executions must be recorded for subsequent analysis and correction of the defects found. Therefore, it is very important to reduce the execution effort of these tests and mitigate the risk of introducing errors in the results load.
Challenge of automation and efficiency.
The challenge of this project was to find a way to control and guarantee the quality of their products automatically and efficiently. To do so, we developed and automated a test bench. This test bench could only interact with the ventilator externally, without the possibility of modifying the software under test. Therefore, we designed electronic and mechanical circuits and controllers to reproduce the operation of the equipment. With that, we were able to create a software component that allowed automating tests that were triggered remotely from the management system that records the test cases and their results.
Before implementing the automation, the manual execution of each cycle took 4 days of 2 people 100% assigned to the task. After the implementation of our development, this effort was reduced 8 times, so the main impact was the reduction of the effort dedicated to verification.
Prioritization and agility, the key to success.
To bring value to the project as early as possible, it is important to prioritize those essential test cases that need less development for automation. In this way, the customer can start running a minimal automated test suite. For those parts that are not automated, we print a message indicating the operation to be executed so that whoever operates the ventilator can have an assisted version of the test cases.
It is very valuable to have frequent meetings with the client to show progress, revalidate priorities and decide how to move forward. In our client, an organization with more classical development methodologies, this allowed us to adopt some more agile practices.
This project fills us with pride, mainly because medical equipment are critical systems that must meet numerous stages of testing and product testing and also because the solution allowed us to impact the lives of all people who needed to use respirators in a transcendental moment in the history of mankind.
For more details on the test bench architecture and its integration, other project challenges, benefits and more lessons learned, we invite you to read the article on this case published in Sadio's magazine.