Decision Tables - Wikipedia Decision Table-Based Testing

Similar documents
Functional Testing (Black Box Testing)

Decision tables. Combinational Models. Necessary Characteristics of the Implementation. Decision tables. Deriving decision tables

EECS 4313 Software Engineering Testing. Topic 05: Equivalence Class Testing Zhen Ming (Jack) Jiang

DKT 122/3 DIGITAL SYSTEM 1

Simplification of Boolean Functions

SOFTWARE TESTING UNIT-VI Logic Based Testing

LSN 4 Boolean Algebra & Logic Simplification. ECT 224 Digital Computer Fundamentals. Department of Engineering Technology

4. Write a sum-of-products representation of the following circuit. Y = (A + B + C) (A + B + C)

SEE1223: Digital Electronics

What is Structural Testing?

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

Testing Theory. Agenda - What will you learn today? A Software Life-cycle Model Which part will we talk about today? Theory Lecture Plan

2.6 BOOLEAN FUNCTIONS

LECTURE 2 An Introduction to Boolean Algebra

Software Testing. 1. Testing is the process of demonstrating that errors are not present.

Logic Gates and Boolean Algebra ENT263

Summary. Boolean Addition

Combinational Circuits Digital Logic (Materials taken primarily from:

Combinational Logic Circuits

4 KARNAUGH MAP MINIMIZATION

Darshan Institute of Engineering & Technology for Diploma Studies

Chapter 13. Control Structures

Control Structures. Chapter 13 Control Structures. Example If Statements. ! Conditional. if (condition) action;

PESIT Bangalore South Campus

Black-Box, Functional Testing

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007

Experiment 3: Logic Simplification

Slide Set 5. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary

Propositional Calculus. Math Foundations of Computer Science

UNIT II. Circuit minimization

Chapter 2 Combinational Logic Circuits

Larger K-maps. So far we have only discussed 2 and 3-variable K-maps. We can now create a 4-variable map in the

2. BOOLEAN ALGEBRA 2.1 INTRODUCTION

EEE130 Digital Electronics I Lecture #4_1

Information Science 1

Chapter 2 Combinational Logic Circuits

Giovanni De Micheli. Integrated Systems Centre EPF Lausanne

Experiment 4 Boolean Functions Implementation

CSCI 220: Computer Architecture I Instructor: Pranava K. Jha. Simplification of Boolean Functions using a Karnaugh Map

Lecture 25 Notes Spanning Trees

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 04. Boolean Expression Simplification and Implementation

Austin Herring Recitation 002 ECE 200 Project December 4, 2013

CHAPTER-2 STRUCTURE OF BOOLEAN FUNCTION USING GATES, K-Map and Quine-McCluskey

SYNERGY INSTITUTE OF ENGINEERING & TECHNOLOGY,DHENKANAL LECTURE NOTES ON DIGITAL ELECTRONICS CIRCUIT(SUBJECT CODE:PCEC4202)

Introduction to Computer Architecture

B.Tech II Year I Semester (R13) Regular Examinations December 2014 DIGITAL LOGIC DESIGN

A B AB CD Objectives:

Assignment (3-6) Boolean Algebra and Logic Simplification - General Questions

Conditionals !

Points Addressed in this Lecture. Standard form of Boolean Expressions. Lecture 4: Logic Simplication & Karnaugh Map

Synthesis 1. 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, Typeset by FoilTEX 1

Chapter 2 Combinational

PES INSTITUTE OF TECHNOLOGY- BANGALORE SOUTH CAMPUS

Module -7. Karnaugh Maps

Boolean Analysis of Logic Circuits

Circuit analysis summary

Karnaugh Map (K-Map) Karnaugh Map. Karnaugh Map Examples. Ch. 2.4 Ch. 2.5 Simplification using K-map

Designing Computer Systems Boolean Algebra

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.

Combinational Devices and Boolean Algebra

Specifying logic functions

Simplification of Boolean Functions

In this Lecture you will Learn: Testing in Software Development Process. What is Software Testing. Static Testing vs.

2009 Haskell January Test Binary Decision Diagrams

Propositional Calculus. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Test s in i g n III Week 16

CprE 281: Digital Logic

A triangle ( ) is the union of three segments determined by three noncollinear points.

LECTURE 4. Logic Design

L3: Representations of functions

Topics. Software Testing Test Driven Development Black Box Testing Unit Testing White Box Testing Coverage Testing Software Debugging

PROGRAMMABLE LOGIC DEVICES

Gate-Level Minimization

Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation

EE292: Fundamentals of ECE

Recitation Session 6

COMPUTER APPLICATION

Name. 6b, Triangles. 1. A bridge contains beams that form triangles, as shown below.

Definitions. 03 Logic networks Boolean algebra. Boolean set: B 0,

Specification-based test design

Path Testing + Coverage. Chapter 8

Bawar Abid Abdalla. Assistant Lecturer Software Engineering Department Koya University

DIGITAL CIRCUIT LOGIC UNIT 5: KARNAUGH MAPS (K-MAPS)

COP 3014: Fall Final Study Guide. December 5, You will have an opportunity to earn 15 extra credit points.

Digital Logic Lecture 7 Gate Level Minimization

Digital Techniques. Lecture 1. 1 st Class

Boolean relationships on Venn Diagrams

Homework 3 Handout 19 February 18, 2016

MONIKA HEINER.

CS470: Computer Architecture. AMD Quad Core

Scheme of work Cambridge International AS & A Level Computing (9691)

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2

CS Bootcamp Boolean Logic Autumn 2015 A B A B T T T T F F F T F F F F T T T T F T F T T F F F

Switching Circuits & Logic Design

Topic: Software Verification, Validation and Testing Software Engineering. Faculty of Computing Universiti Teknologi Malaysia

2008 The McGraw-Hill Companies, Inc. All rights reserved.

CPSC 121: Models of Computation

Propositional Calculus. Math Foundations of Computer Science

Black Box Testing (revisited) Csci 565 Spring 2007

8.3 Common Loop Patterns

Transcription:

Decision ables Wikipedia Decision ablebased esting Chapter A precise yet compact way to model complicated logic Associate conditions with actions to perform Can associate many independent conditions with several actions in an elegant way Decision able erminology Printer roubleshooting D Stub c c c a Rule Rule Rules, Rule Rule Rules, Conditions Actions Printer does not print A red light is flashing Printer is unrecognized Heck the power cable Check the printercomputer cable Ensure printer software is installed a Check/replace ink a Check for paper jam a Let s try this for the riangle problem riangle Decision able riangle est Cases C: a < b+c C: b < a+c C: c < a+b C: a = b C: a = c C: b = c A: ot a riangle A: Scalene A: A: Equilateral A: Case ID D D D D D D D D D D D a b c Expected Output ot a riangle ot a riangle ot a riangle Equilateral Scalene

extdate Decision able he extdate problem illustrates the problem of dependencies in the input domain Decision tables can highlight such dependencies dates can be clearly marked as a separate action Let s try it extdate Equivalence Classes M= {month month has days} M= {month month has days} M= {month month is ebruary} D= {day day } D= {day day = } D= {day day = } D= {day day=} = {year year = } = {year year is a leap year} = {year year is a common year} extdate D (st try partial) extdate D (nd try part ) C: month in M C: month in M C: month in M C: day in D C: day in D C: day in D C: day in D C: year in C: year in C: year in A: A: ext Date C: month in C: day in C: year in A: A: Increment day A: Reset day A: Increment month A: reset month M D M D M D M D M D M D M D M D extdate D (nd try part ) C: month in M M M M M M M M C: day in D D D D D D D D C: year in A: A: Increment day A: Reset day A: Increment month A: reset month ew Equivalence Classes M= {month month has days} M= {month month has days} M= {month month is December} M= {month month is ebruary} D= {day day } D= {day day = } D= {day day = } D= {day day = } D= {day day=} = {year year is a leap year} = {year year is a common year}

extdate D (rd try part ) extdate D (rd try part ) C: month in C: day in C: year in A: A: Increment day A: Reset day A: Increment month A: reset month M D M D M D M D M D M D M D M D M D M D C: month in C: day in C: year in A: A: Increment day A: Reset day A: Increment month A: reset month M D M D M D M D M D M D M D M D M D M D M D M D est Case Design o identify test cases with decision tables, we interpret conditions as inputs, and actions as outputs. Sometimes conditions end up referring to equivalence classes of inputs, and actions refer to major functional processing portions of the item being tested. he rules are then interpreted as test cases. Applicability he specification is given or can be converted to a decision table. he order in which the predicates are evaluated does not affect the interpretation of the rules or resulting action. he order of rule evaluation has no effect on resulting action. Once a rule is satisfied and the action selected, no other rule need be examined. he order of executing actions in a satisfied rule is of no consequence. Applicability Decision ables Issues he restrictions do not in reality eliminate many potential applications. In most applications, the order in which the predicates are evaluated is immaterial. Some specific ordering may be more efficient than some other but in general the ordering is not inherent in the program's logic. Before deriving test cases, ensure that he rules are complete Every combination of predicate truth values is explicit in the decision table he rules are consistent Every combination of predicate truth values results in only one action or set of actions

Guidelines and Observations Guidelines and Observations Decision able testing is most appropriate for programs where here is a lot of decision making here are important logical relationships among input variables here are calculations involving subsets of input variables here are cause and effect relationships between input and output here is complex computation logic (high cyclomatic complexity) Decision tables do not scale up very well May need to Use extended entry decision tables Algebraically simplify tables Decision tables can be iteratively refined he first attempt may be far from satisfactory Variable egation Strategy Example truth table An approach that can help with the scaling problems of decision tablebased testing Applicable when the system under test can be represented as a truth table (binary input and output) Designed to select a small subset of the test cases Variant umber ormal Pressure A Call or Heat B Damper Shut C Manual Mode D Ignition Enable Z Deriving the Logic unction Review boolean algebra AB = A and B A+B = A or B ~A = not A A logic function maps n boolean input variables to a boolean output variable A truth table is an enumeration of all possible input and output values Logic function he logic function for the example is Z = AB~C + AD Several techniques to derive it Karnaugh maps Causeeffect graphs A compact logic function will produce more powerful test cases

Variable egation Strategy egation variants Designed to reveal faults that hide in a don t care he test suite contains: Unique true points: A variant per term t, so that t is rue and all other terms are alse ear alse Points: A variant for each literal in a term. he variant is obtained by negating the literal and is selected only if it makes Z= Each variant creates a test candidate set Unique true point candidate sets in boiler example: {} {,,} Candidate set number erm negation ABC A~B~C ~AB~C A~D ~AD Variants containing this negation,,,,,,,,, Variants containing this negation where Z=,,,,,, Selecting the test cases At least one variant from each candidate set Can be done by inspection Random selection is also used ear alse Points exercise combinations of don t care values % of all possible tests are created % of simulated bugs can be found est suite Candidate sets,,,,,,,, Minimum est suite