SlideShare a Scribd company logo
0Copyright 2019 – QA Systems GmbH www.qa-systems.cn
Automated
Requirements-Based Testing
for Medical Device Software
1Copyright 2019 – QA Systems GmbH www.qa-systems.cn
ISO 26262 SW Verification Phases
SW Architectural
Design
SW Unit
Design
Code
Implementation
SW Safety
Requirements
SW Unit
Verification
SW Integration
& Verification
Testing of the
Embedded SW
Safety measures properly implemented
Complies with unit design & fulfils ASIL SW requirements
No undesired functionality or functional safety properties
Safety measures properly implemented
Fulfils architectural design
No undesired functionality or functional safety properties
Fulfils safety-related requirements in target environment
No undesired functionality or functional safety properties
Part 6:
Product Development at the
software level
 Phases 9 – 11
 Tables 7 – 15
7
6
8 9
8
11
10
Configuration
& Calibration
Data
2Copyright 2019 – QA Systems GmbH www.qa-systems.cn
Requirements Verification Method
ISO 26262 Table 7 – Methods for software unit verification
ISO 26262 Table 10 – Methods for verification of software integration
ISO 26262 Table 14 – Methods for tests of the embedded software
3Copyright 2019 – QA Systems GmbH www.qa-systems.cn
Deriving Test Cases from Requirements
ISO 26262 Tables 8 – Methods for deriving test cases for software unit / integration testing
ISO 26262 Table 15 – Methods for deriving test cases for the test of the embedded software
ISO 26262 Table 11 – Methods for deriving test cases for software integration testing
4Copyright 2019 – QA Systems GmbH www.qa-systems.cn
Requirements Based Testing (RBT)
Requirements
• Decomposed
• Correct
• Complete
• Unambiguous
• Logically consistent
Tests
• Pre-conditions
• Inputs
• Expected behaviours
• Expected outputs
• Post-conditions
Unit
Design
Code
Unit
Test
Integration
Test
Architectural
Design
Requirements Coverage
% Requirements verified by tests
<-> Traceability to tests
Code Coverage
% code executed by tests
<->Traceability to requirements
<->Traceability to tests
Test Coverage
% tests executed & passing
<-> Traceability to requirements
Safety
Requirements
Embedded
Test
Configuration &
Calibration Data
5Copyright 2019 – QA Systems GmbH www.qa-systems.cn
Manual Test Generation
Test Cases crafted Manually from Requirements
Can be hard work! – Even with powerful test tools
Insufficiently validated requirements
 Decomposed, Correct, Complete, Unambiguous, Logically consistent
 High-reliance on structural code coverage & reverse engineering
Complexity of test vectors
 Pre-conditions, Inputs, Expected behaviours & outputs, post-conditions
Boundary of Low Level Requirements ≠ usable test case vectors
 Test Framework: Drivers, Dependencies & Datasets
Gaps & Overlaps
 Defensive programming, private/protected code etc
 Equivalence classes
6Copyright 2019 – QA Systems GmbH www.qa-systems.cn
Requirements Tests
Code
So…How to Automate?
Configuration &
Calibration Data
7Copyright 2019 – QA Systems GmbH www.qa-systems.cn
Tests
Generation from Requirements
Test Case Generation
Test Cases Generated from Requirements
Very limited capability from:
NL, SNL, PDL,
Use Case Scenarios
Mathematical specs
More capability from
Models (e.g. MBT with UML)
Requirements
8Copyright 2019 – QA Systems GmbH www.qa-systems.cn
Generation from Code
Test Cases Generated from Code
Test Vectors from path solving
 Intelligent optimisation
Full test framework
 Pre-conditions, Inputs,
Expected behaviours,
Expected outputs & post-conditions
Tests generated for
maintainability & traceability Code
Tests
AutoTest
Requirements
9Copyright 2019 – QA Systems GmbH www.qa-systems.cn
Why use Coverage & Traceability?
Standard Compliance – the 100% Picture
Bi-directional requirements traceability
All executable code is justified tested
Evidence of success is: passing tests + traceability
Helps Ensure Completeness
Changed requirements capture & validation
Just enough code changes
Test case design updates
RBT processes can be most effective when iterative
Code
TestReq

