CS4311 Spring 2011 Verification & Validation Dr. Guoqiang Hu Department of Computer Science UTEP.

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Testing Coverage Test case
SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
System Integration Verification and Validation
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Testing and Quality Assurance
Software Quality Assurance Plan
Component 4: Introduction to Information and Computer Science Unit 9: Components and Development of Large Scale Systems Lecture 5 This material was developed.
Software Testing.
Chapter 9 Testing the System, part 2. Testing  Unit testing White (glass) box Code walkthroughs and inspections  Integration testing Bottom-up Top-down.
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
Outline Types of errors Component Testing Testing Strategy
Lecturer: Dr. AJ Bieszczad Chapter 87-1 How does software fail? Wrong requirement: not what the customer wants Missing requirement Requirement impossible.
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
Types and Techniques of Software Testing
Software Testing & Strategies
IV&V Facility Model-based Design Verification IVV Annual Workshop September, 2009 Tom Hempler.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
1 Shawlands Academy Higher Computing Software Development Unit.
111 Testing Overview CS 4311 Frank Tsui, Orland Karam, and Barbara Bernal, Essential of Software Engineering, 3rd edition, Jones & Bartett Learning. Sections.
Categories of Testing.
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.
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.
CS4311 Spring 2011 Unit Testing Dr. Guoqiang Hu Department of Computer Science UTEP.
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Testing Testing types Testing strategy Testing principles.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
Today’s Agenda  HW #1  Finish Introduction  Input Space Partitioning Software Testing and Maintenance 1.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
The Software Development Process
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Testing Overview References: Pressman, Software Engineering: a Practitioner’s Approach, McGraw Hill Pfleeger, Software Engineering, Theory and Practice,
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
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.
System Testing 12/09. Hierarchy of Testing Testing Program Testing Top Down Bottom Up Integration TestingUnit Testing System Testing Big Bang Sandwich.
Introduction to Software Testing Maili Markvardt.
Software Testing Strategies for building test group
Software Testing.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Chapter 9, Testing.
Verification and Validation Overview
Some Simple Definitions for Testing
Chapter 13 & 14 Software Testing Strategies and Techniques
Software testing strategies 2
Introduction to Software Testing
Lecture 09:Software Testing
Testing Overview References:
Chapter 10 – 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.
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
Chapter 11: Integration- and System Testing
Software Testing Strategies
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

CS4311 Spring 2011 Verification & Validation Dr. Guoqiang Hu Department of Computer Science UTEP

Announcement What: CS4390 (Cross-listed with CS5390): “ Software Testing ” Testing Only, Nothing Else! When: This Summer Prerequisite: CS4311 * Note: The V&V content covered in this course (CS4311) can be considered as an introduction to the above course

What Are Verification and Validation? Groups of 2 Why? Who? What? Against what? When? How? 5 minutes Verification: Evaluating the product (a system or component) of a development phase to determine whether the product satisfies the specification at the start of the phase. Did we build the system or component right? Validation: Evaluating the product (mostly the system or subsystem) during or at the end of the development process to determine whether it satisfies the specified requirements. Did we build the right system?

V&V Activities and the Software Lifecycle Requirements engineering: Determine general test strategy/plan(techniques, criteria, team) Test requirements specification Completeness Consistency Feasibility (Functional, performance requirements) Testability (Specific; Unambiguous; Quantitative; Traceable) Generate acceptance/validation testing data Design: Determine integration test strategy Assess/Test the design: Completeness; Consistency; Handling scenarios; Traceability (to and fro). ( design walkthrough, inspection )

V&V Activities and the Software Lifecycle Implementation: Determine unit test strategy Techniques (Static v. Dynamic): Read/Have it read Code walkthrough/Formal code inspection Formal verification/Proof Manual testing Tools, and whistles and bells (driver/harness, stub) Maintenance: Determine regression test strategy Documentation maintenance (vital)

V&V Activities and the Software Lifecycle The “V” model:

Where Do the Errors Come From? Groups of 2 What kinds of errors? Who? 3 minutes Kinds of errors: Missing information Wrong information/design/implementation Extra information Facts about errors: To err is human (but different person has different error rate). Different studies indicate 30 to 85 errors per 1000 lines. After extensive testing, 0.5 to 3 errors per 1000 lines remain. The longer an error goes undetected, the more costly to correct.

Basic Concepts Correct specification: Specification matches the client’s intent. Correct program: Program matches its specification. Error: A human activity that leads to the creation of a fault. Fault/Bug: The physical manifestation of an error. It can cause a failure. Failure: The state when a fault is encountered during execution.

Basic Concepts Fault identification: Process of determining what fault caused a failure Fault correction: Process of changing a system to remove a fault Debugging: Process of finding and fixing program faults Testing: Designing and executing tests. And (if bugs present) debugging. Test case: A particular set of input and the expected output

