new traceability from use cases to test cases · 2006. 3. 17. · traceability of requirements...

29
1 IBM Software Group IBM Software Group Rational software ® RM14 Traceability From Use Cases To Test Cases Peter Zielczynski, Ph.D. The “A” Consulting Team [email protected] Rational User Conference 2003 ® Agenda Overview of the requirements types Traceability between requirements Actors and Use Cases How to create Test Cases from Use Cases Mapping to RUP Conclusions

Upload: others

Post on 12-Oct-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

1

IBM Software Group

IBM Software Group Rational software ®®

RM14

Traceability From Use Cases To Test Cases

Peter Zielczynski, Ph.D.The “A” Consulting [email protected]

IBM Software Group Rational softwareRational User Conference 2003

®

AgendaOverview of the requirements typesTraceability between requirementsActors and Use CasesHow to create Test Cases from Use CasesMapping to RUPConclusions

Page 2: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

2

IBM Software Group Rational softwareRational User Conference 2003

®

What is a requirement?A requirement is defined as "a condition or capability to which a system must conform"

A capability needed by a customer or user to solve a problem or achieve an objectiveA capability that must be met or possessed by a system to satisfy a contract, standard, specification, regulation or other formally imposed documentA restriction imposed by a stakeholder

IBM Software Group Rational softwareRational User Conference 2003

®

Requirements pyramid

Needs

Features

Use Cases Supp

Scenarios

Test Cases

Page 3: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

3

IBM Software Group Rational softwareRational User Conference 2003

®

Agenda

Overview of the requirements types Traceability between requirementsActors and Use CasesHow to create Test Cases from Use CasesMapping to RUPConclusions

IBM Software Group Rational softwareRational User Conference 2003

®

What is traceability?A technique used to provide relationships between requirements, design and implementation of a system in order to manage the effect of change and ensure the success of the delivered systemsThe ability to describe and follow the life of a requirement, in both a forward and backward directionA technique allowing to determine the origins of any requirement

Page 4: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

4

IBM Software Group Rational softwareRational User Conference 2003

®

Traceability of requirements

Features

Use Cases / Supp Spec

Scenarios

Test Cases

Needs

IBM Software Group Rational softwareRational User Conference 2003

®

Role of traceability

To verify that implementation fulfills requirementsLower-level requirements are consistent with stakeholder needs

To verify that the application does only what was intendedAll functionality was requestedOnly required testing was performed

To help change managementAnalyze impact of requirements change

Page 5: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

5

IBM Software Group Rational softwareRational User Conference 2003

®

What is a traceability item?Any project element that needs to be explicitly traced from another textual or model item in order to keep track of the dependencies between them With respect to RequisitePro: Any project element represented within RequisitePro by an instance of a RequisitePro requirement typeSample traceability items defined as requirement types in RequisitePro:

Stakeholder NeedFeatureUse CaseActorGlossary Term

What is a traceability item?

IBM Software Group Rational softwareRational User Conference 2003

®

Showing traceability in RequisitePro

Page 6: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

6

IBM Software Group Rational softwareRational User Conference 2003

®

Agenda

Overview of the Requirements Types Traceability between requirementsActors and Use CasesHow to create Test Cases from Use CasesMapping to RUPConclusions

IBM Software Group Rational softwareRational User Conference 2003

®

Use Cases and Actors

Use Case: A description of system behavior, in terms of sequences of actions. A use case should yield an observable result of value to an actor. A use case contains basic flow and all related alternate flows of events.

Actor: Someone or something external that interacts with the system.

Actor

Use Case

Page 7: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

7

IBM Software Group Rational softwareRational User Conference 2003

®

Characteristics of a Use CaseIs initiated by an actor to invoke functionalityModels an interaction between an actor and the systemDescribes sequence of actions or related stepsCaptures functional requirementsProvides value to the actorIs a complete and meaningful flow of events from the perspective of a particular actor

IBM Software Group Rational softwareRational User Conference 2003

®

ABC of writing effective Use Cases

Address functionalityBriefness in narrativeCommunicate effectively

(By Anand Maharana)

Page 8: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

8

IBM Software Group Rational softwareRational User Conference 2003

®

