SlideShare a Scribd company logo
0Copyright 2018 – QA Systems GmbH www.qa-systems.com
Automated
Low Level Requirements Testing
for DO-178C
1Copyright 2018 – QA Systems GmbH www.qa-systems.com
DO-178C SW Verification Process
Software Verification Cases and Procedures
DO-178C 11.13
Software Verification Results
DO-178C 11.14
Associated Trace Data
DO-178C 11.21
INPUTS OUTPUTS
Verification
Software Requirements
Source Code
System Requirements
Software Architecture
Trace Data
Executable Object Code
Parameter Data
Software Verification Plan
2Copyright 2018 – QA Systems GmbH www.qa-systems.com
Software Testing Activities 1
DO-178 Section 6.4
Requirements Based Test Objectives
a. The Executable Object Code complies with the
high level requirements
b. The Executable Object Code is robust with the
high level requirements
c. The Executable Object Code complies with the
low level requirements
d. The Executable Object Code robust with the low
level requirements
e. The Executable Object Code is compatible with
the target computer
3Copyright 2018 – QA Systems GmbH www.qa-systems.com
Software Testing Stages
System
Requirements
HSI
Tests
To verify the implementation of
low-level requirements +
derived low-level requirements
To verify the interrelationships between software
requirements and components and to verify the
implementation of the software requirements
and software components within the software
architecture
To verify the correct operation of the
software in the target environment
DO-178 Section 6.4
Table A.6Parameter Data
Low Level
(unit) Tests
Low Level
Requirement
Derived
Low Level
Requirement
SW
Integration
Test
Code
High Level
Requirement
4Copyright 2018 – QA Systems GmbH www.qa-systems.com
Software Testing Activities 2
DO-178 Section 6.4.4.1
Test Coverage Analysis Objectives
a. Analysis using the associated Trace Data, to
confirm that the test cases exits for each
software requirement
b. Analysis to confirm the test cases satisfy the
criteria for normal and robustness testing as
defined in section 6.4.2
c. Resolution if any deficiencies identified in the
analysis. Possible solutions are adding or
enhancing test cases.
d. Analysis to confirm that all the test cases, and
thus all the test procedures, used to achieve
structural coverage, are traceable to
requirements.
5Copyright 2018 – QA Systems GmbH www.qa-systems.com
Test Coverage Analysis
Low Level
Requirement
Code
Low Level
(unit) Test
Requirements Coverage
% Requirements verified by tests
<-> Traceability to tests
Test Coverage
% tests executed & passing
<-> Traceability to requirements
Parameter Data
6Copyright 2018 – QA Systems GmbH www.qa-systems.com
Software Testing Activities 3
DO-178 Section 6.4.4.2
Structural Coverage Analysis Objectives
a. Analysis of the structural coverage information
collected during requirements-based testing to
confirm that the degree of structural coverage is
appropriate to the software level.
b. Structural coverage analysis may be performed
on the Source Code, object code or Executable
Object Code. {NB - Additional verification for
additional code not directly traceable to Source
Code}
c. Analysis to confirm that the requirements-based
testing has exercised the data and control
coupling between code components.
d. Structural coverage analysis resolution
7Copyright 2018 – QA Systems GmbH www.qa-systems.com
Software Testing Activities 4
DO-178 Section 6.4.4.3
Structural Coverage Resolution Objectives
a. Shortcomings in requirements-based test cases
or procedures.
b. Inadequacies in software requirements.
c. Extraneous code, including dead code.
d. Deactivated code.
1. Category One
2. Category Two
8Copyright 2018 – QA Systems GmbH www.qa-systems.com
Structural Coverage Analysis
Low Level
Requirement
Code
Low Level
(unit) Test
Code Coverage
% code executed by tests
<->Traceability to requirements
<->Traceability to tests
Parameter Data
9Copyright 2018 – QA Systems GmbH www.qa-systems.com
Requirements Based Test Selection
DO-178 Section 6.4.2
Requirements-Based Test Selection
1. Specific test cases should be developed to
include normal range test cases and robustness
(abnormal range) test cases.
2. The specific test cases should be developed from
the software requirements and the error sources
inherent in the software development processes.
Note: Robustness test cases are requirements-based.
3. Test procedures are generated from the test
cases.
10Copyright 2018 – QA Systems GmbH www.qa-systems.com
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
11Copyright 2018 – QA Systems GmbH www.qa-systems.com
Requirements Tests
Parameter Data
Code
So…How to Automate?
12Copyright 2018 – QA Systems GmbH www.qa-systems.com
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
13Copyright 2018 – QA Systems GmbH www.qa-systems.com
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
14Copyright 2018 – QA Systems GmbH www.qa-systems.com
AutoTest & Trace for DO-178C
AutoTest
15Copyright 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
16Copyright 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
17Copyright 2017 – QA Systems GmbH www.qa-systems.com
AutoTest DO-178C Use Cases
Source Code Testability Assessment
 The AutoTest Generation Report may be used to identify difficulties in creating low-level Cantata
