1 Equivalence Class Testing Chapter 6. 2 Introduction Boundary Value Testing derives test cases with Massive redundancy Serious gaps Equivalence Class.

Slides:



Advertisements
Similar presentations
Forms of Equivalence Class Testing Normal • only equivalence classes are valid and invalid input values • emphasis is on "single failures" • works.
Advertisements

Overview Functional Testing Boundary Value Testing (BVT)
Decision-Table Test Case Generation. DT terminology 2.
Decision Table Based Testing
Introduction to Software Testing Chapter 3.3 Logic Coverage from Source Code Paul Ammann & Jeff Offutt.
Equivalence Class Testing
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Instructor Kostas Kontogiannis.
TRIANGLES AND TYPES OF TRIANGLES
Exam 1 Review u Scores Min 30 Max 96 Ave 63.9 Std Dev 14.5.
Software Testing and Quality Assurance
Equivalence Class Testing, Decision Table Testing
Chapter 5 Retrospective on Functional Testing Software Testing
Equivalence Class Testing
 T RIANGLE : A figure formed by three noncollinear points, connected by segments  Since two of the segments create a vertex, a triangle has three vertices.
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.
EQUILATERAL & ISOSCELES Quiz tomorrow. CLASSIFY the triangle by ANGLES and SIDES Angles: acute, obtuse, right Sides:equilateral, isosceles, scalene 91.
Cause & Effect Graph Comparison Testing. Cause & Effect Graph This is basically a hardware testing technique adapted to software testing. It considers.
Sample Problems for Testing
Summarizing “Structural” Testing Now that we have learned to create test cases through both: – a) Functional (blackbox)and – b) Structural (whitebox) testing.
841f07frankl12oct21 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.
Today’s Agenda  Reminder: HW #1 Due next class  Quick Review  Input Space Partitioning Software Testing and Maintenance 1.
1 Boundary Value Testing Chapter 5. 2 Introduction Input domain testing is the most commonly taught (and perhaps the most commonly used) software testing.
1841f07subdomains2Aug23 Question u What is the main purpose of software testing?
Exam 1 Review u Scores Min 30 Max 96 Ave 63.9 Std Dev 14.5.
1 Input Space Partitioning(2). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 4  Section 4.1  Section
Overview Functional Testing Boundary Value Testing (BVT)
Equivalence Class Testing In chapter 5, we saw that all four variations of boundary value testing are vulnerable to –gaps of untested functionality, and.
Decision Table Based Testing Outline Decision table vocabulary –Limited Entry Decision Tables (LEDT) –Extended Entry Decision Tables (EEDT) –Mixed Entry.
Software testing School of Software Engineering, HUST 1.
1 Software Testing & Quality Assurance Lecture 5 Created by: Paulo Alencar Modified by: Frank Xu.
CEC 220 Digital Circuit Design More Karnaugh Maps Monday, February 02 CEC 220 Digital Circuit Design Slide 1 of 11.
Proving Properties of Triangles and Quadrilaterals
1 Software Testing. 2 Equivalence Class Testing 3 The use of equivalence class testing has two motivations: –Sense of complete testing –Avoid redundancy.
Equivalence Class Testing Use the mathematical concept of partitioning into equivalence classes to generate test cases for Functional (Black-box) testing.
Boundary Value Testing
Domain & Range. Two Types of Relations Discrete Continuous.
Cause & Effect Graph Comparison Testing
Chapter 3: Equivalence Class Testing :EC Software Testing
Software Testing.
Mid Unit 5 Review 2-Dimensional Figures.
Robustness Testing by- (Group 2-Batch F1).
Subject Name: Software Testing Subject Code: 10CS842 Prepared By:
Paul Ammann & Jeff Offutt
Software Testing Structural testing 1.
Domain Testing Functional testing which tests the application by giving inputs and evaluating its appropriate outputs. system does not accept invalid and.
Input Space Partition Testing CS 4501 / 6501 Software Testing
Mid Unit 5 Review 2-Dimensional Figures.
CLASSIFICATIONS, ANGLES AND MORE!!
Chapter 5 Retrospective on Functional Testing Software Testing
TRIANGLES AND TYPES OF TRIANGLES
Overview Functional Testing Boundary Value Testing (BVT)
Paul Ammann & Jeff Offutt
COSC 4506/ITEC 3506 Software Engineering
Equivalence Class Testing
CSCE 747 Software Testing and Quality Assurance
CSCE 747 Software Testing and Quality Assurance
CSCE 747 Software Testing and Quality Assurance
Objective - To classify triangles.
ISP Coverage Criteria CS 4501 / 6501 Software Testing
Triangles Guided Notes
Overview Functional Testing Boundary Value Testing (BVT)
Chapter 1: Boundary Value Testing
Triangles.
Evaluating Testing Methods by Delivered Reliability
Paul Ammann & Jeff Offutt
Overview Functional Testing Boundary Value Testing (BVT)
Distance Formula d = √ (x1 – x2)2 + (y1 – y2)2, where d is the distance between the points (x1, y1) and (x2, y2).
Determine whether {image} is convergent or divergent.
Overview Functional Testing Boundary Value Testing (BVT)
Presentation transcript:

1 Equivalence Class Testing Chapter 6

2 Introduction Boundary Value Testing derives test cases with Massive redundancy Serious gaps Equivalence Class Testing attempts to alleviate these problems Two orthogonal dimensions Robustness Single/Multiple Fault Assumption

3 Equivalence Class Testing Partition the set of all test cases into mutually disjoint subsets whose union is the entire set Choose one test case from each subset Two important implications for testing: 1. The fact that the entire set is represented provides a form of completeness 2. The disjointness assures a form of non- redundancy

4 Equivalence Class Selection If the equivalence classes are chosen wisely, the potential redundancy among test cases is greatly reduced. The key point in equivalence class testing is the choice of the equivalence relation that determines the classes. We will differentiate below, between four different types of equivalence class testing.

5 Applicability Equivalence Class Testing is appropriate when the system under test can be expressed as a function of one or more variables, whose domains have well defined intervals For a two-variable function F(x1,x2) a  x 1  d, with intervals [a,b), [b,c), [c,d] e  x 2  g, with intervals [e,f), [f,g]

6 Weak Normal ECT e g f abcd x2x2 x1x1

7 Strong Normal ECT e g f abcd x2x2 x1x1

8 Weak Robust ECT e g f abcd x2x2 x1x1 Figure 6.3 in the textbook is incorrect

9 Strong Robust ECT e g f abcd x2x2 x1x1

10 Triangle Equivalence Classes Four possible outputs: Not a Triangle, Isosceles, Equilateral, Scalene We can use these to identify output (range) equivalence classes: R1= {the triangle with sides a, b, c, is equilateral} R2= {the triangle with sides a, b, c, is isosceles} R3= {the triangle with sides a, b, c, is scalene} R4= {sides a, b, c do not form a triangle}

11 Weak Normal Test Cases Test Caseabc Expected Output WN1555Equilateral WN2223Isosceles WN3345Scalene WN4412 Not a Triangle

12 Weak Robust Test Cases Test Caseabc Expected Output WR155a not in range WR255b not in range WR355c not in range WR420155a not in range WR552015b not in range WR655201c not in range

13 Input equivalence classes D1= { | a = b = c} D2= { | a = b, a  c} D3= { | a = c, a  b} D4= { | b = c, a  b} D5= { | a  b, a  c, b  c} D6= { | a ≥ b+c} D7= { | b ≥ a+c} D8= { | c ≥ a+b}

14 NextDate Equivalence Classes M1= {month | month has 30 days} M2= {month | month has 31 days} M3= {month | month is February} D1= {day | 1 ≤ day ≤ 28} D2= {day | day = 29} D3= {day | day = 30} D4= {day | day=31} Y1= {year | year = 1900} Y2= {year | year is a leap year} Y3= {year | year is a common year}

15 Weak Normal Test Cases Test CaseMonthDayYear Expected Output WN /15/1900 WN /30/1996 WN Invalid input date WN Invalid input date

16 NextDate discussion There are 36 strong normal test cases (3 x 4 x 3) Some redundancy creeps in Testing February 30 and 31 for three different types of years seems unlikely to reveal errors There are 150 strong robust test cases (5 x 6 x 5)

17 Guidelines and observations Equivalence Class Testing is appropriate when input data is defined in terms of intervals and sets of discrete values. Equivalence Class Testing is strengthened when combined with Boundary Value Testing Strong equivalence takes the presumption that variables are independent. If that is not the case, redundant test cases may be generated

18 Guidelines and observations Complex functions, such as the NextDate program, are well-suited for Equivalence Class Testing Several tries may be required before the “right” equivalence relation is discovered