10Copyright 2019 – QA Systems GmbH www.qa-systems.cn
AutoTest & Trace for ISO 26262
AutoTest
11Copyright 2017 – QA Systems GmbH www.qa-systems.com
AutoTest Generation
Flexible application
 GUI or CLI invocation
 Complete suite of passing unit tests
 Additional test cases to fill gaps
 Black-box cluster integration test through public functions
 White-box unit isolation test of static functions
 Uses Cantata workspace preferences
Test cases exercise all paths through the code
 Entry-Point
 Statement
 Decision
 MC/DC (unique cause)
Test Cases are complete & maintainable for full control
 All required inputs: parameters + accessible data
 All expected outputs: parameters + accessed data + call-order
 Each test case path solving purpose explained
12Copyright 2017 – QA Systems GmbH www.qa-systems.com
Build RunTest
Exe
Instruments
AutoTest
Makefiles
Tests
Code
AutoTest Process
Code Copy
Generation
Report
Test Results
Automatic Test Generation
Automatic Test Execution
13Copyright 2017 – QA Systems GmbH www.qa-systems.com
Example AutoTest Exercise
• 541 Source Files
• 807 C Functions
• 55,151 Executable LoC
• 4,901 McCabe total complexity
Source
Files
• 93% Fully executed
• 95% Fully executed
• 95%+ Fully executed
• 5,035 Total test cases
• 336,355 Total checks
Tested
Source
Files
Execution
36 minutes
Generation
2.03 hours
14Copyright 2017 – QA Systems GmbH www.qa-systems.com
Traced requirements, test
status and code coverage
Test Information
.csv ReqIF Excel
Requirements
Requirements
Management Tool
Full bi-directional
requirements traceability
evidence
Drag and drop tracing of requirements
(text, diagrams, links) with test cases.
Generate tests
link to requirements
Test Tool
Requirements Trace Closes Loop
15Copyright 2017 – QA Systems GmbH www.qa-systems.com
Easy Linking in Cantata Trace
Bi-directional drag and drop interface, immediately creates links on a server
Whole Test Scripts linked to Requirements
Individual Test Cases linked to Requirements
16Copyright 2019 – QA Systems GmbH www.qa-systems.cn
3 Part Automation
1 Automatic Test Vector Generation
Test case vectors from code exercising all paths (up to MC/DC coverage)
Sets input parameters & data throughout test execution
Checks expected vs actual data, input & output parameters and call order
3 Automated Traceability & Coverage Data Production
Complete Requirements imported/exported for testing
AutoTest cases generated with traceable descriptions
Test status, Requirements traceability & Structural coverage evidence
2 Automated Test Execution
Continuous integration build, run and reporting
17Copyright 2019 – QA Systems GmbH www.qa-systems.cn
Complete 3 Way Analysis
Requirements
Code
Tests
Requirements Coverage
See requirements
coverage in your
requirements
management & test tools
Use the same tool for all
trace data
Test Coverage
Run tests when not executed
(continuous integration and
testing helps a lot)
Fix tests when they fail
Code Coverage
When you have gaps, identify if the code is:
dead / redundant, unreachable, deactivated (not used in this context)
If not, then add a test and that needs to be traced to [new] requirements
Configuration &
Calibration Data
18Copyright 2019 – QA Systems GmbH www.qa-systems.cn
Learn More
19Copyright 2019 – QA Systems GmbH www.qa-systems.cn
Further Enhancements?
ISO 26262 Table 7 – Methods for software unit verification
ISO 26262 Table 10 – Methods for verification of software integration
ISO 26262 Table 14 – Methods for tests of the embedded software
In Development
20Copyright 2019 – QA Systems GmbH www.qa-systems.cn
Thank you

More Related Content

What's hot

[EN] Success story Herakles
[EN] Success story Herakles[EN] Success story Herakles
[EN] Success story Herakles
Itris Automation Square
 
Doctor ZedGe @InsideTrack Rome #sitROME
Doctor ZedGe @InsideTrack Rome #sitROMEDoctor ZedGe @InsideTrack Rome #sitROME
Doctor ZedGe @InsideTrack Rome #sitROME
sergio.ferrari
 
Coml Psg Automation Approach
Coml Psg Automation ApproachComl Psg Automation Approach
Coml Psg Automation Approach
roopavani
 
Anuroop_Resume
Anuroop_ResumeAnuroop_Resume
Anuroop_Resume
Anuroop Kothagundu
 
