Test Design Strategies



Similar documents
Test Case Design Using Classification Trees

Test Case Design Using Classification Trees and the Classification-Tree Editor CTE

Database Management Tool Software User Guide

Automatic Test Data Generation for TTCN-3 using CTE

Test Case Design by Means of the CTE XL

Ford Module Programming (FMP) Purchase and Installation Guide

Test Data Management Best Practice

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)

McAfee Endpoint Encryption Reporting Tool

Advanced Software Test Design Techniques Use Cases

Online Scheduling Instructions

Model-based Testing: Next Generation Functional Software Testing

EVENT REGISTRATION UPLOADER DOCUMENTATION

NETWORK PRINT MONITOR User Guide

Excel To Component Interface Utility

Software Requirements Specification for POS_Connect Page 1. Software Requirements Specification. for. POS_Connect. Version 1.0

User Guide for Patients

Test case design techniques II: Blackbox testing CISS

CA Data Protection. Content Provider Development Guide. Release 15.0

Automate Your BI Administration to Save Millions with Command Manager and System Manager

PT AVENUE GUIDE OVERVIEW

INsight Call Center Users Guide

Describe the process of parallelization as it relates to problem solving.

Designing a Graphical User Interface

IBM Unica emessage Version 8 Release 6 February 13, User's Guide

Online Shop System Use Case Diagram Report (Demo)

Finance Reporting. Millennium FAST. User Guide Version 4.0. Memorial University of Newfoundland. September 2013

How to Login Username Password:

ithenticate User Manual

Google Analytics Guide

Configuration Manager

- 1 - Guidance for the use of the WEB-tool for UWWTD reporting

VFW Store Tutorial CREATE A NEW ACCOUNT

Roadmap. Software Engineering. Software Engineering. Project Life Cycle. Database. Project Lifecycle

Document Services Online Customer Guide

Shopping Cart Manual. Written by Shawn Xavier Mendoza

Online Testing Checklist for Summer 2016 Ohio s State Test Administrations

Government of Saskatchewan Executive Council. Oracle Sourcing isupplier User Guide

ISTQB Certified Tester. Foundation Level. Sample Exam 1

ithenticate User Manual

2.91 New Features Guide

Skipjack Merchant User Guide. Quick Guide. (a supplement to the Merchant User Guide)

Application and Registration process description

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Mathematics. What to expect Resources Study Strategies Helpful Preparation Tips Problem Solving Strategies and Hints Test taking strategies

IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules

Velaro End User Guide Velaro, Inc.

Online Tools Training Lesson Plan

EMC Smarts Network Configuration Manager

Online Test Monitor Certification Course Transcript

How to Use e-commerce on

ONLINE TEST ADMINISTRATION

New Mexico State University. AiM 8.X Basic AiM

Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102

2 SYSTEM DESCRIPTION TECHNIQUES

BADGER LMS USER MANUAL

Steps for Entering an OnBase Purchase Requisition (PR)

TESSY Automated dynamic module/unit and. CTE Classification Tree Editor. integration testing of embedded applications. for test case specifications

How to Enter a Test On-line

Prestashop Ship2MyId Module. Configuration Process

KANSAS TRUCK ROUTING INTELLIGENT PERMITTING SYSTEM

ithenticate User Manual

NEC Express5800 Series NEC ESMPRO AlertManager User's Guide

Course Registration Case Study

Tangible Value: Business Process Change Analyzer. Michael Pytel, NIMBL

Jackson Systems E-commerce Guide

Asset Track Getting Started Guide. An Introduction to Asset Track

my>hr Employee Self-Service Open Enrollment How-To Guide

RHINO TRACKS STANDARD GPS VEHICLE TRACKER

Application Notes for Configuring Dorado Software Redcell Enterprise Bundle using SNMP with Avaya Communication Manager - Issue 1.

Frequently Asked Questions

Smart Web. User Guide. Amcom Software, Inc.

Automated Vendor Form for Disbursement Voucher Vendors Instruction Manual

Online Requesting and Receiving. Training Manual

Kaseya 2. User Guide. Version 1.0

Trns port Payroll XML File Import Guide. Prepared by the Minnesota Department of Transportation (Mn/DOT)

TRILOGI 5.3 PLC Ladder Diagram Programmer and Simulator. A tutorial prepared for IE 575 by Dr. T.C. Chang. Use On-Line Help

