More importnt than Techniques -...

87
More Important than Techniques Michael Stahl, Intel SIGiST 2012

Transcript of More importnt than Techniques -...

Page 1: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

More Important than Techniques

Michael Stahl, Intel

SIGiST 2012

Page 2: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

(c) Michael Stahl, 2012, All Rights Reserved

Page 3: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision
Page 4: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision
Page 5: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Seriously…

How to design a Test?

(c) Michael Stahl, 2012, All Rights Reserved

Page 6: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

IEEE 829-1998

(c) Michael Stahl, 2012, All Rights Reserved

Page 7: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

IEEE 829-2008

(c) Michael Stahl, 2012, All Rights Reserved

Page 8: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

System

Under Test

Setup Output

Input

(c) Michael Stahl, 2012, All Rights Reserved

Page 9: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

The ISTQB Test Techniques

Equivalence Partitioning

Boundary Values Analysis

Decision Table Testing

State Transition Testing

Use Case Testing

Experience-based Testing

Etc. etc.

Source: ISTQB, Foundation level syllabus

(c) Michael Stahl, 2012, All Rights Reserved

Page 10: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

The “standard” Test Design

Setup

Apply Input

Expected Results

Teardown

(c) Michael Stahl, 2012, All Rights Reserved

Page 11: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

The “standard” Test Design

Setup

Apply Input

Expected Results

Teardown

Test Techniques Equivalence Partitioning

Boundary Values Analysis

Decision Table Testing

State Transition Testing

Use Case Testing

Experience-based Testing

Etc. etc.

(c) Michael Stahl, 2012, All Rights Reserved

Page 12: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

So…

How to design a Test?

(c) Michael Stahl, 2012, All Rights Reserved

Page 13: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Outline

Input and Output basics

Preconditions, Postconditions

Foreground, Background

What’s the limit?

Test flow

Test your test

Summary

(c) Michael Stahl, 2012, All Rights Reserved

Page 14: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

(c) Michael Stahl, 2012, All Rights Reserved 14

המביא דבר בשם אומרו מביא גאולה לעולםו ' אבות ו

Whosoever tells a thing in the name of him that said it, brings redemption to the

world Ethics Of The Fathers 6, 6

Page 15: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

(c) Michael Stahl, 2012, All Rights Reserved 15

Disclaimers

Names and brands referenced herein may be claimed as the property

of third parties

The views expressed in this presentation are solely my own, and do not in any manner represent the views of my employer

Information in this presentation is provided “AS IS” without any warranties or representations of any kind

Page 16: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Input

(c) Michael Stahl, 2012, All Rights Reserved

Page 17: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Input basics: Valid

Input

Range

Enumeration

Combinations (if applicable)

(c) Michael Stahl, 2012, All Rights Reserved

Page 18: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Input basics: Invalid

Range

Enumeration

Combinations (in rare cases!)

Input

(c) Michael Stahl, 2012, All Rights Reserved

Page 19: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Input basics: Invalid

Invalid Combinations (in rare cases!)

(c) Michael Stahl, 2012, All Rights Reserved

Page 20: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Input basics: Invalid

Invalid Combinations (in rare cases!)

(c) Michael Stahl, 2012, All Rights Reserved

Page 21: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Output

(c) Michael Stahl, 2012, All Rights Reserved

Page 22: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Output basics: Valid

Output

Range

Enumeration

Error codes or messages (c) Michael Stahl, 2012, All Rights Reserved

Page 23: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Output basics: Invalid

Output

(c) Michael Stahl, 2012, All Rights Reserved

Page 24: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

A “Wider” look at Input: Preconditions

(c) Michael Stahl, 2012, All Rights Reserved

Page 25: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Input is one part of Preconditions

Environment

System under test

Input Configuration

Input

(c) Michael Stahl, 2012, All Rights Reserved

Page 26: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Preconditions are Assumed or Validated

Input Assumed Validated

(c) Michael Stahl, 2012, All Rights Reserved

Page 27: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Assumed Preconditions

The system has a

printer

The user can read There IS a user

The system has the

needed fonts

(c) Michael Stahl, 2012, All Rights Reserved

Page 28: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

The Environment:

Control, Set, Cause or Monitor?

System under test

Input Configuration

Input

Environment

Control Cause Set Monitor

(c) Michael Stahl, 2012, All Rights Reserved

Page 29: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

The Environment:

Control, Set, Cause or Monitor?

System under test

Input Configuration

Input

Environment

Control Cause Set Monitor

(c) Michael Stahl, 2012, All Rights Reserved

Ignore

Page 30: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

A “Wider” look at Output: Postconditions

(c) Michael Stahl, 2012, All Rights Reserved

Page 31: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Output is one part of Postconditions

Output

Output

Environment

System under test

Configuration

(c) Michael Stahl, 2012, All Rights Reserved

Page 32: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Postconditions have Variants and Invariants

Output Variants Invariants

(c) Michael Stahl, 2012, All Rights Reserved

Page 33: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Post Conditions: Variants and Invariants

(c) Michael Stahl, 2012, All Rights Reserved

Page 34: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Creating Preconditions

Obvious:

