Enhancing Quality and Test in Medical Device Design - Part 2.pdf

ICS
ICSICS
Sub-Header Text
Welcome
1
About ICS
Established in 1987, Integrated
Computer Solutions, Inc. (ICS)
delivers innovative software
solutions with a full suite of
services to accelerate development
of successful next-gen products.
ICS is headquartered outside
Boston in Waltham, Mass. with
offices in California, Canada and
Europe. Currently 160+ people.
www.ics.com
Delivering a Full Suite of
Medtech Services
● IEC 62366-UX/UI Design
● Custom Frontend & Backend Software Development
● Development with IEC 62304-Compliant Platform
● Low-code Tools that Convert UX Prototype to
Product
● Medical Device Cybersecurity
● AWS and Azure Cloud Services and Analytics
● ISO 14971-Compliant Hazard Analysis
● Software Verification Testing
● Digital Twins for Training and Simulation
● Complimentary Software Technology Assessments
Quality and Test in Medical Devices
1. Part 1 - Recap
2. Part 2 - Test Methods, Pros, Cons
3. The complete picture Quality and Test
Page #
Part 1 Recap
1. Usability to systematically reduce Use Errors through product design - impacts quality
2. Architecture for quality - maintainable, testable, extensible, reliable, available
a. Tiered layers - visibility / access
b. Error injection - difficult to test sub-systems
c. Dependency inversion - simulators and visibility
3. Code analyzers
a. A quality tool, with tradeoffs
b. Necessary but not sufficient (for complex projects)
Usability and Architecture for Quality
5
Part 2
➢ Test Canon
● Automated GUI testing
● System testing
● Integration testing
● Unit tests
➢ High-Value testing
○ Key goals
○ Example
➢ Verification vs. test canon
➢ Software “Reliability"
Pros and Cons of Testing
6
Automated UI
Testing
Page #
Using a 3rd party application to automate mouse clicks on a GUI (Graphical User Interface)
Test tools manage scripts and collections and support automation
Good for:
- Stable User Interfaces (not undergoing changes)
- Enduring value - runs ‘for free’
- Functional/system/black-box testing
Automated Graphical
User Interface Testing
8
Lambda Test
Selenium
AutoHotKey
Squish
Test Complete
Cypress
Challenges
- Brittle - Superficial changes to UI can cause tests to fail
- Test strategy - create modular/reusable tests that can be daisy-chained
- No variability - tests the same thing over and over
- Mostly tells you something changed
- Changes system - additional process running on system with threading considerations
- i.e. a graphic bug example (triangles)
Automated User Interface Testing
9
Lambda Test
Selenium
AutoHotKey
Squish
System Testing
Page #
UI vs. System testing → same?
● Depends on architecture and functionality of the UI
● Are all system behaviors available from the UI?
System Testing
● May require additional test software/framework (i.e. LIS, Cloud services)
● Focuses on positive and negative test cases
● Can be harder to automate
Both
Are tested vs. product requirements
System Testing
11
Integration Testing
Page #
Why integration testing is important
- Behavior obscured by system
complexity
- FDA language indicating that functional
testing (Black box), is not sufficient as it
does not exercise hidden dependencies
- Rigorously test behavior for each block
and each interface
- Essential for large or complex products
Integration Testing
13
Pro
- Essential, irreplaceable form of test for
a complex system
Con
- Labor intensive
- Time-consuming
Unit Tests
Page #
Unit Tests
Background
- The smallest unit of test
- Software functions that call product functions
- They usually are numerous, multiple test functions for
a single product function. Executed by a framework in
an automated build/test sequence.
- Necessary, but far from adequate
As valuable as we thought?
15
Unit Tests
Pros
- Finds bugs early, at check-in
- Easily automated - Part of Continuous Integration
- Automated coverage metrics
- Enduring value
- Mature tool set (Google Test, xUnit, Mocha)
- Gold standard
Cons
- Increases initial development effort
- Finds few bugs
- Static
- Obvious/trivial
- Low value/effort ratio
- Small code changes can take much longer
- False confidence in code quality
Pros / Cons?
16
Commonly seen:
- Low value unit tests that rarely find
a bug
- Unit test code > product source
code - making changes difficult
- High effort to get the last 10%
coverage - with little apparent
return
- But,... still essential
Unit Tests
Keep it light
Don’t try for 100% everywhere
Differentiate highly critical vs. non-critical
Pin down the corners vs. exhaustive testing
Don’t:
Add high levels of test if product in flux
Add trivial testing to improve code coverage metrics
Best applied to
Stable products
When losing experienced staff
Sophisticated/complex designs
Automation: Continuous Integration, automated emails
Best practices
Page #
Best practice
Non-trivial tests written for stable
products with low staffing levels in an
automated environment
Worst practice
Simple tests written for 100% code
coverage on products undergoing change
TL;DR
High Value Testing
Page #
➢ Analyze software sub-components for criticality
○ Comes from IEC 62304: risk based
analysis for each software
sub-component
○ Adjust your process according to risk
➢ Allows you to discriminate between critical
sub-systems and non-critical sub-systems
➢ Overall safety class = MAX(each functional
aspect)
High Value Testing
19
C B C C B C C A B A C A
Key goals
1) Balance test resources around criticality of
component to Intended Use, Safety, Efficacy
2) Minimize development overhead
3) Minimize regulatory burden
Example
- “Offline Data Access” omits unit, integration,
system testing
Pro
- Less budget overall
- More budget on critical areas
Con
- Expertise: More complicated to plan and apply
- Hard to keep track of →Test Plan
High Value Testing
20
A
C B C C B C C A B C A
➢ Test vs. Verification
➢ Reliability
Page #
Quality
team
V&V
team
Engineering
Quality Assurance
- Confirm process
- Checking that SDP steps were followed
- Issuing/processing CAPAs
Engineering Test Engineer
- Test automation (scripts, CI integration)
- Ad-hoc testing
- Smoke testing
- Build management
Verification Test Engineer
- Formal test protocol writing
- Formal test protocol execution
- Test coverage
- Requirement focus
Validation Test
- Formal test protocol writing
- Formal test protocol execution
- Clinical focus
- Statistical test treatment
HF/UE Test
Engineer
- Summative test
HF/UE Test
Engineer
- Formative test
Engineering
Vs
Quality
Developer
- Unit tests
- Ad-hoc testing
Quality driven
Plan → Review → Report
Plan
Accounts for engineering tests
Analyze/Review
Determines outcome
Report
Formally documents
Engineering driven
- Development process
- Includes ad-hoc
Engineering Test vs. Verification & Validation
● Software is logical not physical so traditional concepts of failure
don’t apply
○ Mechanical or electrical systems have Bathtub failure curves
● Software Reliability is a nuanced concept different from Software
Quality
○ Reliability is Software Quality over time
○ i.e. How long has the software been meeting it’s requirements
● Reliability
○ Considers Total Inputs vs Total Outputs
○ Tests a sample of Total Inputs
○ Probability = Number failing cases / Total cases
○ Testing types: Feature/Load/Regression test
○
● Takeaway:
○ Reliability is a sample based, predictive metric different from
QA/QC/Test
○ A complete, quantitative, system for assessing software
Software Reliability
23
Tying it together:
Part 1 & 2
Quality vs. Test
Page #
Quality → Test
What’s the relationship between quality and test?
Quality as an outcome, Test as a method?
Can you test quality into a product?
Usability
Use Errors
Prevent unintended behaviors
Architecture
Separation
Clear responsibilities
Access / Visibility
Prevent unintended functionality
Test canon (unit, integration, system, UI)
Quality/Test relationship
25
Quality Assurance
Quality Control
Testing
Prevent Defects
Correct Defects
Detect Defects
Thank You
Page #
1 sur 26

