SlideShare a Scribd company logo
1 of 75
Download to read offline
TB
Full-day Tutorial
4/30/13 8:30AM

Key Test Design Techniques
Presented by:
Lee Copeland
Software Quality Engineering

Brought to you by:

340 Corporate Way, Suite 300, Orange Park, FL 32073
888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
Lee Copeland
With more than thirty years of experience as an information systems professional at commercial and
nonprofit organizations, Lee Copeland has held technical and managerial positions in applications
development, software testing, and software process improvement. Lee has developed and taught
numerous training courses on software development and testing issues and is a well-known speaker with
Software Quality Engineering. Lee presents at software conferences in the United States and abroad. He
is the author of the popular reference book, A Practitioner’s Guide to Software Test Design.
Key
y
Test Design
Techniques

Software Quality Engineering

Lee Copeland

340 Corporate Way, Suite 300
Orange Park, Florida 32073
904.278.0707

lee@sqe.com

SQE ©2001-2011 Version 4.0

Administrivia
Tutorial timing

Tutorial materials

Meals

Messages

Pagers and
Cell phones

Facilities

Smoking

Mastering Test Design V 4.0 © SQE 2001-2011

Breaks

2
Tutorial Goals
• At the end of the tutorial you will be able
to
– Design test cases using structured, formal
structured formal,
“scientific” techniques
– Implement the “art” of test case design as well as
the science
– Understand how defect taxonomies can improve
test case design

Mastering Test Design V 4.0 © SQE 2001-2011

3

Chapter 1

Introduction

Mastering Test Design V 4.0 © SQE 2001-2011

4
Tutorial Agenda
1.
2.
3.
4.
5.
6.

Introduction
Black Box Science
White Box Science
Black Box Art
Defect Taxonomies
Wrap-up

Mastering Test Design V 4.0 © SQE 2001-2011

5

Chapter Objectives
• At the end of this chapter you will be able
to
– Define “testing”
– Define the components of a test case
– Discuss the problems of how much testing can be
done

Mastering Test Design V 4.0 © SQE 2001-2011

6
Test Design Process - Context
Master Test Plan
Detailed Test Plans
Test Analysis
Systematic
S t
ti
Software
Testing

Test Design

tutorial

Test Implementation
Mastering Test Design V 4.0 © SQE 2001-2011

7

What is Testing?
•

IEEE Std 610 Software Engineering
Terminology: “test”
1.
1 An activity in which a system or component is
executed under specified conditions, the results
are observed or recorded, and an evaluation is
made of some aspect of the system or
component
2. To conduct an activity as in (1)
3.
3 A set of one or more test cases
4. A set of one or more test procedures
5. A set of one or more test cases and procedures

Mastering Test Design V 4.0 © SQE 2001-2011

8
What Do We Test?
Fundamental issues

FUNCTIONS
Usability
Security
Localization
Extensibility

Portability
Reliability
Availability
Testability
Interoperability

Real-time issues

Timing
Throughput

Capacity
Performance

System management issues

Overload
Backup and Recovery
Start-up
Start up and shut down
shut-down

Purchased software

Operating systems
DBMS
Communications

Mastering Test Design V 4.0 © SQE 2001-2011

9

Current Challenges In Test Design
?
?
?
?
?
?
?
?
?

Mastering Test Design V 4.0 © SQE 2001-2011

10
What Are Test Cases?
Order of execution
Test environment
Output(s)

Input(s)

Mastering Test Design V 4.0 © SQE 2001-2011

11

What Are Test Cases?
• Inputs can be

Input(s)

– Data entered through the
UI
– Data from interfacing
systems
– Data from interfacing
devices
– Files
–D t b
Databases
– State
– Environment

Mastering Test Design V 4.0 © SQE 2001-2011

12
What Are Test Cases?
• Outputs can be:
– Data to UI
– Data to interfacing
systems
– Data to interfacing
devices
– Files
– Databases
– State
– Response time

Output(s)

Mastering Test Design V 4.0 © SQE 2001-2011

13

Test Everything?
Data

Combinations

Impossible!
Paths
Mastering Test Design V 4.0 © SQE 2001-2011

14
Test Wisely!

Cost effective

Time
limited

Risk
based

Choose
wisely

Tool support

Mastering Test Design V 4.0 © SQE 2001-2011

15

Chapter 2

Black Box
Science
Mastering Test Design V 4.0 © SQE 2001-2011

16
Tutorial Agenda
1.
2.
3.
4.
5.
6.

Introduction
Black Box Science
White Box Science
Black Box Art
Defect Taxonomies
Wrap-up

Mastering Test Design V 4.0 © SQE 2001-2011

17

Objectives
• At the end of this chapter you will be able to
– Implement the Equivalence Class Partitioning and
Boundary Value testing techniques
– Create a Decision Table
– Describe when State-Transition diagrams are useful
and how to create one
– Understand and use “All Pairs” based techniques
• Orthogonal arrays and pairs based test cases

– Create a Traceability Matrix
• If one is desired or required

Mastering Test Design V 4.0 © SQE 2001-2011

18
What is Black Box Science?
• Black Box
– Focus only on the inputs and outputs
– Ignore the internal paths, structure, and implementation
– Can’t know the percentage of code tested

• Science
– Use structured approach(es)
– Approach all data the same
– Have a methodology based
coverage measure

19

Mastering Test Design V 4.0 © SQE 2001-2011

Black Box at Different Levels

Unit

Subsystem

System

A black box is a black box is a black box.
It’s just a bigger box with more input,
functionality, and output.

Mastering Test Design V 4.0 © SQE 2001-2011

20
For Each Software Requirement
• First let’s focus on one requirement /
function / story at a time
– Equivalence Class Partitioning
– Boundary Value Testing
– Combining both across multiple inputs

21

Mastering Test Design V 4.0 © SQE 2001-2011

Equivalence Class Partitioning
•

The role of Equivalence Class Partitioning
– Create the minimum number of black box tests
p
g
q
g
needed while still providing adequate coverage

•

Steps
1. Identify equivalence classes - the input ranges
which are treated the same by the software
•
•

Valid classes: legal input ranges
Invalid classes: illegal or out of range input values

2. Create test
2 C t a t t case for each of the equivalence
f
h f th
i l
classes

Invalid

Valid

Mastering Test Design V 4.0 © SQE 2001-2011

Invalid
22
Equivalence Class Partitioning
1. If an input condition specifies a continuous range of
values, there is one valid class and two invalid
classes.
– Example: The input variable is a mortgage applicant’s income.
The valid range is $1000.00/mo. to $75,000.00/mo.
•
•

Valid class:
Invalid classes:

{1000.00 < = income < = 75,000.00}
{income < 1000.00}, {income > 75,000.00}

2. If an input condition specifies a discrete range of
permissible values, there is one valid class and two
invalid classes.
– Example: The input variable is the total number of houses being
purchased, from 1 to 5.
•
•

Valid class:
Invalid classes:

{1 < = #_Houses < = 5}
{#_Houses < 1}, {#_Houses > 5}

Mastering Test Design V 4.0 © SQE 2001-2011

23

Equivalence Class Partitioning
3. If an input condition specifies a set of values, there
is one valid and one invalid equivalence class.
– Example: Types of housing are Condo, Townhouse, and
Single F il
Si l Family
•
•

•

Valid class: {Condo, Townhouse, Single Family}
Invalid class: {...anything else...}

Sets are different
– If each member of a set yields the same result the set is a
single class
– If each member generates a different result then each
member is a separate class with one valid and one invalid
class

Mastering Test Design V 4.0 © SQE 2001-2011

24
Equivalence Class Partitioning
4. If a “must be” condition is required, there is one
valid equivalence class and one invalid class.
– Example: The mortgage applicant must be a
person.
•
•

Valid class:
Invalid class:

{person}
{corporation, ...anything else...}

25

Mastering Test Design V 4.0 © SQE 2001-2011

Another Way to Annotate Partitions
999.99
Invalid
0
Invalid
All Else

1000.00 to 75,000.00

75,000.01

Valid

Invalid

1 to 5

6

Valid

Invalid

Condo, Townhouse, Single Family

Invalid

Valid

All Else

Person

Invalid

Valid

Mastering Test Design V 4.0 © SQE 2001-2011

26
Equivalence Class Partitioning
• Steps for creating the test cases
1. Define the equivalence classes for your rules
2. Write the first test case to cover as many of
the valid equivalence classes from the rule
set as possible (although they may be
mutually exclusive)
3. Continue writing test cases until all of the
valid equivalence classes from the rules have
been covered
4. Write one test case for each invalid class

27

Mastering Test Design V 4.0 © SQE 2001-2011

Example Test Cases (EP)
Test Case
Income
1

$ ,
$4,000.00

Valid Test Cases
No. Type
Person
2

Condo

Bob

Invalid Test Cases
2

$90,000.00

1

Condo

3

$800.00

2

Single Family Leroy

4

$4,000.00

7

Townhouse

Larry

5

$2,000.00

0

Condo

Helen

6

$5,500.00
$5 500 00

2

Office Bldg.
Offi Bld

Sam
S

7

$60,000.00

2

Townhouse

ABC Incorporated

Mastering Test Design V 4.0 © SQE 2001-2011

Bob’s mom

28
Boundary Value Testing (BV)
• The role of Boundary Value Testing
– An additional black box testing approach
• Almost always used with Equivalence Partitioning

– Test cases at the boundary of each input
• Includes the following
– At the boundary (where possible or if significant)
– Just below the boundary
– Just above the boundary

29

Mastering Test Design V 4.0 © SQE 2001-2011

Example Test Cases (EP/BV)
Test Case
Income

Valid Test Cases
No. Type
Person

1

$ ,
$1,000.00

1

Condo

Bob

2

$75,000.00

5

Single Family Helen

3

$37,500.00

3

Townhouse

George

Invalid Test Cases
4

$75,000.01

1

Condo

5

$999.99

2

Single Family Leroy

6

$4,000.00
$4 000 00

6

Townhouse
T
h

Larry
L

7

$2,000.00

0

Condo

Helen

8

$5,500.00

2

Office Bldg.

Sam

9

$60,000.00

2

Townhouse

ABC Incorporated

Mastering Test Design V 4.0 © SQE 2001-2011

Bob’s mom

30
More Classes of Invalids
• Looking at more than one data field at a
time
– Try invalid combinations
• All inputs are in valid range
• But they are NOT valid together
• Example: Singapore Airlines, Calcutta to Sydney,
Wednesday (they have no flights on this route on
Wednesday)

– Try invalid orders
• All inputs in the valid range
• But NOT valid due to timing or order
• Examples: using a system without logging on; asking for
a refund before paying

Mastering Test Design V 4.0 © SQE 2001-2011

31

For All Software Requirements
• Focus on testing all of the requirements to
make sure they interoperate successfully
–
–
–
–

Cross-functional testing
Decision Tables
State-Transition diagrams
Pair based methods
• Orthogonal Arrays
g
y
• Combinatorial Analysis (all pairs)

Mastering Test Design V 4.0 © SQE 2001-2011

32
Cross Functional Testing
• Definition
– Test more than one function at a time
– Possibly run these tests first
– Why?
• Discover design and interface errors

Mastering Test Design V 4.0 © SQE 2001-2011

33

Cross Functional Testing
EXAMPLE

TC1 TC2

TC3 TC4 TC5

Database 2
Mail server 2
Remote
Application 3
Remote
Application 2
Remote
Application 1
Database 1
Mail server 1
User interface

* *
*
* * *
* *
*
*
*
* *
*
* * *

Mastering Test Design V 4.0 © SQE 2001-2011

34
Decision Table
• Definition
– A table listing all possible “conditions” (inputs) and
all possible “actions” ( p )
p
(outputs)
– There is a “rule” for each possible combination of
“conditions”

• Decision tables can be used to represent
very complex business rules based on a
set of defined conditions (requirements)

35

Mastering Test Design V 4.0 © SQE 2001-2011

Decision Table Format
Rule 1 Rule 2

…..

Rule N

Conditions
Condition-1
Condition-2
…….
Condition-x

Actions
Action-1
A ti
1
Action-2
……
Action-z
Mastering Test Design V 4.0 © SQE 2001-2011

36
Example Decision Table
• From the Internal Revenue Service

Rule 1

Action
File Return

Rule 2

Rule 3

Rule 4

Rule 5

Rule 6

Rule 7

Rule 8

Yes

Yes

Yes

Yes

No

No

No

No

Yes

Yes

No

No

Yes

Yes

No

No

Yes

No

Yes

No

Yes

No

Yes

No

No

Condition
Single
65 or older OR
blind
Unearned income
> $1560

No

Yes

No

Yes

No

Yes

Yes

37

Mastering Test Design V 4.0 © SQE 2001-2011

Another Decision Table
Rule 1 Rule 2 Rule 3 Rule 4 Rule 5 Rule 6 Rule 7 Rule 8

Conditions
Claims
Age

0
0
1
1
2-4
2-4
5+
5+
16-25 26-85 16-25 26-85 16-25 26-85 16-25 26-85

Actions
Premium Increase
Send Warning
Cancel Policy

$50
No
No

$25
No
No

$100
Yes
No

$50
No
No

$400 $200
Yes Yes
No
No

$0
No
Yes

$0
No
Yes

• From an automobile insurance company

Mastering Test Design V 4.0 © SQE 2001-2011

38
Turning Decision Tables into Test Cases
• Create the decision table by defining
condition and action combinations
• Strike out any rules that are “impossible”
impossible
– Are they really?
– How can you guarantee it?

• Combine columns where the values are
immaterial
– We don’t care or do we?
don t care,

• Select test data to make each rule “fire”

Mastering Test Design V 4.0 © SQE 2001-2011

39

State-Transition Diagrams
• Used for “state” machines (what happens
next is dependent on what has happened
before)
– Visual illustration of allowed sequences of
functions
– GREAT for finding correct order of valid
operations
– EXCELLENT for finding correct order of test cases
– May be difficult to get this level of documentation
in an updated and current form

Mastering Test Design V 4.0 © SQE 2001-2011

40
A Simple State Example

Please Cancel
Make
Reservation

Pay Money

Made

Paid

Please Cancel/
Refund

Cancelled
By
Customer

Please Print Ticket/
Ticket

Ticketed

Used
Give Ticket

Please Cancel/
Refund

41

Mastering Test Design V 4.0 © SQE 2001-2011

Simple State Example with Tests

Please Cancel
Make

1 Reservation

2
34

Pay Money

Made

Paid

Please Cancel/
Refund

Cancelled
By
Customer

1E 2E
Please Print Ticket/
Ticket

Ticketed

Used
Give Ticket

Please Cancel/
Refund

Mastering Test Design V 4.0 © SQE 2001-2011

42
All Pairs Methods
• Orthogonal Arrays and Combinatorial
Analysis
• A device for selecting a “good” subset of
good
all possible combinations
– When there are too many combinations to
consider
– When it’s risky to randomly skip testing large parts
of the functionality or combinations
• These methods test “All Pairs” (each option with every
other option ONCE, but not all combinations across all
options).
• They exercise multiple pairs simultaneously
• Requires knowledge of all legitimate combinations
43

Mastering Test Design V 4.0 © SQE 2001-2011

Example Orthogonal Arrays
L4 (23)

L18(3661)

1

2

3

4

5

6

7

1

0

0

0

0

0

0

0

1

2

3

2

0

1

2

2

0

1

1

1

0

0

0

3

0

2

1

2

1

0

2

2

0

1

1

4

0

1

1

0

2

2

3

3

1

0

1

5

0

2

0

1

2

1

4

4

1

1

0

6

0

0

2

1

1

2

5

7

1

1

1

1

1

1

0

8

1

2

0

0

1

2

1

9

1

0

2

0

2

1

2

10

1

2

2

1

0

0

3

L9(34)
1
1

0

2
0

3
0

4
0

2

0

1

1

1

3

0

2

2

2

4

1

0

1

2

5

1

1

2

0

6

1

2

0

1

7

2

0

2

8

2

1

9

2

2

11

1

0

1

2

0

2

4

12

1

1

0

2

2

0

5

13

2

2

2

2

2

2

0

14

2

0

1

1

2

0

1

15

2

1

0

1

0

2

2

1

16

2

0

0

2

1

1

3

0

2

17

2

1

2

0

1

0

4

1

0

18

2

2

1

0

0

1

5

Mastering Test Design V 4.0 © SQE 2001-2011

44
A Problem To Solve

Skype
Tools |
Options |
Privacy

Mastering Test Design V 4.0 © SQE 2001-2011

•45

45

A Problem To Solve

Mastering Test Design V 4.0 © SQE 2001-2011

•46

46
A Problem To Solve
•

Allow calls from – anyone, contact list (2)

•

Receive video from – anyone, contact list, no
one (3)

•

Allow IMs from – anyone, contact list (2)

•

Show video to – contact list, no one (2)

•

Keep history for – no history, 2 weeks, 1
month, 3 months, forever (5)

•

Show online status – yes, no (2)

•

Accept cookies – yes, no (2)

2 x 3 x 2 x 2 x 5 x 2 x 2 = 480 combinations
Mastering Test Design V 4.0 © SQE 2001-2011

•47

1

2

3

4

5

6

7

1

0

0

0

0

0

0

0

2

0

0

1

1

2

2

1

3

0

1

0

2

2

1

2

4

0

1

2

0

1

2

3

5

0

2

1

2

1

0

4

6

0

2

2

1

0

1

5

7

1

0

0

2

1

2

5

8

1

0

2

0

2

1

4

9

1

1

1

1

1

1

0

10

1

1

2

2

0

0

47

1

11

1

2

0

1

2

0

3

12

1

2

1

0

0

2

2

13

2

0

1

2

0

1

3

14

2

0

2

1

1

0

2

15

2

1

0

1

0

2

4

16

2

1

1

0

2

0

5

17

2

2

0

0

1

1

1

18

2

2

2

2

2

2

L18(3661)

0

Mastering Test Design V 4.0 © SQE 2001-2011

•48

48
Orthogonal Arrays
•

To use Orthogonal Arrays for test selection,
we’ll “map” our testing problem onto an OA

•

(Generally) Proceed from top to bottom and
left to right through the problem variables
(because the first language I learned reads left
to right and top to bottom)

Mastering Test Design V 4.0 © SQE 2001-2011

•49

49

A Problem To Solve
•
•
•
•
•
•
•

Allow calls from – anyone, contact list (2)
Receive video from – anyone, contact list, no
one (3)
Allow IMs from – anyone, contact list (2)
Show video to – contact list, no one (2)
Keep history for – no history, 2 weeks, 1
month, 3 months, forever (5)
Show online status – yes, no (2)
y ,
( )
Accept cookies – yes, no (2)

2 x 3 x 2 x 2 x 5 x 2 x 2 = 480 combinations
Mastering Test Design V 4.0 © SQE 2001-2011

•50

50
Allow
Calls
From

2

3

4

5

6

7

1

anyOne

0

0

0

0

0

0

2

0

0

1

1

2

2

1

3

0

1

0

2

2

1

2

4

0

1

2

0

1

2

3

5

0

2

1

2

1

0

4

6

0

2

2

1

0

1

5

7

contactList

0

0

2

1

2

5

8

1

0

2

0

2

1

4

9

1

1

1

1

1

1

0

10

1

1

2

2

0

0

1

11

1

2

0

1

2

0

3

12

1

2

1

0

0

2

2

0

1

2

0

1

3

14

2

0

2

1

1

0

2

15

2

1

0

1

0

2

4

16

2

1

1

0

2

0

5

17

2

2

0

0

1

1

1

18

2

2

2

2

2

2

Map
contactList
onto all 1s

2

13

Map
anyOne
onto all 0s

0

Mastering Test Design V 4.0 © SQE 2001-2011

•51

Allow
Calls
From

2

3

4

5

6

7

1

anyOne

0

0

0

0

0

0

2

anyOne

0

1

1

2

2

1

3

anyOne

1

0

2

2

1

2

4

anyOne

1

2

0

1

2

3

5

anyOne

2

1

2

1

0

4

6

anyOne

2

2

1

0

1

5

7

contactList

0

0

2

1

2

5

8

contactList

0

2

0

2

1

4

9

contactList

1

1

1

1

1

0

10

contactList

1

2

2

0

0

1

11

contactList

2

0

1

2

0

3

12

contactList

2

1

0

0

2

2

13

2

0

1

2

0

1

3

14

2

0

2

1

1

0

2

15

2

1

0

1

0

2

4

16

2

1

1

0

2

0

5

17

2

2

0

0

1

1

1

18

2

2

2

2

2

2

51

0

Mastering Test Design V 4.0 © SQE 2001-2011

Repeat for
each factor

•52

52
Allow
Calls
From

Receive
Video
From

3

4

5

6

7

1

anyOne

anyOne

0

0

0

0

0

2

anyOne

anyOne

1

1

2

2

1

3

anyOne

contactList

0

2

2

1

2

4

anyOne

contactList

2

0

1

2

3

5

anyOne

noOne

1

2

1

0

4

6

anyOne

noOne

2

1

0

1

5

7

contactList

anyOne

0

2

1

2

5

8

contactList

anyOne

2

0

2

1

4

9

contactList

contactList

1

1

1

1

0

10

contactList

contactList

2

2

0

0

1

11

contactList

noOne

0

1

2

0

3

12

contactList

noOne

1

0

0

2

2

13

2

anyOne

1

2

0

1

3

14

2

anyOne

2

1

1

0

2

15

2

contactList

0

1

0

2

4

16

2

contactList

1

0

2

0

5

17

2

noOne

0

0

1

1

1

18

2

noOne

2

2

2

2

Mastering Test Design V 4.0 © SQE 2001-2011

Allow
Calls
From

Receive
Video
From

1

anyOne

2

anyOne

3

0
53

•53

Allow
IMs
From

4

5

6

7

anyOne

anyOne

0

0

0

0

anyOne

contactList

1

2

2

1

anyOne

contactList

anyOne

2

2

1

2

4

anyOne

contactList

2

0

1

2

3

5

anyOne

noOne

contactList

2

1

0

4

6

anyOne

noOne

2

1

0

1

5

7

contactList

anyOne

anyOne

2

1

2

5

8

contactList

anyOne

2

0

2

1

4

9

contactList

contactList

contactList

1

1

1

0

10

contactList

contactList

2

2

0

0

1
3

11

contactList

noOne

anyOne

1

2

0

12

contactList

noOne

contactList

0

0

2

2

13

2

anyOne

contactList

2

0

1

3

14

2

anyOne

2

1

1

0

2

15

2

contactList

anyOne

1

0

2

4

16

2

contactList

contactList

0

2

0

5

17

2

noOne

anyOne

0

1

1

1

18

2

noOne

2

2

2

2

Mastering Test Design V 4.0 © SQE 2001-2011

0
•54

54
Allow
Calls
From

Receive
Video
From

Allow
IMs
From

Show
Video
To

5

6

7

0

1

anyOne

anyOne

anyOne

contactList

0

0

2

anyOne

anyOne

contactList

noOne

2

2

1

3

anyOne

contactList

anyOne

2

2

1

2

4

anyOne

contactList

2

contactList

1

2

3

5

anyOne

noOne

contactList

2

1

0

4

6

anyOne

noOne

2

noOne

0

1

5

7

contactList

anyOne

anyOne

2

1

2

5

8

contactList

anyOne

2

contactList

2

1

4

9

contactList

contactList

contactList

noOne

1

1

0

10

contactList

contactList

2

2

0

0

1

11

contactList

noOne

anyOne

noOne

2

0

3

12

contactList

noOne

contactList

contactList

0

2

2

13

2

anyOne

contactList

2

0

1

3

14

2

anyOne

2

noOne

1

0

2

15

2

contactList

anyOne

noOne

0

2

4

16

2

contactList

contactList

contactList

2

0

5

17

2

noOne

anyOne

contactList

1

1

1

18

2

noOne

2

2

2

2

0

Mastering Test Design V 4.0 © SQE 2001-2011

Allow
Calls
From

Receive
Video
From

55

•55

Allow
IMs
From

Show
Video
To

Show
Online
Status

6

7

0

1

anyOne

anyOne

anyOne

contactList

yes

0

2

anyOne

anyOne

contactList

noOne

2

2

1

3

anyOne

contactList

anyOne

2

2

1

2

4

anyOne

contactList

2

contactList

no

2

3

5

anyOne

noOne

contactList

2

no

0

4

6

anyOne

noOne

2

noOne

yes

1

5

7

contactList

anyOne

anyOne

2

no

2

5

8

contactList

anyOne

2

contactList

2

1

4
0

9

contactList

contactList

contactList

noOne

no

1

10

contactList

contactList

2

2

yes

0

1

11

contactList

noOne

anyOne

noOne

2

0

3

12

contactList

noOne

contactList

contactList

yes

2

2

13

2

anyOne

contactList

2

yes

1

3

14

2

anyOne

2

noOne

no

0

2

15

2

contactList

anyOne

noOne

yes

2

4

16

2

contactList

contactList

contactList

2

0

5

17

2

noOne

anyOne

contactList

no

1

1

18

2

noOne

2

2

2

2

0

Mastering Test Design V 4.0 © SQE 2001-2011

•56

56
Allow
Calls
From

Receive
Video
From

Allow
IMs
From

Show
Video
To

Show
Online
Status

Accept
Cookies

7

1

anyOne

anyOne

anyOne

contactList

yes

yes

0

2

anyOne

anyOne

contactList

noOne

2

2

1

3

anyOne

contactList

anyOne

2

2

no

2

4

anyOne

contactList

2

contactList

no

2

3
4

5

anyOne

noOne

contactList

2

no

yes

6

anyOne

noOne

2

noOne

yes

no

5

7

contactList

anyOne

anyOne

2

no

2

5

8

contactList

anyOne

2

contactList

2

no

4

9

contactList

contactList

contactList

noOne

no

no

0

10

contactList

contactList

2

2

yes

yes

1

11

contactList

noOne

anyOne

noOne

2

yes

3

12

contactList

noOne

contactList

contactList

yes

2

2

13

2

anyOne

contactList

2

yes

no

3

14

2

anyOne

2

noOne

no

yes

2

15

2

contactList

anyOne

noOne

yes

2

4

16

2

contactList

contactList

contactList

2

yes

5

17

2

noOne

anyOne

contactList

no

no

1

18

2

noOne

2

2

2

2

0

Mastering Test Design V 4.0 © SQE 2001-2011

Allow
Calls
From

Receive
Video
From

1

anyOne

2

anyOne

3
4

57

•57

Allow
IMs
From

Show
Video
To

Show
Online
Status

Accept
Cookies

Keep
History
For

anyOne

anyOne

contactList

yes

yes

noHistory

anyOne

contactList

noOne

2

2

2Weeks

anyOne

contactList

anyOne

2

2

no

1Month

anyOne

contactList

2

contactList

no

2

3Months
forEver

5

anyOne

noOne

contactList

2

no

yes

6

anyOne

noOne

2

noOne

yes

no

5

7

contactList

anyOne

anyOne

2

no

2

5

8

contactList

anyOne

2

contactList

2

no

forEver

9

contactList

contactList

contactList

noOne

no

no

noHistory

10

contactList

contactList

2

2

yes

yes

2Weeks

11

contactList

noOne

anyOne

noOne

2

yes

3Months

12

contactList

noOne

contactList

contactList

yes

2

1Month

13

2

anyOne

contactList

2

yes

no

3Months

14

2

anyOne

2

noOne

no

yes

1Month

15

2

contactList

anyOne

noOne

yes

2

forEver

16

2

contactList

contactList

contactList

2

yes

5

17

2

noOne

anyOne

contactList

no

no

2Weeks

18

2

noOne

2

2

2

2

noHistory

Mastering Test Design V 4.0 © SQE 2001-2011

•58

58
Orthogonal Arrays
•

We have reduced our test cases from 480 to
18 – a substantial reduction (about 96%)

•

while testing all pairs of input combinations at
least once

Mastering Test Design V 4.0 © SQE 2001-2011

•59

59

Orthogonal Arrays
•

But what should we do about the cells in the
OA that have not been assigned values?
–
–

•

But first, why do we have such cells?
first

Mastering Test Design V 4.0 © SQE 2001-2011

•60

60
Allow
Calls
From

Receive
Video
From

Allow
IMs
From

Show
Video
To

Show
Online
Status

Accept
Cookies

Keep
History
For

1

anyOne

2

anyOne

anyOne

anyOne

contactList

yes

yes

noHistory

anyOne

contactList

noOne

2

2

3

2Weeks

anyOne

contactList

anyOne

2

2

no

4

1Month

anyOne

contactList

2

contactList

no

2

3Months
forEver

5

anyOne

noOne

contactList

2

no

yes

6

anyOne

noOne

2

noOne

yes

no

5

7

contactList

anyOne

anyOne

2

no

2

5

8

contactList

anyOne

2

contactList

2

no

forEver

9

contactList

contactList

contactList

noOne

no

no

noHistory

10

contactList

contactList

2

2

yes

yes

2Weeks

11

contactList

noOne

anyOne

noOne

2

yes

3Months

12

contactList

noOne

contactList

contactList

yes

2

1Month

13

2

anyOne

contactList

2

yes

no

3Months

14

2

anyOne

2

noOne

no

yes

1Month

15

2

contactList

anyOne

noOne

yes

2

forEver

16

2

contactList

contactList

contactList

2

yes

5

17

2

noOne

anyOne

contactList

no

no

2Weeks

18

2

noOne

2

2

2

2

noHistory

Mastering Test Design V 4.0 © SQE 2001-2011

•61

61

Orthogonal Arrays
•

Let’s fill them in with valid values:
– Select the first value in the list
– Alternate the values
– Set the values according to the percentage
of use (if 60% will be yes and 40% will be
no, then use that percentage)
– Set the values according to the risk that
g
value presents

•

Which is the best approach?

Mastering Test Design V 4.0 © SQE 2001-2011

•62

62
Allow
Calls
From

Receive
Video
From

Allow
IMs
From

Show
Video
To

Show
Online
Status

Accept
Cookies

Keep
History
For

1

anyOne

2

anyOne

anyOne

anyOne

contactList

yes

yes

noHistory

anyOne

contactList

noOne

yes

yes

3

2Weeks

anyOne

contactList

anyOne

contactList

no

no

1Month

4

anyOne

contactList

anyOne

contactList

no

no

3Months

5

anyOne

noOne

contactList

noOne

no

yes

forEver

6

anyOne

noOne

contactList

noOne

yes

no

noHistory

7

contactList

anyOne

anyOne

contactList

no

yes

2Weeks

8

contactList

anyOne

anyOne

contactList

yes

no

forEver

9

contactList

contactList

contactList

noOne

no

no

noHistory

10

contactList

contactList

contactList

noOne

yes

yes

2Weeks

11

contactList

noOne

anyOne

noOne

no

yes

3Months

12

contactList

noOne

contactList

contactList

yes

no

1Month

13

anyOne

anyOne

contactList

contactList

yes

no

3Months

14

contactList

anyOne

anyOne

noOne

no

yes

1Month

15

anyOne

contactList

anyOne

noOne

yes

yes

forEver

16

ContactList

contactList

contactList

contactList

yes

yes

1Month

17

anyOne

noOne

anyOne

contactList

no

no

2Weeks

18

contactList

noOne

contactList

noOne

no

no

noHistory

Mastering Test Design V 4.0 © SQE 2001-2011

•63

63

PICT Program
•

Microsoft has developed
a tool to generate
all the pair combinations

•

Microsoft’s algorithm is
described in
“Pairwise Testing in the Real World: Practical
Extensions to Test Case Generators” by Jacek
Czerwonka

•

PICT is a free tool you can download and use

Mastering Test Design V 3.2 © SQE 2001-2006

•64

64
PICT Program

Click
here

•http://msdn.microsoft.com/en-us/testing/bb980925

Mastering Test Design V 3.2 © SQE 2001-2006

•65

65

PICT Program
•

… and download pict33.msi (a Microsoft
Installer Package)

•

Save it

•

Execute it to install. (It installs in the Program
Files folder)

•

PICTHelp.html has the instructions (They are
very helpful)

Mastering Test Design V 3.2 © SQE 2001-2006

•66

66
PICT Program
•

Prepare the input by entering the data into
Notepad

Mastering Test Design V 3.2 © SQE 2001-2006

•67

67

PICT Program
•

Run pict.exe

•

Specify it’s input and output. For example:
•

pict SkypeExampleForPICT.txt >
SkypeTestCasesFromPICT.txt

Mastering Test Design V 3.2 © SQE 2001-2006

•68

68
PICT Program
•

Open the output with Excel to make it look
nice

Mastering Test Design V 3.2 © SQE 2001-2006

69

•69

PICT Program
AllowCalls

ReceiveVideo

AllowIMs

ShowVideo

KeepHistory

ShowStatus

AcceptCookies

ContactList

ContactList

Anyone

ContactList

OneMonth

Yes

Yes

Anyone

Anyone

ContactList

NoOne

ThreeMonths

No

No

ContactList

NoOne

Anyone

NoOne

Forever

No

Yes

Anyone

ContactList

ContactList

NoOne

NoHistry

Yes

No

ContactList

NoOne

ContactList

ContactList

TwoWeeks

Yes

No

Anyone

NoOne

Anyone

ContactList

ThreeMonths

Yes

Yes

ContactList

Anyone

Anyone

ContactList

NoHistry

No

Yes

Anyone

ContactList

ContactList

ContactList

Forever

Yes

No

Anyone

NoOne

ContactList

NoOne

OneMonth

No

No

ContactList

Anyone

Anyone

NoOne

Forever

Yes

No

Anyone

Anyone

Anyone

NoOne

TwoWeeks

No

Yes

ContactList

ContactList

ContactList

NoOne

ThreeMonths

No

Yes

Anyone

Anyone

Anyone

ContactList

OneMonth

No

No

Anyone

ContactList

ContactList

NoOne

TwoWeeks

No

Yes

ContactList

NoOne

ContactList

ContactList

NoHistry

Yes

No

Mastering Test Design V 3.2 © SQE 2001-2006

•70

70
PICT Program
•

Note the good news – we can test all pairs of
the 7 inputs in only 16 test cases (rather than
the total combinations of 480)

Mastering Test Design V 3.2 © SQE 2001-2006

•71

71

PICT Program
•

PICT has a nice feature the other approaches
don’t have – it allows for selection constraints
to be specified

Mastering Test Design V 3.2 © SQE 2001-2006

•72

72
Another Example

Mastering Test Design V 4.0 © SQE 2001-2011

73

Another Example
The borders and shading dialog box :
• 5 settings
• 5 styles (showing)
• 9 colors
• 9 widths

5 x 5 x 9 x 9 = 2025 combinations
An L81(910) array is the smallest array that meets
our needs
(There is an L81(32494) array that would work)

Mastering Test Design V 4.0 © SQE 2001-2011

74
Sources
• An excellent book is Quality Engineering Using Robust
Design by Madhav S. Phadke
• F a catalog of orthogonal arrays, see
For
t l
f th
l
www.research.att.com/~njas/oadir/index.html
• A nice tool is rdExpert from
www.phadkeassociates.com
• A very robust tool is AETG from Telcordia at
aetgweb.argreenhouse.com

Mastering Test Design V 4.0 © SQE 2001-2011

75

Trace Matrix
• A Trace Matrix can be used to track test
cases during development and execution
– Identification of uniquely “testable” requirements
• Eliminate wishes, hopes, dreams, and other un-testable
statements
• Eliminate duplicates
• Assign a unique ID for each requirement and design
objective
• Determine its priority if possible

– Verification of implementation of all requirements

Mastering Test Design V 4.0 © SQE 2001-2011

76
Trace Matrix - Context
Track everything!

Reqm’ts

Design

Code

Test
Cases

77

Mastering Test Design V 4.0 © SQE 2001-2011

Trace Matrix - Example
Trace
Number

Sect.

Requirement

001

1.1
11

N/A

Summary

Design
Sect.

Summary

99.99%
99 99% availability

1.6
16
1.7
6.1
15.3

1.2

Hardware selected
will be available in
less than 30 days

N/A

Dual processors
Hot back-up
On-line diagnostics
On-line performance
monitors
N/A

N/A

1.3

Transactions will
not be lost (included
with 1.4)

N/A

N/A

002

1.4

100% of all transactions
input will be processed
(includes 1.3)

2.2
2.3
2.4

Transaction processing
Transaction logs
Retransmission request
for missing transactions

Mastering Test Design V 4.0 © SQE 2001-2011

78
Techniques vs. Levels of Test
Unit

Integ.

Sys

Sys to
Sys

Web

Equivalence class partitioning

√

√

√

√

√

Boundary value

√

√

√

√

√

Invalid combinations and processes

√

√

√

√

√

√

√

√

√

Method

Cross functional testing
Decision table

√

√

√

√

√

State transition diagrams

√

√

√

√

√

Orthogonal Arrays and All Pairs

√

√

√

√

√

Trace Matrix

√

√

√

√

√

Mastering Test Design V 4.0 © SQE 2001-2011

79

Risk / Priority Based
• Add more test cases for higher risk or
priority
– Some of the factors in risk
•
•
•
•
•

High use software
Safety criticality
Criticality to operations
“Key” features such as security, monetary expenditures
Others?

– Including risk in the planning from the beginning
can help when there isn’t time to run all of the
isn t
tests
– Risk is a subjective judgment call
– Test higher risk areas early and more thoroughly

Mastering Test Design V 3.2 © SQE 2001-2006

80
Chapter 3

White Box
Science
Mastering Test Design V 4.0 © SQE 2001-2011

81

Tutorial Agenda
1.
2.
3.
4.
5.
6.

Introduction
Black Box Science
White Box Science
Black Box Art
Defect Taxonomies
Wrap-up

Mastering Test Design V 4.0 © SQE 2001-2011

82
Objectives
• At the end of this chapter you will be able
to
– Describe the differences between white and black
box tests
– Define coverage possibilities for unit, integration,
and system level white box tests

Mastering Test Design V 4.0 © SQE 2001-2011

83

What is White Box?
White box: Structure/path
false

If

Black box: Behavior

true

Else

Then
End

Case

1
A

2
B

3

4
C

D

5
E

End
The Art of Software Testing
Glenford Myers

Mastering Test Design V 4.0 © SQE 2001-2011

84
White Box Definitions
• The focus of White Box testing
– Examine paths in the implementation
– Make sure that each statement, decision branch,
or path is tested with at least one test case
– Definitions of coverage can vary by level of test
– Desirable to use tools to analyze and track
coverage

Mastering Test Design V 4.0 © SQE 2001-2011

85

Understanding Coverage
• What does “coverage” mean?
– NOT all possible combinations of data values or
paths can be tested
– Coverage is a way of defining how many of the
potential paths were actually exercised by the
tests
– Coverage goals can vary by risk, trust, and level of
test
t t

Mastering Test Design V 4.0 © SQE 2001-2011

86
Coverage for a Unit
• Selection: SLOC
• Possible strategies
– Statement coverage
(SLOC)
– Decision coverage
(branches)
– Paths

• A code Sample
a=1
b=2
c=3
If (a==2)
{n=n+2;}
Else
{n=n/2;}
p=q/r
If (b/c>3)
(b/ >3)
{z=x+y;}

87

Mastering Test Design V 4.0 © SQE 2001-2011

Coverage for Integration
• Selection: Unit
• P
Possible strategies
ibl t t i
– Each unit (already should have
been done)
– All choices (branches) between
units
– All paths
p
– Can continue to use statement
coverage measure (using a
coverage tool)

Mastering Test Design V 4.0 © SQE 2001-2011

U1

U2

U3

U4

88
Coverage for Systems
Remote Web
Client

Local Web
Client

Personal
Firewall

INTERNET

ISP

WEB
APP
LEG.
APP

ISP

LAN/WAN

WEB
SRV
Firewall/
Proxy

LEG.
DB
WEB
DB

KEY
Transaction Path
Local GUI
Client

APP = Application
SRV = Server
DB = Database
LEG. = Legacy

Third Party
Service
Back Office
Systems

Mastering Test Design V 4.0 © SQE 2001-2011

89

General Control Flow Concepts
Sequence

If Then

If Then Else

Mastering Test Design V 4.0 © SQE 2001-2011

90
General Control Flow Concepts
CASE

Iteration

91

Mastering Test Design V 4.0 © SQE 2001-2011

Applying Control Flow to Code
A simple code segment

Begin at the top

Input a;
Input b;
Input c;
If (a==2)
{n=n+2;}
Else
{
{n=n/2;}
;}
p=q/r
If (b/c>3)
{z=x+y;}

Input a
Input b
Input c

Mastering Test Design V 4.0 © SQE 2001-2011

92
Applying Control Flow to Code
A simple code segment

Continue the graph

Input a;
Input b;
Input c;
If (a==2)
{n=n+2;}
Else
{
{n=n/2;}
;}
p=q/r
If (b/c>3)
{z=x+y;}

Input a
Input b
Input c

If
(a==2)

93

Mastering Test Design V 4.0 © SQE 2001-2011

Applying Control Flow to Code
A simple code segment
Input a;
Input b;
Input c;
If (a==2)
{n=n+2;}
Else
{
{n=n/2;}
;}
p=q/r
If (b/c>3)
{z=x+y;}

Input a
Input b
Input c

If
(a==2)

n=n+2

Mastering Test Design V 4.0 © SQE 2001-2011

94
Applying Control Flow to Code
A simple code segment
Input a;
Input b;
Input c;
If (a==2)
{n=n+2;}
Else
{
{n=n/2;}
;}
p=q/r
If (b/c>3)
{z=x+y;}

Input a
Input b
Input c

If
(a==2)

n=n/2

n=n+2

95

Mastering Test Design V 4.0 © SQE 2001-2011

Applying Control Flow to Code
A simple code segment
Input a;
Input b;
Input c;
If (a==2)
{n=n+2;}
Else
{
{n=n/2;}
;}
p=q/r
If (b/c>3)
{z=x+y;}

Input a
Input b
Input c

If
(a==2)

n=n/2

n=n+2

p=q/r

Mastering Test Design V 4.0 © SQE 2001-2011

96
Applying Control Flow to Code
Input a
Input b
Input c

A simple code segment
Input a;
Input b;
Input c;
If (a==2)
{n=n+2;}
Else
{
{n=n/2;}
;}
p=q/r
If (b/c>3)
{z=x+y;}

If
(a==2)
n=n/2

n=n+2

p=q/r

If
b/c>3

97

Mastering Test Design V 4.0 © SQE 2001-2011

Applying Control Flow to Code
Input a
Input b
Input c

A simple code segment
Input a;
Input b;
Input c;
If (a==2)
{n=n+2;}
Else
{
{n=n/2;}
;}
p=q/r
If (b/c>3)
{z=x+y;}

If
(a==2)
n=n/2

n=n+2

p=q/r

If
(b/c>3)
z=x+y
Mastering Test Design V 4.0 © SQE 2001-2011

98
Understanding Unit Testing
• When unit testing a module, the key
question is how many tests are required to
reasonably and fully exercise the code?
– What is the minimum number of tests that can be
run to fully exercise the structure of the code?
– How many paths are there?
– How do I determine/create these tests?

• There are three approaches to answering
these questions, all require a flow graph
99

Mastering Test Design V 4.0 © SQE 2001-2011

1st Method to Determine Tests
Input a
Input b
Input c

• McCabe’s technique for
calculating units
– Convert the code to a flow
graph
– Compute the paths by e-n+2(p)
– This is called Cyclomatic
Complexity

If
(a==2)
n=n/2

• The number of paths to test
• All decision options are tested
• Each statement is covered at least
once

n=n+2

p=q/r

If
(b/c>3)
z=x+y

Mastering Test Design V 4.0 © SQE 2001-2011

100
How Many Tests?
Input a
Input b
Input c

• Compute the
paths by e-n+2(p)

If
(a==2)

• e=9
n=n/2

n=n+2

p=q/r

If
(b/c>3)
z=x+y
101

Mastering Test Design V 4.0 © SQE 2001-2011

How Many Tests?
Input a
Input b
Input c

• Compute the paths
by e-n+2(p)

If
(a==2)

• n=8
n=n/2

n=n+2

p=q/r

If
(b/c>3)
z=x+y
Mastering Test Design V 4.0 © SQE 2001-2011

102
How Many Tests?
Input a
Input b
Input c

• Compute the paths by en+2(p)
9-8+2(1)
9 8+2(1) = 3

If
(a==2)

• There are no called
modules, so (p) is set to 1

n=n/2

• There are 3 paths that will
cover the code

n=n+2

p=q/r

– 100% decision coverage
– 100% statement coverage
– Does not guarantee 100%
path coverage

If
(b/c>3)
z=x+y
103

Mastering Test Design V 4.0 © SQE 2001-2011

What are the Paths (tests)?
• Cyclomatic Complexity is 3

A

Input a
Input b
Input c

• Paths are:
B

– ABCEF

If
(a==2)

– ABDEF
– ABDEFG

C

n=n/2

• Test cases should cover at
least three paths
– There is more than one “basis
set” of paths

D

E

p=q/r

F

n=n+2

If
(b/c>3)
z=x+y

Mastering Test Design V 4.0 © SQE 2001-2011

G
104
2nd Method to Determine Tests
Input a
Input b
Input c

• The next approach is to
manually calculate the
regions of the graph
– Convert the code to a flow graph
– Count the regions of the flow
graph (including the exterior)

If
(a==2)
n=n/2

• An area enclosed by lines (edges)
is a region
• The external area is always a
region

1

n=n+2

p=q/r

3
If
(b/c>3)

• This can be expressed as
– Regions + 1

2

z=x+y
105

Mastering Test Design V 4.0 © SQE 2001-2011

3rd Method to Determine Tests
• The third approach is to
manually calculate the
decisions in the graph
– Convert the code to a flow graph
– Count the decision nodes in the
flow graph

Input a
Input b
Input c

1

If
(a==2)

n=n/2

n=n+2

p=q/r

• This can be expressed as
– Decisions + 1

2

If
(b/c>3)
z=x+y

Mastering Test Design V 4.0 © SQE 2001-2011

106
Number of Paths (Tests)
• You will notice that all three methods
generate the same result
– CC
– Regions
– Decisions

9-8+2(1) = 3
2+1 = 3
2+1 = 3

• Regions and decisions require the
construction of a graph or manual
analysis of the code
• Cyclomatic complexity can be calculated
using a tool, or done manually

107

Mastering Test Design V 4.0 © SQE 2001-2011

So, What are the Paths (Tests)?
A

– ABCEF
C

a=1
b=2
c=3

B

• Path one:

If
(a==2)

n=n/2

D

E

p=q/r

F

n=n+2

If
(b/c>3)
z=x+y

Mastering Test Design V 4.0 © SQE 2001-2011

G
108
So, What are the Paths (Tests)?
A

– ABDEF
C

a=1
b=2
c=3

B

• Path two:

If
(a==2)

n=n/2

D

E

p=q/r

F

n=n+2

If
(b/c>3)
z=x+y

G
109

Mastering Test Design V 4.0 © SQE 2001-2011

So, What are the Paths (Tests)?
A

– ABDEFG
C

a=1
b=2
c=3

B

• Path three:

If
(a==2)

n=n/2

D

E

p=q/r

F

n=n+2

If
(b/c>3)
z=x+y

Mastering Test Design V 4.0 © SQE 2001-2011

G
110
What about (P) ?
• If there are called programs the
computation must account for those
modules as well
• The change is in how the edges (E) and
nodes (N) are determined.
– P represents the number of unconnected parts of
the graph

111

Mastering Test Design V 4.0 © SQE 2001-2011

What about (P)?
M1 A
B
C

n=n/2

M2

a=1
b=2
c=3

CALL

B

If
(a==2)

D

E

C

If
(b/c>3)

• For
multiple
graphs
– Module 2
is called
by
module 1

D

n=n+2
Call m2

p=q/r

F

A

E
F
z=x+y

G

G
H

Mastering Test Design V 4.0 © SQE 2001-2011

112
What about (P)?
M1 A
B
C

M2

a=1
b=2
c=3

D

• Sum the
total edges

M

N

If
(a==2)

n=n/2

CALL

– Module 1

O

• 9 edges

– Module 2

P

n=n+2
Call m2

• 9 edges

– Total
E

p=q/r

F

If
(b/c>3)

• 18 edges

Q
R
T

G

z=x+y

S

113

Mastering Test Design V 4.0 © SQE 2001-2011

What about (P)?
M1 A
B
C

n=n/2

M2

a=1
b=2
c=3

CALL

N

If
(a==2)

D

• Sum the
total nodes

M
O

– Module 1
• 8 nodes

– Module 2

P

n=n+2
Call m2

• 8 nodes

– Total
E

p=q/r

F

If
(b/c>3)

• 16 nodes

Q
R
z=x+y

G

S
T

Mastering Test Design V 4.0 © SQE 2001-2011

114
Calculate the Total Complexity
M1 A
B
C

M2

a=1
b=2
c=3

D

E

C
D

If
(b/c>3)

• 18 – 16 + 2(2) = 6

E

n=n+2
Call m2

p=q/r

F

• Calculate
Complexity

A

B

If
(a==2)

n=n/2

CALL

• We replace (P)
with two, for the
two graphs

F
z=x+y

G

G
H

Mastering Test Design V 4.0 © SQE 2001-2011

115

Chapter 4

Black Box
Art
Mastering Test Design V 4.0 © SQE 2001-2011

116
Tutorial Agenda
1.
2.
3.
4.
5.
6.

Introduction
Black Box Science
White Box Science
Black Box Art
Defect Taxonomies
Wrap-up

Mastering Test Design V 4.0 © SQE 2001-2011

117

Objectives
• At the end of this chapter you will be able
to
– Implement creative test case selection techniques
– Evaluate the use of exploratory testing

Mastering Test Design V 4.0 © SQE 2001-2011

118
Why Science is Not Enough
• Limits of science
– Programmers are logical thinkers so they catch
thinkers,
many of the “logical’ defects
– Real users are NOT necessarily logical
– Real environmental circumstances are often
illogical
– Can’t test enough combinations with just scientific
techniques
t h i

119

Mastering Test Design V 4.0 © SQE 2001-2011

Hunches and Guessing
• Talent based testing
– Based on the implementation
– Some individuals can walk up
to a system and “break” it
– Good to have multi-dimensional
teams doing the testing
– Experienced testers can just
“know” what i lik l to break
“k
” h t is likely t b k

Mastering Test Design V 4.0 © SQE 2001-2011

Bet I can break
it!!!

120
Group Insights / Examples
• Experience can be shared with examples
– “Best practices examples of test cases posted on
Best practices”
an internal web site
• “Best” is a relative term; what’s good on one
system/application may not work on another

– Examples of good tests based on type of element
being tested
• Compiled by experienced personnel
• Available to everyone
• Can be a standard, guidelines, or suggestions

121

Mastering Test Design V 4.0 © SQE 2001-2011

Exploratory Testing

“The classical approach to
test design is like playing ‘20
Questions’ by writing out all
the questions in advance.”
- James Bach

Mastering Test Design V 4.0 © SQE 2001-2011

122
Exploratory Testing
“Exploratory Testing, as I practice it, usually
proceeds according to a conscious plan. But not
a rigorous plan … it is not scripted in detail.”

“To the extent that the next test we do is
influenced by the result of the last test we did, we
are doing exploratory testing. We become more
exploratory when we can’t tell what tests should
be run in advance of the test cycle.”
cycle ”
- James Bach

Mastering Test Design V 4.0 © SQE 2001-2011

123

Exploratory Testing
• Test cases themselves are NOT pre-planned
– Exploratory testing can be concurrent with product
development and test execution
– Based on implicit and explicit (if they exist)
specifications as well as the “as built” product
– Starts with a conjecture as to correct behavior,
followed by exploration for evidence that it
works/does not work
– Based on some kind of mental model
– “T it and see if it works” (James Bach
“Try
d
k ” (J
B h
www.satisfice.com is an excellent resource for more
on this topic)

Mastering Test Design V 4.0 © SQE 2001-2011

124
Exploratory Testing
•

Basic steps to exploratory testing
1.
1
2.
3.
4.
5.

Identify the purpose of the product
Identify functions
Identify areas of potential instability
Test each function and record problems
Design and record a consistency verification test

Mastering Test Design V 4.0 © SQE 2001-2011

125

Create Creative Invalids
• Break the rules in unexpected ways
– No logic
– Strange
• Order
• Combinations
• Exception conditions

– The “nobody would ever do that” tests

• B i Beizer: “It helps to have some
Boris B i
“I h l
h
devious testers.”

Mastering Test Design V 4.0 © SQE 2001-2011

126
Class Exercise
• Pick your technique
– Data in the range 0.0-1.0 should be processed
using algorithm A, data between 1.0 and 10.0
g g
,
using algorithm B, and data between 10.0 and
100.0 using algorithm C.
– We’ve got very few written requirements for this
system. We do, however, know something about
how the system is to operate its behavior and
operate,
behavior,
functions.

Mastering Test Design V 4.0 © SQE 2001-2011

127

Class Exercise
• Pick your technique (continued)
– If condition 1 (C1) is true and condition 2 (C2) is
,
( )
true, then action 1 (A1) should be taken. If C1 is
true and C2 is false, then A2 is the proper
response. If C1 is false and C2 is true, then A3 is
appropriate. If C1 is false and C2 is false, then A4
is the correct action.

Mastering Test Design V 4.0 © SQE 2001-2011

128
Class Exercise
• Pick your technique (continued)
– In state 1 (S1) events 1 (E1) and 2
( )
(E2) are valid while event 3 (E3) is
( )
not. In state 2 (S2) events 1 (E1) and
3 (E3) are valid while event 2 (E2) is
not. In state 3 (S3) events 2 (E2) and
3 (E3) are valid while event 1 (E1) is
not. If the system is in S1 and E2
occurs, then action 1 (A1) should be
taken. If the system is in S3 and E3
occurs, then action 2 (A2) should be
taken.

Mastering Test Design V 4.0 © SQE 2001-2011

129

Class Exercise
• Pick your technique (continued)
– I’ve got so many combinations to test I
j
just can’t do them all. Please help!
p

Mastering Test Design V 4.0 © SQE 2001-2011

130
Chapter 5

Defect
Taxonomies
Mastering Test Design V 4.0 © SQE 2001-2011

131

Tutorial Agenda
1.
2.
3.
4.
5.
6.

Introduction
Black Box Science
White Box Science
Black box Art
Defect Taxonomies
Wrap-up

Mastering Test Design V 4.0 © SQE 2001-2011

132
Using a Taxonomy
• A taxonomy is a classification of things into
ordered groups or categories that indicate
natural, hierarchical relationships.
p
– In software test design we are concerned
with taxonomies of defects, ordered lists of
common defects we expect to encounter in
our testing.

Mastering Test Design V 4.0 © SQE 2001-2011

133

Sample Taxonomies
• One of the first defect taxonomies was
defined by Boris Beizer in Software Testing
Techniques.
q
• The classic book Testing Computer Software
by Cem Kaner contains a detailed taxonomy
of more than 400 types of defects.
• Robert Binder notes that many defects in the
object-oriented paradigm are p
j
p
g
problems using
g
encapsulation, inheritance, polymorphism,
message sequencing, and state-transitions.

Mastering Test Design V 4.0 © SQE 2001-2011

134
Sample Taxonomies
• James Whittaker’s book How to Break
Software is a tester’s delight. Proponents of
exploratory testing exhort us to “explore.”
p
y
g
p
Whittaker tells us specifically “where to
explore.” Not only does he identify areas in
which faults tend to occur, but he defines
specific testing attacks to locate these faults.
• Giri Vijayaraghavan has chosen a much
narrower focus—the eCommerce shopping
cart.
Mastering Test Design V 4.0 © SQE 2001-2011

135

Example Taxonomy
1XXX

Requirements

11XX

Requirements incorrect

12XX

Requirements logic

13XX

Requirements, completeness
R
i
t
l t

14XX

Verifiability

15XX

Presentation, documentation

16XX

Requirements changes

2XXX

Features And Functionality

21XX

Feature/function correctness

22XX

Feature completeness

23XX

Functional case completeness
F
ti
l
l t

24XX

Domain bugs

25XX

User messages and diagnostics

26XX

Exception conditions mishandled

A Portion of Beizer’s Taxonomy
Mastering Test Design V 4.0 © SQE 2001-2011

136
Example Taxonomy (continued)
3XXX

Structural Bugs

31XX

Control flow and sequencing

32XX

Processing

4XXX

Data

41XX

Data definition and structure

42XX

Data access and handling

5XXX

Implementation and Coding

51XX

Coding and typographical

52XX

Style and standards violations

53XX

Documentation

6XXX

Integration

61XX

Internal interfaces

62XX

External interfaces, timing, throughput

7XXX

System and Software Architecture

A Portion of Beizer’s Taxonomy
Mastering Test Design V 4.0 © SQE 2001-2011

137

Example Taxonomy (continued)
71XX

O/S call and use

72XX

Software architecture

73XX

Recovery and accountability

74XX

Performance

75XX

Incorrect diagnostics, exceptions

76XX

Partitions, overlays

77XX

System generation, environment

8XXX

Test Definition and Execution

81XX

Test design bugs

82XX

Test execution bugs

83XX

Test documentation

84XX

Test case completeness

A Portion of Beizer’s Taxonomy
Mastering Test Design V 4.0 © SQE 2001-2011

138
Taxonomy Sources
• Beizer, Boris (1990). Software Testing Techniques (2nd
Edition). Van Nostrand Reinhold.
• Binder, Robert V. (2000). Testing Object-Oriented Systems:
Models, Patterns, and Tools. Addison-Wesley.
• Kaner, Cem, Jack Falk, and Hung Quoc Nguyen (1999).
Testing Computer Software (2nd Edition). John Wiley & Sons.
• Whittaker, James A. (2003). How To Break Software: A
Practical Guide to Testing. Addison Wesley.
• Vijayaraghavan, Giri and Cem Kaner. “Bugs in your shopping
cart” www.testingeducation.org/articles/BISC_Final.pdf

Mastering Test Design V 4.0 © SQE 2001-2011

139

Chapter 6

Wrap Up

Mastering Test Design V 4.0 © SQE 2001-2011

140
Tutorial Agenda
1.
2.
3.
4.
5.
6.

Introduction
Black Box Science
White Box Science
Black Box Art
Defect Taxonomies
Wrap-up

Mastering Test Design V 4.0 © SQE 2001-2011

141

Current Challenges
?
?
?
?
?
?
?
?
?

Now what?

Mastering Test Design V 4.0 © SQE 2001-2011

142
Tutorial Goals Achieved
• You are now able to
– Design test cases using structured techniques
– Implement the “art” of test case design as well
as the “science”
– Understand how defect taxonomies can
improve test case design

Mastering Test Design V 4.0 © SQE 2001-2011

143

Tutorial Evaluations

Tutorial Evaluation
How did we do?
* Great

* Wonderful

* Fantastic

* Terrific

* Superior

* Excellent

Mastering Test Design V 4.0 © SQE 2001-2011

144
Thank You
• On behalf of Software Quality Engineering, thank
you for attending this tutorial.
• If you have further needs for training or
consulting, please think first of SQE.
• If I can be of further assistance, please let me
know. My email is lee@sqe.com

Mastering Test Design V 4.0 © SQE 2001-2011

145

Good Luck!

Mastering Test Design V 4.0 © SQE 2001-2011

146

More Related Content

What's hot

Test design techniques
Test design techniquesTest design techniques
Test design techniquesPragya Rastogi
 
Test design techniques
Test design techniquesTest design techniques
Test design techniquesBipul Roy Bpl
 
Istqb foundation level training 2018 syllabus - day1 intro
Istqb foundation level training   2018 syllabus - day1 intro Istqb foundation level training   2018 syllabus - day1 intro
Istqb foundation level training 2018 syllabus - day1 intro Hassan Muhammad
 
Odin2019-AIML-suported_Test.pptx
Odin2019-AIML-suported_Test.pptxOdin2019-AIML-suported_Test.pptx
Odin2019-AIML-suported_Test.pptxMinh Nguyen
 
Testing foundations
Testing foundationsTesting foundations
Testing foundationsNeha Singh
 
Design Test Case Technique (Equivalence partitioning And Boundary value analy...
Design Test Case Technique (Equivalence partitioning And Boundary value analy...Design Test Case Technique (Equivalence partitioning And Boundary value analy...
Design Test Case Technique (Equivalence partitioning And Boundary value analy...Ryan Tran
 
Test Driven Development and Quality Improvement
Test Driven Development and Quality ImprovementTest Driven Development and Quality Improvement
Test Driven Development and Quality ImprovementCarlos Solís
 
ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4Yogindernath Gupta
 
B.tech admission in idia
B.tech admission in idiaB.tech admission in idia
B.tech admission in idiaEdhole.com
 
Software testing- an introduction
Software testing- an introductionSoftware testing- an introduction
Software testing- an introductionSanthi Priyan
 
Testify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeedTestify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeedMinh Nguyen
 
Test design techniques
Test design techniquesTest design techniques
Test design techniquesOksana
 
Test Case Design
Test Case DesignTest Case Design
Test Case Designacatalin
 

What's hot (18)

CV_DhalapathyShunmugam
CV_DhalapathyShunmugamCV_DhalapathyShunmugam
CV_DhalapathyShunmugam
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
 
Istqb foundation level training 2018 syllabus - day1 intro
Istqb foundation level training   2018 syllabus - day1 intro Istqb foundation level training   2018 syllabus - day1 intro
Istqb foundation level training 2018 syllabus - day1 intro
 
Odin2019-AIML-suported_Test.pptx
Odin2019-AIML-suported_Test.pptxOdin2019-AIML-suported_Test.pptx
Odin2019-AIML-suported_Test.pptx
 
Testing foundations
Testing foundationsTesting foundations
Testing foundations
 
Design Test Case Technique (Equivalence partitioning And Boundary value analy...
Design Test Case Technique (Equivalence partitioning And Boundary value analy...Design Test Case Technique (Equivalence partitioning And Boundary value analy...
Design Test Case Technique (Equivalence partitioning And Boundary value analy...
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
 
Test Driven Development and Quality Improvement
Test Driven Development and Quality ImprovementTest Driven Development and Quality Improvement
Test Driven Development and Quality Improvement
 
ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4
 
B.tech admission in idia
B.tech admission in idiaB.tech admission in idia
B.tech admission in idia
 
Software testing- an introduction
Software testing- an introductionSoftware testing- an introduction
Software testing- an introduction
 
Testing ppt
Testing pptTesting ppt
Testing ppt
 
Testify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeedTestify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeed
 
Test case development
Test case developmentTest case development
Test case development
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
 
Black box & white-box testing technique
Black box & white-box testing techniqueBlack box & white-box testing technique
Black box & white-box testing technique
 
Test Case Design
Test Case DesignTest Case Design
Test Case Design
 

Viewers also liked

How to Break Software: Robustness Edition
How to Break Software: Robustness EditionHow to Break Software: Robustness Edition
How to Break Software: Robustness EditionTechWell
 
Collaboration Techniques: Combining New Approaches with Ancient Wisdom
Collaboration Techniques: Combining New Approaches with Ancient WisdomCollaboration Techniques: Combining New Approaches with Ancient Wisdom
Collaboration Techniques: Combining New Approaches with Ancient WisdomTechWell
 
Leading Change—Even If You’re Not in Charge
Leading Change—Even If You’re Not in ChargeLeading Change—Even If You’re Not in Charge
Leading Change—Even If You’re Not in ChargeTechWell
 
A Big Helping of DevOps with Career Advice on the Side
A Big Helping of DevOps with Career Advice on the SideA Big Helping of DevOps with Career Advice on the Side
A Big Helping of DevOps with Career Advice on the SideTechWell
 
Maybe We Don’t Have to Test It
Maybe We Don’t Have to Test ItMaybe We Don’t Have to Test It
Maybe We Don’t Have to Test ItTechWell
 
Essential Test Management and Planning
Essential Test Management and PlanningEssential Test Management and Planning
Essential Test Management and PlanningTechWell
 
Getting Ready for Your Agile Adventure
Getting Ready for Your Agile AdventureGetting Ready for Your Agile Adventure
Getting Ready for Your Agile AdventureTechWell
 
Test-Driven Development for Developers: Plain and Simple
Test-Driven Development for Developers: Plain and SimpleTest-Driven Development for Developers: Plain and Simple
Test-Driven Development for Developers: Plain and SimpleTechWell
 
Deadlines Approaching? Budgets Cut? How to Keep Your Sanity
Deadlines Approaching? Budgets Cut? How to Keep Your SanityDeadlines Approaching? Budgets Cut? How to Keep Your Sanity
Deadlines Approaching? Budgets Cut? How to Keep Your SanityTechWell
 
Testing with an Accent: Internationalization Testing
Testing with an Accent: Internationalization TestingTesting with an Accent: Internationalization Testing
Testing with an Accent: Internationalization TestingTechWell
 
Production Performance Testing in the Cloud
Production Performance Testing in the CloudProduction Performance Testing in the Cloud
Production Performance Testing in the CloudTechWell
 
Baking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile TesterBaking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile TesterTechWell
 
Keynote: The Mismeasure of Software: The Last Talk on Measurement You’ll Ever...
Keynote: The Mismeasure of Software: The Last Talk on Measurement You’ll Ever...Keynote: The Mismeasure of Software: The Last Talk on Measurement You’ll Ever...
Keynote: The Mismeasure of Software: The Last Talk on Measurement You’ll Ever...TechWell
 
Demystifying the Role of Product Owner
Demystifying the Role of Product OwnerDemystifying the Role of Product Owner
Demystifying the Role of Product OwnerTechWell
 
Implementing DevOps and Making It Stick
Implementing DevOps and Making It StickImplementing DevOps and Making It Stick
Implementing DevOps and Making It StickTechWell
 

Viewers also liked (16)

How to Break Software: Robustness Edition
How to Break Software: Robustness EditionHow to Break Software: Robustness Edition
How to Break Software: Robustness Edition
 
Collaboration Techniques: Combining New Approaches with Ancient Wisdom
Collaboration Techniques: Combining New Approaches with Ancient WisdomCollaboration Techniques: Combining New Approaches with Ancient Wisdom
Collaboration Techniques: Combining New Approaches with Ancient Wisdom
 
Leading Change—Even If You’re Not in Charge
Leading Change—Even If You’re Not in ChargeLeading Change—Even If You’re Not in Charge
Leading Change—Even If You’re Not in Charge
 
A Big Helping of DevOps with Career Advice on the Side
A Big Helping of DevOps with Career Advice on the SideA Big Helping of DevOps with Career Advice on the Side
A Big Helping of DevOps with Career Advice on the Side
 
Maybe We Don’t Have to Test It
Maybe We Don’t Have to Test ItMaybe We Don’t Have to Test It
Maybe We Don’t Have to Test It
 
Essential Test Management and Planning
Essential Test Management and PlanningEssential Test Management and Planning
Essential Test Management and Planning
 
Getting Ready for Your Agile Adventure
Getting Ready for Your Agile AdventureGetting Ready for Your Agile Adventure
Getting Ready for Your Agile Adventure
 
Test-Driven Development for Developers: Plain and Simple
Test-Driven Development for Developers: Plain and SimpleTest-Driven Development for Developers: Plain and Simple
Test-Driven Development for Developers: Plain and Simple
 
Deadlines Approaching? Budgets Cut? How to Keep Your Sanity
Deadlines Approaching? Budgets Cut? How to Keep Your SanityDeadlines Approaching? Budgets Cut? How to Keep Your Sanity
Deadlines Approaching? Budgets Cut? How to Keep Your Sanity
 
Testing with an Accent: Internationalization Testing
Testing with an Accent: Internationalization TestingTesting with an Accent: Internationalization Testing
Testing with an Accent: Internationalization Testing
 
Production Performance Testing in the Cloud
Production Performance Testing in the CloudProduction Performance Testing in the Cloud
Production Performance Testing in the Cloud
 
Baking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile TesterBaking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile Tester
 
Keynote: The Mismeasure of Software: The Last Talk on Measurement You’ll Ever...
Keynote: The Mismeasure of Software: The Last Talk on Measurement You’ll Ever...Keynote: The Mismeasure of Software: The Last Talk on Measurement You’ll Ever...
Keynote: The Mismeasure of Software: The Last Talk on Measurement You’ll Ever...
 
Demystifying the Role of Product Owner
Demystifying the Role of Product OwnerDemystifying the Role of Product Owner
Demystifying the Role of Product Owner
 
W7
W7W7
W7
 
Implementing DevOps and Making It Stick
Implementing DevOps and Making It StickImplementing DevOps and Making It Stick
Implementing DevOps and Making It Stick
 

Similar to Key Test Design Techniques

Fundamental Test Design Techniques
Fundamental Test Design TechniquesFundamental Test Design Techniques
Fundamental Test Design TechniquesTechWell
 
Automated Testing Tutorial
Automated Testing TutorialAutomated Testing Tutorial
Automated Testing TutorialJohn Liebenau
 
LlosengCh10E2.ppt
LlosengCh10E2.pptLlosengCh10E2.ppt
LlosengCh10E2.pptSaba651353
 
Verification and Validation with Innoslate
Verification and Validation with InnoslateVerification and Validation with Innoslate
Verification and Validation with InnoslateElizabeth Steiner
 
Joseph G Scott
Joseph G  ScottJoseph G  Scott
Joseph G ScottJoe Scott
 
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...GoQA
 
Getting Started with Test-Driven Development at Longhorn PHP 2023
Getting Started with Test-Driven Development at Longhorn PHP 2023Getting Started with Test-Driven Development at Longhorn PHP 2023
Getting Started with Test-Driven Development at Longhorn PHP 2023Scott Keck-Warren
 
Class9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfClass9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfFarjanaParvin5
 
Agile Mumbai 2020 Conference | How to get the best ROI on Your Test Automati...
Agile Mumbai 2020 Conference |  How to get the best ROI on Your Test Automati...Agile Mumbai 2020 Conference |  How to get the best ROI on Your Test Automati...
Agile Mumbai 2020 Conference | How to get the best ROI on Your Test Automati...AgileNetwork
 
Test data documentation ss
Test data documentation ssTest data documentation ss
Test data documentation ssAshwiniPoloju
 
Mt s11 test_design
Mt s11 test_designMt s11 test_design
Mt s11 test_designTestingGeeks
 
Testing software
Testing softwareTesting software
Testing softwareBlueTree5
 
CEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptCEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptMRDNI
 
CEN6070.1.Chapter10.1 (1).ppt
CEN6070.1.Chapter10.1 (1).pptCEN6070.1.Chapter10.1 (1).ppt
CEN6070.1.Chapter10.1 (1).pptdheeraj438799
 
CEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptCEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptEshakRajendran1
 
CEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptCEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptBalaji Kt
 
CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4SIMONTHOMAS S
 

Similar to Key Test Design Techniques (20)

Fundamental Test Design Techniques
Fundamental Test Design TechniquesFundamental Test Design Techniques
Fundamental Test Design Techniques
 
Automated Testing Tutorial
Automated Testing TutorialAutomated Testing Tutorial
Automated Testing Tutorial
 
LlosengCh10E2.ppt
LlosengCh10E2.pptLlosengCh10E2.ppt
LlosengCh10E2.ppt
 
Verification and Validation with Innoslate
Verification and Validation with InnoslateVerification and Validation with Innoslate
Verification and Validation with Innoslate
 
Joseph G Scott
Joseph G  ScottJoseph G  Scott
Joseph G Scott
 
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...
КАТЕРИНА АБЗЯТОВА - Certify with confidence: ISTQB Foundation 4.0. Common err...
 
Getting Started with Test-Driven Development at Longhorn PHP 2023
Getting Started with Test-Driven Development at Longhorn PHP 2023Getting Started with Test-Driven Development at Longhorn PHP 2023
Getting Started with Test-Driven Development at Longhorn PHP 2023
 
Class9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfClass9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdf
 
Agile Mumbai 2020 Conference | How to get the best ROI on Your Test Automati...
Agile Mumbai 2020 Conference |  How to get the best ROI on Your Test Automati...Agile Mumbai 2020 Conference |  How to get the best ROI on Your Test Automati...
Agile Mumbai 2020 Conference | How to get the best ROI on Your Test Automati...
 
Resume
ResumeResume
Resume
 
Test data documentation ss
Test data documentation ssTest data documentation ss
Test data documentation ss
 
Mt s11 test_design
Mt s11 test_designMt s11 test_design
Mt s11 test_design
 
G53 qat09pdf6up
G53 qat09pdf6upG53 qat09pdf6up
G53 qat09pdf6up
 
QualiTest
QualiTestQualiTest
QualiTest
 
Testing software
Testing softwareTesting software
Testing software
 
CEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptCEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.ppt
 
CEN6070.1.Chapter10.1 (1).ppt
CEN6070.1.Chapter10.1 (1).pptCEN6070.1.Chapter10.1 (1).ppt
CEN6070.1.Chapter10.1 (1).ppt
 
CEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptCEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.ppt
 
CEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptCEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.ppt
 
CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4
 

More from TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and RecoveringTechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartTechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyTechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityTechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyTechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipTechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsTechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GameTechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsTechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationTechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessTechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateTechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessTechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTechWell
 

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Recently uploaded

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Recently uploaded (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Key Test Design Techniques

  • 1. TB Full-day Tutorial 4/30/13 8:30AM Key Test Design Techniques Presented by: Lee Copeland Software Quality Engineering Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  • 2. Lee Copeland With more than thirty years of experience as an information systems professional at commercial and nonprofit organizations, Lee Copeland has held technical and managerial positions in applications development, software testing, and software process improvement. Lee has developed and taught numerous training courses on software development and testing issues and is a well-known speaker with Software Quality Engineering. Lee presents at software conferences in the United States and abroad. He is the author of the popular reference book, A Practitioner’s Guide to Software Test Design.
  • 3. Key y Test Design Techniques Software Quality Engineering Lee Copeland 340 Corporate Way, Suite 300 Orange Park, Florida 32073 904.278.0707 lee@sqe.com SQE ©2001-2011 Version 4.0 Administrivia Tutorial timing Tutorial materials Meals Messages Pagers and Cell phones Facilities Smoking Mastering Test Design V 4.0 © SQE 2001-2011 Breaks 2
  • 4. Tutorial Goals • At the end of the tutorial you will be able to – Design test cases using structured, formal structured formal, “scientific” techniques – Implement the “art” of test case design as well as the science – Understand how defect taxonomies can improve test case design Mastering Test Design V 4.0 © SQE 2001-2011 3 Chapter 1 Introduction Mastering Test Design V 4.0 © SQE 2001-2011 4
  • 5. Tutorial Agenda 1. 2. 3. 4. 5. 6. Introduction Black Box Science White Box Science Black Box Art Defect Taxonomies Wrap-up Mastering Test Design V 4.0 © SQE 2001-2011 5 Chapter Objectives • At the end of this chapter you will be able to – Define “testing” – Define the components of a test case – Discuss the problems of how much testing can be done Mastering Test Design V 4.0 © SQE 2001-2011 6
  • 6. Test Design Process - Context Master Test Plan Detailed Test Plans Test Analysis Systematic S t ti Software Testing Test Design tutorial Test Implementation Mastering Test Design V 4.0 © SQE 2001-2011 7 What is Testing? • IEEE Std 610 Software Engineering Terminology: “test” 1. 1 An activity in which a system or component is executed under specified conditions, the results are observed or recorded, and an evaluation is made of some aspect of the system or component 2. To conduct an activity as in (1) 3. 3 A set of one or more test cases 4. A set of one or more test procedures 5. A set of one or more test cases and procedures Mastering Test Design V 4.0 © SQE 2001-2011 8
  • 7. What Do We Test? Fundamental issues FUNCTIONS Usability Security Localization Extensibility Portability Reliability Availability Testability Interoperability Real-time issues Timing Throughput Capacity Performance System management issues Overload Backup and Recovery Start-up Start up and shut down shut-down Purchased software Operating systems DBMS Communications Mastering Test Design V 4.0 © SQE 2001-2011 9 Current Challenges In Test Design ? ? ? ? ? ? ? ? ? Mastering Test Design V 4.0 © SQE 2001-2011 10
  • 8. What Are Test Cases? Order of execution Test environment Output(s) Input(s) Mastering Test Design V 4.0 © SQE 2001-2011 11 What Are Test Cases? • Inputs can be Input(s) – Data entered through the UI – Data from interfacing systems – Data from interfacing devices – Files –D t b Databases – State – Environment Mastering Test Design V 4.0 © SQE 2001-2011 12
  • 9. What Are Test Cases? • Outputs can be: – Data to UI – Data to interfacing systems – Data to interfacing devices – Files – Databases – State – Response time Output(s) Mastering Test Design V 4.0 © SQE 2001-2011 13 Test Everything? Data Combinations Impossible! Paths Mastering Test Design V 4.0 © SQE 2001-2011 14
  • 10. Test Wisely! Cost effective Time limited Risk based Choose wisely Tool support Mastering Test Design V 4.0 © SQE 2001-2011 15 Chapter 2 Black Box Science Mastering Test Design V 4.0 © SQE 2001-2011 16
  • 11. Tutorial Agenda 1. 2. 3. 4. 5. 6. Introduction Black Box Science White Box Science Black Box Art Defect Taxonomies Wrap-up Mastering Test Design V 4.0 © SQE 2001-2011 17 Objectives • At the end of this chapter you will be able to – Implement the Equivalence Class Partitioning and Boundary Value testing techniques – Create a Decision Table – Describe when State-Transition diagrams are useful and how to create one – Understand and use “All Pairs” based techniques • Orthogonal arrays and pairs based test cases – Create a Traceability Matrix • If one is desired or required Mastering Test Design V 4.0 © SQE 2001-2011 18
  • 12. What is Black Box Science? • Black Box – Focus only on the inputs and outputs – Ignore the internal paths, structure, and implementation – Can’t know the percentage of code tested • Science – Use structured approach(es) – Approach all data the same – Have a methodology based coverage measure 19 Mastering Test Design V 4.0 © SQE 2001-2011 Black Box at Different Levels Unit Subsystem System A black box is a black box is a black box. It’s just a bigger box with more input, functionality, and output. Mastering Test Design V 4.0 © SQE 2001-2011 20
  • 13. For Each Software Requirement • First let’s focus on one requirement / function / story at a time – Equivalence Class Partitioning – Boundary Value Testing – Combining both across multiple inputs 21 Mastering Test Design V 4.0 © SQE 2001-2011 Equivalence Class Partitioning • The role of Equivalence Class Partitioning – Create the minimum number of black box tests p g q g needed while still providing adequate coverage • Steps 1. Identify equivalence classes - the input ranges which are treated the same by the software • • Valid classes: legal input ranges Invalid classes: illegal or out of range input values 2. Create test 2 C t a t t case for each of the equivalence f h f th i l classes Invalid Valid Mastering Test Design V 4.0 © SQE 2001-2011 Invalid 22
  • 14. Equivalence Class Partitioning 1. If an input condition specifies a continuous range of values, there is one valid class and two invalid classes. – Example: The input variable is a mortgage applicant’s income. The valid range is $1000.00/mo. to $75,000.00/mo. • • Valid class: Invalid classes: {1000.00 < = income < = 75,000.00} {income < 1000.00}, {income > 75,000.00} 2. If an input condition specifies a discrete range of permissible values, there is one valid class and two invalid classes. – Example: The input variable is the total number of houses being purchased, from 1 to 5. • • Valid class: Invalid classes: {1 < = #_Houses < = 5} {#_Houses < 1}, {#_Houses > 5} Mastering Test Design V 4.0 © SQE 2001-2011 23 Equivalence Class Partitioning 3. If an input condition specifies a set of values, there is one valid and one invalid equivalence class. – Example: Types of housing are Condo, Townhouse, and Single F il Si l Family • • • Valid class: {Condo, Townhouse, Single Family} Invalid class: {...anything else...} Sets are different – If each member of a set yields the same result the set is a single class – If each member generates a different result then each member is a separate class with one valid and one invalid class Mastering Test Design V 4.0 © SQE 2001-2011 24
  • 15. Equivalence Class Partitioning 4. If a “must be” condition is required, there is one valid equivalence class and one invalid class. – Example: The mortgage applicant must be a person. • • Valid class: Invalid class: {person} {corporation, ...anything else...} 25 Mastering Test Design V 4.0 © SQE 2001-2011 Another Way to Annotate Partitions 999.99 Invalid 0 Invalid All Else 1000.00 to 75,000.00 75,000.01 Valid Invalid 1 to 5 6 Valid Invalid Condo, Townhouse, Single Family Invalid Valid All Else Person Invalid Valid Mastering Test Design V 4.0 © SQE 2001-2011 26
  • 16. Equivalence Class Partitioning • Steps for creating the test cases 1. Define the equivalence classes for your rules 2. Write the first test case to cover as many of the valid equivalence classes from the rule set as possible (although they may be mutually exclusive) 3. Continue writing test cases until all of the valid equivalence classes from the rules have been covered 4. Write one test case for each invalid class 27 Mastering Test Design V 4.0 © SQE 2001-2011 Example Test Cases (EP) Test Case Income 1 $ , $4,000.00 Valid Test Cases No. Type Person 2 Condo Bob Invalid Test Cases 2 $90,000.00 1 Condo 3 $800.00 2 Single Family Leroy 4 $4,000.00 7 Townhouse Larry 5 $2,000.00 0 Condo Helen 6 $5,500.00 $5 500 00 2 Office Bldg. Offi Bld Sam S 7 $60,000.00 2 Townhouse ABC Incorporated Mastering Test Design V 4.0 © SQE 2001-2011 Bob’s mom 28
  • 17. Boundary Value Testing (BV) • The role of Boundary Value Testing – An additional black box testing approach • Almost always used with Equivalence Partitioning – Test cases at the boundary of each input • Includes the following – At the boundary (where possible or if significant) – Just below the boundary – Just above the boundary 29 Mastering Test Design V 4.0 © SQE 2001-2011 Example Test Cases (EP/BV) Test Case Income Valid Test Cases No. Type Person 1 $ , $1,000.00 1 Condo Bob 2 $75,000.00 5 Single Family Helen 3 $37,500.00 3 Townhouse George Invalid Test Cases 4 $75,000.01 1 Condo 5 $999.99 2 Single Family Leroy 6 $4,000.00 $4 000 00 6 Townhouse T h Larry L 7 $2,000.00 0 Condo Helen 8 $5,500.00 2 Office Bldg. Sam 9 $60,000.00 2 Townhouse ABC Incorporated Mastering Test Design V 4.0 © SQE 2001-2011 Bob’s mom 30
  • 18. More Classes of Invalids • Looking at more than one data field at a time – Try invalid combinations • All inputs are in valid range • But they are NOT valid together • Example: Singapore Airlines, Calcutta to Sydney, Wednesday (they have no flights on this route on Wednesday) – Try invalid orders • All inputs in the valid range • But NOT valid due to timing or order • Examples: using a system without logging on; asking for a refund before paying Mastering Test Design V 4.0 © SQE 2001-2011 31 For All Software Requirements • Focus on testing all of the requirements to make sure they interoperate successfully – – – – Cross-functional testing Decision Tables State-Transition diagrams Pair based methods • Orthogonal Arrays g y • Combinatorial Analysis (all pairs) Mastering Test Design V 4.0 © SQE 2001-2011 32
  • 19. Cross Functional Testing • Definition – Test more than one function at a time – Possibly run these tests first – Why? • Discover design and interface errors Mastering Test Design V 4.0 © SQE 2001-2011 33 Cross Functional Testing EXAMPLE TC1 TC2 TC3 TC4 TC5 Database 2 Mail server 2 Remote Application 3 Remote Application 2 Remote Application 1 Database 1 Mail server 1 User interface * * * * * * * * * * * * * * * * * Mastering Test Design V 4.0 © SQE 2001-2011 34
  • 20. Decision Table • Definition – A table listing all possible “conditions” (inputs) and all possible “actions” ( p ) p (outputs) – There is a “rule” for each possible combination of “conditions” • Decision tables can be used to represent very complex business rules based on a set of defined conditions (requirements) 35 Mastering Test Design V 4.0 © SQE 2001-2011 Decision Table Format Rule 1 Rule 2 ….. Rule N Conditions Condition-1 Condition-2 ……. Condition-x Actions Action-1 A ti 1 Action-2 …… Action-z Mastering Test Design V 4.0 © SQE 2001-2011 36
  • 21. Example Decision Table • From the Internal Revenue Service Rule 1 Action File Return Rule 2 Rule 3 Rule 4 Rule 5 Rule 6 Rule 7 Rule 8 Yes Yes Yes Yes No No No No Yes Yes No No Yes Yes No No Yes No Yes No Yes No Yes No No Condition Single 65 or older OR blind Unearned income > $1560 No Yes No Yes No Yes Yes 37 Mastering Test Design V 4.0 © SQE 2001-2011 Another Decision Table Rule 1 Rule 2 Rule 3 Rule 4 Rule 5 Rule 6 Rule 7 Rule 8 Conditions Claims Age 0 0 1 1 2-4 2-4 5+ 5+ 16-25 26-85 16-25 26-85 16-25 26-85 16-25 26-85 Actions Premium Increase Send Warning Cancel Policy $50 No No $25 No No $100 Yes No $50 No No $400 $200 Yes Yes No No $0 No Yes $0 No Yes • From an automobile insurance company Mastering Test Design V 4.0 © SQE 2001-2011 38
  • 22. Turning Decision Tables into Test Cases • Create the decision table by defining condition and action combinations • Strike out any rules that are “impossible” impossible – Are they really? – How can you guarantee it? • Combine columns where the values are immaterial – We don’t care or do we? don t care, • Select test data to make each rule “fire” Mastering Test Design V 4.0 © SQE 2001-2011 39 State-Transition Diagrams • Used for “state” machines (what happens next is dependent on what has happened before) – Visual illustration of allowed sequences of functions – GREAT for finding correct order of valid operations – EXCELLENT for finding correct order of test cases – May be difficult to get this level of documentation in an updated and current form Mastering Test Design V 4.0 © SQE 2001-2011 40
  • 23. A Simple State Example Please Cancel Make Reservation Pay Money Made Paid Please Cancel/ Refund Cancelled By Customer Please Print Ticket/ Ticket Ticketed Used Give Ticket Please Cancel/ Refund 41 Mastering Test Design V 4.0 © SQE 2001-2011 Simple State Example with Tests Please Cancel Make 1 Reservation 2 34 Pay Money Made Paid Please Cancel/ Refund Cancelled By Customer 1E 2E Please Print Ticket/ Ticket Ticketed Used Give Ticket Please Cancel/ Refund Mastering Test Design V 4.0 © SQE 2001-2011 42
  • 24. All Pairs Methods • Orthogonal Arrays and Combinatorial Analysis • A device for selecting a “good” subset of good all possible combinations – When there are too many combinations to consider – When it’s risky to randomly skip testing large parts of the functionality or combinations • These methods test “All Pairs” (each option with every other option ONCE, but not all combinations across all options). • They exercise multiple pairs simultaneously • Requires knowledge of all legitimate combinations 43 Mastering Test Design V 4.0 © SQE 2001-2011 Example Orthogonal Arrays L4 (23) L18(3661) 1 2 3 4 5 6 7 1 0 0 0 0 0 0 0 1 2 3 2 0 1 2 2 0 1 1 1 0 0 0 3 0 2 1 2 1 0 2 2 0 1 1 4 0 1 1 0 2 2 3 3 1 0 1 5 0 2 0 1 2 1 4 4 1 1 0 6 0 0 2 1 1 2 5 7 1 1 1 1 1 1 0 8 1 2 0 0 1 2 1 9 1 0 2 0 2 1 2 10 1 2 2 1 0 0 3 L9(34) 1 1 0 2 0 3 0 4 0 2 0 1 1 1 3 0 2 2 2 4 1 0 1 2 5 1 1 2 0 6 1 2 0 1 7 2 0 2 8 2 1 9 2 2 11 1 0 1 2 0 2 4 12 1 1 0 2 2 0 5 13 2 2 2 2 2 2 0 14 2 0 1 1 2 0 1 15 2 1 0 1 0 2 2 1 16 2 0 0 2 1 1 3 0 2 17 2 1 2 0 1 0 4 1 0 18 2 2 1 0 0 1 5 Mastering Test Design V 4.0 © SQE 2001-2011 44
  • 25. A Problem To Solve Skype Tools | Options | Privacy Mastering Test Design V 4.0 © SQE 2001-2011 •45 45 A Problem To Solve Mastering Test Design V 4.0 © SQE 2001-2011 •46 46
  • 26. A Problem To Solve • Allow calls from – anyone, contact list (2) • Receive video from – anyone, contact list, no one (3) • Allow IMs from – anyone, contact list (2) • Show video to – contact list, no one (2) • Keep history for – no history, 2 weeks, 1 month, 3 months, forever (5) • Show online status – yes, no (2) • Accept cookies – yes, no (2) 2 x 3 x 2 x 2 x 5 x 2 x 2 = 480 combinations Mastering Test Design V 4.0 © SQE 2001-2011 •47 1 2 3 4 5 6 7 1 0 0 0 0 0 0 0 2 0 0 1 1 2 2 1 3 0 1 0 2 2 1 2 4 0 1 2 0 1 2 3 5 0 2 1 2 1 0 4 6 0 2 2 1 0 1 5 7 1 0 0 2 1 2 5 8 1 0 2 0 2 1 4 9 1 1 1 1 1 1 0 10 1 1 2 2 0 0 47 1 11 1 2 0 1 2 0 3 12 1 2 1 0 0 2 2 13 2 0 1 2 0 1 3 14 2 0 2 1 1 0 2 15 2 1 0 1 0 2 4 16 2 1 1 0 2 0 5 17 2 2 0 0 1 1 1 18 2 2 2 2 2 2 L18(3661) 0 Mastering Test Design V 4.0 © SQE 2001-2011 •48 48
  • 27. Orthogonal Arrays • To use Orthogonal Arrays for test selection, we’ll “map” our testing problem onto an OA • (Generally) Proceed from top to bottom and left to right through the problem variables (because the first language I learned reads left to right and top to bottom) Mastering Test Design V 4.0 © SQE 2001-2011 •49 49 A Problem To Solve • • • • • • • Allow calls from – anyone, contact list (2) Receive video from – anyone, contact list, no one (3) Allow IMs from – anyone, contact list (2) Show video to – contact list, no one (2) Keep history for – no history, 2 weeks, 1 month, 3 months, forever (5) Show online status – yes, no (2) y , ( ) Accept cookies – yes, no (2) 2 x 3 x 2 x 2 x 5 x 2 x 2 = 480 combinations Mastering Test Design V 4.0 © SQE 2001-2011 •50 50
  • 28. Allow Calls From 2 3 4 5 6 7 1 anyOne 0 0 0 0 0 0 2 0 0 1 1 2 2 1 3 0 1 0 2 2 1 2 4 0 1 2 0 1 2 3 5 0 2 1 2 1 0 4 6 0 2 2 1 0 1 5 7 contactList 0 0 2 1 2 5 8 1 0 2 0 2 1 4 9 1 1 1 1 1 1 0 10 1 1 2 2 0 0 1 11 1 2 0 1 2 0 3 12 1 2 1 0 0 2 2 0 1 2 0 1 3 14 2 0 2 1 1 0 2 15 2 1 0 1 0 2 4 16 2 1 1 0 2 0 5 17 2 2 0 0 1 1 1 18 2 2 2 2 2 2 Map contactList onto all 1s 2 13 Map anyOne onto all 0s 0 Mastering Test Design V 4.0 © SQE 2001-2011 •51 Allow Calls From 2 3 4 5 6 7 1 anyOne 0 0 0 0 0 0 2 anyOne 0 1 1 2 2 1 3 anyOne 1 0 2 2 1 2 4 anyOne 1 2 0 1 2 3 5 anyOne 2 1 2 1 0 4 6 anyOne 2 2 1 0 1 5 7 contactList 0 0 2 1 2 5 8 contactList 0 2 0 2 1 4 9 contactList 1 1 1 1 1 0 10 contactList 1 2 2 0 0 1 11 contactList 2 0 1 2 0 3 12 contactList 2 1 0 0 2 2 13 2 0 1 2 0 1 3 14 2 0 2 1 1 0 2 15 2 1 0 1 0 2 4 16 2 1 1 0 2 0 5 17 2 2 0 0 1 1 1 18 2 2 2 2 2 2 51 0 Mastering Test Design V 4.0 © SQE 2001-2011 Repeat for each factor •52 52
  • 29. Allow Calls From Receive Video From 3 4 5 6 7 1 anyOne anyOne 0 0 0 0 0 2 anyOne anyOne 1 1 2 2 1 3 anyOne contactList 0 2 2 1 2 4 anyOne contactList 2 0 1 2 3 5 anyOne noOne 1 2 1 0 4 6 anyOne noOne 2 1 0 1 5 7 contactList anyOne 0 2 1 2 5 8 contactList anyOne 2 0 2 1 4 9 contactList contactList 1 1 1 1 0 10 contactList contactList 2 2 0 0 1 11 contactList noOne 0 1 2 0 3 12 contactList noOne 1 0 0 2 2 13 2 anyOne 1 2 0 1 3 14 2 anyOne 2 1 1 0 2 15 2 contactList 0 1 0 2 4 16 2 contactList 1 0 2 0 5 17 2 noOne 0 0 1 1 1 18 2 noOne 2 2 2 2 Mastering Test Design V 4.0 © SQE 2001-2011 Allow Calls From Receive Video From 1 anyOne 2 anyOne 3 0 53 •53 Allow IMs From 4 5 6 7 anyOne anyOne 0 0 0 0 anyOne contactList 1 2 2 1 anyOne contactList anyOne 2 2 1 2 4 anyOne contactList 2 0 1 2 3 5 anyOne noOne contactList 2 1 0 4 6 anyOne noOne 2 1 0 1 5 7 contactList anyOne anyOne 2 1 2 5 8 contactList anyOne 2 0 2 1 4 9 contactList contactList contactList 1 1 1 0 10 contactList contactList 2 2 0 0 1 3 11 contactList noOne anyOne 1 2 0 12 contactList noOne contactList 0 0 2 2 13 2 anyOne contactList 2 0 1 3 14 2 anyOne 2 1 1 0 2 15 2 contactList anyOne 1 0 2 4 16 2 contactList contactList 0 2 0 5 17 2 noOne anyOne 0 1 1 1 18 2 noOne 2 2 2 2 Mastering Test Design V 4.0 © SQE 2001-2011 0 •54 54
  • 30. Allow Calls From Receive Video From Allow IMs From Show Video To 5 6 7 0 1 anyOne anyOne anyOne contactList 0 0 2 anyOne anyOne contactList noOne 2 2 1 3 anyOne contactList anyOne 2 2 1 2 4 anyOne contactList 2 contactList 1 2 3 5 anyOne noOne contactList 2 1 0 4 6 anyOne noOne 2 noOne 0 1 5 7 contactList anyOne anyOne 2 1 2 5 8 contactList anyOne 2 contactList 2 1 4 9 contactList contactList contactList noOne 1 1 0 10 contactList contactList 2 2 0 0 1 11 contactList noOne anyOne noOne 2 0 3 12 contactList noOne contactList contactList 0 2 2 13 2 anyOne contactList 2 0 1 3 14 2 anyOne 2 noOne 1 0 2 15 2 contactList anyOne noOne 0 2 4 16 2 contactList contactList contactList 2 0 5 17 2 noOne anyOne contactList 1 1 1 18 2 noOne 2 2 2 2 0 Mastering Test Design V 4.0 © SQE 2001-2011 Allow Calls From Receive Video From 55 •55 Allow IMs From Show Video To Show Online Status 6 7 0 1 anyOne anyOne anyOne contactList yes 0 2 anyOne anyOne contactList noOne 2 2 1 3 anyOne contactList anyOne 2 2 1 2 4 anyOne contactList 2 contactList no 2 3 5 anyOne noOne contactList 2 no 0 4 6 anyOne noOne 2 noOne yes 1 5 7 contactList anyOne anyOne 2 no 2 5 8 contactList anyOne 2 contactList 2 1 4 0 9 contactList contactList contactList noOne no 1 10 contactList contactList 2 2 yes 0 1 11 contactList noOne anyOne noOne 2 0 3 12 contactList noOne contactList contactList yes 2 2 13 2 anyOne contactList 2 yes 1 3 14 2 anyOne 2 noOne no 0 2 15 2 contactList anyOne noOne yes 2 4 16 2 contactList contactList contactList 2 0 5 17 2 noOne anyOne contactList no 1 1 18 2 noOne 2 2 2 2 0 Mastering Test Design V 4.0 © SQE 2001-2011 •56 56
  • 31. Allow Calls From Receive Video From Allow IMs From Show Video To Show Online Status Accept Cookies 7 1 anyOne anyOne anyOne contactList yes yes 0 2 anyOne anyOne contactList noOne 2 2 1 3 anyOne contactList anyOne 2 2 no 2 4 anyOne contactList 2 contactList no 2 3 4 5 anyOne noOne contactList 2 no yes 6 anyOne noOne 2 noOne yes no 5 7 contactList anyOne anyOne 2 no 2 5 8 contactList anyOne 2 contactList 2 no 4 9 contactList contactList contactList noOne no no 0 10 contactList contactList 2 2 yes yes 1 11 contactList noOne anyOne noOne 2 yes 3 12 contactList noOne contactList contactList yes 2 2 13 2 anyOne contactList 2 yes no 3 14 2 anyOne 2 noOne no yes 2 15 2 contactList anyOne noOne yes 2 4 16 2 contactList contactList contactList 2 yes 5 17 2 noOne anyOne contactList no no 1 18 2 noOne 2 2 2 2 0 Mastering Test Design V 4.0 © SQE 2001-2011 Allow Calls From Receive Video From 1 anyOne 2 anyOne 3 4 57 •57 Allow IMs From Show Video To Show Online Status Accept Cookies Keep History For anyOne anyOne contactList yes yes noHistory anyOne contactList noOne 2 2 2Weeks anyOne contactList anyOne 2 2 no 1Month anyOne contactList 2 contactList no 2 3Months forEver 5 anyOne noOne contactList 2 no yes 6 anyOne noOne 2 noOne yes no 5 7 contactList anyOne anyOne 2 no 2 5 8 contactList anyOne 2 contactList 2 no forEver 9 contactList contactList contactList noOne no no noHistory 10 contactList contactList 2 2 yes yes 2Weeks 11 contactList noOne anyOne noOne 2 yes 3Months 12 contactList noOne contactList contactList yes 2 1Month 13 2 anyOne contactList 2 yes no 3Months 14 2 anyOne 2 noOne no yes 1Month 15 2 contactList anyOne noOne yes 2 forEver 16 2 contactList contactList contactList 2 yes 5 17 2 noOne anyOne contactList no no 2Weeks 18 2 noOne 2 2 2 2 noHistory Mastering Test Design V 4.0 © SQE 2001-2011 •58 58
  • 32. Orthogonal Arrays • We have reduced our test cases from 480 to 18 – a substantial reduction (about 96%) • while testing all pairs of input combinations at least once Mastering Test Design V 4.0 © SQE 2001-2011 •59 59 Orthogonal Arrays • But what should we do about the cells in the OA that have not been assigned values? – – • But first, why do we have such cells? first Mastering Test Design V 4.0 © SQE 2001-2011 •60 60
  • 33. Allow Calls From Receive Video From Allow IMs From Show Video To Show Online Status Accept Cookies Keep History For 1 anyOne 2 anyOne anyOne anyOne contactList yes yes noHistory anyOne contactList noOne 2 2 3 2Weeks anyOne contactList anyOne 2 2 no 4 1Month anyOne contactList 2 contactList no 2 3Months forEver 5 anyOne noOne contactList 2 no yes 6 anyOne noOne 2 noOne yes no 5 7 contactList anyOne anyOne 2 no 2 5 8 contactList anyOne 2 contactList 2 no forEver 9 contactList contactList contactList noOne no no noHistory 10 contactList contactList 2 2 yes yes 2Weeks 11 contactList noOne anyOne noOne 2 yes 3Months 12 contactList noOne contactList contactList yes 2 1Month 13 2 anyOne contactList 2 yes no 3Months 14 2 anyOne 2 noOne no yes 1Month 15 2 contactList anyOne noOne yes 2 forEver 16 2 contactList contactList contactList 2 yes 5 17 2 noOne anyOne contactList no no 2Weeks 18 2 noOne 2 2 2 2 noHistory Mastering Test Design V 4.0 © SQE 2001-2011 •61 61 Orthogonal Arrays • Let’s fill them in with valid values: – Select the first value in the list – Alternate the values – Set the values according to the percentage of use (if 60% will be yes and 40% will be no, then use that percentage) – Set the values according to the risk that g value presents • Which is the best approach? Mastering Test Design V 4.0 © SQE 2001-2011 •62 62
  • 34. Allow Calls From Receive Video From Allow IMs From Show Video To Show Online Status Accept Cookies Keep History For 1 anyOne 2 anyOne anyOne anyOne contactList yes yes noHistory anyOne contactList noOne yes yes 3 2Weeks anyOne contactList anyOne contactList no no 1Month 4 anyOne contactList anyOne contactList no no 3Months 5 anyOne noOne contactList noOne no yes forEver 6 anyOne noOne contactList noOne yes no noHistory 7 contactList anyOne anyOne contactList no yes 2Weeks 8 contactList anyOne anyOne contactList yes no forEver 9 contactList contactList contactList noOne no no noHistory 10 contactList contactList contactList noOne yes yes 2Weeks 11 contactList noOne anyOne noOne no yes 3Months 12 contactList noOne contactList contactList yes no 1Month 13 anyOne anyOne contactList contactList yes no 3Months 14 contactList anyOne anyOne noOne no yes 1Month 15 anyOne contactList anyOne noOne yes yes forEver 16 ContactList contactList contactList contactList yes yes 1Month 17 anyOne noOne anyOne contactList no no 2Weeks 18 contactList noOne contactList noOne no no noHistory Mastering Test Design V 4.0 © SQE 2001-2011 •63 63 PICT Program • Microsoft has developed a tool to generate all the pair combinations • Microsoft’s algorithm is described in “Pairwise Testing in the Real World: Practical Extensions to Test Case Generators” by Jacek Czerwonka • PICT is a free tool you can download and use Mastering Test Design V 3.2 © SQE 2001-2006 •64 64
  • 35. PICT Program Click here •http://msdn.microsoft.com/en-us/testing/bb980925 Mastering Test Design V 3.2 © SQE 2001-2006 •65 65 PICT Program • … and download pict33.msi (a Microsoft Installer Package) • Save it • Execute it to install. (It installs in the Program Files folder) • PICTHelp.html has the instructions (They are very helpful) Mastering Test Design V 3.2 © SQE 2001-2006 •66 66
  • 36. PICT Program • Prepare the input by entering the data into Notepad Mastering Test Design V 3.2 © SQE 2001-2006 •67 67 PICT Program • Run pict.exe • Specify it’s input and output. For example: • pict SkypeExampleForPICT.txt > SkypeTestCasesFromPICT.txt Mastering Test Design V 3.2 © SQE 2001-2006 •68 68
  • 37. PICT Program • Open the output with Excel to make it look nice Mastering Test Design V 3.2 © SQE 2001-2006 69 •69 PICT Program AllowCalls ReceiveVideo AllowIMs ShowVideo KeepHistory ShowStatus AcceptCookies ContactList ContactList Anyone ContactList OneMonth Yes Yes Anyone Anyone ContactList NoOne ThreeMonths No No ContactList NoOne Anyone NoOne Forever No Yes Anyone ContactList ContactList NoOne NoHistry Yes No ContactList NoOne ContactList ContactList TwoWeeks Yes No Anyone NoOne Anyone ContactList ThreeMonths Yes Yes ContactList Anyone Anyone ContactList NoHistry No Yes Anyone ContactList ContactList ContactList Forever Yes No Anyone NoOne ContactList NoOne OneMonth No No ContactList Anyone Anyone NoOne Forever Yes No Anyone Anyone Anyone NoOne TwoWeeks No Yes ContactList ContactList ContactList NoOne ThreeMonths No Yes Anyone Anyone Anyone ContactList OneMonth No No Anyone ContactList ContactList NoOne TwoWeeks No Yes ContactList NoOne ContactList ContactList NoHistry Yes No Mastering Test Design V 3.2 © SQE 2001-2006 •70 70
  • 38. PICT Program • Note the good news – we can test all pairs of the 7 inputs in only 16 test cases (rather than the total combinations of 480) Mastering Test Design V 3.2 © SQE 2001-2006 •71 71 PICT Program • PICT has a nice feature the other approaches don’t have – it allows for selection constraints to be specified Mastering Test Design V 3.2 © SQE 2001-2006 •72 72
  • 39. Another Example Mastering Test Design V 4.0 © SQE 2001-2011 73 Another Example The borders and shading dialog box : • 5 settings • 5 styles (showing) • 9 colors • 9 widths 5 x 5 x 9 x 9 = 2025 combinations An L81(910) array is the smallest array that meets our needs (There is an L81(32494) array that would work) Mastering Test Design V 4.0 © SQE 2001-2011 74
  • 40. Sources • An excellent book is Quality Engineering Using Robust Design by Madhav S. Phadke • F a catalog of orthogonal arrays, see For t l f th l www.research.att.com/~njas/oadir/index.html • A nice tool is rdExpert from www.phadkeassociates.com • A very robust tool is AETG from Telcordia at aetgweb.argreenhouse.com Mastering Test Design V 4.0 © SQE 2001-2011 75 Trace Matrix • A Trace Matrix can be used to track test cases during development and execution – Identification of uniquely “testable” requirements • Eliminate wishes, hopes, dreams, and other un-testable statements • Eliminate duplicates • Assign a unique ID for each requirement and design objective • Determine its priority if possible – Verification of implementation of all requirements Mastering Test Design V 4.0 © SQE 2001-2011 76
  • 41. Trace Matrix - Context Track everything! Reqm’ts Design Code Test Cases 77 Mastering Test Design V 4.0 © SQE 2001-2011 Trace Matrix - Example Trace Number Sect. Requirement 001 1.1 11 N/A Summary Design Sect. Summary 99.99% 99 99% availability 1.6 16 1.7 6.1 15.3 1.2 Hardware selected will be available in less than 30 days N/A Dual processors Hot back-up On-line diagnostics On-line performance monitors N/A N/A 1.3 Transactions will not be lost (included with 1.4) N/A N/A 002 1.4 100% of all transactions input will be processed (includes 1.3) 2.2 2.3 2.4 Transaction processing Transaction logs Retransmission request for missing transactions Mastering Test Design V 4.0 © SQE 2001-2011 78
  • 42. Techniques vs. Levels of Test Unit Integ. Sys Sys to Sys Web Equivalence class partitioning √ √ √ √ √ Boundary value √ √ √ √ √ Invalid combinations and processes √ √ √ √ √ √ √ √ √ Method Cross functional testing Decision table √ √ √ √ √ State transition diagrams √ √ √ √ √ Orthogonal Arrays and All Pairs √ √ √ √ √ Trace Matrix √ √ √ √ √ Mastering Test Design V 4.0 © SQE 2001-2011 79 Risk / Priority Based • Add more test cases for higher risk or priority – Some of the factors in risk • • • • • High use software Safety criticality Criticality to operations “Key” features such as security, monetary expenditures Others? – Including risk in the planning from the beginning can help when there isn’t time to run all of the isn t tests – Risk is a subjective judgment call – Test higher risk areas early and more thoroughly Mastering Test Design V 3.2 © SQE 2001-2006 80
  • 43. Chapter 3 White Box Science Mastering Test Design V 4.0 © SQE 2001-2011 81 Tutorial Agenda 1. 2. 3. 4. 5. 6. Introduction Black Box Science White Box Science Black Box Art Defect Taxonomies Wrap-up Mastering Test Design V 4.0 © SQE 2001-2011 82
  • 44. Objectives • At the end of this chapter you will be able to – Describe the differences between white and black box tests – Define coverage possibilities for unit, integration, and system level white box tests Mastering Test Design V 4.0 © SQE 2001-2011 83 What is White Box? White box: Structure/path false If Black box: Behavior true Else Then End Case 1 A 2 B 3 4 C D 5 E End The Art of Software Testing Glenford Myers Mastering Test Design V 4.0 © SQE 2001-2011 84
  • 45. White Box Definitions • The focus of White Box testing – Examine paths in the implementation – Make sure that each statement, decision branch, or path is tested with at least one test case – Definitions of coverage can vary by level of test – Desirable to use tools to analyze and track coverage Mastering Test Design V 4.0 © SQE 2001-2011 85 Understanding Coverage • What does “coverage” mean? – NOT all possible combinations of data values or paths can be tested – Coverage is a way of defining how many of the potential paths were actually exercised by the tests – Coverage goals can vary by risk, trust, and level of test t t Mastering Test Design V 4.0 © SQE 2001-2011 86
  • 46. Coverage for a Unit • Selection: SLOC • Possible strategies – Statement coverage (SLOC) – Decision coverage (branches) – Paths • A code Sample a=1 b=2 c=3 If (a==2) {n=n+2;} Else {n=n/2;} p=q/r If (b/c>3) (b/ >3) {z=x+y;} 87 Mastering Test Design V 4.0 © SQE 2001-2011 Coverage for Integration • Selection: Unit • P Possible strategies ibl t t i – Each unit (already should have been done) – All choices (branches) between units – All paths p – Can continue to use statement coverage measure (using a coverage tool) Mastering Test Design V 4.0 © SQE 2001-2011 U1 U2 U3 U4 88
  • 47. Coverage for Systems Remote Web Client Local Web Client Personal Firewall INTERNET ISP WEB APP LEG. APP ISP LAN/WAN WEB SRV Firewall/ Proxy LEG. DB WEB DB KEY Transaction Path Local GUI Client APP = Application SRV = Server DB = Database LEG. = Legacy Third Party Service Back Office Systems Mastering Test Design V 4.0 © SQE 2001-2011 89 General Control Flow Concepts Sequence If Then If Then Else Mastering Test Design V 4.0 © SQE 2001-2011 90
  • 48. General Control Flow Concepts CASE Iteration 91 Mastering Test Design V 4.0 © SQE 2001-2011 Applying Control Flow to Code A simple code segment Begin at the top Input a; Input b; Input c; If (a==2) {n=n+2;} Else { {n=n/2;} ;} p=q/r If (b/c>3) {z=x+y;} Input a Input b Input c Mastering Test Design V 4.0 © SQE 2001-2011 92
  • 49. Applying Control Flow to Code A simple code segment Continue the graph Input a; Input b; Input c; If (a==2) {n=n+2;} Else { {n=n/2;} ;} p=q/r If (b/c>3) {z=x+y;} Input a Input b Input c If (a==2) 93 Mastering Test Design V 4.0 © SQE 2001-2011 Applying Control Flow to Code A simple code segment Input a; Input b; Input c; If (a==2) {n=n+2;} Else { {n=n/2;} ;} p=q/r If (b/c>3) {z=x+y;} Input a Input b Input c If (a==2) n=n+2 Mastering Test Design V 4.0 © SQE 2001-2011 94
  • 50. Applying Control Flow to Code A simple code segment Input a; Input b; Input c; If (a==2) {n=n+2;} Else { {n=n/2;} ;} p=q/r If (b/c>3) {z=x+y;} Input a Input b Input c If (a==2) n=n/2 n=n+2 95 Mastering Test Design V 4.0 © SQE 2001-2011 Applying Control Flow to Code A simple code segment Input a; Input b; Input c; If (a==2) {n=n+2;} Else { {n=n/2;} ;} p=q/r If (b/c>3) {z=x+y;} Input a Input b Input c If (a==2) n=n/2 n=n+2 p=q/r Mastering Test Design V 4.0 © SQE 2001-2011 96
  • 51. Applying Control Flow to Code Input a Input b Input c A simple code segment Input a; Input b; Input c; If (a==2) {n=n+2;} Else { {n=n/2;} ;} p=q/r If (b/c>3) {z=x+y;} If (a==2) n=n/2 n=n+2 p=q/r If b/c>3 97 Mastering Test Design V 4.0 © SQE 2001-2011 Applying Control Flow to Code Input a Input b Input c A simple code segment Input a; Input b; Input c; If (a==2) {n=n+2;} Else { {n=n/2;} ;} p=q/r If (b/c>3) {z=x+y;} If (a==2) n=n/2 n=n+2 p=q/r If (b/c>3) z=x+y Mastering Test Design V 4.0 © SQE 2001-2011 98
  • 52. Understanding Unit Testing • When unit testing a module, the key question is how many tests are required to reasonably and fully exercise the code? – What is the minimum number of tests that can be run to fully exercise the structure of the code? – How many paths are there? – How do I determine/create these tests? • There are three approaches to answering these questions, all require a flow graph 99 Mastering Test Design V 4.0 © SQE 2001-2011 1st Method to Determine Tests Input a Input b Input c • McCabe’s technique for calculating units – Convert the code to a flow graph – Compute the paths by e-n+2(p) – This is called Cyclomatic Complexity If (a==2) n=n/2 • The number of paths to test • All decision options are tested • Each statement is covered at least once n=n+2 p=q/r If (b/c>3) z=x+y Mastering Test Design V 4.0 © SQE 2001-2011 100
  • 53. How Many Tests? Input a Input b Input c • Compute the paths by e-n+2(p) If (a==2) • e=9 n=n/2 n=n+2 p=q/r If (b/c>3) z=x+y 101 Mastering Test Design V 4.0 © SQE 2001-2011 How Many Tests? Input a Input b Input c • Compute the paths by e-n+2(p) If (a==2) • n=8 n=n/2 n=n+2 p=q/r If (b/c>3) z=x+y Mastering Test Design V 4.0 © SQE 2001-2011 102
  • 54. How Many Tests? Input a Input b Input c • Compute the paths by en+2(p) 9-8+2(1) 9 8+2(1) = 3 If (a==2) • There are no called modules, so (p) is set to 1 n=n/2 • There are 3 paths that will cover the code n=n+2 p=q/r – 100% decision coverage – 100% statement coverage – Does not guarantee 100% path coverage If (b/c>3) z=x+y 103 Mastering Test Design V 4.0 © SQE 2001-2011 What are the Paths (tests)? • Cyclomatic Complexity is 3 A Input a Input b Input c • Paths are: B – ABCEF If (a==2) – ABDEF – ABDEFG C n=n/2 • Test cases should cover at least three paths – There is more than one “basis set” of paths D E p=q/r F n=n+2 If (b/c>3) z=x+y Mastering Test Design V 4.0 © SQE 2001-2011 G 104
  • 55. 2nd Method to Determine Tests Input a Input b Input c • The next approach is to manually calculate the regions of the graph – Convert the code to a flow graph – Count the regions of the flow graph (including the exterior) If (a==2) n=n/2 • An area enclosed by lines (edges) is a region • The external area is always a region 1 n=n+2 p=q/r 3 If (b/c>3) • This can be expressed as – Regions + 1 2 z=x+y 105 Mastering Test Design V 4.0 © SQE 2001-2011 3rd Method to Determine Tests • The third approach is to manually calculate the decisions in the graph – Convert the code to a flow graph – Count the decision nodes in the flow graph Input a Input b Input c 1 If (a==2) n=n/2 n=n+2 p=q/r • This can be expressed as – Decisions + 1 2 If (b/c>3) z=x+y Mastering Test Design V 4.0 © SQE 2001-2011 106
  • 56. Number of Paths (Tests) • You will notice that all three methods generate the same result – CC – Regions – Decisions 9-8+2(1) = 3 2+1 = 3 2+1 = 3 • Regions and decisions require the construction of a graph or manual analysis of the code • Cyclomatic complexity can be calculated using a tool, or done manually 107 Mastering Test Design V 4.0 © SQE 2001-2011 So, What are the Paths (Tests)? A – ABCEF C a=1 b=2 c=3 B • Path one: If (a==2) n=n/2 D E p=q/r F n=n+2 If (b/c>3) z=x+y Mastering Test Design V 4.0 © SQE 2001-2011 G 108
  • 57. So, What are the Paths (Tests)? A – ABDEF C a=1 b=2 c=3 B • Path two: If (a==2) n=n/2 D E p=q/r F n=n+2 If (b/c>3) z=x+y G 109 Mastering Test Design V 4.0 © SQE 2001-2011 So, What are the Paths (Tests)? A – ABDEFG C a=1 b=2 c=3 B • Path three: If (a==2) n=n/2 D E p=q/r F n=n+2 If (b/c>3) z=x+y Mastering Test Design V 4.0 © SQE 2001-2011 G 110
  • 58. What about (P) ? • If there are called programs the computation must account for those modules as well • The change is in how the edges (E) and nodes (N) are determined. – P represents the number of unconnected parts of the graph 111 Mastering Test Design V 4.0 © SQE 2001-2011 What about (P)? M1 A B C n=n/2 M2 a=1 b=2 c=3 CALL B If (a==2) D E C If (b/c>3) • For multiple graphs – Module 2 is called by module 1 D n=n+2 Call m2 p=q/r F A E F z=x+y G G H Mastering Test Design V 4.0 © SQE 2001-2011 112
  • 59. What about (P)? M1 A B C M2 a=1 b=2 c=3 D • Sum the total edges M N If (a==2) n=n/2 CALL – Module 1 O • 9 edges – Module 2 P n=n+2 Call m2 • 9 edges – Total E p=q/r F If (b/c>3) • 18 edges Q R T G z=x+y S 113 Mastering Test Design V 4.0 © SQE 2001-2011 What about (P)? M1 A B C n=n/2 M2 a=1 b=2 c=3 CALL N If (a==2) D • Sum the total nodes M O – Module 1 • 8 nodes – Module 2 P n=n+2 Call m2 • 8 nodes – Total E p=q/r F If (b/c>3) • 16 nodes Q R z=x+y G S T Mastering Test Design V 4.0 © SQE 2001-2011 114
  • 60. Calculate the Total Complexity M1 A B C M2 a=1 b=2 c=3 D E C D If (b/c>3) • 18 – 16 + 2(2) = 6 E n=n+2 Call m2 p=q/r F • Calculate Complexity A B If (a==2) n=n/2 CALL • We replace (P) with two, for the two graphs F z=x+y G G H Mastering Test Design V 4.0 © SQE 2001-2011 115 Chapter 4 Black Box Art Mastering Test Design V 4.0 © SQE 2001-2011 116
  • 61. Tutorial Agenda 1. 2. 3. 4. 5. 6. Introduction Black Box Science White Box Science Black Box Art Defect Taxonomies Wrap-up Mastering Test Design V 4.0 © SQE 2001-2011 117 Objectives • At the end of this chapter you will be able to – Implement creative test case selection techniques – Evaluate the use of exploratory testing Mastering Test Design V 4.0 © SQE 2001-2011 118
  • 62. Why Science is Not Enough • Limits of science – Programmers are logical thinkers so they catch thinkers, many of the “logical’ defects – Real users are NOT necessarily logical – Real environmental circumstances are often illogical – Can’t test enough combinations with just scientific techniques t h i 119 Mastering Test Design V 4.0 © SQE 2001-2011 Hunches and Guessing • Talent based testing – Based on the implementation – Some individuals can walk up to a system and “break” it – Good to have multi-dimensional teams doing the testing – Experienced testers can just “know” what i lik l to break “k ” h t is likely t b k Mastering Test Design V 4.0 © SQE 2001-2011 Bet I can break it!!! 120
  • 63. Group Insights / Examples • Experience can be shared with examples – “Best practices examples of test cases posted on Best practices” an internal web site • “Best” is a relative term; what’s good on one system/application may not work on another – Examples of good tests based on type of element being tested • Compiled by experienced personnel • Available to everyone • Can be a standard, guidelines, or suggestions 121 Mastering Test Design V 4.0 © SQE 2001-2011 Exploratory Testing “The classical approach to test design is like playing ‘20 Questions’ by writing out all the questions in advance.” - James Bach Mastering Test Design V 4.0 © SQE 2001-2011 122
  • 64. Exploratory Testing “Exploratory Testing, as I practice it, usually proceeds according to a conscious plan. But not a rigorous plan … it is not scripted in detail.” “To the extent that the next test we do is influenced by the result of the last test we did, we are doing exploratory testing. We become more exploratory when we can’t tell what tests should be run in advance of the test cycle.” cycle ” - James Bach Mastering Test Design V 4.0 © SQE 2001-2011 123 Exploratory Testing • Test cases themselves are NOT pre-planned – Exploratory testing can be concurrent with product development and test execution – Based on implicit and explicit (if they exist) specifications as well as the “as built” product – Starts with a conjecture as to correct behavior, followed by exploration for evidence that it works/does not work – Based on some kind of mental model – “T it and see if it works” (James Bach “Try d k ” (J B h www.satisfice.com is an excellent resource for more on this topic) Mastering Test Design V 4.0 © SQE 2001-2011 124
  • 65. Exploratory Testing • Basic steps to exploratory testing 1. 1 2. 3. 4. 5. Identify the purpose of the product Identify functions Identify areas of potential instability Test each function and record problems Design and record a consistency verification test Mastering Test Design V 4.0 © SQE 2001-2011 125 Create Creative Invalids • Break the rules in unexpected ways – No logic – Strange • Order • Combinations • Exception conditions – The “nobody would ever do that” tests • B i Beizer: “It helps to have some Boris B i “I h l h devious testers.” Mastering Test Design V 4.0 © SQE 2001-2011 126
  • 66. Class Exercise • Pick your technique – Data in the range 0.0-1.0 should be processed using algorithm A, data between 1.0 and 10.0 g g , using algorithm B, and data between 10.0 and 100.0 using algorithm C. – We’ve got very few written requirements for this system. We do, however, know something about how the system is to operate its behavior and operate, behavior, functions. Mastering Test Design V 4.0 © SQE 2001-2011 127 Class Exercise • Pick your technique (continued) – If condition 1 (C1) is true and condition 2 (C2) is , ( ) true, then action 1 (A1) should be taken. If C1 is true and C2 is false, then A2 is the proper response. If C1 is false and C2 is true, then A3 is appropriate. If C1 is false and C2 is false, then A4 is the correct action. Mastering Test Design V 4.0 © SQE 2001-2011 128
  • 67. Class Exercise • Pick your technique (continued) – In state 1 (S1) events 1 (E1) and 2 ( ) (E2) are valid while event 3 (E3) is ( ) not. In state 2 (S2) events 1 (E1) and 3 (E3) are valid while event 2 (E2) is not. In state 3 (S3) events 2 (E2) and 3 (E3) are valid while event 1 (E1) is not. If the system is in S1 and E2 occurs, then action 1 (A1) should be taken. If the system is in S3 and E3 occurs, then action 2 (A2) should be taken. Mastering Test Design V 4.0 © SQE 2001-2011 129 Class Exercise • Pick your technique (continued) – I’ve got so many combinations to test I j just can’t do them all. Please help! p Mastering Test Design V 4.0 © SQE 2001-2011 130
  • 68. Chapter 5 Defect Taxonomies Mastering Test Design V 4.0 © SQE 2001-2011 131 Tutorial Agenda 1. 2. 3. 4. 5. 6. Introduction Black Box Science White Box Science Black box Art Defect Taxonomies Wrap-up Mastering Test Design V 4.0 © SQE 2001-2011 132
  • 69. Using a Taxonomy • A taxonomy is a classification of things into ordered groups or categories that indicate natural, hierarchical relationships. p – In software test design we are concerned with taxonomies of defects, ordered lists of common defects we expect to encounter in our testing. Mastering Test Design V 4.0 © SQE 2001-2011 133 Sample Taxonomies • One of the first defect taxonomies was defined by Boris Beizer in Software Testing Techniques. q • The classic book Testing Computer Software by Cem Kaner contains a detailed taxonomy of more than 400 types of defects. • Robert Binder notes that many defects in the object-oriented paradigm are p j p g problems using g encapsulation, inheritance, polymorphism, message sequencing, and state-transitions. Mastering Test Design V 4.0 © SQE 2001-2011 134
  • 70. Sample Taxonomies • James Whittaker’s book How to Break Software is a tester’s delight. Proponents of exploratory testing exhort us to “explore.” p y g p Whittaker tells us specifically “where to explore.” Not only does he identify areas in which faults tend to occur, but he defines specific testing attacks to locate these faults. • Giri Vijayaraghavan has chosen a much narrower focus—the eCommerce shopping cart. Mastering Test Design V 4.0 © SQE 2001-2011 135 Example Taxonomy 1XXX Requirements 11XX Requirements incorrect 12XX Requirements logic 13XX Requirements, completeness R i t l t 14XX Verifiability 15XX Presentation, documentation 16XX Requirements changes 2XXX Features And Functionality 21XX Feature/function correctness 22XX Feature completeness 23XX Functional case completeness F ti l l t 24XX Domain bugs 25XX User messages and diagnostics 26XX Exception conditions mishandled A Portion of Beizer’s Taxonomy Mastering Test Design V 4.0 © SQE 2001-2011 136
  • 71. Example Taxonomy (continued) 3XXX Structural Bugs 31XX Control flow and sequencing 32XX Processing 4XXX Data 41XX Data definition and structure 42XX Data access and handling 5XXX Implementation and Coding 51XX Coding and typographical 52XX Style and standards violations 53XX Documentation 6XXX Integration 61XX Internal interfaces 62XX External interfaces, timing, throughput 7XXX System and Software Architecture A Portion of Beizer’s Taxonomy Mastering Test Design V 4.0 © SQE 2001-2011 137 Example Taxonomy (continued) 71XX O/S call and use 72XX Software architecture 73XX Recovery and accountability 74XX Performance 75XX Incorrect diagnostics, exceptions 76XX Partitions, overlays 77XX System generation, environment 8XXX Test Definition and Execution 81XX Test design bugs 82XX Test execution bugs 83XX Test documentation 84XX Test case completeness A Portion of Beizer’s Taxonomy Mastering Test Design V 4.0 © SQE 2001-2011 138
  • 72. Taxonomy Sources • Beizer, Boris (1990). Software Testing Techniques (2nd Edition). Van Nostrand Reinhold. • Binder, Robert V. (2000). Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison-Wesley. • Kaner, Cem, Jack Falk, and Hung Quoc Nguyen (1999). Testing Computer Software (2nd Edition). John Wiley & Sons. • Whittaker, James A. (2003). How To Break Software: A Practical Guide to Testing. Addison Wesley. • Vijayaraghavan, Giri and Cem Kaner. “Bugs in your shopping cart” www.testingeducation.org/articles/BISC_Final.pdf Mastering Test Design V 4.0 © SQE 2001-2011 139 Chapter 6 Wrap Up Mastering Test Design V 4.0 © SQE 2001-2011 140
  • 73. Tutorial Agenda 1. 2. 3. 4. 5. 6. Introduction Black Box Science White Box Science Black Box Art Defect Taxonomies Wrap-up Mastering Test Design V 4.0 © SQE 2001-2011 141 Current Challenges ? ? ? ? ? ? ? ? ? Now what? Mastering Test Design V 4.0 © SQE 2001-2011 142
  • 74. Tutorial Goals Achieved • You are now able to – Design test cases using structured techniques – Implement the “art” of test case design as well as the “science” – Understand how defect taxonomies can improve test case design Mastering Test Design V 4.0 © SQE 2001-2011 143 Tutorial Evaluations Tutorial Evaluation How did we do? * Great * Wonderful * Fantastic * Terrific * Superior * Excellent Mastering Test Design V 4.0 © SQE 2001-2011 144
  • 75. Thank You • On behalf of Software Quality Engineering, thank you for attending this tutorial. • If you have further needs for training or consulting, please think first of SQE. • If I can be of further assistance, please let me know. My email is lee@sqe.com Mastering Test Design V 4.0 © SQE 2001-2011 145 Good Luck! Mastering Test Design V 4.0 © SQE 2001-2011 146