User inputs

CLI arguments

Less obvious:

Configuration (Files, Windows registry)

API calls

Sensors

The Environment

OS, HW, installed stuff, interrupts

External stuff (temperature, radiation, comm…)

(c) Michael Stahl, 2012, All Rights Reserved

Page 35: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Checking Postconditions

Variants:

“Expected Results”

Configurations; Environment

Invariants:

Configurations; Environment

System resources

Memory

File handles

Pay special attention after Exceptions!

(c) Michael Stahl, 2012, All Rights Reserved

Page 36: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Checking Postconditions

Background

Known state – before the test

Foreground

Stuff that changes

(c) Michael Stahl, 2012, All Rights Reserved

Page 37: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Checking Postconditions

After: Before:

(c) Michael Stahl, 2012, All Rights Reserved

Page 38: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Checking Postconditions

After: Before:

(c) Michael Stahl, 2012, All Rights Reserved

Page 39: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Checking Postconditions

Set background value to highlight

change

Set inputs to highlight mistakes

2+2 = 2*2 !

2-2 = 2-2 !

(c) Michael Stahl, 2012, All Rights Reserved

Page 40: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Output: Background and Foreground

Int Foo(int x) {

int status = SUCCESS;

if (x > 1000) retVal = ERROR_OUT_OF_RANGE

else process(x, &status);

return status;

}

What if process() does nothing ?

(c) Michael Stahl, 2012, All Rights Reserved

Page 41: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Output: Background and Foreground

Int Foo(int x) {

int status = UNUSED_VALUE;

if (x > 1000) retVal = ERROR_OUT_OF_RANGE

else process(x, &status);

return status;

}

(c) Michael Stahl, 2012, All Rights Reserved

Page 42: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Array testing:

char src[16]={0}, dst[16]={0};

// src gets value from user

strncpy(src, input, sizeof(input));

// src is copied to dst

strncpy(dst, src, sizeof(dst));

Output: Background and Foreground

(c) Michael Stahl, 2012, All Rights Reserved

Page 43: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Array testing:

char src[16]={0}, dst[16]={0};

// src gets value from user

strncpy(src, input, sizeof(input));

// src is copied to dst

strncpy(dst, src, sizeof(dst)); //bug!

Output: Background and Foreground

(c) Michael Stahl, 2012, All Rights Reserved

Page 44: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Array testing:

Incorrect test:

1. Enter “SIGIST” in input field

2. Verify dst = “SIGIST”

dst before:

dst after:

Test Result = PASS //

Output: Background and Foreground

(c) Michael Stahl, 2012, All Rights Reserved

Page 45: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Array testing:

Correct test:

1. Set dst to {A}

2. Enter “SIGIST” in input field

3. Verify dst = “SIGISTAAAAAAAAAA”

dst before:

dst after:

Test Result = FAIL //

Output: Background and Foreground

(c) Michael Stahl, 2012, All Rights Reserved

Page 46: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Everything together: Linked-list “Add”

Head

Null Invariant,

background

Variant,

foreground

Variant Variant

(c) Michael Stahl, 2012, All Rights Reserved

Page 47: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Check Output

Set/Verify

execution conditions

Apply Input

Set

background

DUT

Output: Non-functional attributes limits

(c) Michael Stahl, 2012, All Rights Reserved

Page 49: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Spec: Standby Current < 15.0

What’s the limit?

(c) Michael Stahl, 2012, All Rights Reserved

Page 50: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Spec: < 15.0

What’s the limit?

(c) Michael Stahl, 2012, All Rights Reserved

Page 51: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Test the Capability

Expected Results:

Based on capability – not on Spec*

Rationale:

Increase the test sensitivity

Find the real limit

* Unless the capabilities are worse than Spec…

(c) Michael Stahl, 2012, All Rights Reserved

Page 52: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Fail if > 5.5?

6?

6.5?

Risk: False alarms

Increasing the test sensitivity

(c) Michael Stahl, 2012, All Rights Reserved

Page 53: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Increasing the test sensitivity

Spec: < 15.0

Where to put the test limit?

Mean+1 = 4; Mean+2 = 5; Mean+3 = 6

(c) Michael Stahl, 2012, All Rights Reserved

Page 54: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

What’s a Fail then?

Use Process Control methods and rules

Example: Fail if:

• One measurement above +3

• Two consecutive points falling above the +2σ limit

• Three consecutive points falling above the +1σ limit

• Seven consecutive points falling

above the centerline

• Ten consecutive points falling

below the centerline

• …

Source: Wikipedia - Western Electric rules

(c) Michael Stahl, 2012, All Rights Reserved

Page 55: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

“Tighten the Screws”

Spec: < 15.0

How much regression do you allow?

(c) Michael Stahl, 2012, All Rights Reserved

Page 56: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Example – real case (Atom processor)

Some measurements

The spec: PASS if below 50%

Capability (760 measurements):

(c) Michael Stahl, 2012, All Rights Reserved

Page 57: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Where would YOU put the limit?

Mean+1 = 39.5

Mean+2 = 52.25

Mean+3 = 64 $#^%&#@!!!

?