Recommandé

Solano Labs presented at MassTLC's automated testing par
Solano Labs presented at MassTLC's automated testingSolano Labs presented at MassTLC's automated testing
Solano Labs presented at MassTLC's automated testingMassTLC
701 vues11 diapositives
Triple Assurance: AI-Powered Test Automation in UI Design and Functionality par
Triple Assurance: AI-Powered Test Automation in UI Design and FunctionalityTriple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and FunctionalityApplitools
52 vues17 diapositives
6.11.2013 - 2013 - Continuous Delivery - Testing for Agile Through Continuo... par
6.11.2013   - 2013 - Continuous Delivery - Testing for Agile Through Continuo...6.11.2013   - 2013 - Continuous Delivery - Testing for Agile Through Continuo...
6.11.2013 - 2013 - Continuous Delivery - Testing for Agile Through Continuo...IBM Rational
1.8K vues28 diapositives
Building a Complete Pipeline: The Essential Components of Continuous Testing ... par
Building a Complete Pipeline: The Essential Components of Continuous Testing ...Building a Complete Pipeline: The Essential Components of Continuous Testing ...
Building a Complete Pipeline: The Essential Components of Continuous Testing ...Applitools
689 vues41 diapositives
Test automation lessons from WebSphere Application Server par
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerRobbie Minshall
608 vues53 diapositives
CI/CT/CD and Role of Quality Engineering par
CI/CT/CD and Role of Quality EngineeringCI/CT/CD and Role of Quality Engineering
CI/CT/CD and Role of Quality EngineeringSushma
6.1K vues15 diapositives