Accelerate Agile Development with Service Virtualization - Czech Test
Accelerate Agile Development with Service Virtualization - Czech TestAccelerate Agile Development with Service Virtualization - Czech Test
Accelerate Agile Development with Service Virtualization - Czech Test
Parasoft
 
Michael kammer resume_20200818
Michael kammer resume_20200818Michael kammer resume_20200818
Michael kammer resume_20200818
Michael Kammer
 
[EN] Success Story ArianeGroup
[EN] Success Story ArianeGroup[EN] Success Story ArianeGroup
[EN] Success Story ArianeGroup
Itris Automation Square
 
Enterprise QA and Application Testing Services
Enterprise QA and Application Testing ServicesEnterprise QA and Application Testing Services
Enterprise QA and Application Testing Services
Hemang Rindani
 
[EN] PLC programs development guidelines
[EN] PLC programs development guidelines[EN] PLC programs development guidelines
[EN] PLC programs development guidelines
Itris Automation Square
 
ABC of developer test
ABC of developer testABC of developer test
ABC of developer test
Dr. Anish Cheriyan (PhD)
 
Decoupled System Interface Testing at FedEx
Decoupled System Interface Testing at FedExDecoupled System Interface Testing at FedEx
Decoupled System Interface Testing at FedEx
TechWell
 
Independent verification & validation presented by Maneat v02
Independent verification & validation presented by Maneat v02Independent verification & validation presented by Maneat v02
Independent verification & validation presented by Maneat v02
Dr. Pierpaolo Mangeruga
 
From Continuous to Autonomous Testing with AI
From Continuous to Autonomous Testing with AIFrom Continuous to Autonomous Testing with AI
From Continuous to Autonomous Testing with AI
Cognizant
 
How to Deliver Winning Mobile Apps
How to Deliver Winning Mobile AppsHow to Deliver Winning Mobile Apps
How to Deliver Winning Mobile Apps
TechWell
 
MJMResume
MJMResumeMJMResume
MJMResume
Michael Mesaros
 
Integrated Test Management
Integrated Test ManagementIntegrated Test Management
Integrated Test Management
Kovair
 
Quality at the speed of digital
Quality   at the speed of digitalQuality   at the speed of digital
Quality at the speed of digital
rajni singh
 
Resume
ResumeResume
Resume
Sagar Mhetre
 
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software Ireland
 
Test Automation NYC 2014
Test Automation NYC 2014Test Automation NYC 2014
Test Automation NYC 2014
Kishore Bhatia
 

What's hot (20)

[EN] Success story Herakles
[EN] Success story Herakles[EN] Success story Herakles
[EN] Success story Herakles
 
Doctor ZedGe @InsideTrack Rome #sitROME
Doctor ZedGe @InsideTrack Rome #sitROMEDoctor ZedGe @InsideTrack Rome #sitROME
Doctor ZedGe @InsideTrack Rome #sitROME
 
Coml Psg Automation Approach
Coml Psg Automation ApproachComl Psg Automation Approach
Coml Psg Automation Approach
 
Anuroop_Resume
Anuroop_ResumeAnuroop_Resume
Anuroop_Resume
 
Accelerate Agile Development with Service Virtualization - Czech Test
Accelerate Agile Development with Service Virtualization - Czech TestAccelerate Agile Development with Service Virtualization - Czech Test
Accelerate Agile Development with Service Virtualization - Czech Test
 
Michael kammer resume_20200818
Michael kammer resume_20200818Michael kammer resume_20200818
Michael kammer resume_20200818
 
[EN] Success Story ArianeGroup
[EN] Success Story ArianeGroup[EN] Success Story ArianeGroup
[EN] Success Story ArianeGroup
 
Enterprise QA and Application Testing Services
Enterprise QA and Application Testing ServicesEnterprise QA and Application Testing Services
Enterprise QA and Application Testing Services
 
[EN] PLC programs development guidelines
[EN] PLC programs development guidelines[EN] PLC programs development guidelines
[EN] PLC programs development guidelines
 
ABC of developer test
ABC of developer testABC of developer test
ABC of developer test
 
Decoupled System Interface Testing at FedEx
Decoupled System Interface Testing at FedExDecoupled System Interface Testing at FedEx
Decoupled System Interface Testing at FedEx
 
