T16 Thursday, October 30, 2003 3:00 PM E NSURING R EQUIREMENTS T - - PDF document

t16
SMART_READER_LITE
LIVE PREVIEW

T16 Thursday, October 30, 2003 3:00 PM E NSURING R EQUIREMENTS T - - PDF document

BIO PRESENTATION T16 Thursday, October 30, 2003 3:00 PM E NSURING R EQUIREMENTS T RACEABILITY IN F UNCTIONAL AND P ERFORMANCE T ESTING Marc Bloom Capital One Financial Corp International Conference On Software Testing Analysis & Review


slide-1
SLIDE 1

BIO PRESENTATION International Conference On Software Testing Analysis & Review October 27-31, 2003 San Jose, CA USA

T16

Thursday, October 30, 2003 3:00 PM

ENSURING REQUIREMENTS TRACEABILITY IN FUNCTIONAL

AND PERFORMANCE TESTING

Marc Bloom Capital One Financial Corp

slide-2
SLIDE 2

Marc S. Bloom

Marc S. Bloom heads up End to End Systems Integration Testing for Capital One. He is an experienced IT Project Manager and Quality Assurance professional with expertise designing, implementing, as well as testing enterprise-level network environments. Accomplishments include integrating MVS, Unisys, UNIX, Oracle, and NT solutions for core financial services and E-Commerce systems. Before joining Capital One in 1998, Marc spent 10 years as a certified systems engineering consultant deploying and supporting large-scale network solutions for Fortune 500 corporations. Marc holds a Bachelor’s degree from James Madison University and a Master’s certificate in Project Management from George Washington.

slide-3
SLIDE 3

Requirements Traceability in Functional and Performance Testing

Marc S. Bloom QA Test Manager marc.bloom@capitalone.com

slide-4
SLIDE 4

2

Agenda

Requirements Definition Requirements Traceability Requirements Management Functional vs. Performance Requirements Key Similarities Key Differences

slide-5
SLIDE 5

3

Capital One at a Glance

A leading financial services

company

  • 6th largest credit card

issuer in the U.S.

  • - $60.7 billion in

managed loans

  • - 45.8 million managed

accounts

  • Located in 8 U.S. cities,

Canada, U.K., France and South Africa

  • A FORTUNE 500 Company -

#191!

Numerous awards including:

  • Top 100 training
  • rganization – Training

magazine

  • 20/20 Vision Award – CIO

magazine

  • One of the “Best Companies

to Work for” in the U.K.-The Sunday Times

  • “A top 100 company in

Customer Relationship Management”

  • CIO magazine
slide-6
SLIDE 6

Requirements Definition

slide-7
SLIDE 7

5

What are Requirements?

“Business requirements represent high-level objectives of the

  • rganization or customer requesting the system or product. They

are captured in a document describing the project’s vision and scope.” “User requirements describe tasks the user must be able to accomplish with the product. These are captured in use cases or scenario descriptions.” “Functional requirements define the software functionality the developers must build into the product to enable users to accomplish their tasks, thereby satisfying the business

  • requirements. Functional requirements are documented in a

software requirements specification (SRS).”

  • Karl Wiegers 1999. Software Requirements
slide-8
SLIDE 8

6

When are Requirements Defined? By whom?

Analysis Phase of the Software Development Life Cycle (SDLC). IT Business Analysts meet with various stakeholders and document needs. All stakeholders verify requirements documentation as correct and unambiguous before Development begins.

slide-9
SLIDE 9

7

What are the Sources of Requirements Documentation?

Business Rules Business Models System Process Flow Use Cases System Specifications User Interface Specifications Standards – Internal & External

slide-10
SLIDE 10

8

What are Some Characteristics

  • f Good Requirements?

Complete Consistent Correct Unambiguous Non-compound Feasible Necessary Prioritized Be SMART S imple M easurable A ccurate R easonable T estable

slide-11
SLIDE 11

9

What are Testable Requirements?

To be most useful in providing a solid basis for a Test Plan, requirements must be verifiable. A "Testable Requirement" is one that can be verified through the execution of a defined test case.

slide-12
SLIDE 12

Requirements Traceability

slide-13
SLIDE 13

11

Requirements Traceability Defined

The degree to which a relationship or link can be established between two or more products

  • f the development process – particularly

when having a predecessor-successor or master-subordinate relationship to one

  • another. * IEEE Std 829
slide-14
SLIDE 14

12

What are Some Traceability Benefits?

Certification of requirements coverage Change impact analysis Maintenance throughout SDLC Project tracking and metrics Re-engineering support Reuse of code in other projects Testing linkage

slide-15
SLIDE 15

