value-based software testing

15
1 Value-Based Software Testing using Requirements and Risks Mag. Rudolf Ramler [email protected] +43 7236 3343 872 http://www.scch.at R. Ramler 2 Software Competence Center Hagenberg Software Research Company About 65 employees We focus on the areas Software Architectures and Technologies Automated Software Engineering Industrial Data Warehousing Knowledge-based Vision Systems Industrial Data Mining Process and Quality Engineering SCCH closes the gap between Software Research and Software Product Development 2

Upload: softwarecentral

Post on 01-Nov-2014

29 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Value-Based Software Testing

1

Value-Based Software Testing

using Requirements and Risks

Mag. Rudolf [email protected]+43 7236 3343 872http://www.scch.at

R. Ramler 2

Software Competence Center Hagenberg

Software Research Company

About 65 employees

We focus on the areasSoftware Architectures and Technologies

Automated Software Engineering

Industrial Data Warehousing

Knowledge-based Vision Systems

Industrial Data Mining

Process and Quality Engineering

SCCH closes the gap between Software Research and Software Product Development 2

Page 2: Value-Based Software Testing

2

R. Ramler 3

Overview

The Vital Few and the Useful Many

The Value of Priorities

Requirements-based Test Management

Risk-based Test Management

Test Case Selection

R. Ramler 4

The Vital Fewand the Useful Many

Pareto, Vilfredo (1848-1923)Italian economist and sociologist, known for his theory on mass and elite interaction and his application of mathematics to economic analysis.

20% of the population controls 80% of the

wealth and income …

Page 3: Value-Based Software Testing

3

R. Ramler 5

The Vital Fewand the Useful Many

20% of his peapods yielded 80% of the peas that were harvested

20% of criminals account for 80% of crime

20% of motorists account for 80% of accidents

20% of streets account for 80% of the traffic

20% of your carpet gets 80% of the wear

R. Ramler 6

SLAC Computer NetworkingWAN Monitoring, Dec. 1998

20% of pings80% of delay

Page 4: Value-Based Software Testing

4

R. Ramler 7

Static Analysisof Large Software Systems

20% files 74% LOC (relevant lines)

20% classes 82% outbound calls, 50% classes no calls

R. Ramler 8

The Vital Fewand the Useful Many

20% of his peapods yielded 80% of the peas that were harvested

20% of criminals account for 80% of crime

20% of motorists account for 80% of accidents

20% of streets account for 80% of the traffic

20% of your carpet gets 80% of the wear …20% of product flaws account for 80% of problems

Page 5: Value-Based Software Testing

5

R. Ramler 9

Boehm & BasiliSoftware Defect Reduction Top 10

"About 80 percent of the defects come from 20 percent of the modules, and about

half the modules are defect free. …

About 90 percent of the downtime comes from, at most, 10 percent of the defects."

Barry Boehm, Victor R. Basili: Software Defect Reduction Top 10 List.

IEEE Computer, January 2001

R. Ramler 10

The Vital Fewand the Useful Many

20% of his peapods yielded 80% of the peas that were harvested

20% of criminals account for 80% of crime

20% of motorists account for 80% of accidents

20% of streets account for 80% of the traffic

20% of your carpet gets 80% of the wear …20% of product flaws account for 80% of problems

20% of clients usually account for 80% of an organization’s profits

Page 6: Value-Based Software Testing

6

R. Ramler 11

Overview

The Vital Few and the Useful Many

The Value of Priorities

Requirements-based Test Management

Risk-based Test Management

Test Case Selection

R. Ramler 12

Value of PrioritiesExample

Page 7: Value-Based Software Testing

7

R. Ramler 13

Value of PrioritiesThe Vital Few and the Useful Many

Is every test cases, defect, requirement equallyimportant?

Pareto principle: 20% of clients account for 80% of the profits

In the example: 15 different customer billing types Type #1 accounts for about 50% of the transactions

Type #1 to #3 together for about 80%

0

10

20

30

40

50

60

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

R. Ramler 14

Value of Priorities20% Customer Types 80% Business Value

Page 8: Value-Based Software Testing

8

R. Ramler 15

Value of PrioritiesROI of ATG vs. Pareto

R. Ramler 16

Value of PrioritiesROI of ATG vs. Pareto

Maximum ROI with only 40% of tests!

ATG Testing

Pareto Testing

Page 9: Value-Based Software Testing

9

R. Ramler 17

Setting PrioritiesApproaches

1. Requirements-based testingWhat value do the requirements have?

2. Risk-based testingWhat puts the value realization in danger?