(c) Michael Stahl, 2012, All Rights Reserved

Page 58: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Additional info

= 760

Different results due to “system capability”

Different results due to different scenario

x

(c) Michael Stahl, 2012, All Rights Reserved

Page 59: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

“Use a Larger Magnifying Glass”

(c) Michael Stahl, 2012, All Rights Reserved

Page 60: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Per-scenario distribution

Mean+1 = 27.5

Mean+2 = 29.1

Mean+3 = 30.6 !!!

(c) Michael Stahl, 2012, All Rights Reserved

Page 61: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Per-scenario distribution

Mean+1 = 35.4 Mean-1 = 31.0

Mean+2 = 37.6 Mean-2 = 28.8

Mean+3 = 39.8 !!! Mean-3 = 26.6

(c) Michael Stahl, 2012, All Rights Reserved

Page 62: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Mean+1 = 22.6

Mean+2 = 24.9

Mean+3 = 27.2 !!!

Per group-of-scenarios distribution

(c) Michael Stahl, 2012, All Rights Reserved

Page 63: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Something is interesting…

Or wrong…

Per group-of-scenarios distribution

(c) Michael Stahl, 2012, All Rights Reserved

Page 64: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Setup

(c) Michael Stahl, 2012, All Rights Reserved

Page 65: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Test flow (naïve)

Did “Set” work?

Set execution

conditions Apply Input Check Output

(c) Michael Stahl, 2012, All Rights Reserved

Page 66: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Validate “Set”!

Get execution

conditions

(record the

background)

Set to different

values

(change the

background)

Get execution

conditions

(validate the

foreground)

Set-able variables are Input!

- Apply the “Basics”

- Do you allow setting invalid values? (c) Michael Stahl, 2012, All Rights Reserved

Page 67: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Validate “Set” and “Get”!

Get execution

conditions

Validate the

foreground +

set background

for next step

Set the DUT to

different

values

(change the

background)

Get execution

conditions

(validate the

foreground)

(c) Michael Stahl, 2012, All Rights Reserved

Set test app

internals to

different

values

(set the

background)

Page 68: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Test flow

Set execution

conditions

Check Output

Verify execution

conditions Blocked!

Teardown Apply Input Set

background

Fail?

DUT

(c) Michael Stahl, 2012, All Rights Reserved

Page 69: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Teardown

(c) Michael Stahl, 2012, All Rights Reserved

Page 70: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Teardown

Reset conditions

to default Clear background Clean the

environment

(c) Michael Stahl, 2012, All Rights Reserved

Page 71: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Teardown & Test efficiency

State-aware Setup

Combine tests

(c) Michael Stahl, 2012, All Rights Reserved

Page 72: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Validate your test!

(c) Michael Stahl, 2012, All Rights Reserved

Page 73: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Set/Verify

execution

conditions

Check Output Apply Input

Set

background

DUT

Validate your test!

(c) Michael Stahl, 2012, All Rights Reserved

Page 74: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Set/Verify

execution

conditions

Check Output Apply Input

Set

background

Validate your test!

(c) Michael Stahl, 2012, All Rights Reserved

Page 75: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Check Output Apply Input

Set

background

DUT

Validate your test!

(c) Michael Stahl, 2012, All Rights Reserved

Page 76: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Set/Verify

execution

conditions

Check Output Apply Input

DUT

Validate your test!

(c) Michael Stahl, 2012, All Rights Reserved

Page 77: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Set/Verify

execution

conditions

Check Output Apply Input

Set

background

DUT

Validate your test!

(c) Michael Stahl, 2012, All Rights Reserved

Page 78: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Set/Verify

execution

conditions

Check Output Apply Input

Set

background

DUT

Validate your test!

(c) Michael Stahl, 2012, All Rights Reserved

Page 79: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Set/Verify

execution

conditions

Check Output

Apply Input

Set

background

DUT

Validate your test!

(c) Michael Stahl, 2012, All Rights Reserved

Page 80: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Summary

(c) Michael Stahl, 2012, All Rights Reserved

Page 81: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Summary

(c) Michael Stahl, 2012, All Rights Reserved

Page 82: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Summary

(c) Michael Stahl, 2012, All Rights Reserved

Page 83: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Summary

(c) Michael Stahl, 2012, All Rights Reserved

Page 84: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Summary

(c) Michael Stahl, 2012, All Rights Reserved

Page 85: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Summary

Quis custodiet ipsos custodes?

(c) Michael Stahl, 2012, All Rights Reserved

Page 86: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Acknowledgements / Resources

Resource:

The Craft of Software Testing – Brian Marick

Why Tests Don’t Pass (or Fail),

Hoffman, Doug, STPCon 2012

Thanks!

Intel colleagues Shmuel Gershon, Dan Alloun ,

Bet-Sheva Honigstein-Magen, Issi Hazan – for suffering through the initial version of this

presentation, and making it much better

(c) Michael Stahl, 2012, All Rights Reserved

Page 87: More importnt than Techniques - TestPrincipiatestprincipia.com/wp-content/uploads/2013/10/More... · The ISTQB Test Techniques Equivalence Partitioning Boundary Values Analysis Decision

Thank You!