Methods for Validating and Testing Software Requirements (lecture slides)

92
D. Monett Europe Week 2015, University of Hertfordshire, Hatfield Methods for Validating and Testing Software Requirements Prof. Dr. Dagmar Monett Díaz Computer Science Dept. Faculty of Cooperative Studies Berlin School of Economics and Law [email protected] Europe Week, 2 nd 6 th March 2015 60 Minutes

Transcript of Methods for Validating and Testing Software Requirements (lecture slides)

Page 1: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Methods for Validating and

Testing Software Requirements

Prof. Dr. Dagmar Monett DíazComputer Science Dept.

Faculty of Cooperative Studies

Berlin School of Economics and Law

[email protected]

Europe Week, 2nd – 6th March 2015

60 Minutes

Page 2: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Dilbert

Scott Adams

At http://dilbert.com/strip/2014-02-25/

(Educational/Classroom usage permission is granted by Universal Uclick. All Rights Reserved)

Different goals…

2

Page 3: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 3

Main topics

Page 4: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 4

Main topics

Where does the major content come from?

Requirements Engineering and Requirements

Development: An Overview

Requirements validation. Key actions

Reviewing requirements

- Informal and formal approaches

Testing requirements

- Validating with acceptance criteria

Good practices in validation

What’s next? Further reading, sources of inspiration

Page 5: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 5

Next topics…

Where does the major content come from?

Requirements Engineering and Requirements

Development: An Overview

Requirements validation. Key actions

Reviewing requirements

- Informal and formal approaches

Testing requirements

- Validating with acceptance criteria

Good practices in validation

What’s next? Further reading, sources of inspiration

Page 6: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 6

©

Page 7: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Software Requirements

Karl Wiegers and Joy Beatty

3rd Edition, 672 pp.

Microsoft Press, 2013

ISBN-13: 978-0-7356-7966-5

