robust test design - a mindmap

1
Robust Test Design Powered by HBT Challenges Are my test cases adequate? Do I have the least number of test cases? Fishing analogy Objective: Catch fishes that matter, efficiently HOW? Adopt a SCIENTIFIC APPROACH What "fishes" to catch? i.e PDT to look for Where to "fish"? i.e What Req, Feature, Component? What kind of net? i.e. What test techniques? How to cover quickly? What tools and what TS? Testing-Scientific Approach Concepts Cleanliness criteria Are the expectations of end-users "Business goal" Potential Defect Types (PDT) Classes of defects that may be probable "Technical goal" Quality levels NOT Test levels Test levels Unit testing Integration testing System testing Quality levels Clear notion of "HOW CLEAN" NINE levels Each level focused on uncovered certain PDTs Test types Access control test Input validation test Interface validation test Interaction test Structure test Good citizen test Functionality test Load, Stress test Installation test Performance test Compatilibity test Scalability test Migration test Volume test Usability test Security test End-to-End operations test Test techniques Enables design of TS/TC Design techniques Classification based on PROPERTY "EXTERNAL" Behaviour based "INTERNAL" Structure based Classification based on OUTCOME Scenario generation Data generation Test case generation STEM Core Concept "Techniques landscape" Test scenario Is a flow Represents a behaviour Behaviour emanating from a combination of conditions Positive - Correct use scenario Negative - Abuse scenario Scenario is what is automated Is a collection of test cases #TS governed by #conditions Test case Is a "stimulus" To excite the SUT ... to invoke a behaviour Positive All data values valid Is always part of +ve TS Negative At least on data value invalid Is always part of -ve TS Adequacy Requirements traceability Fault traceability Code coverage QL-CC-TT mapping Documentation Objective Pre-requisites Execution steps Data set(s) to be used Expected outcome Properties of good TS/TC Design process 1. Choose quality level. 2. Identify conditions pertaining to the level. Descriptive to Prescriptive 3. Generate scenarios. 4. For each scenario, generate data values for each input. 5. Combine the data optimally to generate test cases. 6. Trace the scenarios/cases to PDTs and ensure that the PDTs pertaining to that level are uncoverable.

Upload: cleansoft-academy

Post on 02-Jul-2015

293 views

Category:

Education


0 download

DESCRIPTION

This mind map was presented at HBT Master Class, Aug 9, 2012.

TRANSCRIPT

Page 1: Robust Test Design - a mindmap

Robust Test DesignPowered by HBT

ChallengesAre my test casesadequate?

Do I have the leastnumber of test cases?

Fishinganalogy

Objective: Catch fishesthat matter, efficiently

HOW?Adopt a

SCIENTIFICAPPROACH

What "fishes" to catch?i.e PDT to look for

Where to "fish"?i.e What Req, Feature,

Component?

What kind of net?i.e. What test techniques?

How to cover quickly?What tools and what TS?

Testing-Scientific Approach

Concepts

Cleanliness criteriaAre the expectations ofend-users

"Business goal"

Potential Defect Types(PDT)

Classes of defectsthat may be probable

"Technical goal"

Quality levelsNOT Test levels

Test levels

Unittesting

Integrationtesting

Systemtesting

Qualitylevels

Clear notion of"HOW CLEAN"

NINE levels

Each level focusedon uncoveredcertain PDTs

Test types

Access controltest

Input validationtest

Interfacevalidation test

Interaction test

Structure testGood citizen

test

Functionalitytest

Load, Stresstest

Installation testPerformance

test

Compatilibitytest

Scalability test

Migration test

Volume test

Usability test

Security testEnd-to-End

operations test

Test techniques

Enables design ofTS/TC

Designtechniques

Classification based onPROPERTY

"EXTERNAL"Behaviour based

"INTERNAL"Structure based

Classification based onOUTCOME

Scenario generationData generationTest case generationSTEM Core Concept

"Techniques landscape"

Test scenario

Is a flow

Represents a behaviour

Behaviour emanatingfrom a combination of

conditionsPositive - Correct use

scenario

Negative - Abusescenario

Scenario is what isautomated

Is a collection of testcases

#TS governed by#conditions

Test case

Is a "stimulus"

To excite theSUT

... to invoke abehaviour

Positive

All data valuesvalid

Is always partof +ve TS

Negative

At least ondata value

invalid

Is always partof -ve TS

AdequacyRequirements traceabilityFault traceability Code coverage

QL-CC-TTmapping

Documentation

ObjectivePre-requisites

Execution stepsData set(s) to be used

Expected outcome

Properties ofgood TS/TC

Designprocess

1. Choose quality level.

2. Identify conditionspertaining to the level.

Descriptiveto

Prescriptive3. Generate scenarios.4. For each scenario,generate data valuesfor each input.5. Combine the dataoptimally to generatetest cases.

6. Trace thescenarios/cases toPDTs and ensure thatthe PDTs pertaining tothat level areuncoverable.