Testing is always a challenge for software engineers. Getting to 100% coverage of different operating states and scenarios is difficult and edge cases can create problems. Medical devices certainly have this challenge. It can be very difficult to test software when the state of a device is constantly changing. Both settings and measurements impact output, can vary widely, and impact data outputs. In addition, most medical devices require human interaction to change settings and generate measurements.
To help with testing our code we have developed a method of recording raw data from medical devices to repeat tests on our software based on a known state. This provides some clear benefits in the testing process. First, we have saved precious development time! Our test engineer does not have to repeatedly set up the device for the same operational state. What before would have taken hours can now be done in minutes. Additionally, we have been able to improve the quality of our software because we can test iteratively during and after development. Finally, we have reduced the occurrence of regressions in our software. The ability to run tests end-to-end at a low time cost has allowed us to ensure that well-tested features remain well-tested and proven.