LECTURE 9 TEST DESIGN TECHNIQUES - II

Similar documents
UNIT-4 Black Box & White Box Testing

UNIT-4 Black Box & White Box Testing

Testing is executing a system in order to identify any gaps, errors, or missing requirements in contrary to the actual requirements.

LECTURE 8 TEST DESIGN TECHNIQUES - I

Software Testing Fundamentals. Software Testing Techniques. Information Flow in Testing. Testing Objectives

LECTURE 11 TEST DESIGN TECHNIQUES IV

Prelim 2 Solution. CS 2110, 24 April 2018, 7:30 PM Total Question Name Short Heaps Tree Collections Sorting Graph.

Prelim 2 Solution. CS 2110, 24 April 2018, 5:30 PM Total Question Name Short Heaps Tree Collections Sorting Graph

Black Box Testing (revisited) Csci 565 Spring 2007

Prelim 2. CS 2110, 24 April 2018, 5:30 PM Total Question Name Short Heaps Tree Collections Sorting Graph

Prelim 2. CS 2110, 24 April 2018, 7:30 PM Total Question Name Short Heaps Tree Collections Sorting Graph.

Software Testing. Lecturer: Sebastian Coope Ashton Building, Room G.18

Enroll/Update New Customers

CSE 131 Introduction to Computer Science Fall 2016 Exam I. Print clearly the following information:

ShiftWizard User Guide. Version 4

NAME (from your UF ID): UF ID#: (Please PRINT) Quiz 1 -- Spring 2017

Test design techniques

ENGR 100 Midterm (CSE Part) Winter 2014

Read this before starting!

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

Boolean Algebra & Digital Logic

CS 424 Software Quality Assurance & Testing LECTURE 3 BASIC CONCEPTS OF SOFTWARE TESTING - I

Making a Venn diagram look like a Karnaugh map

Click the Add a New Value Tab. Click Add. The system will populate the Event ID field with a number after the event request is saved.

An Investigation of the Planarity Condition of Grötzsch s Theorem

Darshan Institute of Engineering & Technology for Diploma Studies

Read this before starting!

CSE 131S Introduction to Computer Science Summer SON Exam I

2. You are required to enter a password of up to 100 characters. The characters must be lower ASCII, printing characters.

Chain of Responsibility Pattern. What is it?

Final Exam. COMP Summer I June 26, points

Lecture 26: Testing. Software Engineering ITCS 3155 Fall Dr. Jamie Payton

Chapter 7 Control Statements Continued

c. Typically results in an intractably large set of test cases even for small programs

Making Decisions In Python

2.NS.2: Read and write whole numbers up to 1,000. Use words models, standard for whole numbers up to 1,000.

6.001 Notes: Section 8.1

Schedule/BACnet Schedule

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics

Python review. 1 Python basics. References. CS 234 Naomi Nishimura

Introduction to Software Engineering

Graphing Linear Equations and Inequalities: Graphing Linear Equations and Inequalities in One Variable *

The trace file is here:

Semantic Analysis. CSE 307 Principles of Programming Languages Stony Brook University

NAVIGATING THE PARENT PORTAL

Outbound Engine Manual 1

Play Football Self Registration Portal

Continental Mathematics League

Test design: Part I. Software Testing: INF3121 / INF4121

ELEC-270 Solutions to Assignment 5

Lecture 15 Software Testing

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology.

NAME (as it appears on your UF ID): (Please PRINT) CEN Software Engineering

Read this before starting!

Lecture 9: Datalog with Negation

Outline. iterator review iterator implementation the Java foreach statement testing

Specification-based test design

1. Introduction. 2. Login TAXPAYER GUIDELINES FOR CONTRIBUTION RETURN

CSE 131 Introduction to Computer Science Fall Exam I

Chapter 9. Software Testing

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science

This would be read as the solution set is all numbers greater than or equal to negative 5. Solution Sets

SDD Advanced-User Manual Version 1.1