3. Test case selection techniquesWhat are your best test cases?

Requirements

Risks

TCS

R. Ramler 18

Overview

The Vital Few and the Useful Many

The Value of Priorities

Requirements-based Test Management

Risk-based Test Management

Test Case Selection

Requirements

Risks

TCS

Page 10: Value-Based Software Testing

10

R. Ramler 19

Requirements-based TestingApproach

Trace requirements to test cases and vice versaDerive test cases from requirementsDerive priorities from requirementsAssess requirements coverageNotify testing on requirements changesReport test results against requirements

Tool support neededValue-based tracing

Avoid bureaucracyTrace only important requirements

R1

R2

R3

TC1

TC2

TC3

TC4

?

?Requirements Test cases

R. Ramler 20

Page 11: Value-Based Software Testing

11

R. Ramler 21

Overview

The Vital Few and the Useful Many

The Value of Priorities

Requirements-based Test Management

Risk-based Test Management

Test Case Selection

Requirements

Risks

TCS

R. Ramler 22

Risk-based TestingApproach

[Bach 1999]

Page 12: Value-Based Software Testing

12

R. Ramler 23

Risk-based TestingHow to identify your risks?

Risk catalogs – common and domain specific risksBug taxonomies – common bugs and bug patternsQuality criteria categories

Starting point, e.g., customized characteristics of ISO/IEC Std. 9126-1:2001

Assemble a list of quality aspects important for the product or specific in the project– What is important for the customer and end user?

– What is typical for the market segment, in similar products?

– Experience, support database, expert advice, ...

ISO 9126

♦ Functionality

♦ Reliability

♦ Usability

♦ Efficiency

♦ Maintainability

♦ Portability

R. Ramler 24

Quality x Feature Matrix

Risk-based TestingCase Study: Web Testing

View eventsView eventsView eventsView events

Resource Utilizat ion

Ti me Behavior

Attracti veness

Operability

Learnability

Understandability

Recoverability

Fault Tolerance

Maturi y

Security

Compliance

Interoperability

Accuracy

Suitability

View eventsView eventsView events3

Feature

Security aspect V

iew

eve

nts

Vie

w d

etai

ls

Add

eve

nt

Edi

t eve

nt

Atta

ch

docu

men

t

Set

pro

perti

es

Del

ete

even

t

General identity B B C C C C C

Message content authenticity B B C C C C C

Message content origin C C B B B A B

Integrity C C A A A A

Secrecy and privacy B B C B C C C

Accountability B B B B B

view details

attach document

i nvite attendees

upload new document

select exisitng document

set security properties

add event

<<extend>>

<<i nclude>>

edit event

<<extend>>

<<extend>>

delete event

subscribe to event

Registered User

login

Userview events

<<extend>>

<<extend>>

<<extend>>

Quality Aspects

Functionality

Reliability

Usability

Efficiency

Page 13: Value-Based Software Testing

13

R. Ramler 25

Risk-based TestingCase Study: Web Testing

Feature

Quality Level Vi

ew e

vent

s

View

det

ails

Add

even

t

Edit

even

t

Atta

ch

docu

men

t

Set p

rope

rties

Del

ete

even

t

Basic

Operation

Detail

Leve

l of D

etai

l in

Test

ing

Risk Profile

R. Ramler 26

Risk-based TestingCase Study: Web Testing

In Kappel G. et al.: Web Engineering, Wiley 2006

From "Risk-orientation" to Risk Management at project level

Page 14: Value-Based Software Testing

14

R. Ramler 27

Overview

The Vital Few and the Useful Many

The Value of Priorities

Requirements-based Test Management

Risk-based Test Management

Test Case Selection

Requirements

Risks

TCS

R. Ramler 28

Test Case SelectionApproach

Various approaches based on different heuristicsChange – favor modified functions, methods, or covered items (provided by version management)

Coverage – statement, additional statement, branch, functions, requirements

Cost – test cost estimates (e.g., execution time)

History – time since a test was last run or previously detected faults

Ongoing reseach …

Page 15: Value-Based Software Testing

15

Test Case SelectionResearch Studies

Random (un-prioritized)

Coverage (measured in terms of total number of functions)

Change (measured in terms of additional modified functions covered)

Optimal (upper bound on prioritization effectiveness)

Rothermel G. and S. Elbaum

Putting Your Best Tests ForwardIEEE Software Aug./Sept. 2003

R. Ramler 30

SummaryWhat You Can Do

Value-based Quality Management

Risk- and Requirements-based Testing

Mining Repositories for Defect Prediction

Software Quality Assessment

Requirements

Risks

TCS