66
Increasing Responsiveness and Economy of Software Inspection Marko Komssi [email protected] 2004-12-03

Testing Insepction

Embed Size (px)

DESCRIPTION

Testing Eurostar Conferences

Citation preview

Page 1: Testing Insepction

Increasing Responsiveness and Economy of Software Inspection

Marko Komssi

[email protected]

2004-12-03

Page 2: Testing Insepction

2

Contents

Problems with inspection processes and rules

Generating a minimal number of inspection rules based on risks and goals

Progressively increasing the precision of inspection practices

Page 3: Testing Insepction

3

Traditional Inspection Process1

Entryand

Planning

KickoffMeeting

Indi-vidual Check-

ing

Specifi-cation

andProcessMeet-ings

Editing EditAuditing ExitLogging

Meeting

Page 4: Testing Insepction

4

Inspection Process Variables

• Amount of inspection rules and phases

• Number of inspectors and their roles

• Duration of inspection sub-phase and total time spent

• Checking rate

• Proportion of product under inspection

• Experience of inspectors

• Rigidity of inspection entry and exit criteria

Page 5: Testing Insepction

5

Inspection Rules

A common way to seek errors is to verify the product against inspection rules

Defects in a code or a document are violations of a rule

CUSTOMER — customer requirements must be real• Does the statement in the specification describe the customer?

• Is the need of the customer correctly presented?

Page 6: Testing Insepction

6

Problems with Inspection Rules and Processes

A rigorous and stable inspection process• Different company maturity levels and development processes

• Alternative quality goals and development phases of projects

• A high threshold for using a heavy inspection model

Ineffective inspection rules• Inspection rules may reveal only minor defects

• Defects may have high severity but low priority

Page 7: Testing Insepction

7

Effectiveness of Inspection Rules (Requirements)

Page 8: Testing Insepction

8

Effectiveness of Inspection Rules (User Interface)

Page 9: Testing Insepction

9

Not Too Much Precision, Please!

Write long and precise specifications only if you know what you are doing

• “Odd though it may sound, you will typically do less damage if you write too little rather than too much4.“

• “Even the smallest features pack more calories than you might think5.“

Take compactness as part of a inspection strategy• “Then you will have a short, readable document, which means that

people will bother to read it and then ask questions4.“

Include formality in review practices just as much as is needed6

Page 10: Testing Insepction

10

Goal- and Risk-Based Inspection Rules

The three most effective rules cover 60–80 % of problems

It is economical to inspect issues that:• support the goal of the product

• are likely to harm the project in the current development phase

Rule generation can be done by imitating the concepts of Goal-Question-Metric2 (GQM) and Risk-based testing3

Page 11: Testing Insepction

11

Progressive Inspection

Progressive inspection (PI) is a concept for improving the traditional inspection process:

• Increases the precision of review practices as the project development progresses

• Uses the cheapest possible review techniques associated with thequality goals and the risks of the product6

• Weights different stages of inspection

Page 12: Testing Insepction

12

Emphasis in the Beginning of Development

Entryand

Plan-ning

KickoffMeeting

Indi-vidual Check-

ing

Specifi-cation

andProcess

Meet-ings

Editing EditAuditing ExitLogging

Meeting

Page 13: Testing Insepction

13

Slim Quality Goals in the Beginning of Development

Entryand

Plan-ning

KickoffMeeting

Indi-vidual Check-

ing

Specifi-cation

andProcess

Meet-ings

Editing EditAuditing ExitLogging

Meeting

Few rules Soft exit criteria

Page 14: Testing Insepction

14

Emphasis in the End of Development

Entryand

Planning

KickoffMeeting

Indi-vidual Check-

ing

Specifi-cation

andProcessMeet-ings

Editing EditAuditing ExitLogging

Meeting

Page 15: Testing Insepction

15

Increasing Precision in the End of Development

Entryand

Planning

KickoffMeeting

Indi-vidual Check-

ing

Specifi-cation

andProcessMeet-ings

Editing EditAuditing ExitLogging

Meeting

A larger set of rules Rigid exit criteria

Page 16: Testing Insepction

16

PI inside XP and EVO

In XP7, high-level goals of user stories can be questioned with targeted inspections

In EVO8, inspection and its techniques can be tailored based on the needs of the project

• Inspections are started by concentrating in planning and brainstorming

• In each inspection cycle, practices are developed based on comments from the inspection data and the team

Page 17: Testing Insepction

17

Conclusions

Traditional inspection practices may be cumbersome

Three inspection rules suffice in the early stages of development

In PI, inspection practices increase in precision and progress during project development

Page 18: Testing Insepction

18

References

1. Gilb, T., Graham D., Software Inspection. Addison-Wesley (1993).2. Basili, V.R., Rombach, H.D., The TAME Project: Toward Improvement-

Oriented Software Environments. IEEE Transactions on Software Engineering, 14, 6 (1988), 758–773.

3. Bach, J., James Bach on Risk-Based Testing. How to Conduct Heuristic Risk Analysis? Software Testing & Quality Engineering, 1, 6 (1999), 23–28.

4. Cockburn, A., Writing Effective Use Cases. Addison-Wesley (2001).5. McConnell, S., Achieving Leaner Software. IEEE Software, 14, 6 (1997),

127–128.6. Wiegers, K.E., Peer Reviews in Software: A Practical Guide. Addison-

Wesley (2001).7. Beck, K., Embracing Change with Extreme Programming. Computer, 32, 10

(1999), 70–77.8. Gilb, T., Principles of Software Engineering Management. Addison-Wesley

(1988).