test cases for the software or potential run-time errors:
Dynamically unreachable code Crash scenarios Compiler type truncation
Data un-initialized or function static Implicit function declarations
Test Cases for Assignment as Requirements-based tests
 Generated test cases may be reviewed and used (unaltered or modified) to meet requirements
based verification objectives
 Test cases can be assigned to requirements in Trace once assessed as meeting the objectives
 NOTE: DO-178C 6.4.4.1.d. Requires all test cases used to achieve structural coverage are traceable
to requirements.
Targeted Test Case Generation
 Test cases can be generated for all functions in a source file
 Test cases can be added to test scripts for selected functions to help achieve structural code
coverage requirements (e.g. MC/DC)
18Copyright 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
19Copyright 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
20Copyright 2017 – QA Systems GmbH www.qa-systems.com
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
21Copyright 2018 – QA Systems GmbH www.qa-systems.com
Complete 3 Way Analysis
Low Level
Requirement
Code
Low Level
(unit) Test
Parameter Data
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
22Copyright 2018 – QA Systems GmbH www.qa-systems.com
23Copyright 2018 – QA Systems GmbH www.qa-systems.com
If code already handles these – then AutoTest generation is very helpful
If code does not – then Traceability should catch them as AutoTest will not
But AutoTest could generate test cases for these scenarios too…
Further Enhancements? - Robustness
DO-178 Sections 6.4.3 identifies Normal & Robustness Test Cases
Robustness test cases demonstrate the ability of the software to respond to abnormal inputs and conditions.
• Failure of an algorithm to satisfy a software requirement.
• Incorrect loop operations.
• Incorrect logic decisions.
• Failure to process correctly legitimate combinations of input
conditions.
• Incorrect responses to missing or corrupt input data.
• Incorrect handling of exceptions, such as arithmetic faults or
violations of array limits.
• Incorrect computation sequence.
• Inadequate algorithm precision, accuracy, or performance.
• Incorrect initialization of variables and constants.
• Parameter passing errors.
• Data corruption, especially global data.
• Inadequate end-to-end numerical resolution.
• Incorrect sequencing of events and operations.
24Copyright 2018 – QA Systems GmbH www.qa-systems.com
Thank you

More Related Content

What's hot

Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Venkatesh Prasad Ranganath
 
System testing ppt
System testing pptSystem testing ppt
System testing pptL ESHWAR
 
Basics of Software Testing
Basics of Software TestingBasics of Software Testing
Basics of Software TestingShakal Shukla
 
How To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaHow To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaEdureka!
 
Symbolic Execution (introduction and hands-on)
Symbolic Execution (introduction and hands-on)Symbolic Execution (introduction and hands-on)
Symbolic Execution (introduction and hands-on)Emilio Coppa
 
What is Test Matrix?
What is Test Matrix?What is Test Matrix?
What is Test Matrix?QA InfoTech
 
TESTING STRATEGY.ppt
TESTING STRATEGY.pptTESTING STRATEGY.ppt
TESTING STRATEGY.pptFawazHussain4
 