Independent verification & validation presented by Maneat v02
Independent verification & validation presented by Maneat v02Independent verification & validation presented by Maneat v02
Independent verification & validation presented by Maneat v02
 
From Continuous to Autonomous Testing with AI
From Continuous to Autonomous Testing with AIFrom Continuous to Autonomous Testing with AI
From Continuous to Autonomous Testing with AI
 
How to Deliver Winning Mobile Apps
How to Deliver Winning Mobile AppsHow to Deliver Winning Mobile Apps
How to Deliver Winning Mobile Apps
 
MJMResume
MJMResumeMJMResume
MJMResume
 
Integrated Test Management
Integrated Test ManagementIntegrated Test Management
Integrated Test Management
 
Quality at the speed of digital
Quality   at the speed of digitalQuality   at the speed of digital
Quality at the speed of digital
 
Resume
ResumeResume
Resume
 
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
 
Test Automation NYC 2014
Test Automation NYC 2014Test Automation NYC 2014
Test Automation NYC 2014
 

Similar to Automated Requirements-Based Testing for Medical Device Software

Automated Requirements-Based Testing for Medical Device Software.ppsx
Automated Requirements-Based Testing for Medical Device Software.ppsxAutomated Requirements-Based Testing for Medical Device Software.ppsx
Automated Requirements-Based Testing for Medical Device Software.ppsx
QA Systems
 
Presentation Verification & Validation
Presentation Verification & ValidationPresentation Verification & Validation
Presentation Verification & Validation
Elmar Selbach
 
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)
20070925 03 - La qualimétrie en environnement industriel (Schneider automation)
LeClubQualiteLogicielle
 
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfEnhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
ICS
 
QGen GNAT Industrial User Day
QGen GNAT Industrial User DayQGen GNAT Industrial User Day
QGen GNAT Industrial User Day
matteobordinadacore
 
GNAT Pro User Day: QGen: Simulink® static verification and code generation
GNAT Pro User Day: QGen: Simulink® static verification and code generationGNAT Pro User Day: QGen: Simulink® static verification and code generation
GNAT Pro User Day: QGen: Simulink® static verification and code generation
AdaCore
 
Embedded software validation best practices with NI and RQM
Embedded software validation best practices with NI and RQMEmbedded software validation best practices with NI and RQM
Embedded software validation best practices with NI and RQM
Paul Urban
 
Automating The Process For Building Reliable Software
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Software
guest8861ff
 
(Technologies) AI, Machine Learning, Predictive Analytics, IIOT, Cloud,Web-fr...
(Technologies) AI, Machine Learning, Predictive Analytics, IIOT, Cloud,Web-fr...(Technologies) AI, Machine Learning, Predictive Analytics, IIOT, Cloud,Web-fr...
(Technologies) AI, Machine Learning, Predictive Analytics, IIOT, Cloud,Web-fr...
Farhan Tariq
 
DevOps at TestausOSY 20june2017
DevOps at TestausOSY 20june2017DevOps at TestausOSY 20june2017
DevOps at TestausOSY 20june2017
Jouni Jätyri
 
Saving resources with simulation webinar 092011
Saving resources with simulation webinar 092011Saving resources with simulation webinar 092011
Saving resources with simulation webinar 092011
Scott Althouse
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
Soham Mondal
 
2019 ibm io t exchange - meeting safety-related software audits
2019   ibm io t exchange - meeting safety-related software audits2019   ibm io t exchange - meeting safety-related software audits
2019 ibm io t exchange - meeting safety-related software audits
M Kevin McHugh
 
Curiosity and Xray present - In sprint testing: Aligning tests and teams to r...
Curiosity and Xray present - In sprint testing: Aligning tests and teams to r...Curiosity and Xray present - In sprint testing: Aligning tests and teams to r...
Curiosity and Xray present - In sprint testing: Aligning tests and teams to r...
Curiosity Software Ireland
 
Keyword Driven Automation
Keyword Driven AutomationKeyword Driven Automation
Keyword Driven Automation
Pankaj Goel
 
Introduction to Parasoft C++TEST
Introduction to Parasoft C++TEST Introduction to Parasoft C++TEST
Introduction to Parasoft C++TEST
Engineering Software Lab
 
