INF 111 / CSE 121: Software Tools and Methods Lecture Notes for Fall Quarter, 2007 Michele Rousseau Set 12 (Some slides adapted from Sommerville 2000 &

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Chapter 20 Software Testing.
Advertisements

Software testing.
Defect testing Objectives
การทดสอบโปรแกรม กระบวนการในการทดสอบ
Chapter 10 Software Testing
Testing and Quality Assurance
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
Software Engineering, COMP201 Slide 1 Software Testing Lecture 28 & 29.
Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software Testing and Quality Assurance
©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 Software Testing.
CS 425/625 Software Engineering Software Testing
(c) 2007 Mauro Pezzè & Michal Young Ch 10, slide 1 Functional testing.
Testing an individual module
Copyright by Scott GrissomCh 1 Software Development Slide 1 Software Development The process of developing large software projects Different Approaches.
- Testing programs to establish the presence of system defects -
1 Functional Testing Motivation Example Basic Methods Timing: 30 minutes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 23 Slide 1 Software testing Slightly adapted by Anders Børjesson.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Integration testing l Tests complete systems or subsystems composed of integrated.
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 techniques 3. Software testing
Prof. Mohamed Batouche Software Testing.
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
Chapter 8 – Software Testing Lecture 1 1Chapter 8 Software testing The bearing of a child takes nine months, no matter how many women are assigned. Many.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
1 Software Defect Testing Testing programs to establish the presence of system defects.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
CS451 – Software Testing Technologies Blackbox Testing Equivalence Partitioning.
CSE403 Software Engineering Autumn 2001 More Testing Gary Kimura Lecture #10 October 22, 2001.
Black Box Testing Techniques Chapter 7. Black Box Testing Techniques Prepared by: Kris C. Calpotura, CoE, MSME, MIT  Introduction Introduction  Equivalence.
Test Drivers and Stubs More Unit Testing Test Drivers and Stubs CEN 5076 Class 11 – 11/14.
Software Testing Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Black-box Testing.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
CS 217 Software Verification and Validation Week 7, Summer 2014 Instructor: Dong Si
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Defect testing l Testing programs to establish the presence of system defects.
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
Test Case Designing UNIT - 2. Topics Test Requirement Analysis (example) Test Case Designing (sample discussion) Test Data Preparation (example) Test.
CS451 Lecture 10: Software Testing Yugi Lee STB #555 (816)
Testing Data Structures Tao Xie Visiting Professor, Peking University Associate Professor, North Carolina State University
Theory and Practice of Software Testing Chapter 14 Presman Software Testing Tactics BLACK BOX TESTING.
Chapter 12: Software Testing Omar Meqdadi SE 273 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 © 2011 Professor W. Eric Wong, The University of Texas at Dallas Requirements-based Test Generation for Functional Testing W. Eric Wong Department of.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Week 6 MondayTuesdayWednesdayThursdayFriday Testing III Reading due Group meetings Testing IVSection ZFR due ZFR demos Progress report due Readings out.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software Testing. SE, Testing, Hans van Vliet, © Nasty question  Suppose you are being asked to lead the team to test the software that controls.
Defect testing Testing programs to establish the presence of system defects.
Software Testing. Software Quality Assurance Overarching term Time consuming (40% to 90% of dev effort) Includes –Verification: Building the product right,
Functional testing, Equivalence class testing
Software Testing.
IS301 – Software Engineering V:
Input Space Partition Testing CS 4501 / 6501 Software Testing
Chapter 18 Software Testing Strategies
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Software testing.
Baisc Of Software Testing
CSE403 Software Engineering Autumn 2000 More Testing
Software Testing “If you can’t test it, you can’t design it”
Chapter 7 Software Testing.
Chapter 10: Testing and Quality Assurance
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Presentation transcript:

INF 111 / CSE 121: Software Tools and Methods Lecture Notes for Fall Quarter, 2007 Michele Rousseau Set 12 (Some slides adapted from Sommerville 2000 & Scott Miller)

Topic 12 2 Announcements  Quiz #2 – Still on Monday 10/29/07 ● WILL INCLUDE: ◘All readings assigned since the last quiz not in the “WILL NOT INCLUDE LIST” ◘The lecture on 10/12 (except the MMM) ◘Lectures from 10/12 – 10/26 (today) (Slide sets 7 through slide set 12) ● WILL NOT INCLUDE: ◘Ch 2 from “The Mythical Man-Month” ◘Van Vliet Ch. 4 will not be included on this quiz  Quiz #1 – Regrades need to be turned in by next Wednesday ● Come to my office hours tomorrow from 10:30- 11:30a if you have questions on regrades ● Will regrades be accepted after Wednesday

Topic 12 3 Announcements (2)  Assignment #1 is due next week ● If you are having technical difficulties with Checkmate ● Make sure you notify me before the deadline ● Homework submissions made after the deadline will not be accepted ◘…Without a good excuse ◘If you have a good excuse then it is essential you notify us prior to the deadline ◘… if possible ● Please don’t submit it the next day and say “ I couldn’t get checkmate to work here’s my assignment” because ◘… I can’t fairly give you credit and I don’t like having to not give you credit

Topic 12 4 Previously in INF 111…  More on Testing ● Test Adequacy ◘Coverage Based Testing

Topic 12 5 Today’s Lecture  Equivalence Partitioning & Boundary Value Analysis  Integration Testing ● Top-Down ● Bottom Up

Topic 12 6 Test Adequacy  Coverage-Based Testing ● Coverage metrics ◘when sufficient percentage of the program structure has been exercised  Fault-Based Testing ● Empirical assurance ◘when failures/test curve flatten out ● Error seeding ◘percentage of seeded faults found is proportional to the percentage of real faults found  Error-Based Testing ● faults found in common are representative of total population of faults ● Equivalence Partitioning Tells you when to stop testing

Topic 12 7 Equivalence Partitioning (EQP)  Testing technique ● Reduces the # of test cases ◘Make the # of test cases manageable ◘Systematic derivation of test cases ● Reasonably tests the system Basic Principle: Some distinctions don’t make a difference

Topic 12 8 EQP : How does it work Divide inputs into equivalent partitions ● i.e. Find a small # set of representative input values ● For each Class program behaves in an “equivalent” way ● Smaller test set – but equally effective Basic Method: Notice when any element in the partition will produce the same results (ie find the same faults)

Topic 12 9 EQP: Reduces test cases Input domain partitioned into four sub-domains. Large set of test inputs. Four test inputs, one selected from each sub-domain.

Topic How to partition? Example 1  Suppose that program P takes an input X, X being an integer.  For X<0 perform task (T1)  For X>=0 perform task (T2)

Topic Two sub-domains One Possible Test Case: X=-3 Another test case: X=15  All test inputs in the X<0 sub-domain are considered equivalent.  The assumption is that if one test input in this sub-domain reveals an error in the program, so will the others.  This is true of the test inputs in the X>=0 sub-domain also. X<0X>=0 Equivalence class

Topic EQP: Basic Process  First you must break the input into sub- domains (partitions) ● Look at input and determine common properties ● Values with in defined range ● Values outside of the defined range ● Extremes ● Try to include input that will force incorrect output ◘How well does the code perform exception handling  If the sub-domains are well done ● should be able to create a few (or ideally) one test case that will represent the entire domain

Topic Include inputs in and out of range I e O e Input Test Data Inputs causing anomalous behavior Output Set Outputs which reveal the presence of defects System

Topic EQP: Example 2  Input should be a numerical month ● Valid Inputs: 1-12  What are potential Classes? ● Input within range: ◘1-12 ● Out of Range ◘High End: 20, 99, 3-digit, 4-digit ◘Low End: Negative Numbers ◘Alphanumeric ◘Special Characters / Punctuation 1-12

Topic Boundary Value Analysis (BVA)  Select test cases based on the boundaries values  Look for inputs ● On the boundary ● On either side of the boundary  For numeric month example ● Boundary Values ◘Low End: 0,1,2 ◘High End: 11,12,13  Combining this technique with Equivalence Partitioning is much more effective

Topic  Input ● 5-digit integer between 10,000 and 99,999,  Partitions ● <10,000 ● 10,000-99,999 ● > 10, 000  Boundary Values ● ● 09,999 –10,000 ● 99,998 – 99,999 – 100,000  Outside ● Alphanumeric ● Symbols EQP & BVA

Topic Equivalence partitions What about the # of digits?

Topic Pros & Cons  Pros ● Minimizes test cases & maintains some test adequacy ● Forces tester to analyze the input and output domain  Cons ● Assumptions of equivalence can be tricky – and incorrect ● Doing EQP is easy  Doing it well is difficult ● Somewhat subjective – dependent upon the testers’ intuition Picking the correct subdomain can be tricky

Topic Today’s Lecture  Equivalence Partitioning & Boundary Value Analysis  Integration Testing ● Top-Down ● Bottom Up

Topic Integration Testing Approaches  Top Down & Bottom Up ● Top-down integration testing  ◘better at discovering errors in the system architecture ◘allows a limited demonstration at an early stage in the development ● Bottom up  ◘Often easier to implement  Problems with both approaches. Extra code may be required to observe tests

Topic Top-Down Integration Testing... Level 1 Testing Sequence Level 2 Level 3 Stubs Level 2 Stubs

Topic Bottom-Up Testing Test Drivers Level N Level N-1 Test Drivers Testing Sequence

Topic Which Approach to use?  Top-Down or Bottom Up?  In practice, most integration involves a combination of these strategies