Contenu connexe

Similaire à Enhancing Quality and Test in Medical Device Design - Part 2.pdf

Dev ops for mainframe innovate session 2402 par
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Rosalind Radcliffe
1.4K vues31 diapositives
20070925 03 - La qualimétrie en environnement industriel (Schneider automation) par
20070925 03 - La qualimétrie en environnement industriel (Schneider automation)20070925 03 - La qualimétrie en environnement industriel (Schneider automation)
20070925 03 - La qualimétrie en environnement industriel (Schneider automation)LeClubQualiteLogicielle
113 vues22 diapositives
Future of QA par
Future of QAFuture of QA
Future of QAamitagarwal2006
481 vues47 diapositives
Futureofqa par
FutureofqaFutureofqa
Futureofqaamitagarwal2006
261 vues47 diapositives
An Ultimate Guide to Continuous Testing in Agile Projects.pdf par
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfKMSSolutionsMarketin
124 vues10 diapositives
Test Automation: Investment Today Pays Back Tomorrow par
Test Automation: Investment Today Pays Back TomorrowTest Automation: Investment Today Pays Back Tomorrow
Test Automation: Investment Today Pays Back TomorrowTechWell
528 vues23 diapositives

Similaire à Enhancing Quality and Test in Medical Device Design - Part 2.pdf(20)

20070925 03 - La qualimétrie en environnement industriel (Schneider automation) par LeClubQualiteLogicielle
20070925 03 - La qualimétrie en environnement industriel (Schneider automation)20070925 03 - La qualimétrie en environnement industriel (Schneider automation)
20070925 03 - La qualimétrie en environnement industriel (Schneider automation)
An Ultimate Guide to Continuous Testing in Agile Projects.pdf par KMSSolutionsMarketin
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
Test Automation: Investment Today Pays Back Tomorrow par TechWell
Test Automation: Investment Today Pays Back TomorrowTest Automation: Investment Today Pays Back Tomorrow
Test Automation: Investment Today Pays Back Tomorrow
TechWell528 vues
Nuevosoft Test Manager Overview par Suhas Patil
Nuevosoft Test Manager OverviewNuevosoft Test Manager Overview
Nuevosoft Test Manager Overview
Suhas Patil716 vues
Presentation Verification & Validation par Elmar Selbach
Presentation Verification & ValidationPresentation Verification & Validation
Presentation Verification & Validation
Elmar Selbach1.1K vues
Ady beleanu automate-theprocessdelivery par Romania Testing
Ady beleanu   automate-theprocessdeliveryAdy beleanu   automate-theprocessdelivery
Ady beleanu automate-theprocessdelivery
Romania Testing1.5K vues
Rtc2014 automate the_process_deliver_quality_ady_beleanu par Ady Beleanu
Rtc2014 automate the_process_deliver_quality_ady_beleanuRtc2014 automate the_process_deliver_quality_ady_beleanu
Rtc2014 automate the_process_deliver_quality_ady_beleanu
Ady Beleanu414 vues
Impetus qLabs Solutions par Vipul Gupta
Impetus qLabs SolutionsImpetus qLabs Solutions
Impetus qLabs Solutions
Vipul Gupta644 vues
Automated Software Testing Framework Training by Quontra Solutions par Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra Solutions
Agile Engineering Sparker GLASScon 2015 par Stephen Ritchie
Agile Engineering Sparker GLASScon 2015Agile Engineering Sparker GLASScon 2015
Agile Engineering Sparker GLASScon 2015
Stephen Ritchie668 vues
Automating The Process For Building Reliable Software par guest8861ff
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Software
guest8861ff759 vues
Lightning Talks by Globant - Automation (This app runs by itself ) par Globant
Lightning Talks by Globant -  Automation (This app runs by itself ) Lightning Talks by Globant -  Automation (This app runs by itself )
Lightning Talks by Globant - Automation (This app runs by itself )
Globant105 vues
Creating a successful continuous testing environment by Eran Kinsbruner par QA or the Highway
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran Kinsbruner
Continuous integration practices to improve the software quality par Fabricio Epaminondas
Continuous integration practices to improve the software qualityContinuous integration practices to improve the software quality
Continuous integration practices to improve the software quality