What is a purpose of Use Cases? To agree with the customers and users on what the system should doBasis for Use Case realizations that play major role in the designMay be almost directly used for documentationBasis for planning the technical content of iterationsGive system developers a better understanding of the purpose of the systemCan be used as an input for Test Cases

IBM Software Group Rational softwareRational User Conference 2003

®

Use Case Diagrams

Cancel an order

Place an order

Customer

Check order status

Page 9: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

9

IBM Software Group Rational softwareRational User Conference 2003

®

Use Case format1. Brief Description2. Flow of Events

1. Basic Flow2. Alternative Flow 13. Alternative Flow 2

3. Special Requirements4. PreConditions5. PostConditions6. Extension Points7. Context Diagram8. Activity Diagram

IBM Software Group Rational softwareRational User Conference 2003

®

Use Case “Place an order”: Basic Flow

B1 User enters web site address in the browser.

System displays login page.

B2 User enters an email address and a password.

System confirms correct login, presents main page, and prompts for a search string.

B3 User enters search string – partial name of a book.

System returns all books matching search criteria.

B4 User selects a book.

System presents detailed information about a book.

B5 User adds the book to a shopping cart.

Shopping cart contents is presented to the user.

B6 User selects “proceed to checkout” option.

System asks for confirmation of a shipping address.

Page 10: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

10

IBM Software Group Rational softwareRational User Conference 2003

®

Use Case “Place an order”: Basic Flow

B7 User confirms shipping address.

System presents shipping options.

B8 User selects shipping option.

Systems asks which credit card will be used.

B9 User confirms credit card that is stored in the system.

System asks for final confirmation to place an order.

B10 User places the order.

System returns confirmation number.

IBM Software Group Rational softwareRational User Conference 2003

®

Alternate Flow 1: “Unregistered user”

A1.1 Alternate flow begins after step B1 when user selects “Register now” option.

System prompts for required information: name, address, userid, password.

A1.2 User provides required information.

Systems confirms registration and presents login screen.

A1.3 Flow continues from step B2 of the Basic Flow.

Page 11: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

11

IBM Software Group Rational softwareRational User Conference 2003

®

A2.1 Alternate flow begins after step B1 when user enters userid and password.

When either userid or password are invalid, system returns an error message and displays login page.

A2.2 Flow continues from step B2 of the Basic Flow.

Alternate Flow 2: “Invalid password”

IBM Software Group Rational softwareRational User Conference 2003

®

Activity Diagram

Is password correct?

User enters email and password

No

User registers

User enters search criteria

Yes

Is user registered?

No

Yes

Is there at least one selection?

System displays notification

No

User selects a title

System presents details about selected book

Does user want to buy this book?

User adds the book to a shopping cart

System displays Shopping cart

Does user want to continue shopping?

System presents list of selections

Yes

No

Yes

Yes

A1 – unregistered user

A2 – invalid password

A3 – no books found

A4 – declining a book

A5 – continue shopping

Page 12: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

12

IBM Software Group Rational softwareRational User Conference 2003

®

Activity DiagramIs shipping address the same as in previous order?

User confirms address

Yes

User enters new addressNo

Does user want to use same credit card?

User confirms the card

Yes

User adds new credit card information

No

User selects shipping options

Does user want to cancel the order?

User cancels order

Yes

User confirms order

No

System returns confirmation number

User proceeds to checkout

A6 – new address

A7 – new credit card

A8 – cancel order

IBM Software Group Rational softwareRational User Conference 2003

®

Agenda

Overview of the requirements types Traceability between requirementsActors and Use CasesHow to create Test Cases from Use CasesMapping to RUPConclusions

Page 13: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

13

IBM Software Group Rational softwareRational User Conference 2003

®

Proposed format prepares generation of Test Cases

Steps in a Use Case correspond to steps in Test CaseUnique numbering makes referring steps easyCombining user’s input and system’s response in one step Activity diagram is a basis for scenario generation

IBM Software Group Rational softwareRational User Conference 2003

®

What is a Scenario?

Scenario describes one particular path through the flow of events described in a Use CaseScenario is an instance of an Use Case

Page 14: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

14

IBM Software Group Rational softwareRational User Conference 2003

®

How to find all Scenarios

