INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept. 2004 St. Ramberger / Th.Gruber 1 Experience Report: Error.

Slides:



Advertisements
Similar presentations
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Advertisements

Software Failure: Reasons Incorrect, missing, impossible requirements * Requirement validation. Incorrect specification * Specification verification. Faulty.
David Woo (dxw07u).  What is “White Box Testing”  Data Processing and Calculation Correctness Tests  Correctness Tests:  Path Coverage  Line Coverage.
©Ian Sommerville 2000CS 365 Ariane 5 launcher failureSlide 1 The Ariane 5 Launcher Failure June 4th 1996 Total failure of the Ariane 5 launcher on its.
Unit 251 Implementation and Integration Implementation Unit Testing Integration Integration Approaches.
School of Computing, Dublin Institute of Technology.
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
The Basics of Software Testing
Software Quality Assurance
Software Verification and Validation (V&V) By Roger U. Fujii Presented by Donovan Faustino.
©Ian Sommerville 2004Software Engineering Case Studies Slide 1 The Ariane 5 Launcher Failure June 4th 1996 Total failure of the Ariane 5 launcher on its.
Testing Dr. Andrew Wallace PhD BEng(hons) EurIng
What Exactly are the Techniques of Software Verification and Validation A Storehouse of Vast Knowledge on Software Testing.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Software Testing Content Essence Terminology Classification –Unit, System … –BlackBox, WhiteBox Debugging IEEE Standards.
1. Topics to be discussed Introduction Objectives Testing Life Cycle Verification Vs Validation Testing Methodology Testing Levels 2.
The Ariane 5 Launcher Failure
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Software Testing.
VTT-STUK assessment method for safety evaluation of safety-critical computer based systems - application in BE-SECBS project.
1 Debugging and Testing Overview Defensive Programming The goal is to prevent failures Debugging The goal is to find cause of failures and fix it Testing.
Instructor: Peter Clarke
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
The Ariane 5 Launcher Failure June 4th 1996 Total failure of the Ariane 5 launcher on its maiden flight.
SOFTWARE TESTING Scope of Testing  The dynamic Indian IT industry has always lured the brightest minds with challenging career.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.

