Introduction to Domain Testing

Slides:



Advertisements
Similar presentations
Informatics 43 – May 5, Restatement of goals Want to verify software’s correctness  Need to test  Need to decide on test cases  No set of test.
Advertisements

Equivalence Class Testing
4.4 Linear Inequalities in Two Variables
Black Box Software Testing Domain Testing Assignment Fall 2005 Assignment 2 This assignment is due on September 24, Please use the latest version.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Sullivan – Fundamentals of Statistics – 2 nd Edition – Chapter 11 Section 1 – Slide 1 of 34 Chapter 11 Section 1 Random Variables.
Functions and their Operations Integrated Math 4 Mrs. Tyrpak.
Requirements-based Test Generation for Functional Testing (© 2012 Professor W. Eric Wong, The University of Texas at Dallas) 1 W. Eric Wong Department.
Copyright © 2010 Pearson Education, Inc. All rights reserved Sec
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
Black Box Testing Techniques Chapter 7. Black Box Testing Techniques Prepared by: Kris C. Calpotura, CoE, MSME, MIT  Introduction Introduction  Equivalence.
BLACK BOX TESTING K.KARTHIKEYAN. Black box testing technique Random testing Equivalence and partitioning testing Boundary value analysis State transition.
Today’s Agenda  Reminder: HW #1 Due next class  Quick Review  Input Space Partitioning Software Testing and Maintenance 1.
Software testing techniques Spring 2009 Csci565: Theory and Practice of Software Testing1.
1 Boundary Value Testing Chapter 5. 2 Introduction Input domain testing is the most commonly taught (and perhaps the most commonly used) software testing.
UNIT 5.  The related activities of sorting, searching and merging are central to many computer applications.  Sorting and merging provide us with a.
Testing Chapter 23 IB103 Week 12 (part 3). Verify that a complex (any) program works correctly, that the program meets specifications The chapter reviews.
Test Case Designing UNIT - 2. Topics Test Requirement Analysis (example) Test Case Designing (sample discussion) Test Data Preparation (example) Test.
Data Analysis for Testing In order to test a program or system, it usually requires : –Starting the system (program) –Inputting some data –Let it execute.
Boundary Value Testing 1.A type of “Black box” functional testing –The program is viewed as a mathematical “function” –The program takes inputs and maps.
1 Software Testing. 2 Equivalence Class Testing 3 The use of equivalence class testing has two motivations: –Sense of complete testing –Avoid redundancy.
Black Box Unit Testing What is black-box testing? Unit (code, module) seen as a black box No access to the internal or logical structure Determine.
Introduction to Domain Testing. 2 What is Domain Testing? Domain testing is: one of several software testing techniques designed to help you find bugs.
Informatics 43 – May 3, Restatement of goals Want to verify software’s correctness  Need to test  Need to decide on test cases  No set of test.
Advanced Algorithms Analysis and Design By Dr. Nazir Ahmad Zafar Dr Nazir A. Zafar Advanced Algorithms Analysis and Design.
1 of 22 Algebra skills Mathematics for GCSE Science © 2016 AQA. Created by Teachit for AQA.
1 of 22 Copyright © AQA and its licensors. All rights reserved. Algebra skills Mathematics for GCSE Science.
Equivalence Partitioning
Software Engineering (CSI 321)
Software Testing CS II: Data Structures & Abstraction
5.1 Exponential Functions
CIS 115 Slingshot Academy / cis115.com
Ms. Crusenberry
Tennessee Adult Education Mathematics Level 3 Curriculum 2011
Software Testing.
Using PivotTables.
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.
Testing Tutorial 7.
Black Box Testing PPT Sources: Code Complete, 2nd Ed., Steve McConnell
arithmetic, geometric, or neither. arithmetic geometric neither
Input Space Partition Testing CS 4501 / 6501 Software Testing
Hypothesis Testing and Confidence Intervals (Part 1): Using the Standard Normal Lecture 8 Justin Kern October 10 and 12, 2017.
Chapter 5: Control Structure
Chapter 5 Retrospective on Functional Testing Software Testing
Control and Feedback Introduction Open-loop and Closed-loop Systems
Testing the Software with Blinders on
User-Defined Functions
Overview Functional Testing Boundary Value Testing (BVT)
Informatics 43 – May 3, 2016.
Density Curves and Normal Distribution
Introduction to Programming
Equivalence Class Testing
Functions Introduction.
Informatics 43 – April 28, 2016.
Graphs, Linear Equations, and Functions
Solving Linear Equations
Overview Functional Testing Boundary Value Testing (BVT)
self-paced eLearning series
Black-Box Testing Techniques II
Chapter 1: Boundary Value Testing
Introduction to Programming
Selection Statements Chapter 3.
Inverse functions.
Black-Box Testing Techniques II
BUS-221 Quantitative Methods
Functions What is a function? What are the different ways to represent a function?
Relations and Functions, Domain & Range
Presentation transcript:

Introduction to Domain Testing

What is Domain Testing? Domain testing is: one of several software testing techniques designed to help you find bugs in programs. a systematic approach for reducing an enormous test data set to few manageable test data subsets, and further reducing each of these sub-sets to few best representatives (best test cases). a proven way to manage risk and reduce the testing effort (time, money, labor, other resources).

