Theory and Practice of Software Testing Chapter 14 Presman Software Testing Tactics BLACK BOX TESTING.

Slides:



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

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Black Box Testing Csci 565 Spring 2009.
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.
Software Engineering, COMP201 Slide 1 Software Testing Lecture 28 & 29.
Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Final Project Account for 40 pts out of 100 pts of the final score 10 pts from.
©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.
©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
Testing an individual module
Chapter 18 Testing Conventional Applications
- Testing programs to establish the presence of system defects -
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Equivalence Class Testing
Black Box Software Testing
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software Testing Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Testing phases. Test data Inputs which have been devised to test the system Test cases Inputs to test the system and the predicted outputs from these.
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
CS4311 Spring 2011 Unit Testing Dr. Guoqiang Hu Department of Computer Science UTEP.
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Chapter 20 Software Testing.
CSC 480 Software Engineering Lecture 14 Oct 16, 2002.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
1 Software Defect Testing Testing programs to establish the presence of system defects.
This chapter is extracted from Sommerville’s slides. Text book chapter
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Software testing techniques Software testing techniques Equivalence partitioning Presentation on the seminar Kaunas University of Technology.
Black Box Testing Techniques Chapter 7. Black Box Testing Techniques Prepared by: Kris C. Calpotura, CoE, MSME, MIT  Introduction Introduction  Equivalence.
1 Chapter : Testing Tactics. 2 Testing Fundamental Software engineer attempts to build software from an abstract concept to a tangible product. Next is.
Software Testing Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Black Box Testing Focuses in the functional requirements of the program It is not an alternative to white-box techniques It is a complementary approach.
Black-box Testing.
INTRUDUCTION TO SOFTWARE TESTING TECHNIQUES BY PRADEEP I.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Software Testing Input Space Partition Testing. 2 Input Space Coverage Four Structures for Modeling Software Graphs Logic Input Space Syntax Use cases.
Software process model from Ch2 Chapter 2 Software Processes1 Requirements Specification Design and Implementation ValidationEvolution.
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program.
CS451 Lecture 10: Software Testing Yugi Lee STB #555 (816)
1. Black Box Testing  Black box testing is also called functional testing  Black box testing ignores the internal mechanism of a system or component.
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 Test case design l Involves designing the test cases (inputs and outputs) used.
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.
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.
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.
Black Box Testing PPT Sources: Code Complete, 2nd Ed., Steve McConnell
IS301 – Software Engineering V:
Lecture on Black Box Testing
Specification-Based Testing and the Category-Partition Method
Testing Approaches.
UNIT-4 BLACKBOX AND WHITEBOX TESTING
COSC 4506/ITEC 3506 Software Engineering
Software testing.
Chapter 7 Software Testing.
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Presentation transcript:

Theory and Practice of Software Testing Chapter 14 Presman Software Testing Tactics BLACK BOX TESTING

Black-box testing An approach to testing where the program is considered as a ‘black-box’ Also called Behavioral Testing The program test cases are focus on functional requirement of software Test planning can begin early in the software process

Black Box Testing Is not an alternative to white box testing, rather it is a complementary approach that is likely to uncover a different class of errors than white box methods

Objective of black box testing Tests are designed to answer the following questions How is functional validity tested? How is system behavior and performance tested? What classes of input will make good test cases? Is the system particularly sensitive to certain input values? How are the boundaries of a data class isolate? What effect will specific combinations of data have on system operations?

Black-box testing

Contoh Black Box Testing Equivalence Partitioning Boundary Value Analysis / Limit Testing Comparison Testing Performance Testing Robustness Testing etc

Equivalence Partitioning (1) Divide the input domain into classes of data for which test cases can be generated Based on equivalence classes for input conditions An equivalence class represent a set of valid or invalid states

Equivalence partitioning (2) Each of these classes is an equivalence partition where the program behaves in an equivalent way for each class member An input condition is either a specific numeric value, range of values, a boolean condition or a set of related values. Test cases should be chosen from each partition (or class)

Equivalence partitioning

General Rules in EQP Equivalence classes can be defined by : If an input condition specifies a range or a spesific value, one valid and two invalid equivalence class defined If an input condition specifies a boolean or a member of a set, one valid and one invalid equivalence class defined

Guidelines & Example for Equivalence classes If an input condition specifies range of values, Ex: [1..999] If an input condition requires a specific the number of values, Ex : a thing that contain 1 to 6 name If an input condition specific a member of a set, Ex : [KA, Bis, Taxi] If an input condition is Boolean, Ex : True

Example 1 Requirement of subprogram to be tested IS : The subprogram takes an integer input in the range [-100,100] FS : Output is the sign of the input value (value 0 is considered positive)

Partition system inputs into ‘equivalence sets’ If input is a 5-digit integer between 10,000 and 99,999, equivalence partitions are Values less than 10,000, Values between 10,000 and Values greater than 10,000 Choose test cases at the boundary of these sets 9999; 10,000; 99,999; 50,000; 100,000 Example 2

Equivalence partitions

Example 3 : ATM Consider data maintained for ATM. User should be able to access the bank using PC and modem User should provide six-digit password Need to follow a set of typed commands Software accepts Area code: can be blank or three-digit Prefix: three-digit number not beginning with 0 or 1 Suffix: four digits Password: six digit alphanumeric Command: {check, deposit, bill pay, transfer}

Input conditions for ATM Area code: Boolean: (the area code may or may not be present) Range: values defined between Specific value: no value > 905 Prefix : range – specific value >200 Suffix : value (four-digit length) Password: Boolean: password may or may not be present value (six digit) Command: set containing commands noted previously

Boundary Value Analysis (BVA) Test case design that complements equivalence partitioning Focus of the testing is on the boundaries of the input domain If input condition specifies a range bounded by a certain values, say, a and b, then test cases should include The values for a and b The values just above and just below a and b  (a-1), (a+1), (b-1), (b+1)

Boundary Value Analysis (BVA) If an input condition specifies a number of values N, test cases should be exercise the numbers (N), the values just above and just below the values : (N-1) & (N+1)

Example : Search routine procedure Search (Key : ELEM ; T: ELEM_ARRAY; Found : in out BOOLEAN; L: in out ELEM_INDEX) ; Pre-condition -- the array has at least one element T’FIRST <= T’LAST Post-condition -- the element is found and is referenced by L ( Found and T (L) = Key) or -- the element is not in the array ( not Found and not (exists i, T’FIRST >= i <= T’LAST, T (i) = Key ))

Inputs which conform to the pre-conditions Inputs where a pre-condition does not hold Inputs where the key element is a member of the array Inputs where the key element is not a member of the array Input partitions for Search Routine