Testing Workflow In the Unified Process and Agile/Scrum processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Safety Critical Systems 5 Testing T Safety Critical Systems.
Safety-Critical Systems 5 Testing and V&V T
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Approaches to ---Testing Software Some of us “hope” that our software works as opposed to “ensuring” that our software works? Why? Just foolish Lazy Believe.
Software Engineering Saeed Akhtar The University of Lahore.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
Dynamic Testing.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Static and Integration Testing. Static Testing vs Dynamic Testing  To find defects  This testing includes verification process  without executing.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Structural Coverage. Measurement of structural coverage of code is a means of assessing the thoroughness of testing. Such metrics do not constitute testing.
Slide 1SATC June 2000 Dolores R. Wallace* NASA Goddard Space Flight Center Greenbelt, Maryland for the American Society.
SOFTWARE TESTING SOFTWARE TESTING Presented By, C.Jackulin Sugirtha-10mx15 R.Jeyaramar-10mx17K.Kanagalakshmi-10mx20J.A.Linda-10mx25P.B.Vahedha-10mx53.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Toward a New ATM Software Safety Assessment Methodology dott. Francesca Matarese.
Topic 10Summer Ariane 5 Some slides based on talk from Sommerville.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Testing Integral part of the software development process.
ISQB Software Testing Section Meeting 10 Dec 2012.
Software Dependability
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Testing Tutorial 7.
Software Testing.
Approaches to ---Testing Software
Software Testing Introduction CS 4501 / 6501 Software Testing
Software Engineering (CSI 321)
Verification and Validation Overview
Verification and Validation Unit Testing
Standards.
יוסי שדמתי רק איכות מניהול סיכונים לאימות ותיקוף תהליכי הרכבה From Risk Management to Processes Validation יוסי.
Structural Coverage.
Testing Overview References:
Baisc Of Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Structural Coverage.
Requirements Engineering
Presentation transcript:

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 1 Experience Report: Error Distribution in Safety-Critical Software & Software Risk Analysis Based on Unit Tests Stephan Ramberger Thomas Gruber ARC Seibersdorf research GmbH

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 2 3 Classes of Impairments (J.-C. Laprie)  Faults = detected or assumed reason of an error  Errors = portion of a system state which necessarily leads to a subsequent failure: The error is an indicator for a failure that occors or has occurred.  Failures = a deviation between the delivered system function and the required one

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 3 Error Cost – Example Ariane 5 Flight 501  June 4, 1996: Maiden flight of Ariane 5  37 secods after ignition horizontal speed = ,0 internal units  Exception in „idle“ subsystem by 16 bit – integer conversion (overflow)  Subsystem software had been tested only for the smaller Ariane 4 model.  Redundant computer had the same problem 72 ms earlier – switched off  Main controller interprets diagnostic data as trajectory data  Unreasonable control commands to the engines  Purposeful blowing-up after 40 Seconds at m altitude  Damage:  € launch cost  € cluster satellites  € subsequent improvements

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 4 Testing: Cost and Benefit Total cost test effort commercial software safety-critical software

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 5 Term Definitions  Test ►Testing is the process of exercising or evaluating a system or a system component by manual or automated means to verify that it satisfies specified requirements or to identify differences between expected and actual results. [IEEE "IEEE Standard Glossary of SW Engineering Terminology"]  Verification ►Verification means confirmation by examination and provision of objective evidence that specified requirements have been fulfilled. [ISO 8402:1994]  Validation ►Validation means confirmation by examination and provision of objective evidence that the particular requirements for a specific intended use are fulfilled. [ECSS-P-001A, Rev. 1] Have we built the system correctly ? Does the system meet our expectation ?

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 6 SUT software under test SUT software under test V&V report test- class test case test results requirements + design docs dynamic test static analysis document verification Test & Verification

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 7 System test Integration test Acceptance tests Unit test bugfix re-test ? 1st test ? white box test ? ? ? existing code regression test black box test ? Classification of Tests

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 8 precompile ctp test object C++ classes C++ frames with test commands main make (compile cpp & link) Cantata++ wrapper classes instrumented code C++ coverage, white & black box test cases C++ reports Cantata++ libraries reports C/C++ libraries C++ Unit Test with IPL Cantata++

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 9 Test Metrics  Residual error rate  Value e.g. 20%  Ascending over time (Yet many errors occurring?)  Convergence (Do we discover less errors by time?)  Test coverage (dynamic)  „Our“ test tool Cantata++ implements 11 different coverage metrics  Ideal: 100%, often <100% due to „dead code“, „defensive programming“...  Complexity (static)  Statements per unit (static)  LOCs per unit (static)

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 10 Test Coverage – Examples Statement Decision Path coverage ? ? ? test cases

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 11 Cyclomatic Complexity Cyclomatic complexityrisk 1-10simple, low-risk program 11-20more complex, medium risk 21-50complex, high risk >50unstable program, very high risk c = e – n + 2 c = cyclomatic c omplexity e = number of e dges n = number of n odes

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 12 Experience Report

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 13 Error Types  Documentation Errors  Coverage Errors  Coding Errors  Other

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 14 Distribution of Error Types

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 15 Documentation Errors

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 16 Coding Errors

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 17 Incomplete Coverage

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 18 From Errors to Complexity

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 19 Defining Risk Areas

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 20 Categorization Example

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 21 Errors by Cyclomatic Complexity

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 22 Mean Error Count

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 23 Quality Management of Safety-Critical Systems  QA throughout the whole software life-cycle  Professional requirements engineering  Maintainability through quality of design  Verification und validation is essential  Code/document inspections  Often hazard analysis required  Usually safety standards (IEC 61508, DO178B,...)  Tests are in any case of highest importance

INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 24 Conclusion  detailed design  code review  thorough verification