Software testing
Software testingSoftware testing
Software testingmkn3009
 
Research issues in object oriented software testing
Research issues in object oriented software testingResearch issues in object oriented software testing
Research issues in object oriented software testingAnshul Vinayak
 
White box black box & gray box testing
White box black box & gray box testingWhite box black box & gray box testing
White box black box & gray box testingHimanshu
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented TestingAjeng Savitri
 
Test Mühendisliğine Giriş Eğitimi - Bölüm 2
Test Mühendisliğine Giriş Eğitimi - Bölüm 2Test Mühendisliğine Giriş Eğitimi - Bölüm 2
Test Mühendisliğine Giriş Eğitimi - Bölüm 2Mesut Günes
 
Fundamentals of Software Testing
Fundamentals of Software TestingFundamentals of Software Testing
Fundamentals of Software TestingSagar Joshi
 
Issues in software cost estimation
Issues in software cost estimationIssues in software cost estimation
Issues in software cost estimationKashif Aleem
 
Test Mühendisliğine Giriş Eğitimi - Bölüm 1
Test Mühendisliğine Giriş Eğitimi - Bölüm 1Test Mühendisliğine Giriş Eğitimi - Bölüm 1
Test Mühendisliğine Giriş Eğitimi - Bölüm 1Mesut Günes
 

What's hot (20)

Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)
 
System testing ppt
System testing pptSystem testing ppt
System testing ppt
 
Basics of Software Testing
Basics of Software TestingBasics of Software Testing
Basics of Software Testing
 
Static Testing
Static TestingStatic Testing
Static Testing
 
How To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaHow To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | Edureka
 
System testing
System testingSystem testing
System testing
 
3.software testing
3.software testing3.software testing
3.software testing
 
Symbolic Execution (introduction and hands-on)
Symbolic Execution (introduction and hands-on)Symbolic Execution (introduction and hands-on)
Symbolic Execution (introduction and hands-on)
 
What is Test Matrix?
What is Test Matrix?What is Test Matrix?
What is Test Matrix?
 
Static Testing
Static Testing Static Testing
Static Testing
 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
 
TESTING STRATEGY.ppt
TESTING STRATEGY.pptTESTING STRATEGY.ppt
TESTING STRATEGY.ppt
 
Software testing
Software testingSoftware testing
Software testing
 
Research issues in object oriented software testing
Research issues in object oriented software testingResearch issues in object oriented software testing
Research issues in object oriented software testing
 
White box black box & gray box testing
White box black box & gray box testingWhite box black box & gray box testing
White box black box & gray box testing
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Test Mühendisliğine Giriş Eğitimi - Bölüm 2
Test Mühendisliğine Giriş Eğitimi - Bölüm 2Test Mühendisliğine Giriş Eğitimi - Bölüm 2
Test Mühendisliğine Giriş Eğitimi - Bölüm 2
 
Fundamentals of Software Testing
Fundamentals of Software TestingFundamentals of Software Testing
Fundamentals of Software Testing
 
Issues in software cost estimation
Issues in software cost estimationIssues in software cost estimation
Issues in software cost estimation
 
Test Mühendisliğine Giriş Eğitimi - Bölüm 1
Test Mühendisliğine Giriş Eğitimi - Bölüm 1Test Mühendisliğine Giriş Eğitimi - Bölüm 1
Test Mühendisliğine Giriş Eğitimi - Bölüm 1
 

Similar to Automated Low Level Requirements Testing for DO-178C

Automated requirements based testing for ISO 26262
Automated requirements based testing for ISO 26262 Automated requirements based testing for ISO 26262
Automated requirements based testing for ISO 26262 QA Systems
 
Automated Requirements-Based Testing for Medical Device Software
Automated Requirements-Based Testing for Medical Device SoftwareAutomated Requirements-Based Testing for Medical Device Software
Automated Requirements-Based Testing for Medical Device SoftwareQA Systems
 
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.ppsxQA Systems
 