Plus de ICS

Overcoming CMake Configuration Issues Webinar par
Overcoming CMake Configuration Issues WebinarOvercoming CMake Configuration Issues Webinar
Overcoming CMake Configuration Issues WebinarICS
107 vues38 diapositives
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf par
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdfDesigning and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdfICS
73 vues27 diapositives
Creating Digital Twins Using Rapid Development Techniques.pdf par
Creating Digital Twins Using Rapid Development Techniques.pdfCreating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdfICS
158 vues28 diapositives
Secure Your Medical Devices From the Ground Up par
Secure Your Medical Devices From the Ground Up Secure Your Medical Devices From the Ground Up
Secure Your Medical Devices From the Ground Up ICS
424 vues26 diapositives
Cybersecurity and Software Updates in Medical Devices.pdf par
Cybersecurity and Software Updates in Medical Devices.pdfCybersecurity and Software Updates in Medical Devices.pdf
Cybersecurity and Software Updates in Medical Devices.pdfICS
428 vues41 diapositives
Bridging the Gap Between Development and Regulatory Teams par
Bridging the Gap Between Development and Regulatory TeamsBridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory TeamsICS
44 vues30 diapositives

Plus de ICS(20)

Overcoming CMake Configuration Issues Webinar par ICS
Overcoming CMake Configuration Issues WebinarOvercoming CMake Configuration Issues Webinar
Overcoming CMake Configuration Issues Webinar
ICS107 vues
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf par ICS
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdfDesigning and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
ICS73 vues
Creating Digital Twins Using Rapid Development Techniques.pdf par ICS
Creating Digital Twins Using Rapid Development Techniques.pdfCreating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdf
ICS158 vues
Secure Your Medical Devices From the Ground Up par ICS
Secure Your Medical Devices From the Ground Up Secure Your Medical Devices From the Ground Up
Secure Your Medical Devices From the Ground Up
ICS424 vues
Cybersecurity and Software Updates in Medical Devices.pdf par ICS
Cybersecurity and Software Updates in Medical Devices.pdfCybersecurity and Software Updates in Medical Devices.pdf
Cybersecurity and Software Updates in Medical Devices.pdf
ICS428 vues
Bridging the Gap Between Development and Regulatory Teams par ICS
Bridging the Gap Between Development and Regulatory TeamsBridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory Teams
ICS44 vues
IoT Device Fleet Management: Create a Robust Solution with Azure par ICS
IoT Device Fleet Management: Create a Robust Solution with AzureIoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with Azure
ICS173 vues
Basic Cmake for Qt Users par ICS
Basic Cmake for Qt UsersBasic Cmake for Qt Users
Basic Cmake for Qt Users
ICS491 vues
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu... par ICS
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
ICS395 vues
Qt Installer Framework par ICS
Qt Installer FrameworkQt Installer Framework
Qt Installer Framework
ICS463 vues
Bridging the Gap Between Development and Regulatory Teams par ICS
Bridging the Gap Between Development and Regulatory TeamsBridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory Teams
ICS104 vues
Overcome Hardware And Software Challenges - Medical Device Case Study par ICS
Overcome Hardware And Software Challenges - Medical Device Case StudyOvercome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case Study
ICS159 vues
User Experience Design for IoT par ICS
User Experience Design for IoTUser Experience Design for IoT
User Experience Design for IoT
ICS240 vues
Software Bill of Materials - Accelerating Your Secure Embedded Development.pdf par ICS
Software Bill of Materials - Accelerating Your Secure Embedded Development.pdfSoftware Bill of Materials - Accelerating Your Secure Embedded Development.pdf
Software Bill of Materials - Accelerating Your Secure Embedded Development.pdf
ICS781 vues
5 Key Considerations at the Start of SaMD Development par ICS
5 Key Considerations at the Start of SaMD Development5 Key Considerations at the Start of SaMD Development
5 Key Considerations at the Start of SaMD Development
ICS328 vues
An In-Depth Look Into Microcontrollers par ICS
An In-Depth Look Into MicrocontrollersAn In-Depth Look Into Microcontrollers
An In-Depth Look Into Microcontrollers
ICS432 vues
Introduction to the Qt State Machine Framework using Qt 6 par ICS
Introduction to the Qt State Machine Framework using Qt 6Introduction to the Qt State Machine Framework using Qt 6
Introduction to the Qt State Machine Framework using Qt 6
ICS1.8K vues
Leveraging Open Standards to Build Highly Extensible Autonomous Systems par ICS
Leveraging Open Standards to Build Highly Extensible Autonomous SystemsLeveraging Open Standards to Build Highly Extensible Autonomous Systems
Leveraging Open Standards to Build Highly Extensible Autonomous Systems
ICS442 vues
Creating Advanced GUIs for Low-power MCUs with Qt par ICS
Creating Advanced GUIs for Low-power MCUs with QtCreating Advanced GUIs for Low-power MCUs with Qt
Creating Advanced GUIs for Low-power MCUs with Qt
ICS472 vues
Safeguard Your Medical Devices from Cyber Threats par ICS
Safeguard Your Medical Devices from Cyber ThreatsSafeguard Your Medical Devices from Cyber Threats
Safeguard Your Medical Devices from Cyber Threats
ICS263 vues

