Principles of Engineering System Design Dr T Asokan

Slides:



Advertisements
Similar presentations
Defect testing Objectives
Advertisements

Testing Workflow Purpose
Test Yaodong Bi.
Lecture 8: Testing, Verification and Validation
System Integration Verification and Validation
Testing and Quality Assurance
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Software Quality Assurance Plan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
Introduction to Software Testing
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Introduction to Computer Technology
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
System/Software Testing
System Implementation. System Implementation and Seven major activities Coding Testing Installation Documentation Training Support Purpose To convert.
Extreme Programming Software Development Written by Sanjay Kumar.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13b: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.
1. Topics to be discussed Introduction Objectives Testing Life Cycle Verification Vs Validation Testing Methodology Testing Levels 2.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Integration testing l Tests complete systems or subsystems composed of integrated.
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
 CS 5380 Software Engineering Chapter 8 Testing.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Topics Covered: Software testing Software testing Levels of testing Levels of testing  Unit testing Unit testing Unit testing  Integration testing Integration.
Principles of Engineering System Design Dr T Asokan
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
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 Quality Assurance and Testing Fazal Rehman Shamil.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
SOFTWARE TESTING SOFTWARE TESTING Presented By, C.Jackulin Sugirtha-10mx15 R.Jeyaramar-10mx17K.Kanagalakshmi-10mx20J.A.Linda-10mx25P.B.Vahedha-10mx53.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Testing and Evolution CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Software Testing Strategies for building test group
Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Testing Tutorial 7.
Approaches to ---Testing Software
Software Testing Techniques
Software Independent Verification and Validation (IV&V)
Chapter 18 Software Testing Strategies
Chapter 13 & 14 Software Testing Strategies and Techniques
LEVEL OF TESTING J.ALFRED DANIEL, AP/CSE.
Introduction to Software Testing
Verification and Validation Unit Testing
Testing and Test-Driven Development CSC 4700 Software Engineering
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Software testing.
Chapter 10 – Software Testing
Baisc Of Software Testing
Software Testing Strategies
Presentation transcript:

Principles of Engineering System Design Dr T Asokan

INTRODUCTION TO SYSTEMS DESIGN Dr T Asokan Integration and Qualification Contd…

Qualification It is the process of verifying and validating the system design and then obtaining the stake holder’s acceptance of the design. Consists of verification, validation and acceptance. Qualification system must be designed simultaneously with the operational system. The exit criterion for integration and qualification is acceptance of the design by the stakeholders

Verification, Validation and Acceptance Verification is the determination that the system built was right Validation determine that the right system was built Operational Validity Conceptual validity Requirements validity Design Validity

Qualification Planning The purpose of qualification is not only to find faults and failures but also to prevent them and to provide comprehensive diagnoses about their location and cause. Failure: Deviation in behavior between the system and its requirements Error: A subset of the system state which may lead to a failure Fault: Defects in the system that can cause an error To have a successful qualification system, a number of complementary procedures to be employed

First Law: Pesticide Paradox Every method you use to prevent a bug (fault) leaves a residue of subtler bugs (faults) Second Law: Complexity Barrier The complexity of bugs (faults) grows to the limits of our ability to manage that complexity Third Law: Code migrates to data Hardware and people migrate to software which eventually migrate to data Three laws of software testing (relevant to system testing)

We can never be sure that the specifications are correct No verification system can verify every correct program We can never be certain that a verification system is correct. Barriers to Verification (Manna and Waldinger, 1978)

Fault categorization and their consequences Mild ( appearance, aesthetics, colour, minor scratch…) Moderate (unclear/misleading output, wrong menu…..) Annoying (not showing necessary data, too long to process..) Disturbing (refuses legitimate transactions) Serious (loses track of ip/op, deposited money not accounted) Very serious ( mixes ip/op, money deposited to someones account) Extreme(frequent faults of very serious category) Intolerable ( causes long-term, unrecoverable data corruption) Fault categorization is first step in defining the importance of faults; these categories define distinctions among the consequences of faults.

P ij= Probabaility of fault i in scenario j C ij= Cost ( in rupees) of fault i in jth scenario V j = Relative measure of importance of scenario Catastrophic ( sysem shutdown causing data loss) Infectious (affects the performance of other systems badly)

Qualification Planning During Design Four Major levels of Qualification planning: Plan the qualification process Plan the qualification approaches Plan qualification activities Plan specific tests

1. Plan the qualification process: Acceptance test, Validation test, Verification test Review system objectives, identify quality system objectives, pass/fail thresholds, qualification requirements, functional architecture, physical architecture, identify risks and mitigation strategies, create master qualification plan.

2. Plan the qualification approaches: Acceptance test, Validation test, Verification test Define qualification resources and organisations, assign qualification activities to organisations, assign qualification activities to resources, develop qualification schedules consistent with development schedules

3. Plan qualification activities: Acceptance test, Validation test, Verification test Develop detailed derived qualification requirements, Write activity level qualification plans, assign qualification responsibilities

4. Plan specific tests: Acceptance test, Validation test, Verification test Identify required stimulation data for each activity, Create test scenarios, write test procedures, write analysis procedures, define test and anaysis schedules.

Qualification methods Four categories :  Inspection  analysis and simulation  instrumented testing  demonstration

Inspection Used for physical, human verification of a specific process or requirements Increased use of automation, computers replace the human in verification. Inspection tends to instrumented testing.

Analysis and Simulation Use of models to depict real systems and their working. Key aspects of system are tested on models. Eg: examine performance of system in a range of environmental conditions. Models initially help in comparing various physical architectures In verification and validation stage – predict results of instrumented tests and demos.

Demonstration Demonstrate system in front of unbiased reviewers in expected system environment Primarily used for validation and acceptance testing

Qualification methods MethodDescriptionUsed DuringMost effective when: InspectionCompare system attributes to requirements All segments of verification and validation – human examination Success/failure can be judged by humans Analysis and simulation Use models that represent some or all aspects of the system Throughout qualification- more during early verification and acceptance – used with demos 1.Physical elem. not available 2.Instrumented testing – expensive 3.Demos not enough

Qualification methods Instrumented testing Use calibrated instruments to measure sys. o/p Verifica tion testing 1.Engg test models are available 2. Detailed info. required to trace failures 3. Life and reliability data needed for analysis and simulation DemonstrationExercise system in front of unbiased viewers in expected system environment. Validati on and Accept ance testing 1.High-level instrumented testing is too expensive

Testing methods Functional tests – examine i/p and o/p under mostly nominal conditions Structural tests - Examines structure of the system, and its proper functioning. Performance tests: Particular attention to extreme environments in structural tests Recovery tests: failure modes created – system’s ability to return to operating mode tested. Interface tests: examine all interface conditions Stress testing: Above – normal loads are placed to see system’s performance and get system’s breaking point

Testing facets ( Samson, 1993) StructuralFunctionalEnvironmentalConditional Compliance Execution External Inspection Operations Path Recovery Security Algorithm analysis Control Error handling Intersystem Parallel Regression Requirements Computer supported Live Manual Prototype Simulator Testbed Accuracy Boundary Compliance Existence Load Location Logic Quality Sequence Size Timing Structural-related to system implementation; function- related to system function; environmental- related to system environment; conditions- related to requirement characteristics

Black and White box testing Commonly employed in software testing Black box testingWhite box testing Outputs are determined correct or incorrect based on inputs Inner workings of the module are ignored Inner workings of the module are examined as part of the testing to ensure proper functioning Usually used at the CI level of testing Impractical at the system level