Enterprise QA and Application Testing Services
Enterprise QA and Application Testing ServicesEnterprise QA and Application Testing Services
Enterprise QA and Application Testing Services
Cygnet Infotech
 
Oak Systems - When you build Software, we build Quality in it
Oak Systems - When you build Software, we build Quality in it Oak Systems - When you build Software, we build Quality in it
Oak Systems - When you build Software, we build Quality in it
Oak Systems
 
Advanced Continuous Delivery on AWS
Advanced Continuous Delivery on AWSAdvanced Continuous Delivery on AWS
Advanced Continuous Delivery on AWS
Amazon Web Services
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-Architect
DevOps.com
 

Similar to Automated Requirements-Based Testing for Medical Device Software (20)

Automated Requirements-Based Testing for Medical Device Software.ppsx
Automated Requirements-Based Testing for Medical Device Software.ppsxAutomated Requirements-Based Testing for Medical Device Software.ppsx
Automated Requirements-Based Testing for Medical Device Software.ppsx
 
Presentation Verification & Validation
Presentation Verification & ValidationPresentation Verification & Validation
Presentation Verification & Validation
 
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)
20070925 03 - La qualimétrie en environnement industriel (Schneider automation)
 
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfEnhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
 
QGen GNAT Industrial User Day
QGen GNAT Industrial User DayQGen GNAT Industrial User Day
QGen GNAT Industrial User Day
 
GNAT Pro User Day: QGen: Simulink® static verification and code generation
GNAT Pro User Day: QGen: Simulink® static verification and code generationGNAT Pro User Day: QGen: Simulink® static verification and code generation
GNAT Pro User Day: QGen: Simulink® static verification and code generation
 
Embedded software validation best practices with NI and RQM
Embedded software validation best practices with NI and RQMEmbedded software validation best practices with NI and RQM
Embedded software validation best practices with NI and RQM
 
Automating The Process For Building Reliable Software
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Software
 
(Technologies) AI, Machine Learning, Predictive Analytics, IIOT, Cloud,Web-fr...
(Technologies) AI, Machine Learning, Predictive Analytics, IIOT, Cloud,Web-fr...(Technologies) AI, Machine Learning, Predictive Analytics, IIOT, Cloud,Web-fr...
(Technologies) AI, Machine Learning, Predictive Analytics, IIOT, Cloud,Web-fr...
 
DevOps at TestausOSY 20june2017
DevOps at TestausOSY 20june2017DevOps at TestausOSY 20june2017
DevOps at TestausOSY 20june2017
 
Saving resources with simulation webinar 092011
Saving resources with simulation webinar 092011Saving resources with simulation webinar 092011
Saving resources with simulation webinar 092011
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
2019 ibm io t exchange - meeting safety-related software audits
2019   ibm io t exchange - meeting safety-related software audits2019   ibm io t exchange - meeting safety-related software audits
2019 ibm io t exchange - meeting safety-related software audits
 
Curiosity and Xray present - In sprint testing: Aligning tests and teams to r...
Curiosity and Xray present - In sprint testing: Aligning tests and teams to r...Curiosity and Xray present - In sprint testing: Aligning tests and teams to r...
Curiosity and Xray present - In sprint testing: Aligning tests and teams to r...
 
Keyword Driven Automation
Keyword Driven AutomationKeyword Driven Automation
Keyword Driven Automation
 
Introduction to Parasoft C++TEST
Introduction to Parasoft C++TEST Introduction to Parasoft C++TEST
Introduction to Parasoft C++TEST
 
Enterprise QA and Application Testing Services
Enterprise QA and Application Testing ServicesEnterprise QA and Application Testing Services
Enterprise QA and Application Testing Services
 
Oak Systems - When you build Software, we build Quality in it
Oak Systems - When you build Software, we build Quality in it Oak Systems - When you build Software, we build Quality in it
Oak Systems - When you build Software, we build Quality in it
 
Advanced Continuous Delivery on AWS
Advanced Continuous Delivery on AWSAdvanced Continuous Delivery on AWS
Advanced Continuous Delivery on AWS
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-Architect
 

Recently uploaded

ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 

Recently uploaded (20)

ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 