Page 19: Testing Insepction
Page 20: Testing Insepction
Page 21: Testing Insepction
Page 22: Testing Insepction
Page 23: Testing Insepction
Page 24: Testing Insepction
Page 25: Testing Insepction
Page 26: Testing Insepction
Page 27: Testing Insepction
Page 28: Testing Insepction
Page 29: Testing Insepction
Page 30: Testing Insepction
Page 31: Testing Insepction
Page 32: Testing Insepction
Page 33: Testing Insepction
Page 34: Testing Insepction

g

Page 35: Testing Insepction
Page 36: Testing Insepction
Page 37: Testing Insepction
Page 38: Testing Insepction
Page 39: Testing Insepction
Page 40: Testing Insepction

Agile Development

Dietmar Strasser,Borland, Austria

Europe’s Premier Software Testing Event

World Forum Convention Centre, The Hague, Netherlands

WWW.QUALTECHCONFERENCES.COM

“The Future of Software Testing”

Traditional QA Meets

Page 41: Testing Insepction

Traditional Testing meets

Agile Development

Dietmar Strasser

Director QA, Lifecycle Quality Management

[email protected]

Page 42: Testing Insepction

Agenda

Journey towards an Agile Team

Our Environment we live in

How do we provide Visibility?

Q & A

Page 43: Testing Insepction

Journey towards an Agile Team

Page 44: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 5

Starting Point

SilkPerformer

Developers

Test Manager

Developers

SilkTest

DevelopersQA Doc

PM

PM

PM

PM ... Product Manager

PO ... Product Owner

Page 45: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 6

SilkPerformer

Developers

Test Manager

Developers

SilkTest

DevelopersQA Doc

PO

PO

PO

PM

PM

PM

PM ... Product Manager

PO ... Product Owner

Adding Product Owner

Page 46: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 7

User Story Workflow – Testers not integrated

Unassigned

In Progress

Dev

In Progress

QA

Drafted QA Ready

Approved

Drop Ready

RTM Ready

PO

PO

QA

Not Started In Progress

PO

Drop Ready

RTM Ready

QA

Dev

QA

Page 47: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 8

User Story Workflow - „Small Waterfall“

Unassigned

In Progress

Dev

In Progress

QA

Drafted QA Ready

Approved

Drop Ready

RTM Ready

PO

PO

QA

Not Started In Progress

PO

Drop Ready

RTM Ready

QA

Dev

QA

Coding•User story•Iteration x•4 weeks

Release Testing•All user stories•Last Iteration•4 weeks

Testing•User story•Iteration x+1•4 weeks

Page 48: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 9

Lesson Learned

“Ask the Team”

Page 49: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 10

Adding Tester Skills

SilkPerformer

Developers

Test Manager

Developers

SilkTest

DevelopersDoc

PO

PO

PO

PM

PM

PM

PM ... Product Manager

PO ... Product Owner

Tester

Tester

Tester

Page 50: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 11

Adding Documentation Skills

PO

PO

PO

PM

PM

PM

PM ... Product Manager

PO ... Product Owner

SilkPerformer

Developers

Test Manager

Developers

SilkTest

Developers

Tester

Tester

Tester

Doc

Doc

Doc

Page 51: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 12

SilkPerformer Engineering Team

Transition to Engineering Team

PO

PO

PO

PM

PM

PM

PM ... Product Manager

PO ... Product Owner

SilkTest Engineering Team

Test Manager Engineering Team

Page 52: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 13

Adding QM Coach

PO

PO

PO

PM

PM

PM

PM ... Product Manager

PO ... Product Owner

QM Coach

SilkPerformer Engineering Team

SilkTest Engineering Team

Test Manager Engineering Team

Page 53: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 14

Test Manager Engineering Team

Splitting & Re-Locating Teams

PO

PO

PO

PM

PM

PM

PM ... Product Manager

PO ... Product Owner

QM Coach

SilkPerformer Engineering Team

SilkTest Engineering Team

Page 54: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 15

In Progress

User Story Workflow - Agile

Unassigned

Drafted

Approved

PO

PO

Not Started In Progress

PO

DONEScrum

Team

DONE

AgileFinish user story in

one4-weeks Iteration

Page 55: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 16

Lesson Learned

“Agile is a journey,

not a destination”

Page 56: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 17

Product Scrum Team(s)

Distributed Team Environment

EQCContact

Daily

Quarterly

EQC

Resource Pool

QM Coach

Page 57: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 18

Lesson Learned

“Communicate, communicate,

communicate, …”

Page 58: Testing Insepction

Our Environment we live in

Page 59: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 20

Scrum Team(s)

Iteration Management

Our Environment we live in

RBT Environment

Scrum Team(s)

Test Management

Product Owner

Requirements Management

Management

Project Management, Reporting

Scrum

Team(s)

xUnit

Scrum Team(s)

Functional/

Performance Testing

Scrum Team(s)

Source

Management

Page 60: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 21

Lesson Learned

“People are more important

than processes & tools”

Page 61: Testing Insepction

How do we provide Visibility?

Page 62: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 23

Types of Visibility

• Internal Visibility

• Daily Stand-Ups

• Iteration Review Meetings

• Regular Updates on Production Systems

• Project Dashboard

• External Visibility

• Regular „Drops“ for customers and field people

Page 63: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 24

Project Dashboard

Goal Story Report(Executive Summary)

Scrum Team Reports

Iteration-Related Quality-Related

User Story Reports

Gettin

g in

to D

eta

ils

Pro

vid

e V

isib

ility

Page 64: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 25

Goal Story Report

Page 65: Testing Insepction

ConfidentialCopyright © 2008 Borland Software Corporation. 26

User Story Report