Understanding the Process of Medical Device Software Testing
- April 19, 2023
- Posted by: Chaitali Avadhani
- Category: Custom Healthcare Software Development
Key Takeaways
- CD (Continuously Delivery) is vital for pushing codes quickly to customers. Automated testing is important for CD as manual testing won’t be able to achieve it.
- Key regulation to consider for medical devices is IEC 62304. It determines the life cycle requirements for medical device software. The set of activities defined in this regulation establishes a common framework for medical device software life cycle processes.
- The main objective of functional testing is to check the working of the software, and it focuses on testing the basic usability of the medical device system.
Countless medical and healthcare innovations have entered the market in recent years. As per a report, the adoption of IoT and benefits offered by SaMD (Software as a Medical Device) are driving the software as a medical device market growth, resulting in more innovative healthcare devices.
These technological innovations are designed to provide high-quality care to patients, aid in healthcare data security and transmission, facilitate remote care options, and offer easy access to medical records.
Though healthcare technology gives numerous benefits, it comes with its own set of risks as well. Data breaches, faulty devices, and cyber crimes are a result of a gap in creating a medical device or software. To ensure that quality medical device software reaches the market, developers and testers need to assure to perform thorough medical device software testing.
Importance of Medical Device Software Testing
Medical devices can impact healthcare decisions. A faulty medical device miscalculates patients’ conditions and gives the wrong output. This error results in providing incorrect medication and treatment plans to patients.
They may have to endure side effects of medications that they don’t need. So, every medical device software must be tested for its functions. Further, medical device software testing offers accurate and timely results to stakeholders.
Testing helps to:
- Detect weaknesses and defects in devices
- Determine if all the software requirements are met.
- Help to avoid defects.
- Ensure software quality.
- Confirm that the medical device is operable and ready to be launched in the market.
Medical device testing needs to comply with regulations and meet all the above-mentioned requirements. A robust testing strategy can be used to achieve it. This is where a medical device testing company can assist healthcare facilities. They can guide, prepare, and implement a testing process that matches all regulatory compliance.
Types of Software Testing Methods
1. Automated Testing
Manual testing required a full-time quality assurance team. This team would create test plans and checklists, which were executed manually for every software update or change. This process is slow and prone to errors. Automated software testing of medical devices puts the responsibility in the hands of the engineering team.
A roadmap of the software development process is created alongside test plans, which are then executed automatically via integration tools. Furthermore, CD (Continuously Delivery) is vital for pushing codes quickly to customers. Automated testing is important for CD as manual testing won’t be able to achieve it.
2. Functional Testing
Functional testing ensures that every application works as per software requirements. Here, every software function is compared to its corresponding requirement to assure that output is consistent.
Additionally, functional testing checks whether software can handle errors and unexpected scenarios. Software is checked for different scenarios, for instance for payment modules, tests include managing valid and invalid card numbers or generating OTP for a successful transaction.
3. Device Compatibility Testing
Medical device software needs to operate with other databases, devices, systems, and networks. Device compatibility testing checks whether a device can work in collaboration with other systems. Interoperability of healthcare data is considered of prime importance in care facilities, hence device compatibility ensures smooth data exchange.
An incompatible device software holds little value in treating patients and managing healthcare data. Moreover, compatibility testing is a prerequisite to compliance requirements.
4. Device Verification and Validation Testing
Device verification testing is a way to confirm that medical devices satisfy requirements for design inputs. Here, quality assurance teams compare design inputs with the outputs. This is not an automated process but requires manual work to assure that the development of medical device software matches the design. Mistakes during verification testing can result in faulty software.
Validation testing checks whether a device meets end-user needs. If it fails validation testing, then the entire design process is repeated before mass production. Medical devices are tested against real-life scenarios to ascertain that they work.
5. White-Box Testing
White-box testing aims at the internal processes of a medical device software rather than external functions. Tests conducted include:
- Path Checking: Here, all types of device execution paths are explored within the software, to assure that all conditions are efficient and correct.
- Security Testing: Static code analysis is used to detect vulnerabilities within a medical device and ascertains that best development practices are followed.
- Output Validation: This step ensures that medical devices produce the expected result.
- Data Flow Testing: This tracks the execution paths of a program to assure that variables are initialized, declared, and manipulated.
- Loop Testing: It tests loops in software to see if they’re efficient and can manage variables.
Process of Medical Device Software Testing
1. Compliance and Regulations Verification
One of the key regulations to consider for medical devices is IEC 62304, which determines the life cycle requirements for medical device software. The set of activities, processes, and tasks defined in this regulation establishes a common framework for medical device software life cycle processes.
Manufacturers have to follow these regulations to receive FDA approval in the USA to develop FDA-compliant medical software. Further, medical device software falls into either of the following three categories:
- Class A: No damage or injury to health is possible
- Class B: Possible injury but not serious
- Class C: Serious or dead injury is possible
Regulatory requirements are rigorous for Class C as compared to Class A due to risks and incorrect outcomes caused by a faulty device. Regulations cover all standards needed during the development process, however specifically for software testing consider sections 5.6 which covers integration, and section 5.7 which defines which software system testing.
Additionally, for medical devices that need upgrades, section 7.4 is considered which talks about risk management. Another legal requirements to note are ISO 13485 which determines international standards for quality management. IEC 60601 is an essential regulation for electrically operated medical devices.
Since medical device software can contain ePHI (Protected Health Information), it’s important to ensure HIPAA compliance with software to safeguard patients’ medical records.
2. Functionality Testing
The main objective of functional testing is to check the working of the software, and it focuses on testing the basic usability of the medical device system; checks whether a user can smoothly navigate through screens without any hindrances.
Further, functionality testing also includes testing the mainline functions of the software, along with verifying the accessibility of the system for users. Some of the functional testing tools which can be used are QTP, Selenium, soapUI, and JUnit.
Functionality testing is executed in five steps, which are as follows:
- Understanding the basic functional needs.
- Identifying test data or test input as per requirements.
- Computing expected outcomes with chosen test input values.
- Executing test cases
- Comparing computed and actual expected results.
3. Software Verification
Under software verification, a medical device software is checked whether it meets the expected requirements without executing the code. Commonly used software verification methods include:
- Peer Reviews: Here, developers review documents to identify faults in the software. During the peer review process, the SRS (Software Requirements Verification) document is reviewed thoroughly.
- Walkthroughs: This is a systematic verification method as compared to peer reviews. The author of the software document presents it in front of people, and this method helps to find faults in medical device software.
- Inspection: A group of three to six people is consulted for software review. This is an effective way to find problems in documents such as SDD, SRS, etc., and improve them, along with bettering the software development life cycle process.
4. Interoperability Testing
Developers check whether medical device software can interact with other software systems and components, without any compatibility issues. Levels of interoperability testing consist of data type, physical, semantic, and specification level interoperability.
This type of testing ensures end-to-end service providers for two or more medical devices. However, risks associated with interoperability testing are data loss, unreliable operation, and low maintenance.
5. GUI or Design Validation
The purpose of GUI (Graphical User Interface) testing is to assure that all functionalities of medical device software work as per specifications, and this is done by checking controls and screens such as menus, buttons, icons, etc.
The following aspects are validated under GUI testing:
- Correct display of error messages
- Text alignment
- Colors, fonts, and images
- Positioning of GUI elements for various screen resolutions
- Clear demarcation of sections on the screen
6. Confirming Software Requirements
Creating software requirements list is an essential task, as it helps testers to save time and costs looking for hidden requirements themselves, and what to test for.
Developers may not know whether medical device software testing is complete or not, and they may end up making assumptions, resulting in the release of half-checked software in the market.
This indirectly provides faulty devices to the users. Additionally, unclear software requirements allow bugs to enter the system, leading to a failed device.
During software requirements, testers can check for the following aspects:
- Clear and defined objects/ entities in the user story.
- The user story captures the essence of the product and both the programmer and user can co-relate to the details of the software.
- Task story to be completed in a day or one sprint.
7. Bench and Reliability Testing
Bench testing is a crucial step in the initial device design process, and is created to tease out design and mechanical flaws in medical devices. This test also helps to check the endurance of a human body without having to implant a device in a human being.
Further, according to the FDA, non-clinical bench performance testing can be wrapped up by a third-party testing facility or device manufacturer, depending on the device type or actual device.
Testing activities cover biological engineering performance such as tensile strength, wear, compression, fatigue, etc. Test report summaries must include test objectives, tests performed, result summary, pre-defined fail/pass criteria, discussions, and conclusions.
8. Code Reviews
For this stage, adopt a code quality guide to define the requirements, the software complexity, clarity, and maintenance. Conduct a source code analysis to verify compliance guidelines, and set up code reviews as part of the software coding practice.
Further, increase the share of testing performed by the development team as it aids to identify defects when they’re less and easy to fix.
The demand for medical device software will continue to rise in the coming years due to its varied benefits such as enhanced patient care, treatment for chronic conditions, and access to medical records. If you’re looking to develop cutting-edge medical software for your organization, then contact Arkenea, which specializes in medical software development.