13

What is a Requirements Traceability Process?

The process that ensures Development has designed the right software product in the right way, i.e. that it meets the stated needs

  • f the customer.

T E S T C A S E S CODE MODULES PRIORITY USE CASES C U S T O M E R R E Q U I R E M E N T S

1. Requirements 2. Use Cases 3. Prioritization 4. Code 5. Test Cases

slide-16
SLIDE 16

14

Requirements Traceability Model

Legend: Gray – Artifacts Green – Actors Red - Processes

slide-17
SLIDE 17

15

Requirements Traceability Matrix

Key method for associating individual requirements to test cases Dynamic artifact in Requirements Process Test cases can represent single or multiple requirements

slide-18
SLIDE 18

16

Requirements Traceability Sample Matrix

CAA3-001 Add_CAA3 DBM Add CAA23 CAA3 CAA2-001 ABCD_CAA1 EJB Connect to PCAAS CAA2 P3-002 Find_stat.44 AccountStat Servelet Return COAR Status P3 CAA1-003 Query.code2 3 JAVA Q Query Transfer Acct# CAA1 P3-002 Query.code2 AccountLookup Servlet Query Credit Acct# P3 P3-001 FindCOAR AccountLookup Servlet Query COAR Acct# P3 Test Case Code (Lines) Design Element Functional Requirement Use Case

slide-19
SLIDE 19

Requirements Management

slide-20
SLIDE 20

18

Requirements Management Defined

The purpose of Requirements Management is to establish a common understanding and agreement between the customer and the software project of the customer’s requirements that will be addressed by the software.

* CMM L2-1

slide-21
SLIDE 21

19

Requirements Management Process

It's rarely the case that the set of requirements with which a project originally starts is the same set of requirements that the final product fulfills. The Requirements Management Process insures the accurate traceability of individual requirements throughout the SDLC.

slide-22
SLIDE 22

20

Requirements Management Process (cont.)

Formal Change Control and Configuration Management are essential to documenting and tracking system or application requirements. A Change Control Board, with a defined CCB process, should approve all changes, additions or modifications.

slide-23
SLIDE 23

21

Downstream Impact of Requirements Changes

Architecture Design Code Development Use Cases User Documentation & Manuals Help Screens/Error Messages Test Cases

slide-24
SLIDE 24

Functional vs. Performance Testing Requirements

slide-25
SLIDE 25

23

Stakeholder Identification

Ask your team the question, “Who are we testing for?” The number of answers received may surprise you. Understanding the differences and overlaps in the beginning of the process insures that testing is properly targeted to each stakeholder’s needs.

slide-26
SLIDE 26

24

Stakeholders (cont.)

Functional:

Business Customer

Marketing Operations Customer Relations

IT Development Internal Audit

Performance:

Business Customer IT Platform Management Systems Engineering Capacity Planning IT Infrastructure Mgt. Future Technologies R&D Internal Audit

slide-27
SLIDE 27

25

Focus of Functional Requirements

Positive-based Process Flow Alternate or Exception Flows Data Integrity Verification GUI Interface Validation Information Security Risk Mitigation Legal and Compliance Verification

slide-28
SLIDE 28

26

Focus of Performance Requirements

Increased Priority on IT-defined Requirements Positive-based Process Flow

Excludes Boundary and Exception Tests System Monitoring Resource Utilization Platform Capacity/Scalability Infrastructure Stability

slide-29
SLIDE 29

27

Key to Breaking out Performance Requirements

Knowing the Demographics of the users What are their high percentage activities? How many total users in the system at any given time? Concurrent Load Tests What are the peaks during the day? Elasticity (Spike/Bounce) Tests What are acceptable response times? Stress and Endurance Tests

slide-30
SLIDE 30

28

Summary

Requirements drive the entire testing process. Use the Traceability Process to provide the necessary linkage to your Testing Process. Testing Tools provide excellent support for Requirements Management and Traceability. Ensure that you know your stakeholders to properly define the Functional and Performance testing needs.

slide-31
SLIDE 31

29

Bibliography

Rodger Drabick, “On-Track Requirements”, STQE Magazine, 1999 Johanna Rothman, Brian Lawrence, “Testing in the Dark”, STQE Magazine, 1999 Paul Gerrard, “Testing Requirements”, EuroSTAR ’94 Bill and Carol Councill, “Automating Requirements Traceability”, STQE Magazine, 2000 Karl E. Wiegers, “Requirements When the Field Isn’t Green”, STQE Magazine, 2001 Software Requirements, Second Edition, Karl E. Wiegers, 2003.

slide-32
SLIDE 32

30

Questions?