Automated DevOps Dynamic Testing for CI and CD
Automated DevOps Dynamic Testing for CI and CDAutomated DevOps Dynamic Testing for CI and CD
Automated DevOps Dynamic Testing for CI and CDBethan Holmes
 
Automating Test Maintenance as Code and Requirements Change
Automating Test Maintenance as Code and Requirements ChangeAutomating Test Maintenance as Code and Requirements Change
Automating Test Maintenance as Code and Requirements ChangeQA Systems
 
Presentation Verification & Validation
Presentation Verification & ValidationPresentation Verification & Validation
Presentation Verification & ValidationElmar Selbach
 
The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...
The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...
The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...QA Systems
 
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
 
Coml Psg Automation Approach
Coml Psg Automation ApproachComl Psg Automation Approach
Coml Psg Automation Approachroopavani
 
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 generationAdaCore
 
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 Softwareguest8861ff
 
07 Outsource To India Independent Testing
07 Outsource To India Independent Testing07 Outsource To India Independent Testing
07 Outsource To India Independent TestingoutsourceToIndia
 
Softwar tetesting basic
Softwar tetesting basicSoftwar tetesting basic
Softwar tetesting basicparekhjigarh
 
Orcanos medical-common-validation-errors
Orcanos medical-common-validation-errorsOrcanos medical-common-validation-errors
Orcanos medical-common-validation-errorsEcommmax
 
Case Study on IV&V of Attitude and Heading Reference System
Case Study on IV&V of Attitude and Heading Reference SystemCase Study on IV&V of Attitude and Heading Reference System
Case Study on IV&V of Attitude and Heading Reference SystemOak Systems
 
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
 

Similar to Automated Low Level Requirements Testing for DO-178C (20)

Automated requirements based testing for ISO 26262
Automated requirements based testing for ISO 26262 Automated requirements based testing for ISO 26262
Automated requirements based testing for ISO 26262
 
Automated Requirements-Based Testing for Medical Device Software
Automated Requirements-Based Testing for Medical Device SoftwareAutomated Requirements-Based Testing for Medical Device Software
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
 
Automated DevOps Dynamic Testing for CI and CD
Automated DevOps Dynamic Testing for CI and CDAutomated DevOps Dynamic Testing for CI and CD
Automated DevOps Dynamic Testing for CI and CD
 
Automating Test Maintenance as Code and Requirements Change
Automating Test Maintenance as Code and Requirements ChangeAutomating Test Maintenance as Code and Requirements Change
Automating Test Maintenance as Code and Requirements Change
 
Presentation Verification & Validation
Presentation Verification & ValidationPresentation Verification & Validation
Presentation Verification & Validation
 
The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...
The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...
The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...
 
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)
 
Coml Psg Automation Approach
Coml Psg Automation ApproachComl Psg Automation Approach
Coml Psg Automation Approach
 
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
 
Introduction to Parasoft C++TEST
Introduction to Parasoft C++TEST Introduction to Parasoft C++TEST
Introduction to Parasoft C++TEST
 
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
 
07 Outsource To India Independent Testing
07 Outsource To India Independent Testing07 Outsource To India Independent Testing
07 Outsource To India Independent Testing
 
Softwar tetesting basic
Softwar tetesting basicSoftwar tetesting basic
Softwar tetesting basic
 
Orcanos medical-common-validation-errors
Orcanos medical-common-validation-errorsOrcanos medical-common-validation-errors
Orcanos medical-common-validation-errors
 
CV Nagaraju Sreeram
CV Nagaraju SreeramCV Nagaraju Sreeram
CV Nagaraju Sreeram
 
Case Study on IV&V of Attitude and Heading Reference System
Case Study on IV&V of Attitude and Heading Reference SystemCase Study on IV&V of Attitude and Heading Reference System
Case Study on IV&V of Attitude and Heading Reference System
 
Fut Lsi
Fut LsiFut Lsi
Fut Lsi
 
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...
 