Equivalence Class Partitioning and Boundary Value Analysis -Black Box Testing Techniques

Technische Universität München Zentrum Mathematik

MTAT : Software Testing

Classroom Tips and Techniques: Interactive Plotting of Points on a Curve

Chapter 8. 8 Minimization Techniques. 8.1 Introduction. 8.2 Single-Output Minimization Design Constraints

Create Text Inside a Shape with Photoshop CS6

YOU MUST BE ABLE TO DO THE FOLLOWING PROBLEMS WITHOUT A CALCULATOR!

Ramsey s Theorem on Graphs

1.2. Pictorial and Tabular Methods in Descriptive Statistics

Research of 3D part reconstruction from Orthographic Projections Based on Solid Features

Read this before starting!

Operating Systems: Quiz2 December 15, Class: No. Name:

Semantics via Syntax. f (4) = if define f (x) =2 x + 55.

Lab Exercise UDP. Objective. Requirements. Step 1: Capture a Trace

Direction Fields; Euler s Method

COS 126 Midterm 1 Written Exam Fall 2011

Last Name Student Number. Last Name Student Number

CS 320: Concepts of Programming Languages

Case Study: Black-Box Testing

CHAPTER 3 METHODOLOGY. 3.1 Analysis of the Conventional High Speed 8-bits x 8-bits Wallace Tree Multiplier

MTAT : Software Testing

Such parameters as user s name, , phone numbers to send tracking information, password can be changed in the user settings.

SIP Trunk2 List Screen Warning Log Display Function Manual

Loops. In Example 1, we have a Person class, that counts the number of Person objects constructed.

Checking Multiple Conditions

ebilling Training Invoicing

Theme 2 Program Design and Testing

Read this before starting!

Lecture 19: Recursion

c. If each square foot of sod costs 65 cents, how much will she have to pay to cover her yard?

Class Notes, 3/21/07, Operating Systems

CS 4387/5387 SOFTWARE V&V LECTURE 4 BLACK-BOX TESTING

Dependent Variable Independent Variable dependent variable : independent variable function: domain ran ge

Learning Log Title: CHAPTER 3: ARITHMETIC PROPERTIES. Date: Lesson: Chapter 3: Arithmetic Properties

It is primarily checking of the code and/or manually reviewing the code or document to find errors This type of testing can be used by the developer

Operating Systems. Deadlocks. Stephan Sigg. November 30, Distributed and Ubiquitous Systems Technische Universität Braunschweig

Concepts of programming languages

Transcription:

LECTURE 9 TEST DESIGN TECHNIQUES - II DECISION TABLE A decision table is a good way to deal with different combination inputs with their associated outputs and also called cause-effect table. Decision table testing is black box test design technique to determine the test scenarios for complex business logic. We can apply Equivalence Partitioning and Boundary Value Analysis techniques to only specific conditions or inputs. Although, if we have dissimilar inputs that result in different actions being taken or secondly we have a business rule to test that there are different combination of inputs which result in different actions. We use decision table to test these kinds of rules or logic. Example 1: Login Screen Prepared by: Engr. M. Nadeem Page 1

Note: Calculate how many columns are needed in the table. The number of columns depends on the number of conditions and the number of alternatives for each condition. If there are two conditions and each condition can be either true or false, you need 4 columns. If there are three conditions there will be 8 columns and so on. Mathematically, the number of columns is 2 conditions. In this case 2 2 = 4 columns. Example 2: Calendar Next-Date Problem The calendar next-date problem has many constrains, one of which deals with the value of the month: Condition 1: 1<=month <=12 Condition 2: month <1 Condition 3: month >12 Prepared by: Engr. M. Nadeem Page 2

Prepared by: Engr. M. Nadeem Page 3