B

A1

A2

A3

A4

IBM Software Group Rational softwareRational User Conference 2003

®

Description of Scenario

Scenario can be described by:A sequence of alternate flowsExample: SC16: A2 A2 A6A sequence of steps that form a scenarioExample:SC16: B1, A2.1, A2.2, A2.1, A2.2, B2, B3, B4,

B5, B6, A6.1, A6.2, B8, B9, B10

Page 15: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

15

IBM Software Group Rational softwareRational User Conference 2003

®

Infinite loops

B

A1

IBM Software Group Rational softwareRational User Conference 2003

®

Scenarios for book ordering use case

No

Is password correct?

User enters email and password

No

User registers

User enters search criteria

Yes

System presents list of selections

Is user registered?

No

Yes

Is there at least one selection?

Yes

System displays notification

User selects a title

System presents detai ls about selected book

Does user want to buy this book?

User adds the book to a shopping cart

System displays Shopping cart

Does user want to continue shopping?

User proceeds to checkout

Is shipping address the same as in previous order?

User confirms address

Yes

User enters new address

No

Does user want to use same credit card?

User confirms the card

Yes

User adds new credit card informat ion

No

User selects shipping options

Does user want to cancel the order?

User cancels order

Yes

User confirms order

System returns confirmation number

No

Yes

No

Yes

No

A1 – unregistered user

A2 – invalid password

A3 – no books found

A4 – declining a book

A5 – continue shopping

A6 – new address

A7 – new credit card

A8 – cancel order

SC1 – B

SC2 – A1

SC3 – A2

SC4 – A3

SC5 – A4

SC6 – A5

SC7 – A6

SC11 – A3, A4

SC15 – A7, A8

SC9 – A8

SC8 – A7

SC10 – A1, A2

SC12 – A4, A5

SC13 – A3, A5

SC14 – A6, A7

2(8+4) = 4096

Page 16: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

16

IBM Software Group Rational softwareRational User Conference 2003

®

Create requirement type “Scenario”

IBM Software Group Rational softwareRational User Conference 2003

®

Traceability from Use Cases to Scenarios

Page 17: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

17

IBM Software Group Rational softwareRational User Conference 2003

®

From Scenarios to Test CasesIdentify variables for each Use Case stepIdentify significantly different options for each step Select options that should be testedCombine options to be tested into Test CasesAssign values to variables

IBM Software Group Rational softwareRational User Conference 2003

®

Identify variables for each Use Case step

B2 Enter e-mail address and passwordemail (string)password (string)

B3 Search a booksearch sentence (string)

B4 Select a bookbooks (list)

B8 Select shipping optionshipping method

Page 18: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

18

IBM Software Group Rational softwareRational User Conference 2003

®

Identify significantly different options for each step Strings

regular [email protected] allowed [email protected] allowed [email protected] + 1 [email protected] big aaaaaaaaaaaaaaaaaaaaaaaaaaaa...logically invalid [email protected]

Characterslowercase auppercase Anumeric 5special #

IBM Software Group Rational softwareRational User Conference 2003

®

Identify significantly different options for each step Numbers

regularminmaxmin - 1max + 10Negative

Search criteria1 element returnedmany elementsno elements

Identify significantly different options for each step

Page 19: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

19

IBM Software Group Rational softwareRational User Conference 2003

®

Identify significantly different options for each step Single selection sets of items

each item selected once

Multiple selection sets of itemsone selectionno selectionmany selectionsall items selected

Identify significantly different options for each step

IBM Software Group Rational softwareRational User Conference 2003

®

Select options that should be tested

B1 email: regular, empty, 1, 50, 51, 257 char, no @B1 password: regular, empty, 5, 6, 10, 11, 257 charB2 search sentence: regular, empty, 1, 300, 301 charB3 books: first selection, last selectionB6 shipping method: each method once

Page 20: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

20

IBM Software Group Rational softwareRational User Conference 2003

®

Combine options to be tested into Test Cases

R

E

1

51

L

I

50

R

E

5

10

11

L

6

R

E

300

301

1

5

2

1

3F

L

email pwd search book add checkout shipping order

IBM Software Group Rational softwareRational User Conference 2003

®

Combine options to be tested into Test Cases