Dernier

Mobile App Development Company par
Mobile App Development CompanyMobile App Development Company
Mobile App Development CompanyRichestsoft
5 vues6 diapositives
How Workforce Management Software Empowers SMEs | TraQSuite par
How Workforce Management Software Empowers SMEs | TraQSuiteHow Workforce Management Software Empowers SMEs | TraQSuite
How Workforce Management Software Empowers SMEs | TraQSuiteTraQSuite
7 vues3 diapositives
Automated Testing of Microsoft Power BI Reports par
Automated Testing of Microsoft Power BI ReportsAutomated Testing of Microsoft Power BI Reports
Automated Testing of Microsoft Power BI ReportsRTTS
11 vues20 diapositives
predicting-m3-devopsconMunich-2023-v2.pptx par
predicting-m3-devopsconMunich-2023-v2.pptxpredicting-m3-devopsconMunich-2023-v2.pptx
predicting-m3-devopsconMunich-2023-v2.pptxTier1 app
14 vues33 diapositives
Benefits in Software Development par
Benefits in Software DevelopmentBenefits in Software Development
Benefits in Software DevelopmentJohn Valentino
6 vues15 diapositives
Introduction to Gradle par
Introduction to GradleIntroduction to Gradle
Introduction to GradleJohn Valentino
7 vues7 diapositives

Dernier(20)

