Medical devices software engineer Julien Zaegel wrote an interesting series of articles on medical devices software testing. These articles provide an overview of as well as several useful insights on the specifics of testing medical devices software and software in general.
When it comes to automated and manual software testing for medical devices there are several aspects you don’t usually have to deal with when testing more common kinds of web or business applications:
- With medical systems human lives are at stake.
- Medical devices often involve embedded systems, which usually are hard to update.
- Medical devices companies aren’t exactly known for being particularly agile. There might be cumbersome internal validation processes involved.
- Medical devices are heavily regulated. So, there are legal quality and traceability requirements.
- Not only do medical devices nowadays have to accommodate networked environments – as is the case most other software – but unlike most other software systems medical devices have to deal with biological systems and potentially react to feedback from these systems, too.
All of these considerations make testing medical devices software substantially more costly and more complex than testing other categories of software.
In his blog posts Julien shares his experience with testing that kind of software. Apart from shedding light on how test processes and design patterns work in this particular area these articles cover crucial aspects of automated software testing in general, too.
The key takeaway is that tests don’t come for free but require time, effort and investment. As software users we frequently ask ourselves why web apps, business or consumer applications more often than not seem to be riddled with bugs while software that could potentially cause severe harm when malfunctioning in almost all cases appears to be working correctly.
The reason for this is simply time and money. Investing in software quality and quality assurance is a vital part of creating and producing medical devices. We probably don’t need the same degree of quality and correctness requirements in most run-of-the-mill business software but the truth of the matter is that if we expect better software quality we simply need to invest in better software quality!
Software tests can be automated and they can be made more efficient. There’s a large number of test design patterns and testing libraries. There’s no silver bullet however that’ll magically make software testing completely effortless and available at zero marginal cost. Good quality software requires investing time and resources. There’s no way around that!