©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 1 Verification and Validation u Assuring that a software system meets a user's.

Slides:



Advertisements
Similar presentations
Software Engineering COMP 201
Advertisements

Software testing.
Defect testing Objectives
Verification and Validation
Software Engineering-II Sir zubair sajid. What’s the difference? Verification – Are you building the product right? – Software must conform to its specification.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
Software Engineering COMP 201
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Defect testing l Testing programs to establish the presence of system defects.
Verification and Validation
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
- Testing programs to establish the presence of system defects -
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
Verification and Validation
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 1.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 23 Slide 1 Software testing Slightly adapted by Anders Børjesson.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Integration testing l Tests complete systems or subsystems composed of integrated.
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program.
Chapter 12: Software Testing Omar Meqdadi SE 273 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 19,20 Slide 1 Verification and Validation l.
Verification and Validation Chapter 22 of Ian Sommerville’s Software Engineering.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 22 Slide 1 Verification and Validation Slightly adapted by Anders Børjesson.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Chapter 20 Software Testing.
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.
Software testing techniques 2.Verification and validation From I. Sommerville textbook Kaunas University of Technology.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Software Testing Testing types Testing strategy Testing principles.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
CS.436 Software Engineering By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 13 Verification and validation Slide 1 1 Chapter 13 Verification and Validation.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Software Testing Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
SoftwareVerification and Validation
This chapter is extracted from Sommerville’s slides. Textbook chapter
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Bzupages.com Verification and Validation.
CHAPTER 9: VERIFICATION AND VALIDATION 1. Objectives  To introduce software verification and validation and to discuss the distinction between them 
Verification and Validation Assuring that a software system meets a user's needs.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Defect testing l Testing programs to establish the presence of system defects.
Software Engineering, 8th edition Chapter 22 1 Courtesy: ©Ian Somerville 2006 April 27 th, 2009 Lecture # 19 Verification and Validation.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
©Ian Sommerville Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation with edits by Dan Fleck Coming up: Objectives.
CS451 Lecture 10: Software Testing Yugi Lee STB #555 (816)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation with edits by Dan Fleck.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
This chapter is extracted from Sommerville’s slides. Textbook chapter 22 1 Chapter 8 Validation and Verification 1.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Defect testing Testing programs to establish the presence of system defects.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 22 Slide 1 Verification and Validation.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVII. Verification and Validation.
Verification and Validation. Topics covered l Verification and validation planning l Program Testing l Software inspections.
CSC 480 Software Engineering
Verification & Validation
Verification and Validation Unit Testing
Verification and Validation
Software testing.
Chapter 7 Software Testing.
Presentation transcript:

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 1 Verification and Validation u Assuring that a software system meets a user's needs

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 2 Objectives u To introduce software verification and validation u To describe the stages of the testing process u To explain the importance of test planning u To describe various complementary testing strategies

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 3 Topics covered u The testing process u Test planning u Testing strategies

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 4 u Verification: "Are we building the product right" u The software should conform to its specification u Validation: "Are we building the right product" u The software should do what the user really requires Verification vs validation

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 5 u Is a whole life-cycle process - V & V must be applied at each stage in the software process. u Has two principal objectives The discovery of defects in a system The assessment of whether or not the system is usable in an operational situation. The V & V process

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 6 u Dynamic V & V Concerned with exercising and observing product behaviour (testing) u Static verification Concerned with analysis of the static system representation to discover problems Dynamic and static verification

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 7 Static and dynamic V&V

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 8 u Can reveal the presence of errors NOT their absence u A successful test is a test which discovers one or more errors u Only validation technique for non-functional requirements u Should be used in conjunction with static verification Program testing

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 9 u Statistical testing tests designed to reflect the frequence of user inputs. Used for reliability estimation. Covered in Chapter 18 - Software reliability. u Defect testing Tests designed to discover system defects. A successful defect test is one which reveals the presence of defects in a system. Covered in Chapter 23 - Defect testing Types of testing

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 10 u Defect testing and debugging are distinct processes u Defect testing is concerned with confirming the presence of errors u Debugging is concerned with locating and repairing these errors u Debugging involves formulating a hypothesis about program behaviour then testing these hypotheses to find the system error Testing and debugging

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 11 The debugging process

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 12 u Unit testing testing of individual components u Module testing testing of collections of dependent components u Sub-system testing testing collections of modules integrated into sub-systems u System testing testing the complete system prior to delivery u Acceptance testing testing by users to check that the system satisfies requirements. Sometimes called alpha testing Testing stages

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 13 The testing process

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 14 Object-oriented system testing u Less closely coupled systems. Objects are not necessarily integrated into sub-systems u Cluster testing. Test a group of cooperating objects u Thread testing. Test a processing thread as it weaves from object to object. Discussed later in real-time system testing

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 15 u Describe major phases of the testing process u Describe tracability of tests to requirements u Estimate overall schedule and resource allocation u Describe relationship with other project plans u Describe recording method for test results Test planning and scheduling

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 16 The test plan u The testing process u Requirements traceability u Tested items u Testing schedule u Test recording procedures u Hardware and software requirements u Constraints

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 17 The V-model of development

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 18 Testing strategies u Tetsing strategies are ways of approaching the testing process u Different strategies may be applied at different stages of the testing process u Strategies covered Top-down testing Bottom-up testing Thread testing Stress testing Back-to-back testing

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 19 Incremental testing

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 20 Top-down testing

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 21 Top-down testing u Start with the high-levels of a system and work your way downwards u Testing strategy which is used in conjunction with top-down development u Finds architectural errors u May need system infrastructure before any testing is possible u May be difficult to develop program stubs

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 22 Bottom-up testing

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 23 Bottom-up testing u Necessary for critical infrastructure components u Start with the lower levels of the system and work upward u Needs test drivers to be implemented u Does not find major design problems until late in the process u Appropriate for object-oriented systems

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 24 Thread testing u Suitable for real-time and object-oriented systems u Based on testing an operation which involves a sequence of processing steps which thread their way through the system u Start with single event threads then go on to multiple event threads u Complete thread testing is impossible because of the large number of event combinations

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 25 Process interactions

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 26 Thread testing

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 27 Multiple-thread testing

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 28 u Exercises the system beyond its maximum design load. Stressing the system often causes defects to come to light u Stressing the system test faulure behaviour.. Systems should not fail catastrophically. Stress testing checks for unacceptable loss of service or data u Particularly relevant to distributed systems which can exhibit severe degradation as a network becomes overloaded Stress testing

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 29 Back-to-back testing u Present the same tests to different versions of the system and compare outputs. Differing outputs imply potential problems u Reduces the costs of examining test results. Automatic comparison of outputs. u Possible twhen a prototype is available or with regression testing of a new system version

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 30 Back-to-back testing

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 31 Key points u Verification and validation are not the same thing u Testing is used to establish the rpesence of defects and to show fitness for purpose u Testing activities include unit testing, module testing, sub-system testing, integration testing and acceptance testing u Object classes should be testing in O-O systems

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 32 Key points u Testing should be scheduled as part of the planning process. Adequate resources must be made available u Test plans should be drawn up to guide the testing process u Testing strategies include top-down testing, bottom-up testing, stress testing, thread testing and back-to-back testing