How Workforce Management Software Empowers SMEs | TraQSuite par TraQSuite
How Workforce Management Software Empowers SMEs | TraQSuiteHow Workforce Management Software Empowers SMEs | TraQSuite
How Workforce Management Software Empowers SMEs | TraQSuite
TraQSuite7 vues
Automated Testing of Microsoft Power BI Reports par RTTS
Automated Testing of Microsoft Power BI ReportsAutomated Testing of Microsoft Power BI Reports
Automated Testing of Microsoft Power BI Reports
RTTS11 vues
predicting-m3-devopsconMunich-2023-v2.pptx par Tier1 app
predicting-m3-devopsconMunich-2023-v2.pptxpredicting-m3-devopsconMunich-2023-v2.pptx
predicting-m3-devopsconMunich-2023-v2.pptx
Tier1 app14 vues
tecnologia18.docx par nosi6702
tecnologia18.docxtecnologia18.docx
tecnologia18.docx
nosi67026 vues
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... par NimaTorabi2
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
NimaTorabi217 vues
JioEngage_Presentation.pptx par admin125455
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptx
admin1254559 vues
Ports-and-Adapters Architecture for Embedded HMI par Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMI
Bootstrapping vs Venture Capital.pptx par Zeljko Svedic
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptx
Zeljko Svedic16 vues