Refer to the Integration Guides for the Connect solution and the Web Service API for integration instructions and issues.

CHEXpedite - Online Electronic Check (OEC) (Online Payment Option Internet Check) User s Guide and Technical Specifications

Editor Manual for SharePoint Version December 2005

Presentation: 1.1 Introduction to Software Testing

Reporting Student Progress and Achievement

Voice Mail User Guide

This presentation introduces you to the Decision Governance Framework that is new in IBM Operational Decision Manager version 8.5 Decision Center.

WEBFOCUS QUICK DATA FOR EXCEL

Oracle FLEXCUBE Enterprise Limits and Collateral Management Test Case Management. August Test Case Management

Terex Management System (TMS)

Automating client deployment

SAP Business Intelligence ( BI ) Financial and Budget Reporting. 7.0 Edition. (Best Seller At Least 43 copies Sold)

PinkVERIFY IT SERVICE MANAGEMENT TOOLS: COMPATIBILITY CONSIDERATIONS

FAGOR CNC 8055 ia-mc Control

Teamstudio USER GUIDE

ImageNow Document Management Created on Friday, October 01, 2010

Writing Use Case Scenarios for Model Driven Development

SMART Meeting Pro 4.0 SP3 software

WORKING IN TEAMS WITH CASECOMPLETE AND MICROSOFT VISUAL SOURCE SAFE. Contents

Web Account & E-commerce Quick Reference Guide

PROCEDURES MANUAL FOR IMPLEMENTATION OF THE FLORIDA MOTOR VEHICLE NO-FAULT LAW AND FINANCIAL RESPONSIBILITY LAW INITIAL/RELOAD REQUIREMENTS

How to test and debug an ASP.NET application

Transcription:

Test Design Strategies Louise Tamres, CSQE ASQ Software Division Webinar 18 July 2008 1

Objectives Translate requirements into test cases Improve communication by producing models Identify incomplete requirements Provide schedule estimates 2

Content Test Design Techniques Use Case Classification Tree Decision Table State Transition Diagram Wrap Up Schedule estimation 3

Techniques Presented Here Selected just a few techniques, based on: Easy to focus on content Useful in most cases Learning something new for most people 4

Basic Terminology Test Generic term used in this class One scenario that will be exercised Some initial state Some input stimulus Something that s expected to happen I won t quibble between test case and test procedure 5

Process Maturity Rigor depends upon your company s maturity level Requirements range between inadequate to suitable Thoroughness of test details will vary accordingly Deficient requirements more time uncovering details for tests Ad hoc Well controlled 6

Test Design Progression Requirements product definition Model Model Model Input..... Output..... Model is a form of modeling requirements 7

Advantages of Models Get big picture of what to test Development team focuses on contents Prioritize tests before writing any detailed test cases Provide data for schedules 8

Value of Modeling Any method that helps the tester understand the application and ask smart questions is valuable The actual act of building a model is often more important because of the learning acquired during the process 9

Test Design Techniques Use Case Decision Table Classification Tree Method State Machine 10

Use Case Accomplish a goal within the system End-to-end transaction Often from the end user perspective Test individual transactions 11

Use Case Example #1 User wants to order a book Success Criteria: User receives confirmation on book order. Book order information sent to shipping department s queue. Main Success Scenario: 1. Login to application 2. Search for book 3. Add book to shopping cart Extensions: 1a. User ID does not exist 1b. Invalid password 1c. Password is case sensitive (switch upper/lowercase) 1d. User cancels out 2a. Title (as entered) does not exist 2b. Author name misspelled 2c. Author name left blank 2d. User exits search 2e. User cancels out of application 3a. User wants to select a different book 3b. User cancels out of application 3c. User proceeds to checkout (without adding book to cart) 4. Go to checkout 5. Enter shipping address 6. Enter credit card information 7. Submit purchase request [Note: No extension for step #4] 5a. Address left blank 5b. Address invalid format 6a. User wants to pay by check 6b. User wants to pay by credit card 6c. User wants to pay by gift card 6d. Credit card information rejected 6e. User cancels out of application 7a. User cancels purchase order 7b. User cancels out of application [Note: Partial list to convey strategy] 12