(See more at

http://aka.ms/SoftwareReq3E/files)

7

Wiegers & Beatty

Page 8: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Software Engineering

Ian Sommerville

9th Edition, 792 pp.

Addison-Wesley, 2010

ISBN-13: 978-0137035151

(10th Edition: April 2015. See more at

http://iansommerville.com/software-

engineering-book/)

8

Sommerville

Page 9: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 9

The traditional software

development process:

Perceptions, communication patterns

and interests…

Page 10: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 10Cartoon http://projectcartoon.com/

Page 11: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 11Cartoon http://projectcartoon.com/

Page 12: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 12

Requirements and

Requirements Engineering

– An Overview –

Page 13: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 13

Requirement: A definition

According to Wiegers & Beatty:

“[A requirement is a] statement of a

customer need or objective, or of a condition

or capability that a product must possess to

satisfy such a need or objective. A property

that a product must have to provide value to

a stakeholder.”

See lecture “A Structured Approach to Requirements Analysis” for more on this topic!

Page 14: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Requirements Engineering

Definition according to Wiegers & Beatty:

Requirements engineering is the subdiscipline of

systems engineering and software engineering that

encompasses all project activities associated with

understanding a product's necessary capabilities and

attributes. Includes both requirements development

and requirements management.

14

See lecture “A Structured Approach to Requirements Analysis” for more on this topic!

Page 15: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 15

Subdisciplines of

Requirements Engineering

Page 16: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 16

Subdisciplines of Requirements Engineering

Requirements

Engineering

Requirements

Development

Requirements

Management

Acc. to Wiegers & Beatty

See lecture “A Structured Approach to Requirements Analysis” for more on this topic!

Page 17: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 17

Subdisciplines of Requirements Development

Elicitation

Requirements

Engineering

Analysis Specification Validation

Requirements

Development

Requirements

Management

Acc. to Wiegers & Beatty

See lecture “A Structured Approach to Requirements Analysis” for more on this topic!

Page 18: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 18

Subdisciplines of Requirements Management

Tracking

Requirements

Engineering

Managing Controlling Tracing

Requirements

Development

Requirements

Management

Acc. to Wiegers & Beatty

See lecture “A Structured Approach to Requirements Analysis” for more on this topic!

Page 19: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 19

Topics of other related lectures

Page 20: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 20

Subdisciplines of Requirements Engineering

Elicitation

Requirements

Engineering

Analysis Specification Validation

Requirements

Development

Requirements

Management

All are topics of lecture:

“A Structured Approach to Requirements Analysis”

Page 21: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 21

Subdisciplines of Requirements Development

Requirements

Engineering

Requirements

Development

Requirements

Management

Elicitation Analysis Specification Validation

Topic of lecture

“Requirements Engineering Techniques for Eliciting Requirements”

Page 22: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 22

Subdisciplines of Requirements Development

Requirements

Engineering

Requirements

Development

Requirements

Management

Elicitation Specification Validation

Topics of lecture

“Requirements Engineering Methods for Documenting Requirements”

Analysis

Page 23: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 23

Subdisciplines of Requirements Development

Requirements

Engineering

Requirements

Development

Requirements

Management

Elicitation Analysis Specification Validation

Also topic of lecture

“Modelling Software Requirements. Important diagrams and templates”

Page 24: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 24

Subdisciplines of Requirements Development

Requirements

Engineering

Requirements

Development

Requirements

Management

Elicitation Analysis Specification Validation

Topic of (this) lecture

“Methods for Validating and Testing Software Requirements”

Page 25: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 25

A Requirements Development

process framework

Page 26: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 26

Subdisciplines of Requirements Development

Elicitation

Requirements

Engineering

Analysis Specification Validation

Requirements

Development

Requirements

Management

Acc. to Wiegers & Beatty

Page 27: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

RD process framework

27

Elicitation

Analysis

Specification

Validationre-evaluate

Adapted from Wiegers & Beatty

identifying, discovering

evaluating,

verifying

documenting, SRS

classifying,

representing,

deriving,

negotiating

RD: Requirements Development

SRS: Software Requirements Specification

See lecture “A Structured Approach to Requirements Analysis” for details!

Page 28: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 28

A structured approach to

Requirements Development

Page 29: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 29

A structured approach to RD

(1) Define stakeholders!

Who is interested in the system?

Who makes decisions?

Who are the users, managers, developers, etc.?

In other words, WHO has influence on the software requirements?

(2) Define goals!

Stakeholders have goals (define coarse goals!)

These goals can be divided into more specific goals (define granular goals!)

In other words, WHAT should be implemented or achieved?

(3) Define requirements!

Goals can be derived into concrete requirements

How to get to the requirements? (goal-based!)

Model those requirements using diagrams, templates, etc.

In other words, HOW will the goals be achieved?

Page 30: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 30

A structured approach to RD

Granular goals

CG3

CG2CG1

Coarse goals

Define

stakeholders

Define

goals

Define

requirements

DiagramsTemplates

Models

WHO

WHAT

HOW

See lecture “A Structured Approach to Requirements Analysis” for details!

Page 31: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 31

So far…

Where does the major content come from?

Requirements Engineering and Requirements

Development: An Overview

Requirements validation. Key actions

Reviewing requirements

- Informal and formal approaches

Testing requirements

- Validating with acceptance criteria

Good practices in validation

What’s next? Further reading, sources of inspiration

Page 32: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 32

Next topics…

Where does the major content come from?

Requirements Engineering and Requirements

Development: An Overview

Requirements validation. Key actions

Reviewing requirements

- Informal and formal approaches

Testing requirements

- Validating with acceptance criteria

Good practices in validation

What’s next? Further reading, sources of inspiration

Page 33: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 33

Requirements Validation

Page 34: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

RD process framework

34

Elicitation

Analysis

Specification

Validationre-evaluate

Adapted from Wiegers & Beatty

identifying, discovering

evaluating,

verifying

documenting, SRS

classifying,

representing,

deriving,

negotiating

RD: Requirements Development

SRS: Software Requirements Specification

Page 35: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

RD process framework

35

Elicitation

Analysis

Specification

Validationre-evaluate

Adapted from Wiegers & Beatty

identifying, discovering

evaluating,

verifying

documenting, SRS

classifying,

representing,

deriving,

negotiating

RD: Requirements Development

SRS: Software Requirements Specification

Page 36: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Validation and verification

36

Acc. to Wiegers & Beatty

“[Validation is the] process of evaluating a project

deliverable to determine whether it satisfies

customer needs.”

‘Are we building the right product?’

“[Verification is the] process of evaluating a

project deliverable to determine whether it satisfies

the specifications on which it was based.”

‘Are we building the product right?’

Page 37: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 37

Key actions in validation

Page 38: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Key actions

38

Acc. to Wiegers & BeattyV

ali

dati

on

Reviewing the documented requirements to correct

any problems before the development group accepts

them.

According to Wiegers & Beatty

Page 39: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Key actions

39

Acc. to Wiegers & BeattyV

ali

dati

on

Reviewing the documented requirements to correct

any problems before the development group accepts

them.

Developing acceptance tests and criteria to confirm

that a product based on the requirements would

meet customer needs and achieve the business

objectives.

According to Wiegers & Beatty

Page 40: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 40

So far…

Where does the major content come from?

Requirements Engineering and Requirements

Development: An Overview

Requirements validation. Key actions

Reviewing requirements

- Informal and formal approaches

Testing requirements

- Validating with acceptance criteria

Good practices in validation

What’s next? Further reading, sources of inspiration

Page 41: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 41

Active learning exercise

Image © renjith krishnan at http://www.freedigitalphotos.net/

Page 42: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Quiz

42

Which is an activity in the validation process?

(A) Negotiating.

(B) Discovering.

(C) Evaluating.

(D) Classifying.

Page 43: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 43

Next topics…

Where does the major content come from?

Requirements Engineering and Requirements

Development: An Overview

Requirements validation. Key actions

Reviewing requirements

- Informal and formal approaches

Testing requirements

- Validating with acceptance criteria

Good practices in validation

What’s next? Further reading, sources of inspiration

Page 44: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 44

Reviewing requirements

Page 45: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Dilbert

Scott Adams

At http://dilbert.com/strip/2013-02-25/

(Educational/Classroom usage permission is granted by Universal Uclick. All Rights Reserved)

Failed feedback…

45

Page 46: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Peer review

46

“[A peer review is an] activity in which one or

more persons other than the author of a work

product examine that product with the intent of

finding defects and improvement

opportunities.”

According to Wiegers & Beatty:

Page 47: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Peer review approaches

47

Peer deskcheck: asking one colleague to look

over your own work product.

According to Wiegers & Beatty

Passaround: inviting several colleagues to

examine a deliverable concurrently.

Walkthrough: the author describes a

deliverable and solicits comments on it.

Informal peer reviews:

Page 48: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 48

The inspection process

Page 49: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 49

Inspection: A definition

According to Wiegers & Beatty:

“[Inspection is a] type of formal peer review

that involves a trained team of individuals

who follow a well-defined process to examine

a work product carefully for defects.”

Originally developed by Michael Fagan at IBM (1976)

Software industry best practice

Best-established type of formal peer review

Page 50: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 50

Inspection

The participants (<7)

The author of the work

product and perhaps

peers of the author

People who are the

sources of information

that fed into the item

being inspected

People who will do

work based on the

item being inspected

People who are responsible

for interfacing systems that

will be affected by the item

being inspected

According to Wiegers & Beatty

Page 51: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 51

Inspection roles

Author

They look for defects and improvement opportunities

- Plays passive role during inspection, listens to

comments, answers questions.

According to Wiegers & Beatty

Page 52: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 52

Inspection roles

Author

Moderator

They look for defects and improvement opportunities

- Plays passive role during inspection, listens to

comments, answers questions.

- Plans inspection with author, coordinates

activities, facilitates the inspection meeting.

According to Wiegers & Beatty

Page 53: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 53

Inspection roles

Author

Moderator

Reader

They look for defects and improvement opportunities

- Plays passive role during inspection, listens to

comments, answers questions.

- Plans inspection with author, coordinates

activities, facilitates the inspection meeting.

- Paraphrases requirements and model

elements. The other participants point out

potential defects and issues they see.

According to Wiegers & Beatty

Page 54: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 54

Inspection roles

Author

Moderator

Reader

Recorder

They look for defects and improvement opportunities

- Plays passive role during inspection, listens to

comments, answers questions.

- Plans inspection with author, coordinates

activities, facilitates the inspection meeting.

- Paraphrases requirements and model

elements. The other participants point out

potential defects and issues they see.

- Documents issues raised and defects found.

According to Wiegers & Beatty

Page 55: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

The inspection process

55

Initialwork

productPlanning Preparation

InspectionmeetingRework

Follow-up

Baselinedwork

product

Entry

criteria

Exit

criteria

According to Wiegers & Beatty

Page 56: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Defect checklist

56

Helps reviewers look for

typical kinds of errors.

According to Wiegers & Beatty

Image © Stuart Miles @ http://www.freedigitalphotos.net/

Page 57: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Defect checklist

57

Examples of topics to check out:

Completeness Do the requirements address all known customer or system

needs?

Correctness Do any requirements conflict with or duplicate other

requirements?

Organisation and traceability Is each requirement uniquely and correctly labelled?

According to Wiegers & Beatty

Page 58: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 58

So far…

Where does the major content come from?

Requirements Engineering and Requirements

Development: An Overview

Requirements validation. Key actions

Reviewing requirements

- Informal and formal approaches

Testing requirements

- Validating with acceptance criteria

Good practices in validation

What’s next? Further reading, sources of inspiration

Page 59: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 59

Next topics…

Where does the major content come from?

Requirements Engineering and Requirements

Development: An Overview

Requirements validation. Key actions

Reviewing requirements

- Informal and formal approaches

Testing requirements

- Validating with acceptance criteria

Good practices in validation

What’s next? Further reading, sources of inspiration

Page 60: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 60

Testing requirements

Page 61: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Tests

61

Powerful tool for both validating and verifying

requirements.

Evaluate functional requirements, analysis models,

and prototypes.

Should cover normal and alternative flows

identified during elicitation and analysis.

According to Wiegers & Beatty

Page 62: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Example of conceptual test

62

Use case:

Test:

According to Wiegers & Beatty

“User enters order number to view, order exists,

user had placed the order.

Expected result: show order details.”

View a stored order

Page 63: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 63

Validating with

acceptance criteria

Page 64: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Acceptance criteria

64

According to Wiegers & Beatty:

“[Acceptance criteria are] conditions that a

software product must satisfy to be accepted

by a user, customer, or other stakeholder.”

From “What do you need to do with the system?”…

…to “How would you judge whether the solution meets

your needs?”

Page 65: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Acceptance Test

65

According to Wiegers & Beatty:

“[An acceptance test is a] test that evaluates

anticipated usage scenarios to determine the

software's acceptability. Used in agile

development both to express details about a

user story and to determine whether a user

story is fully and correctly implemented.”

Page 66: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 66

The front of a story card

Acc. to Cohn

Image © Stuart Miles @ http://www.freedigitalphotos.net/

Conver-

sations

The

description

A company can pay for a job posting with a

credit card.

Note: Will we accept Discover cards?

Note for UI: Don’t have a field for card type

(it can be derived from first two digits on the

card)

Page 67: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 67

The back of the story card

Image © Stuart Miles @ http://www.freedigitalphotos.net/

How to

test the

user story

Test with Visa/MasterCard/American Express.

Acc. to Cohn

Test with Diner’s Club.

Test with good/bad/missing card ID numbers.

Test with expired cards.

Test with over $100 and under $100.

(fail)

(pass)

Page 68: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 68

So far…

Where does the major content come from?

Requirements Engineering and Requirements

Development: An Overview

Requirements validation. Key actions

Reviewing requirements

- Informal and formal approaches

Testing requirements

- Validating with acceptance criteria

Good practices in validation

What’s next? Further reading, sources of inspiration

Page 69: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 69

Next topics…

Where does the major content come from?

Requirements Engineering and Requirements

Development: An Overview

Requirements validation. Key actions

Reviewing requirements

- Informal and formal approaches

Testing requirements

- Validating with acceptance criteria

Good practices in validation

What’s next? Further reading, sources of inspiration

Page 70: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 70

Good practices:

Requirements validation

Page 71: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Good practices

Review the requirements (peer review, rigorous

inspection, etc.).

Test the requirements for documenting the

expected behaviour under specified conditions.

Define acceptance criteria together with users

and based on their requirements.

Simulate the requirements (simulations with

mock-ups to validate requirements and make

design choices if necessary).

71

Acc. to Wiegers & Beatty

Page 72: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 72

To take away…

Page 73: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Key actions

73

Acc. to Wiegers & BeattyV

ali

dati

on

Reviewing the documented requirements to correct

any problems before the development group accepts

them.

Developing acceptance tests and criteria to confirm

that a product based on the requirements would

meet customer needs and achieve the business

objectives.

According to Wiegers & Beatty

Page 74: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

The inspection process

74

Initialwork

productPlanning Preparation

InspectionmeetingRework

Follow-up

Baselinedwork

product

Entry

criteria

Exit

criteria

According to Wiegers & Beatty

Page 75: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 75

The back of the story card

Image © Stuart Miles @ http://www.freedigitalphotos.net/

How to

test the

user story

Test with Visa/MasterCard/American Express.

Acc. to Cohn

Test with Diner’s Club.

Test with good/bad/missing card ID numbers.

Test with expired cards.

Test with over $100 and under $100.

(fail)

(pass)

Page 76: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 76

So far…

Where does the major content come from?

Requirements Engineering and Requirements

Development: An Overview

Requirements validation. Key actions

Reviewing requirements

- Informal and formal approaches

Testing requirements

- Validating with acceptance criteria

Good practices in validation

What’s next? Further reading, sources of inspiration

Page 77: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 77

Next topics…

Where does the major content come from?

Requirements Engineering and Requirements

Development: An Overview

Requirements validation. Key actions

Reviewing requirements

- Informal and formal approaches

Testing requirements

- Validating with acceptance criteria

Good practices in validation

What’s next? Further reading, sources of inspiration

Page 78: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 78

What comes next?

Page 79: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 79

Subdisciplines of Requirements Management

Tracking

Requirements

Engineering

Managing Controlling Tracing

Requirements

Development

Requirements

Management

Acc. to Wiegers & Beatty

See lecture “A Structured Approach to Requirements Analysis” for more on this topic!

Page 80: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 80

Other references

Page 81: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Requirements-Engineering

und -Management: Aus der

Praxis von klassisch bis agil

Chris Rupp & die SOPHISTen

6th Edition, 570 pp.

Carl Hanser Verlag München, 2014

ISBN-13: 978-3-446-43893-4

In German

(Chapters and related topics in English are

available for free at https://www.sophist.de/)

81

Rupp & The SOPHISTs

Page 82: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Other books

82

Page 83: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Other books

83

Page 84: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Further reading

IREB - International Requirements Engineering

Board e.V.

http://www.ireb.org/en/service/downloads.html

84

Page 85: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Conference sites…

21st International Working Conference on

Requirements Engineering: Foundation for Software

Quality (REFSQ 2015), Essen, Germany

http://refsq.org/2015/

85

Page 86: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Conference sites…

23rd IEEE International Requirements Engineering

Conference (RE’15), Ottawa, Canada

http://re15.org/

86

Page 87: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 87

The traditional software

development process:

Perceptions, communication patterns

and interests…

Page 88: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 88Cartoon http://projectcartoon.com/

Page 89: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 89

The ideal, perfect, still possible

software development process:

Perceptions, communication patterns

and interests…

Page 90: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 90Adapted from cartoon http://projectcartoon.com/

Page 91: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield 91

Done!

Where does the major content come from?

Requirements Engineering and Requirements

Development: An Overview

Requirements validation. Key actions

Reviewing requirements

- Informal and formal approaches

Testing requirements

- Validating with acceptance criteria

Good practices in validation

What’s next? Further reading, sources of inspiration

Page 92: Methods for Validating and Testing Software Requirements (lecture slides)

D. Monett – Europe Week 2015, University of Hertfordshire, Hatfield

Methods for Validating and

Testing Software Requirements

Prof. Dr. Dagmar Monett DíazComputer Science Dept.

Faculty of Cooperative Studies

Berlin School of Economics and Law

[email protected]

Europe Week, 2nd – 6th March 2015

monettdiaz@dmonett