Automated Requirements-Based Testing for Medical Device Software

  • 1. 0Copyright 2019 – QA Systems GmbH www.qa-systems.cn Automated Requirements-Based Testing for Medical Device Software
  • 2. 1Copyright 2019 – QA Systems GmbH www.qa-systems.cn ISO 26262 SW Verification Phases SW Architectural Design SW Unit Design Code Implementation SW Safety Requirements SW Unit Verification SW Integration & Verification Testing of the Embedded SW Safety measures properly implemented Complies with unit design & fulfils ASIL SW requirements No undesired functionality or functional safety properties Safety measures properly implemented Fulfils architectural design No undesired functionality or functional safety properties Fulfils safety-related requirements in target environment No undesired functionality or functional safety properties Part 6: Product Development at the software level  Phases 9 – 11  Tables 7 – 15 7 6 8 9 8 11 10 Configuration & Calibration Data
  • 3. 2Copyright 2019 – QA Systems GmbH www.qa-systems.cn Requirements Verification Method ISO 26262 Table 7 – Methods for software unit verification ISO 26262 Table 10 – Methods for verification of software integration ISO 26262 Table 14 – Methods for tests of the embedded software
  • 4. 3Copyright 2019 – QA Systems GmbH www.qa-systems.cn Deriving Test Cases from Requirements ISO 26262 Tables 8 – Methods for deriving test cases for software unit / integration testing ISO 26262 Table 15 – Methods for deriving test cases for the test of the embedded software ISO 26262 Table 11 – Methods for deriving test cases for software integration testing
  • 5. 4Copyright 2019 – QA Systems GmbH www.qa-systems.cn Requirements Based Testing (RBT) Requirements • Decomposed • Correct • Complete • Unambiguous • Logically consistent Tests • Pre-conditions • Inputs • Expected behaviours • Expected outputs • Post-conditions Unit Design Code Unit Test Integration Test Architectural Design Requirements Coverage % Requirements verified by tests <-> Traceability to tests Code Coverage % code executed by tests <->Traceability to requirements <->Traceability to tests Test Coverage % tests executed & passing <-> Traceability to requirements Safety Requirements Embedded Test Configuration & Calibration Data
  • 6. 5Copyright 2019 – QA Systems GmbH www.qa-systems.cn Manual Test Generation Test Cases crafted Manually from Requirements Can be hard work! – Even with powerful test tools Insufficiently validated requirements  Decomposed, Correct, Complete, Unambiguous, Logically consistent  High-reliance on structural code coverage & reverse engineering Complexity of test vectors  Pre-conditions, Inputs, Expected behaviours & outputs, post-conditions Boundary of Low Level Requirements ≠ usable test case vectors  Test Framework: Drivers, Dependencies & Datasets Gaps & Overlaps  Defensive programming, private/protected code etc  Equivalence classes
  • 7. 6Copyright 2019 – QA Systems GmbH www.qa-systems.cn Requirements Tests Code So…How to Automate? Configuration & Calibration Data
  • 8. 7Copyright 2019 – QA Systems GmbH www.qa-systems.cn Tests Generation from Requirements Test Case Generation Test Cases Generated from Requirements Very limited capability from: NL, SNL, PDL, Use Case Scenarios Mathematical specs More capability from Models (e.g. MBT with UML) Requirements
  • 9. 8Copyright 2019 – QA Systems GmbH www.qa-systems.cn Generation from Code Test Cases Generated from Code Test Vectors from path solving  Intelligent optimisation Full test framework  Pre-conditions, Inputs, Expected behaviours, Expected outputs & post-conditions Tests generated for maintainability & traceability Code Tests AutoTest Requirements
  • 10. 9Copyright 2019 – QA Systems GmbH www.qa-systems.cn Why use Coverage & Traceability? Standard Compliance – the 100% Picture Bi-directional requirements traceability All executable code is justified tested Evidence of success is: passing tests + traceability Helps Ensure Completeness Changed requirements capture & validation Just enough code changes Test case design updates RBT processes can be most effective when iterative Code TestReq 
  • 11. 10Copyright 2019 – QA Systems GmbH www.qa-systems.cn AutoTest & Trace for ISO 26262 AutoTest
  • 12. 11Copyright 2017 – QA Systems GmbH www.qa-systems.com AutoTest Generation Flexible application  GUI or CLI invocation  Complete suite of passing unit tests  Additional test cases to fill gaps  Black-box cluster integration test through public functions  White-box unit isolation test of static functions  Uses Cantata workspace preferences Test cases exercise all paths through the code  Entry-Point  Statement  Decision  MC/DC (unique cause) Test Cases are complete & maintainable for full control  All required inputs: parameters + accessible data  All expected outputs: parameters + accessed data + call-order  Each test case path solving purpose explained
  • 13. 12Copyright 2017 – QA Systems GmbH www.qa-systems.com Build RunTest Exe Instruments AutoTest Makefiles Tests Code AutoTest Process Code Copy Generation Report Test Results Automatic Test Generation Automatic Test Execution
  • 14. 13Copyright 2017 – QA Systems GmbH www.qa-systems.com Example AutoTest Exercise • 541 Source Files • 807 C Functions • 55,151 Executable LoC • 4,901 McCabe total complexity Source Files • 93% Fully executed • 95% Fully executed • 95%+ Fully executed • 5,035 Total test cases • 336,355 Total checks Tested Source Files Execution 36 minutes Generation 2.03 hours
  • 15. 14Copyright 2017 – QA Systems GmbH www.qa-systems.com Traced requirements, test status and code coverage Test Information .csv ReqIF Excel Requirements Requirements Management Tool Full bi-directional requirements traceability evidence Drag and drop tracing of requirements (text, diagrams, links) with test cases. Generate tests link to requirements Test Tool Requirements Trace Closes Loop
  • 16. 15Copyright 2017 – QA Systems GmbH www.qa-systems.com Easy Linking in Cantata Trace Bi-directional drag and drop interface, immediately creates links on a server Whole Test Scripts linked to Requirements Individual Test Cases linked to Requirements
  • 17. 16Copyright 2019 – QA Systems GmbH www.qa-systems.cn 3 Part Automation 1 Automatic Test Vector Generation Test case vectors from code exercising all paths (up to MC/DC coverage) Sets input parameters & data throughout test execution Checks expected vs actual data, input & output parameters and call order 3 Automated Traceability & Coverage Data Production Complete Requirements imported/exported for testing AutoTest cases generated with traceable descriptions Test status, Requirements traceability & Structural coverage evidence 2 Automated Test Execution Continuous integration build, run and reporting
  • 18. 17Copyright 2019 – QA Systems GmbH www.qa-systems.cn Complete 3 Way Analysis Requirements Code Tests Requirements Coverage See requirements coverage in your requirements management & test tools Use the same tool for all trace data Test Coverage Run tests when not executed (continuous integration and testing helps a lot) Fix tests when they fail Code Coverage When you have gaps, identify if the code is: dead / redundant, unreachable, deactivated (not used in this context) If not, then add a test and that needs to be traced to [new] requirements Configuration & Calibration Data
  • 19. 18Copyright 2019 – QA Systems GmbH www.qa-systems.cn Learn More
  • 20. 19Copyright 2019 – QA Systems GmbH www.qa-systems.cn Further Enhancements? ISO 26262 Table 7 – Methods for software unit verification ISO 26262 Table 10 – Methods for verification of software integration ISO 26262 Table 14 – Methods for tests of the embedded software In Development
  • 21. 20Copyright 2019 – QA Systems GmbH www.qa-systems.cn Thank you

Editor's Notes

  1. 9.4.4 (unit) & 10.4.4 (Integration) To evaluate the completeness of verification and to provide evidence that the objectives for unit testing are adequately achieved, the coverage of requirements at the software unit / architectural level shall be determined and the structural coverage shall be measured in accordance with the metrics as listed in Table 9 / Table 12.
  2. In this example, Cantata AutoTest was run on over 55 kloc of executable C code. [NEXT] A complete suite of Cantata in-depth isolation unit tests for 100% entry-point, statement and decision coverage were generated in just over 2 hours. These tests were then executed using the automatic Cantata Makefile structure in just over ½ an hour. [NEXT] The code coverage achieved on these baseline tested source files was incredibly high. With more than 6 dynamic checks per line of code, and a remarkably optimal set of only 5,000 test cases for over 4,900 decision outcomes (McCabe Cyclomatic complexity), this provided a highly efficient and effective baseline safety net of unit tests. The Test Results Summary reports the overall results for tests executed using Cantata Makefiles, and all the usual powerful Cantata results diagnostics are available for the baseline tests. The only failures were the 40 files where coverage targets were not met.
  3. We are working on enhancing AutoTest for these.
  4. .