CS451 – Software Testing Technologies Blackbox Testing Equivalence Partitioning.

Slides:



Advertisements
Similar presentations
Test Case Design Methodologies (Black-box methods)
Advertisements

Introduction to Proofs
Equivalence Relations
Testing and Test Case Development A “primitive” method of testing, with NO test preparation, may include the following steps : – Initiate the system –
Grey Box testing Tor Stålhane. What is Grey Box testing Grey Box testing is testing done with limited knowledge of the internal of the system. Grey Box.
Black box testing  Black box tests focus on the input/output behavior of the component  Black-box tests do not deal with the internal aspects of the.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
CS 406 Software Testing Fall 98 Part II : Functional Testing Aditya P. Mathur Purdue University Last update: July 19, 1998.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software Testing and Quality Assurance
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing 2.
1 More Applications of the Pumping Lemma. 2 The Pumping Lemma: Given a infinite regular language there exists an integer for any string with length we.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
Software Engineering Lecture 12 Software Testing Techniques 1.
Model based Software Testing Functional Testing Aditya P. Mathur Purdue University Fall 2005 Last update: August 2005.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 9 Functional Testing
1 Functional Testing Motivation Example Basic Methods Timing: 30 minutes.
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Prof. Mohamed Batouche Software Testing.
CS4311 Spring 2011 Unit Testing Dr. Guoqiang Hu Department of Computer Science UTEP.
Black-Box Testing Techniques I Software Testing Lecture 4.
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.
CSC 480 Software Engineering Lecture 14 Oct 16, 2002.
Basic Business Statistics, 11e © 2009 Prentice-Hall, Inc. Chap 8-1 Confidence Interval Estimation.
Course Outline Traditional Static Program Analysis –Theory –Classic analysis and applications Points-to analysis, CHA, RTA –The Soot analysis framework.
Contents Introduction Requirements Engineering Project Management
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
CS /51 Illinois Institute of Technology CS487 Software Engineering Software Testing Techniques Mr. David A. Lash.
Software Testing The process of operating a system or component under specified conditions, observing and recording the results, and making an evaluation.
Requirements-based Test Generation for Functional Testing (© 2012 Professor W. Eric Wong, The University of Texas at Dallas) 1 W. Eric Wong Department.
Black-Box Testing Techniques I
Software testing techniques Software testing techniques Equivalence partitioning Presentation on the seminar Kaunas University of Technology.
INF 111 / CSE 121: Software Tools and Methods Lecture Notes for Fall Quarter, 2007 Michele Rousseau Set 12 (Some slides adapted from Sommerville 2000 &
Testing Testing Techniques to Design Tests. Testing:Example Problem: Find a mode and its frequency given an ordered list (array) of with one or more integer.
Black Box Testing Techniques Chapter 7. Black Box Testing Techniques Prepared by: Kris C. Calpotura, CoE, MSME, MIT  Introduction Introduction  Equivalence.
Software Testing and validation SQA - SWE 434
Test Coverage CS-300 Fall 2005 Supreeth Venkataraman.
Black-box Testing.
CS 217 Software Verification and Validation Week 7, Summer 2014 Instructor: Dong Si
Software Testing Input Space Partition Testing. 2 Input Space Coverage Four Structures for Modeling Software Graphs Logic Input Space Syntax Use cases.
Today’s Agenda  Reminder: HW #1 Due next class  Quick Review  Input Space Partitioning Software Testing and Maintenance 1.
SOFTWARE TESTING. INTRODUCTION Testing forms the first step in determining the errors in a program. It is the major quality control measure used during.
CS451 Lecture 10: Software Testing Yugi Lee STB #555 (816)
Pointers in C++. Topics Covered  Introduction to Pointers  Pointers and arrays  Character Pointers, Arrays and Strings  Examples.
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.
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 Test case design l Involves designing the test cases (inputs and outputs) used.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Software Testing. SE, Testing, Hans van Vliet, © Nasty question  Suppose you are being asked to lead the team to test the software that controls.
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
Dynamic Black-Box Testing Part 1 What is dynamic black-box testing? How to reduce the number of test cases using: Equivalence partitioning Boundary value.
Equivalence Partitioning
Testing Data Structures
Functional testing, Equivalence class testing
Equivalence partitioning
Equivalence partitioning
Domain Testing Functional testing which tests the application by giving inputs and evaluating its appropriate outputs. system does not accept invalid and.
Random Testing: Theoretical Results and Practical Implications IEEE TRANSACTIONS ON SOFTWARE ENGINEERING 2012 Andrea Arcuri, Member, IEEE, Muhammad.
ISP Coverage Criteria CS 4501 / 6501 Software Testing
Input Space Partition Testing CS 4501 / 6501 Software Testing
Types of Testing Visit to more Learning Resources.
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Software Testing: Part II: Functional Testing
Software testing.
Software Testing: Part II: Functional Testing
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Presentation transcript:

CS451 – Software Testing Technologies Blackbox Testing Equivalence Partitioning

Input domain Too many test inputs. Four test inputs, one selected from each sub-domain Input domain partitioned into four sub-domains.

How to partition? Inputs to a program provide clues to partitioning. Example 1: –Suppose that program P takes an integer X as input X. –For X =0 task T2. –P to behave the same way for all X<0. –P to perform the same way for all values of X>=0. We therefore partition the input domain of P into two sub- domains.

Two sub-domains One 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

Non-overlapping Partitions The equivalence classes are non-overlapping. In other words the two sub-domains are disjoint. When the sub-domains are disjoint, it is sufficient to pick one test input from each equivalence class to test the program. An equivalence class is considered covered when at least one test has been selected from it. In partition testing our goal is to cover all equivalence classes.

Overlapping Partitions Example 2: Suppose that program P takes three integers X, Y and Z. It is known that: X Y X<Y X>=Y Z>Y Z<=Y X Y X=3, Y=4, Z=7 X<Y, Z<=Y X=2, Y=3, Z=1 X>=Y, Z>Y X=15, Y=4, Z=7 X>=Y, Z<=Y X=15, Y=4, Z=1

Overlapping Partition-Test Selection In this example, we could select 4 test cases as: –X=4, Y=7, Z=1satisfies X<Y –X=4, Y=2, Z=1satisfies X>=Y –X=1, Y=7, Z=9satisfies Z>Y –X=1, Y=7, Z=2satisfies Z<=Y Thus, we have one test case from each equivalence class.

Overlapping Partitions-Test Selection However, we may also select only 2 test inputs and satisfy all four equivalence classes: –X=4, Y=7, Z=1satisfies X<Y and Z<=Y –X=4, Y=2, Z=3satisfies X>=Y and Z>Y Thus, we have reduced the number of test cases from 4 to 2 while covering each equivalence class.

Partitioning using non-numeric data In the previous two examples the inputs were integers. One can derive equivalence classes for other types of data also. Example 3: –Suppose that program P takes one character X and one string Y as inputs. P performs task T1 for all lower case characters and T2 for upper case characters. Also, it performs task T3 for the null string and T4 for all other strings.

Partitioning using non-numeric data X: lc X:UC Y: null Y: not null X: lc, Y: null X: lc, Y: not null X: UC, Y: null X: UC, Y: not null lc: Lower case character UC: Upper case character null: null string.

Non-numeric Data Once again we have overlapping partitions. We can select only 2 test inputs to cover all four equivalence classes. These are: –X: lower case, Y: null string –X: upper case, Y: not a null string

Guidelines for equivalence partitioning Input condition specifies a range: create one for the valid case and two for the invalid cases. –e.g. for a<=X<=b the classes are a<=X<=b (valid case) X b (the invalid cases)