Basic Concepts Test set: A finite set of test cases working together with the same purpose Test objective: The main goal for a particular test. Ex., finding faults/fault detection, or, demonstrating reliability/confidence building (no/low failure rate in normal use). Test objective affects test strategy, test criteria, and test selection. Test criteria: Specifies testing requirements/stopping rule/measurement. It is closely linked to test techniques. Ex., for coverage-based test techniques, 100% statements, or branches, coverage, or both.

The General Approaches of Verification & Validation Groups of 2 How? 2 minutes

The Exhaustive Test Examples Groups of 2 3 minutes How many test cases are required? How long will it take?

The Exhaustive Test Examples Groups of 2 3 minutes A B C

The Exhaustive Test Examples Groups of 2 3 minutes

The Purpose of Testing The purpose of testing is NOT to prove the program is correct Instead, it is to find problems in the program so that the found problems can be fixed Interesting phenomena of testing results: Successful test: The more faults are found, the more successful is a test case/ set. Quality of the code: The more faults are found in a unit of code, it normally means the worse is the quality of the code. Studies found that more faults may still go undetected in the same piece of code. Although you can say the quality of the code has been improved after the found faults are fixed.

Hierarchy of V&V techniques V&V Dynamic Techniques Symbolic Execution Testing Informal Analysis Formal Analysis Static Techniques Review Inspection Walkthrough

Hierarchy of Testing Testing Program Testing Top Down Bottom Up Integration TestingUnit Testing System Testing Big Bang Sandwich Black Box White Box Function Performance Reliability Availability Acceptance Testing Properties Security Equivalence Boundary Decision Table State Transition Use Case Domain Analysis Control FlowData Flow Usability Documentation Portability Capacity Ad hoc Pilot Alpha Beta

Hierarchy of Testing Testing Program Testing Top Down Bottom Up Integration TestingUnit Testing System Testing Big Bang Sandwich Black Box White Box Function Performance Reliability Availability Acceptance Testing Properties Security Equivalence Boundary Decision Table State Transition Use Case Domain Analysis Control FlowData Flow Usability Documentation Portability Capacity Ad hoc Pilot Alpha Beta

Types of System Testing Function Testing: Integrated system performs specified function Scenarios Black-box techniques Properties Testing: Integrated system tests against non-functional requirements Performance, Reliability, Security, Usability, etc. Performance:  Stress test: maximum throughput  Overload test: exceed specification  Volume test: sustained large throughput  Response time  Robustness: test things not specified, but quite possible  Recovery: crash, or, recoverable? Acceptance Testing: Customers test system Pilot ( initial, customer ), Alpha test ( in-house ), Beta test ( on-site )

Types of Faults ( not exhaustive ) Algorithmic: algorithm or logic does not produce the proper output for the given input Syntax: improper use of language constructs Computation (precision): formula’s implementation wrong or result not to correct degree of accuracy Documentation: documentation does not match what program does Stress (overload): data structures filled past capacity Capacity: system performance unacceptable as activity reaches its specified limit Timing: coordinating of events not correct Throughput: system does not perform at speed required Recovery: failure encountered and does not recover (crashed)

Who Are Involved? Professional/Third party testers: organize and run tests Analysts: involved in system requirements definition and specification Designers: involved in the design and understand proposed solution and solution’s constraints Implementers: involved in the implementation and understand the constraints associated with implementation Configuration management representative: arranges for changes to be made consistently across all artifacts The Advice View testing as part of the development process Testing is the last line of defense: Errors indicate that there is a problem with the development process

Test Plan Objectives of Test Plan: Facilitate task of testing (strategy): The scope, approach, resources, and schedule Test techniques Test criteria Test documentation requirements Avoid repetition Improve test coverage Improve test efficiency Provide structure for final tests Improve communication about testing Provide structure for: Organizing Scheduling Managing

Test Plan Report Table of Contents DOCUMENT CONTROL Approval Document Change Control Distribution List Change Summary 1. INTRODUCTION 1.1. Purpose 1.2. Scope 1.3. System Overview 1.4. Test Approach Overview 2. APPLICABLE REFERENCES 3. TESTING APPROACH 4. TEST SCHEDULE 5. TEST XX

3. TESTING APPROACH Specify types of tests to be performed List specific tests Test descriptions are in section 5 May include Test Management Requirements: how testing is to be managed Personnel Requirements Hardware Requirements Software Requirements Cost

Section 5 and later Test No. Current Status (Passed / Failed / Pending) Test title Testing approach Concluding Remarks Testing Team Date Completed:

Assignments Lead: V&V Due Date: Tuesday, April 19, 2011 Due Time: Midnight MDT