Domain testing-Terminology Domain Testing: a technique to systematically reduce the set of all possible values to few manageable subsets. In domain testing, we partition an input domain into equivalence classes and choose few test cases from each class. Input Domain: set of all possible values that can be ever inputted to an input variable. Partitioning: dividing a set into non-overlapping subsets, usually on the basis of some major property or characteristic. Equivalence Class: All members of an equivalence class are equivalent with respect to some risk, but the classification could be imperfect. This analysis is called equivalence class analysis.

Domain testing-Terminology Boundary value analysis: This analysis helps us in selecting one or more best representatives from each equivalence class. These are values on the boundary and values just beyond the boundary values. The best representatives are the test cases. In domain testing, we partition an input domain into equivalence classes and choose a few test cases (typically boundaries) from each class.

Domain testing-Terminology Risk: It is an assertion about how a program could fail. Test case: A test case is a combination of values of input variables of a program that is used to test the program against one or more risks. When considering one variable, every value that you would test the variable for, is a test case for that variable.

Summary Our goal is to not only do effective testing but to reduce the testing effort, which includes cost, labor, time, etc… We will learn how domain testing can help us in achieving this goal.

Examples – Simple Case

Testing Numeric fields We encounter numeric fields everyday everywhere. Money, Bank account number, Credit card number, Student ID number, Number of hours you work in a week, Salary, Pay rate, Number of computers you own, Number of courses you have taken, Your bank balance, Number of calories consumed in a day, Number of bugs reported, Number of reservations, Time frame within which a satellite should be launched, Time to finish a project, so on and so forth are all examples of numeric fields.

Testing Integer fields Example 1: An integer field/variable ‘x’ can take values in the range –99 and 99, the end-points being inclusive. Develop a series of tests by performing equivalence class analysis and boundary value analysis on this variable.

Testing Integer fields Example 1 Step 1: Represent this variable as a mathematical range expression.

Testing Integer fields Example 1 This is inclusive (or closed-ended) from both sides (right and left).

Testing Integer fields Example 1 Step 2: Determine what the input domain is.

Testing Integer fields Example 1 The input domain is the set of all possible values that can ever be inputted to the variable ‘x’.

Testing Integer fields Example 1 Step 3: Identify the risks associated with the variable.

Testing Integer fields Example 1 Failure to process values between –99 and 99 correctly Mishandling of values less than –99 Mishandling of values greater than 99 There are other risks that we will consider, but the ones listed here are the ones most often considered in domain testing.

Testing Integer fields Example 1 Step 4: Partition the input domain into equivalence classes based on the risks identified.

World Problems Example 2: The passing score for any course at ZLTech is 60/100. If a student scores less than 60 for a course, the student gets an ‘F’ grade in the course. What variables could be involved in analysis of this group of facts? What variable do we know enough about to perform equivalence class analysis and then a boundary value analysis? Develop a series of tests by performing equivalence class analysis and boundary value analysis on this variable. Assume integer values.

World Problems Example 2 Step 1: What variables could be involved in analysis of this group of facts?

World Problems Example 2 Student_name, student_number, passing_score, student_score, course_name, grade.

World Problems Example 2 Step 2: What variable do we know enough about to perform equivalence class analysis and then a boundary value analysis?

World Problems Example 2 ‘student_score’

World Problems Example 2 Step 3: Represent this variable as a mathematical range expression.

World Problems Example 2 60 <= student_score <=100 This is inclusive from both ends.

World Problems Example 2 Step 4: Determine what the input domain is.

World Problems Example 2 The input domain is the set of all possible values that can ever be inputted to the variable ‘student_score’.

World Problems Example 2 Step 5: Identify the risks associated with the variable.

World Problems Example 2 Failure to give a student F in a course with score less than 60 Assigning F to a student in a course with score 60 and greater. Mishandling of scores above 100 Mishandling of negative scores. There are other risks that we will consider later, but the ones listed here are the ones most often considered in domain testing.

World Problems Example 2 Step 6: Partition the input domain into equivalence classes based on the identified risks.

Identifying variables of a given program First, you identify the various functions of the application. Second, you take up each individual function and identify the variables/fields of the function. Third, you take up each variable and develop a series of tests for it by performing equivalence class and boundary value analysis on it, just as we have been doing so far in all the examples we have seen and the exercises you have solved. Fourth, you perform combination testing of independent variables of the function and test dependent variables separately. We shall look at combination testing later.

Identifying variables of a given program Example 3: For each of the following dialog boxes, identify variables. For each variable, identify its data type and state whether it is an input or output variable.

Identifying variables of a given program Example 3 When you open Microsoft PowerPoint, you are presented the following dialog window:

Identifying variables of a given program Example 3 What are the input variables of this function?

Identifying variables of a given program Example 3 Input variables Create a new presentation using (radio buttons, enumerated) Don’t show this dialog box again (checkbox, enumerated) Open an existing presentation (non-editable list box, enumerated)

Identifying variables of a given program Example 3 What are the output variables of this function?

Identifying variables of a given program Example 3 Output variables No obviously visible output variables.

Thanks