Tests From Use Case #1 Test A (from main scenario) Path through Use Case: Steps 1, 2, 3, 4, 5, 6, 7 Input: data that satisfy All steps listed in Main Success Scenario Outcome: All items listed in Success Criteria Test B (from Extension 3a) Path through Use Case: Steps 1, 2, 3, 3a Input: data that satisfy Complete steps 1, 2, 3 as listed in Main Success Scenario Select a new book (as specified in Extension 3a) Outcome: Understand resulting action (should be in requirements) 13

Test Log for Use Case Example #1 Test ID Priority Input Values Results Pass / Fail Bugs/ Observations main scenario 1a 1b 1c 1d 2a 2b 2c 2d 2e 3a 3b 3c 5a 5b 6a 6b 6c 6d 6e 7a 7b 14

Use Case Example #2 Send data from local to remote machine Success Criteria: Remote machine receives all converted data. Remote machine sends an acknowledgement to local machine. On local machine, data marked as successfully sent. Local machine receives acknowledgement from remote machine. Main Success Scenario: 1. Programmatically Login to local database 2. Pull unsent data from the database 3. Convert that data to a pre-determined XML format and validate against a given schema definition 4. Connect to remote message queue Extensions: 1a. Unable to connect to database for whatever reason 1b. Invalid username/password 1c. Unable to connect to database port 2a. Expected data not found 2b. Inconsistency in database 2c. Connection fails during database pull 5. Send converted XML data to the remote queue 6. Receive acknowledgement from remote machine 7. Mark converted data as successfully sent to remote queue 8. Look for more unsent data to send to remote queue (Back to step 2) 3a. Schema validation fails 4a. Connection to remote queue fails 5a. Connection fails during sending of data. 6a. No acknowledgement received by local machine 7a. Failure to mark data as sent in local database 15

Test Design Techniques Use Case Decision Table Classification Tree Method State Machine 16

Decision Table Record complex business rules Useful when specification has Complicated decision logic Many If-Then-Else statements Merge (simplify) rules whose resulting actions are identical 17

Decision Table Format Rule 1 Rule 2... Rule n Condition 1 Condition 2 Condition 3... Action 1 Action 2 Action 3... 18

Decision Table Components 1. Set of conditions List of input types 2. Rules All combinations of input values/states 3. Actions Based on applying rules Depends on values of conditions; not order in which conditions are evaluated 19

Testing Decision Tables Create one test case for each rule One test for each column in table Conditions are the input Actions are the expected results 20

Decision Table Example Example #1 - All combinations of input data values Rule 1 Rule 2 Rule 3 Rule 4 Rule 5 Rule 6 Rule 7 Rule 8 Actions Conditions Deductible met? Type of visit (doctor or hospital) In- or out-of-network provider? Reimburse at 60% Reimburse at 70% Reimburse at 80% yes doctor in X yes doctor out X yes hospital in X yes hospital out X no doctor in no doctor out no hospital in no hospital out No reimbursement X X X X 21

Decision Table Example Example #2 Identify rules that have same resulting actions Rule 1, Rule 3 Rule 2 Rule 4 Rule 5, Rule 6, Rule 7, Rule 8 Actions Conditions Deductible met? Type of visit (doctor or hospital) In- or out-of-network provider? Reimburse at 60% Reimburse at 70% Reimburse at 80% yes doctor in X yes hospital in X yes doctor out X yes hospital out X no doctor in no doctor out no hospital in no hospital out No reimbursement X X X X 22

Decision Table Example Example #3 Merge rules that have same actions Rule 1, 3 Rule 2 Rule 4 Rule 5,6,7,8 Actions Conditions Deductible met? Type of visit (doctor or hospital) In- or out-of-network provider? Reimburse at 60% Reimburse at 70% Reimburse at 80% yes -- in X yes doctor out X yes hospital out X no -- -- No reimbursement X -- Signifies don t care 23

Tests From Decision Table Test A (from Rule 1,3) Input: data that satisfy Deductible met Provider is in-network Outcome: Calculate reimbursement at 80% Test B (from Rule 2) Input: data that satisfy Deductible met Service provided in doctor s office Provider is out-of-network Outcome: Calculate reimbursement at 60% 24

Test Design Techniques Use Case Decision Table Classification Tree Method State Machine 25

Classification Tree Method Developed by Daimler-Benz Research Used in Embedded Systems Test case design tool using black-box approach (based on functional spec) Based on Category Partitioning Compact graphical representation of test scenarios 26