Enhancing Quality and Test in Medical Device Design - Part 2.pdf

  • 2. About ICS Established in 1987, Integrated Computer Solutions, Inc. (ICS) delivers innovative software solutions with a full suite of services to accelerate development of successful next-gen products. ICS is headquartered outside Boston in Waltham, Mass. with offices in California, Canada and Europe. Currently 160+ people.
  • 3. www.ics.com Delivering a Full Suite of Medtech Services ● IEC 62366-UX/UI Design ● Custom Frontend & Backend Software Development ● Development with IEC 62304-Compliant Platform ● Low-code Tools that Convert UX Prototype to Product ● Medical Device Cybersecurity ● AWS and Azure Cloud Services and Analytics ● ISO 14971-Compliant Hazard Analysis ● Software Verification Testing ● Digital Twins for Training and Simulation ● Complimentary Software Technology Assessments
  • 4. Quality and Test in Medical Devices 1. Part 1 - Recap 2. Part 2 - Test Methods, Pros, Cons 3. The complete picture Quality and Test Page #
  • 5. Part 1 Recap 1. Usability to systematically reduce Use Errors through product design - impacts quality 2. Architecture for quality - maintainable, testable, extensible, reliable, available a. Tiered layers - visibility / access b. Error injection - difficult to test sub-systems c. Dependency inversion - simulators and visibility 3. Code analyzers a. A quality tool, with tradeoffs b. Necessary but not sufficient (for complex projects) Usability and Architecture for Quality 5
  • 6. Part 2 ➢ Test Canon ● Automated GUI testing ● System testing ● Integration testing ● Unit tests ➢ High-Value testing ○ Key goals ○ Example ➢ Verification vs. test canon ➢ Software “Reliability" Pros and Cons of Testing 6
  • 8. Using a 3rd party application to automate mouse clicks on a GUI (Graphical User Interface) Test tools manage scripts and collections and support automation Good for: - Stable User Interfaces (not undergoing changes) - Enduring value - runs ‘for free’ - Functional/system/black-box testing Automated Graphical User Interface Testing 8 Lambda Test Selenium AutoHotKey Squish Test Complete Cypress
  • 9. Challenges - Brittle - Superficial changes to UI can cause tests to fail - Test strategy - create modular/reusable tests that can be daisy-chained - No variability - tests the same thing over and over - Mostly tells you something changed - Changes system - additional process running on system with threading considerations - i.e. a graphic bug example (triangles) Automated User Interface Testing 9 Lambda Test Selenium AutoHotKey Squish
  • 11. UI vs. System testing → same? ● Depends on architecture and functionality of the UI ● Are all system behaviors available from the UI? System Testing ● May require additional test software/framework (i.e. LIS, Cloud services) ● Focuses on positive and negative test cases ● Can be harder to automate Both Are tested vs. product requirements System Testing 11
  • 13. Why integration testing is important - Behavior obscured by system complexity - FDA language indicating that functional testing (Black box), is not sufficient as it does not exercise hidden dependencies - Rigorously test behavior for each block and each interface - Essential for large or complex products Integration Testing 13 Pro - Essential, irreplaceable form of test for a complex system Con - Labor intensive - Time-consuming
  • 15. Unit Tests Background - The smallest unit of test - Software functions that call product functions - They usually are numerous, multiple test functions for a single product function. Executed by a framework in an automated build/test sequence. - Necessary, but far from adequate As valuable as we thought? 15
  • 16. Unit Tests Pros - Finds bugs early, at check-in - Easily automated - Part of Continuous Integration - Automated coverage metrics - Enduring value - Mature tool set (Google Test, xUnit, Mocha) - Gold standard Cons - Increases initial development effort - Finds few bugs - Static - Obvious/trivial - Low value/effort ratio - Small code changes can take much longer - False confidence in code quality Pros / Cons? 16 Commonly seen: - Low value unit tests that rarely find a bug - Unit test code > product source code - making changes difficult - High effort to get the last 10% coverage - with little apparent return - But,... still essential
  • 17. Unit Tests Keep it light Don’t try for 100% everywhere Differentiate highly critical vs. non-critical Pin down the corners vs. exhaustive testing Don’t: Add high levels of test if product in flux Add trivial testing to improve code coverage metrics Best applied to Stable products When losing experienced staff Sophisticated/complex designs Automation: Continuous Integration, automated emails Best practices Page # Best practice Non-trivial tests written for stable products with low staffing levels in an automated environment Worst practice Simple tests written for 100% code coverage on products undergoing change TL;DR
  • 19. ➢ Analyze software sub-components for criticality ○ Comes from IEC 62304: risk based analysis for each software sub-component ○ Adjust your process according to risk ➢ Allows you to discriminate between critical sub-systems and non-critical sub-systems ➢ Overall safety class = MAX(each functional aspect) High Value Testing 19 C B C C B C C A B A C A
  • 20. Key goals 1) Balance test resources around criticality of component to Intended Use, Safety, Efficacy 2) Minimize development overhead 3) Minimize regulatory burden Example - “Offline Data Access” omits unit, integration, system testing Pro - Less budget overall - More budget on critical areas Con - Expertise: More complicated to plan and apply - Hard to keep track of →Test Plan High Value Testing 20 A C B C C B C C A B C A
  • 21. ➢ Test vs. Verification ➢ Reliability Page #
  • 22. Quality team V&V team Engineering Quality Assurance - Confirm process - Checking that SDP steps were followed - Issuing/processing CAPAs Engineering Test Engineer - Test automation (scripts, CI integration) - Ad-hoc testing - Smoke testing - Build management Verification Test Engineer - Formal test protocol writing - Formal test protocol execution - Test coverage - Requirement focus Validation Test - Formal test protocol writing - Formal test protocol execution - Clinical focus - Statistical test treatment HF/UE Test Engineer - Summative test HF/UE Test Engineer - Formative test Engineering Vs Quality Developer - Unit tests - Ad-hoc testing Quality driven Plan → Review → Report Plan Accounts for engineering tests Analyze/Review Determines outcome Report Formally documents Engineering driven - Development process - Includes ad-hoc Engineering Test vs. Verification & Validation
  • 23. ● Software is logical not physical so traditional concepts of failure don’t apply ○ Mechanical or electrical systems have Bathtub failure curves ● Software Reliability is a nuanced concept different from Software Quality ○ Reliability is Software Quality over time ○ i.e. How long has the software been meeting it’s requirements ● Reliability ○ Considers Total Inputs vs Total Outputs ○ Tests a sample of Total Inputs ○ Probability = Number failing cases / Total cases ○ Testing types: Feature/Load/Regression test ○ ● Takeaway: ○ Reliability is a sample based, predictive metric different from QA/QC/Test ○ A complete, quantitative, system for assessing software Software Reliability 23
  • 24. Tying it together: Part 1 & 2 Quality vs. Test Page #
  • 25. Quality → Test What’s the relationship between quality and test? Quality as an outcome, Test as a method? Can you test quality into a product? Usability Use Errors Prevent unintended behaviors Architecture Separation Clear responsibilities Access / Visibility Prevent unintended functionality Test canon (unit, integration, system, UI) Quality/Test relationship 25 Quality Assurance Quality Control Testing Prevent Defects Correct Defects Detect Defects