R

1

50

R

10

6

R

300

1

5

2

1

3F

L

Test Case 1Test Case 2Test Case 3Test Case 4

email pwd search book add checkout shipping order

Combine options to be tested into Test Cases

Page 21: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

21

IBM Software Group Rational softwareRational User Conference 2003

®

Guidelines for combining options

Rules to select an option is step n:Take any option that was not used yetTake an option that was not used after the option selected in step n-1Take an option that was used the least

IBM Software Group Rational softwareRational User Conference 2003

®

Test Case matrix

Step Variable or selection

TC1 TC2 TC3 TC4

B1 Website Regular Regular Regular RegularB2 Email Regular Min Max RegularB2 Password Regular Min Max MinB3 Search string Regular Min Max RegularB4 Book selection First Last First LastB5 Shopping chart Add Add Add AddB6 Checkout Checkout Checkout Checkout CheckoutB7 Address Same Same Same SameB8 Shipping option 1st 2nd 3rd 4th

B9 Credit card Same Same Same Same

Page 22: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

22

IBM Software Group Rational softwareRational User Conference 2003

®

Assign values to variables

Step number

Variable or selection

Value Expected result Obtained result

B1 Website www.amazon.com Logon ScreenB2 Email [email protected] -B2 Password Johnsm Main ScreenB3 Search string “Rational” List of booksB4 Book selection First Book detailsB5 Shopping chart Shopping chart Cart contentsB6 Checkout Checkout Prompt for addressB7 Address Same Prompt for shippingB8 Shipping option 5 days Prompt for paymentB9 Credit card Same Prompt for confirmation

IBM Software Group Rational softwareRational User Conference 2003

®

Traceability matrix

Page 23: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

23

IBM Software Group Rational softwareRational User Conference 2003

®

Traceability tree

IBM Software Group Rational softwareRational User Conference 2003

®

Traceability tree

Page 24: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

24

IBM Software Group Rational softwareRational User Conference 2003

®

Traceability tree

IBM Software Group Rational softwareRational User Conference 2003

®

Traceability tree

Page 25: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

25

IBM Software Group Rational softwareRational User Conference 2003

®

Suspect relationships

IBM Software Group Rational softwareRational User Conference 2003

®

What is being tested

Page 26: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

26

IBM Software Group Rational softwareRational User Conference 2003

®

IBM Software Group Rational softwareRational User Conference 2003

®

Agenda

Overview of the requirements types Traceability between requirementsActors and Use CasesHow to create Test Cases from Use CasesMapping to RUPConclusions

Page 27: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

27

IBM Software Group Rational softwareRational User Conference 2003

®

Where in the process does it fit?

IBM Software Group Rational softwareRational User Conference 2003

®

Agenda

Overview of the requirements types Traceability between requirementsActors and Use CasesHow to create Test Cases from Use CasesMapping to RUPConclusions

Page 28: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

28

IBM Software Group Rational softwareRational User Conference 2003

®

Benefits of this approachTest Cases are derived in more automatic wayAvoiding duplicate testingBetter test coverageEasier monitoring of testing progressEasier work load balancing between testersEasier regression testingDecreasing project time by moving some tasks from construction to elaborationContribution to early discovery of missing requirements

IBM Software Group Rational softwareRational User Conference 2003

®

LiteratureJim Heumann, "From Use Cases to Test Cases - Ensuring Quality from the Beginning." RUC 2001. Jim Heumann, "Using Use Cases to Create Test Cases." The Rational Edge, June 2001.Dean Leffingwell and Don Widrig, “Managing Software Requirements: A Unified Approach”. Addison-Wesley, 1999. Dean Leffingwell and Don Widrig, “The Role of Requirements Traceability in System Development”, The Rational Edge, September 2002.Rational Unified Process. Rational Software Corporation, 2001.

Page 29: New Traceability From Use Cases To Test Cases · 2006. 3. 17. · Traceability of requirements Features Use Cases / Supp Spec Scenarios Test Cases Needs Rational User Conference 2003IBM

29

IBM Software Group Rational softwareRational User Conference 2003

®

IBM Software Group Rational softwareRational User Conference 2003

®

Peter Zielczynski, [email protected]