CAUSE-EFFECT GRAPH Cause and effect graph is a test case design technique. It is a black box testing technique. It is generally uses for hardware testing but now adapted to software testing, usually tests external behavior of a system. It is a testing technique that aids in choosing test cases that logically relate Causes (inputs) to Effects (outputs) to produce test cases. Cause-Effect Graphing is a technique which starts with set of requirements and determines the minimum possible test cases for maximum test coverage which reduces test execution time and ultimately cost. The Cause-Effect graph technique restates the requirements specification in terms of logical relationship between the input and output conditions. Since it is logical, it is obvious to use Boolean operators like AND, OR and NOT. Steps to proceed on Cause-Effect Diagram: Firstly: Recognize and describe the input conditions (causes) and actions (effect) Secondly: Build up a cause-effect graph Third: Convert cause-effect graph into a decision table Fourth: Convert decision table rules to test cases. Each column of the decision table represents a test case Symbols used in Cause-effect graphs: Prepared by: Engr. M. Nadeem Page 4

Let s draw a cause and effect graph based on a situation: Situation: The Print message is software that read two characters and, depending of their values, messages must be printed. The first character must be an A or a B. The second character must be a digit. If the first character is an A or B and the second character is a digit, the file must be updated. If the first character is incorrect (not an A or B ), the message X must be printed. If the second character is incorrect (not a digit), the message Y must be printed. Solution: The causes (Inputs) for this situation are: C1 First character is A C2 First character is B C3 Second character is a digit The effects (results) for this situation are E1 Update the file E2 Print message X E3 Print message Y LET S START!! First draw the causes and effects as shown below: Prepared by: Engr. M. Nadeem Page 5

Key Always go from effect to cause (left to right). That means, to get effect E,what causes should be true. In this example, let s start with Effect E1. Effect E1 is to update the file. The file is updated when First character is A and second character is a digit First character is B and second character is a digit First character can either be A or B and cannot be both. Now let s put these 3 points in symbolic form: For E1 to be true following are the causes: C1 and C3 should be true C2 and C3 should be true C1 and C2 cannot be true together. This means C1 and C2 are mutually exclusive. Now let s draw this: So as per the above diagram, for E1 to be true the condition is (C1 C2) C3 The circle in the middle is just an interpretation of the middle point to make the graph less messy. There is a third condition where C1 and C2 are mutually exclusive. So the final graph for effect E1 to be true is shown below: Prepared by: Engr. M. Nadeem Page 6

Let s move to Effect E2: E2 states to print message X. Message X will be printed when First character is neither A nor B. Which means Effect E2 will hold true when either C1 OR C2 is invalid. So the graph for Effect E2 is shown as (In blue line) For Effect E3: E3 states to print message Y. Message Y will be printed when Second character is incorrect. Which means Effect E3 will hold true when C3 is invalid. So the graph for Effect E3 is shown as (In Green line) Prepared by: Engr. M. Nadeem Page 7

This completes the Cause and Effect graph for the above situation. Now let s move to draw the Decision table based on the above graph. Writing Decision table based on Cause and Effect graph First write down the Causes and Effects in a single column shown below Key is the same. Go from bottom to top which means traverse from effect to cause. Start with Effect E1. For E1 to be true, the condition is: (C1 C2) C3. Here we are representing True as 1 and False as 0 First put Effect E1 as True in the next column as Prepared by: Engr. M. Nadeem Page 8

Now for E1 to be 1 (true), we have the below two conditions C1 AND C3 will be true C2 AND C3 will be true For E2 to be True, either C1 or C2 has to be false shown as For E3 to be true, C3 should be false. So it s done. Let s complete the graph by adding 0 in the blank column and including the test case identifier. Writing Test cases from the decision table I am writing a sample test case for test case 1 (TC1) and Test Case 2 (TC2). Prepared by: Engr. M. Nadeem Page 9

In a similar fashion, you can create other test cases. (A test case contains many other attributes like preconditions, test data, severity, priority, build, version, release, environment etc. I assume all these attributes to be included when you write the test cases in actual situation) Prepared by: Engr. M. Nadeem Page 10