Classification Tree Example Computer Vision System Inputs are various building blocks Aspects are size, color, and shape of a block Size: small, large Color: red, green, blue Shape: circle, triangle, square Source for example: Grochtmann, Matthias. Test Case Design Using Classification Trees. Proceedings of STAR 94, 8-12 May 1994, Washington, DC. 27

Computer Vision System size color shape small large red blue green circle triangle square shape of triangle equilateral isosceles scalene Test Case 1 2 3 Source: Grochtmann 1994 28

Vehicle Drive System SteeringWheelAngle AccPedalPosition BreakPedalPosition [-360,-180[ ]180,360] 0 ]0,100[ 100 0 ]0,50[ [50,100[ [-180,0[ ]0,180] 0 100 Time [s] 0 1.2 3.8 Source: Lamberg, Klaus and Michael Beine. ASIM, Fachtagung Simulations und Testmethoden für Software in Fahrzeugsystemen. 1-2 March 2005, Berlin, Germany. 29

Cruise Control V car? V car AdmissibleSpeed V car AdmissibleSpeed VehicleInFront? ControlSwitch? True False set+ set resume off Test Case 1 2 3 4 Source: Singh, Harbhajan, Mirko Conrad, and Sadegh Sadeghipour. Test Case Design Based on Z and the Classification-TreeMethod. Proceedings of the 1st International Conference on Formal Engineering Methods (ICFEM '97) 30

Classification Tree Editor Tool that supports Design of classification tree Definition of test cases in the table area Hierarchies and structure of large trees Creation of automated test cases Documentation of test cases Free download available at www.systematic-testing.com 31

Classification Trees as Spreadsheets Test id small Size large red Color blue green circle square Shape equil isosc scal test 1 test 2 test 3 Test id Size Color Shape test 1 large red circle test 2 small blue square test 2 small green isosceles 32

Test Design Techniques Use Case Decision Table Classification Tree Method State Machine 33

State Machine Useful when specs provided as state machine (state transition diagram) Sequence is important Input must be entered in a defined order Test transitions between states by creating events that lead to these transitions 34

State Transition Diagram Example Stopwatch example start { time = increment } idle Reset { time = 0 } running reset { time = 0 } start {time = increment } paused stop { time = last value } 35

State Transition Table #1 initial Event START STOP RESET State Idle Running {Time = increment value}?? Running? Paused { Time = last value } Idle { Time = 0 } Paused Running { Time = increment value }? Idle { Time = 0 } 36

State Transition Table #1 complete Event START STOP RESET State Idle Running {Time = increment value} Idle { Time = 0 } Idle { Time = 0 } Running Running {Time = increment value} Paused { Time = last value } Idle { Time = 0 } Paused Running { Time = increment value } Paused { Time = last value } Idle { Time = 0 } 37

State Transition Table #2 State transition diagram information and tests all in one chart Current State Event Action Next State Idle START Time = increment value Running Idle STOP Time = 0 Idle Idle RESET Time = 0 Idle Running START Time = increment value Running Running STOP Time = last value Paused Running RESET Time = 0 Idle Paused START Time = increment value Running Paused STOP Time = last value Paused Paused RESET Time = 0 Idle test input test results 38

Wrapping Up 39

Test Design Techniques Which approach to use? Communicate the information Experience, comfort level Follow requirements format Available tools Each design method provides Unique tests Duplicate tests 40

Schedule Estimation Based on number of tests identified Use Case: main + number of extensions Classification Tree: number of rows Decision Table: number of columns/rules State Machine: number of boxes in state transition table (ex. #1) number of rows in expanded table (example #2) 41

Schedule Estimation Estimated effort for testing = Number of tests x (time per test) + time to set up test environment + time to set up and program tools + time to create test data + time for bug fix and retest cycle +... 42

If We Had More Time Prioritizing tests Documenting tests Tracking test status Mapping requirements to tests And yet more test design techniques 43

More Test Design Techniques Equivalence Class Partitioning Boundary Value Analysis Pairwise Testing Test Outlines Classification Tree Method * Decision Tables * State Machine * Tables Timing Charts Use Cases * Control Flow Testing Data Driven Techniques Requirements Modeling Graphical Method * Topic presented in today s session 44

References More examples and strategies Tamres, Louise. Introducing Software Testing. Addison-Wesley, 2002. 45

Thank You If you have any questions, contact me at l. tamres @ computer. org 46