Safety-Critical Systems 5 Testing and V&V T 79.232.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

1 Software Engineering Lecture 11 Software Testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 2.
Software Failure: Reasons Incorrect, missing, impossible requirements * Requirement validation. Incorrect specification * Specification verification. Faulty.
1 Formal Methods in SE Qaisar Javaid Assistant Professor Lecture 05.
1 Verification, validation and testing Chapter 12, Storey.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Understand.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
Unit Testing CS 414 – Software Engineering I Don Bagert Rose-Hulman Institute of Technology January 16, 2003.
Introduction to Software Testing
Testing safety-critical software systems
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.
Test Design Techniques
Safety-Critical Systems 6 Quality Management and Certification T
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Expert System Presentation On…. Software Certification for Industry - Verification and Validation Issues in Expert Systems By Anca I. Vermesan Presented.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
Safety Critical Systems 4 Formal Methods / Modelling T
Introduction Telerik Software Academy Software Quality Assurance.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Chapter 12: Software Testing Omar Meqdadi SE 273 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Testing.
Safety-Critical Systems 6 Certification
Software Testing Testing types Testing strategy Testing principles.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Survey on Trace Analyzer (2) Hong, Shin /34Survey on Trace Analyzer (2) KAIST.
BE-SECBS FISA 2003 November 13th 2003 page 1 DSR/SAMS/BASP IRSN BE SECBS – IRSN assessment Context application of IRSN methodology to the reference case.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Safety-Critical Systems T Ilkka Herttua. Safety Context Diagram HUMANPROCESS SYSTEM - Hardware - Software - Operating Rules.
Safety Critical Systems 5 Testing T Safety Critical Systems.
Requirements Specification. Welcome to Software Engineering: “Requirements Specification” “Requirements Specification”  Verb?  Noun?  “Specification”
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
Safety Critical Systems 4 Formal Methods / Modelling T
Safety-Critical Systems 7 Summary T V - Lifecycle model System Acceptance System Integration & Test Module Integration & Test Requirements Analysis.
Over View of CENELC Standards for Signalling Applications
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Verification & Validation By: Amir Masoud Gharehbaghi
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
Rekayasa Perangkat Lunak Sesi 14 Software Testing.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Chapter 12: Software Testing Omar Meqdadi SE 273 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Safety-Critical Systems 3 T Designing Safety Software Ilkka Herttua.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
Testing Integral part of the software development process.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Verification and Validation
Verification and Testing
Verification and Validation Overview
Lecture 09:Software Testing
Verification and Validation Unit 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.
Software Verification and Validation
Software Verification and Validation
Test Process “V” Diagram
Software Verification and Validation
PSS0 Configuration Management,
Presentation transcript:

Safety-Critical Systems 5 Testing and V&V T

V - Lifecycle model System Acceptance System Integration & Test Module Integration & Test Requirements Analysis Requirements Model Test Scenarios Software Implementation & Unit Test Software Design Requirements Document Systems Analysis & Design Functional / Architechural - Model Specification Document Knowledge Base * * Configuration controlled Knowledge that is increasing in Understanding until Completion of the System: Requirements Documentation Requirements Traceability Model Data/Parameters Test Definition/Vectors

Testing Testing is a process used to verify or validate system or its components. Testing is performed during various stage of system development. V-lifecycle diagram. - Module testing – evaluation of a small function of the hardware/software. - System integration testing – investigates correct interaction of modules. - System validation testing – a complete system satisfies its requirements.

Testing forms Dynamic testing - execution of the system or component in the natural/simulated environment. - Functional – test all functions - Structural – test signal/test cases (glass-box) - Random – n-dimensional input space Static testing - reviews, inspections and walkthroughs. Static code analysis for software. Modelling - mathematical representation of the behaviour of a system or its environment.

Testing methods Black-box testing – requirements-based, no information of the system, what is inside. White-box testing – more information about the system design to guide testing. Open view glass box.

Dymanic testing techniques Dynamic testing standards IEC1508, BCS (British Computer Society) and DO-178B. - Process simulation - Error seeding/guessing - Timing and memory tests - Performance/stress testing - Probabilistic testing – values for failure rates

Test planning Lifecycle PhaseActivitySafety case RequirementsHazard identificationAnalysis results Test planningIdentify tests integrityStrategy for V/V Req/Design/TestTrace hazards to specs.Risk reduction Req/DesignDefine specs Design analysis Safety Functional Requirements are the actual safety- related functions which the system, sub-system or item of equipments required to carry out. (Cenelec)

Development Process for V & V Operational Thread: –Elaboration of operational requirements in textual form –Elaboration of requirements model based on operational requirements –Until validated: Validate requirements model against operational requirements Update model as needed –Transformation of the requirements model into a verifiable form Safety Thread: –Identification of safety requirements based on hazard analysis –Formalization into a safety model based on safety requirements –Until validated: Validate safety model against hazard analysis Update model as needed –Transformation of the safety model into a verifiable form  Until verified:  Model verification based on safety an liveness requirements  Update model as needed

Development Process for V & V (Initial) Requirements model Domain objects Use cases & control cases Important interactions Safety properties Validation (Final) Requirement s model Formal Verification Dynamic behavior Informal Verification Textual requirements Terms & definitions Safety requirement s Operational requirement s Informal Verification

Model Validation e.g. prepare to train arrival set reserved path monitor situation Confirmer Question e.g. „What use cases are available to the signaler?“ Domain Expert Validator Validation Support Tool Requirements Modeling Language Requirements Model

Validation/Confirmers Confirmer: A property of a system derived from a model and subject to human evaluation. Types of confirmers: –Static, derived (i.e. implicit) model information (e.g. implicit use cases or required conditions for a transition/action) –Dynamic state requests („is the model now in the right state?“) –Dynamic event responses („does the model react correctly?“) Possible representations for confirmers: –Natural language sentences –Algebraic expressions –Traces / sequence diagrams –Dynamic simulation

Model Verification e.g. „A point may never move when a route is locked.“ Challenger  Proof e.g. challenger is false in the following case: User: set route A System: steer point 1 left HW: point 1 at left User: set point 1 right System: steer point 1 right CONFLICT!!! Domain Expert Verifier Verification Support Tool Requirements Model Requirements Modeling Language

Languages of Logic –Propositional Logic Statements –(1st Order) Predicate Logic (FOPL) Statements quantified ( ,  ) over things (objects!) –Linear Temporal Logic (LTL) Statements quantified ( , , G, F, H, P) over things and time –Computational Tree Logic (CTL) Statements quantified ( , , G, F, H, P, ,  ) over things, time and worlds (modal logic) –Enhanced Regular Expression Logic (ERE) Statements about occurrence patterns (seq, sel, itr, par) of events and conditions causing actions Note: The list above is neither complete nor it does necessarily imply any hierarchy! S S t S t S t

(Some) Languages of Logic Objects ,  Time G, F, H, P Worlds ,  Propositional Logic Predicate Logic Modal Logic Temporal Logic (LTL) CTL ERE? DL

Verification Technologies Model Checking Theorem Proving Objects ,  Time G, F, H, P Worlds ,  Propositiona l Logic Predicate Logic Moda l Logic Temporal Logic (LTL) CTL ERE? DLDL

Testing and V&V Home assignments: Dynamic testing Constructed environment Please to 12 of May 2005 References: KnowGravity, I-Logix