Recently uploaded

Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareinfo611746
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsGlobus
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfMayankTawar1
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownloadvrstrong314
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILNatan Silnitsky
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandIES VE
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Hivelance Technology
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessWSO2
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfAMB-Review
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
 

Recently uploaded (20)

Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting software
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 

Automated Low Level Requirements Testing for DO-178C

  • 1. 0Copyright 2018 – QA Systems GmbH www.qa-systems.com Automated Low Level Requirements Testing for DO-178C
  • 2. 1Copyright 2018 – QA Systems GmbH www.qa-systems.com DO-178C SW Verification Process Software Verification Cases and Procedures DO-178C 11.13 Software Verification Results DO-178C 11.14 Associated Trace Data DO-178C 11.21 INPUTS OUTPUTS Verification Software Requirements Source Code System Requirements Software Architecture Trace Data Executable Object Code Parameter Data Software Verification Plan
  • 3. 2Copyright 2018 – QA Systems GmbH www.qa-systems.com Software Testing Activities 1 DO-178 Section 6.4 Requirements Based Test Objectives a. The Executable Object Code complies with the high level requirements b. The Executable Object Code is robust with the high level requirements c. The Executable Object Code complies with the low level requirements d. The Executable Object Code robust with the low level requirements e. The Executable Object Code is compatible with the target computer
  • 4. 3Copyright 2018 – QA Systems GmbH www.qa-systems.com Software Testing Stages System Requirements HSI Tests To verify the implementation of low-level requirements + derived low-level requirements To verify the interrelationships between software requirements and components and to verify the implementation of the software requirements and software components within the software architecture To verify the correct operation of the software in the target environment DO-178 Section 6.4 Table A.6Parameter Data Low Level (unit) Tests Low Level Requirement Derived Low Level Requirement SW Integration Test Code High Level Requirement
  • 5. 4Copyright 2018 – QA Systems GmbH www.qa-systems.com Software Testing Activities 2 DO-178 Section 6.4.4.1 Test Coverage Analysis Objectives a. Analysis using the associated Trace Data, to confirm that the test cases exits for each software requirement b. Analysis to confirm the test cases satisfy the criteria for normal and robustness testing as defined in section 6.4.2 c. Resolution if any deficiencies identified in the analysis. Possible solutions are adding or enhancing test cases. d. Analysis to confirm that all the test cases, and thus all the test procedures, used to achieve structural coverage, are traceable to requirements.
  • 6. 5Copyright 2018 – QA Systems GmbH www.qa-systems.com Test Coverage Analysis Low Level Requirement Code Low Level (unit) Test Requirements Coverage % Requirements verified by tests <-> Traceability to tests Test Coverage % tests executed & passing <-> Traceability to requirements Parameter Data
  • 7. 6Copyright 2018 – QA Systems GmbH www.qa-systems.com Software Testing Activities 3 DO-178 Section 6.4.4.2 Structural Coverage Analysis Objectives a. Analysis of the structural coverage information collected during requirements-based testing to confirm that the degree of structural coverage is appropriate to the software level. b. Structural coverage analysis may be performed on the Source Code, object code or Executable Object Code. {NB - Additional verification for additional code not directly traceable to Source Code} c. Analysis to confirm that the requirements-based testing has exercised the data and control coupling between code components. d. Structural coverage analysis resolution
  • 8. 7Copyright 2018 – QA Systems GmbH www.qa-systems.com Software Testing Activities 4 DO-178 Section 6.4.4.3 Structural Coverage Resolution Objectives a. Shortcomings in requirements-based test cases or procedures. b. Inadequacies in software requirements. c. Extraneous code, including dead code. d. Deactivated code. 1. Category One 2. Category Two
  • 9. 8Copyright 2018 – QA Systems GmbH www.qa-systems.com Structural Coverage Analysis Low Level Requirement Code Low Level (unit) Test Code Coverage % code executed by tests <->Traceability to requirements <->Traceability to tests Parameter Data
  • 10. 9Copyright 2018 – QA Systems GmbH www.qa-systems.com Requirements Based Test Selection DO-178 Section 6.4.2 Requirements-Based Test Selection 1. Specific test cases should be developed to include normal range test cases and robustness (abnormal range) test cases. 2. The specific test cases should be developed from the software requirements and the error sources inherent in the software development processes. Note: Robustness test cases are requirements-based. 3. Test procedures are generated from the test cases.
  • 11. 10Copyright 2018 – QA Systems GmbH www.qa-systems.com 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
  • 12. 11Copyright 2018 – QA Systems GmbH www.qa-systems.com Requirements Tests Parameter Data Code So…How to Automate?
  • 13. 12Copyright 2018 – QA Systems GmbH www.qa-systems.com 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
  • 14. 13Copyright 2018 – QA Systems GmbH www.qa-systems.com 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
  • 15. 14Copyright 2018 – QA Systems GmbH www.qa-systems.com AutoTest & Trace for DO-178C AutoTest
  • 16. 15Copyright 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
  • 17. 16Copyright 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
  • 18. 17Copyright 2017 – QA Systems GmbH www.qa-systems.com AutoTest DO-178C Use Cases Source Code Testability Assessment  The AutoTest Generation Report may be used to identify difficulties in creating low-level Cantata test cases for the software or potential run-time errors: Dynamically unreachable code Crash scenarios Compiler type truncation Data un-initialized or function static Implicit function declarations Test Cases for Assignment as Requirements-based tests  Generated test cases may be reviewed and used (unaltered or modified) to meet requirements based verification objectives  Test cases can be assigned to requirements in Trace once assessed as meeting the objectives  NOTE: DO-178C 6.4.4.1.d. Requires all test cases used to achieve structural coverage are traceable to requirements. Targeted Test Case Generation  Test cases can be generated for all functions in a source file  Test cases can be added to test scripts for selected functions to help achieve structural code coverage requirements (e.g. MC/DC)
  • 19. 18Copyright 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
  • 20. 19Copyright 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
  • 21. 20Copyright 2017 – QA Systems GmbH www.qa-systems.com 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
  • 22. 21Copyright 2018 – QA Systems GmbH www.qa-systems.com Complete 3 Way Analysis Low Level Requirement Code Low Level (unit) Test Parameter Data 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
  • 23. 22Copyright 2018 – QA Systems GmbH www.qa-systems.com
  • 24. 23Copyright 2018 – QA Systems GmbH www.qa-systems.com If code already handles these – then AutoTest generation is very helpful If code does not – then Traceability should catch them as AutoTest will not But AutoTest could generate test cases for these scenarios too… Further Enhancements? - Robustness DO-178 Sections 6.4.3 identifies Normal & Robustness Test Cases Robustness test cases demonstrate the ability of the software to respond to abnormal inputs and conditions. • Failure of an algorithm to satisfy a software requirement. • Incorrect loop operations. • Incorrect logic decisions. • Failure to process correctly legitimate combinations of input conditions. • Incorrect responses to missing or corrupt input data. • Incorrect handling of exceptions, such as arithmetic faults or violations of array limits. • Incorrect computation sequence. • Inadequate algorithm precision, accuracy, or performance. • Incorrect initialization of variables and constants. • Parameter passing errors. • Data corruption, especially global data. • Inadequate end-to-end numerical resolution. • Incorrect sequencing of events and operations.
  • 25. 24Copyright 2018 – QA Systems GmbH www.qa-systems.com Thank you

Editor's Notes

  1. It sometimes happens that high-level requirements are used to generate source code directly, in which cases those high-level requirements are also considered to be low-level requirements.
  2. October 27 2017 –The Federal Aviation Administration (FAA) and the Civil Aviation Administration of China (CAAC) today announced the signing of an implementing agreement under the U.S. – China Bilateral Aviation Safety Agreement (BASA) recognizing each other’s regulatory systems with respect to the airworthiness of aviation products and articles. The Implementation Procedures for Airworthiness (IPA) document allows each authority to leverage approvals completed by the other with respect to design, production, and airworthiness as well as continued airworthiness.
  3. .