36
1 Test Management Approach (TMap) Chris Hampton, PMP Practice Manager, Software Control & Testing Sogeti USA September 2007

Basics of Structured Software Testing

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Basics of Structured Software Testing

1

Test Management Approach (TMap)

Chris Hampton, PMPPractice Manager, Software Control & Testing

Sogeti USASeptember 2007

Page 2: Basics of Structured Software Testing

2

Page 3: Basics of Structured Software Testing

3

Agenda:

• The State of, and Business Case for, Software Quality

• What is testing?

• Sogeti’s Test Management Approach® (Tmap®)

• Sogeti’s Test Process Improvement® (TPI®) Methodology

Page 4: Basics of Structured Software Testing

4

Poor State of Software Delivery

“Software failure costs the American economy $59.5 billion annually.”

Source: NIST (2002)

30% of projects cancelled early

54% of projects over budget

66% of projects rated unsuccessful

90% of projects are delivered late

Source: Standish 2003

4

Page 5: Basics of Structured Software Testing

5

The Business Case For QA

• Compliance– Basel II, Sarbanes Oxley, HIPAA, etc…– Reduced liability from defective software and defective

process

• Cost Savings– Quality processes now reduce support costs later– Lost revenue

• Satisfaction– Higher User satisfaction– Improved business alignment

• Growth– Better quality and measurements allows development

optimization– Increase ability to deliver

5

Page 6: Basics of Structured Software Testing

6

Where Quality Problems Originate

Source: James Martin

CodeOtherDesignRequirements

56%

7%

10%

27%

Page 7: Basics of Structured Software Testing

7April 8, 2023

How Quality Provides Tremendous Savings

Unit Test

Production

Code

COST TO REPAIR DEFECT

Planning AnalysisSystem Design$140

Planning AnalysisSystem Design$140

Unit Test

$1000

Unit Test

$1000

CodeCode

$14000

Time cost and resource effort increase exponentially later in the lifecycle

Source: Cutter Consortium/Forrester/Sogeti

Integration Test

$2500

Integration Test

$2500

SystemTest

$4500

SystemTest

$4500

Certification Test

$7000

Page 8: Basics of Structured Software Testing

8

What is testing?

Testing is a process aimed at:

• Finding defects in a controlled manner

• Detecting the level of quality of the test object

• Demonstrating the gap between specifications and the

actual product

• Demonstrating that the end product functions as called

for in the requirements

8

Page 9: Basics of Structured Software Testing

9

Testing is not . . . .

Testing is not:

• Implementation

• Acceptance

• Defect repair

• A phase after development – although testing includes a phase after development

• Training on a new system

9

Page 10: Basics of Structured Software Testing

10

Why do we test ?

• To mitigate business risks that have been identified:

– Validate software quality

– Verify integration of business processes

– Reduce time-to-market

– Competitive purposes

• To ensure business usability of the software:

– Release low-error/known-error software– Move high quality software (meets or exceeds quality

expectations) into production

– Demonstrate the usefulness of new technology

10

Page 11: Basics of Structured Software Testing

11

Testing of information systems

• Application Software

• Hardware

• System Software

• Procedures

• Documentation

• Functionality

• Continuity

• Performance

• Usability

• Interoperability (between different applications and systems)

What do we test?

11

Page 12: Basics of Structured Software Testing

12

Structured Software Testing

• Testing everything is impractical– Funding limitations– Limited time and resources– Diminishing value after a certain point

• Isn’t there a more effective way?

• Yes! Structured software testing: a risk-based, quality-centric approach to testing

Page 13: Basics of Structured Software Testing

13

Test Management Approach (TMap®)

• Sogeti’s methodology for structured testing of software products.

• TMap® has evolved to be the standard for software testing in Europe and quickly gaining traction in the US.– It is being used by more than three

hundred Dutch, Belgium and German organizations.

– Industry adoption includes : Financial Services Insurance Government Consumer Electronics Telecommunications Medical systems

13

Page 14: Basics of Structured Software Testing

14

4 Essentials of TMap®

• Business-driven test management (BDTM) approach

• Structured test process• Complete tool box • Adaptive test method

BDTM puts focus on risk-based testing—only testing what has impacts to the organization.

14

Page 15: Basics of Structured Software Testing

15

Business Driven Test Management

• Choices must be made in what is tested and how thoroughly.

• This is an economic decision based on:– The risks that an organization

thinks it will incur

– The availability of time and resources

– The results the customer wishes to achieve.

• The choices based on risks, result, time and cost constitutes the basis for the BDTM approach.

15

Page 16: Basics of Structured Software Testing

16

The BDTM Process

1. Formulate the test goals.2. Determine the risk class for each

combination of characteristic and object part.

3. Determining the depth of testing required.• Based on risk/resource trade off

4. Develop the test estimate and test plan.

5. Allocate the appropriate test techniques.

6. Throughout the test process, the test manager provides the stakeholders with insight into and control options over test process and test object.

16

Page 17: Basics of Structured Software Testing

17

Risk Definition

• Testing should be based on the mitigation of risk and validation of expected quality defined by the business requirements

• Definition of risk– A “risk” is a chance of a failure occurring, related to

expected damage to the project (should the failure occur)

• Risk Categories– Risks identified in different categories such as business

risks, project risks, product risks, process risks

• Risk Ranking– Risk are ranked in criticality relative to one another, by

instituting a method of risk ranking (or “risk rating”)

17

Page 18: Basics of Structured Software Testing

18

How Risk Ranking Works

1. Assemble a team of people representing various roles from the project – PMs, Business Leads/SMEs, Test Leads, Tech Leads

2. Create an initial list of risks3. Team assigns a numeric value to each risk = the

probability of occurrence of each risk4. Team assigns a second value to each risk, representing

the impact on the project/organization5. Multiply the two values together (the probability of

occurrence X the impact)6. The result is a relative value for each risk7. Order the risks by their relative risk values

– “risk rating” or “risk ranking”– Ranking helps manage the most critical risks, especially

those falling in the middle tier of the ranking

8. Periodically update the list of risks

Page 19: Basics of Structured Software Testing

19

Risks – quality characteristics matrix

High Priority

Low Priority

Medium Priority

Low High

Risks

Medium

High Priority/Low Risk

Low Priority/High Risk

Low Priority/Low Risk

High Priority/High Risk

Medium Priority/Low Risk

Medium Priority/Medium Risk

Medium Priority/High Risk

High Priority/Medium Risk

Low Priority/Medium Risk

Multi-Level Matrix

Page 20: Basics of Structured Software Testing

20

Ten steps for creating a test case

Step 1

Step 2

Step 3

Step 4

Step 5

Step 10

Step 9

Step 8

Step 7

Step 6

Identify sub-systems / sub-processes

Identify risks

Rank risks

Agree on relevant quality characteristics

Rank relevant quality characteristics

Create subsystem / quality characteristic pairings

Create test scenarios for each subsystem

Associate test scenarios with risks

Select suitable test techniques

CREATE TEST CASES

Facilitated Sessions

FUNCTIONAL AREA

Page 21: Basics of Structured Software Testing

21

Structured Test Process

• Master Test Plan, managing the total test process– Acceptance and System Tests– Developmental Test– Supporting Processes

• Lifecycle Model

Page 22: Basics of Structured Software Testing

22

Master Test Plan

• Developed by the test manager in partnership with the appropriate stakeholders

• Jointly define: – What will be tested for each test

level, – When it will be tested– To what degree of

thoroughness.

• This plan constitutes the basis for the test plans for the separate test levels. – Unit Testing– Systems Integration Testing– Acceptance Testing– Developmental Testing

Page 23: Basics of Structured Software Testing

23

Life Cycle Model

• The life cycle model is a generic model. – Can be applied to all test levels and test types– Used in parallel with the life cycle models for system

development.

• Test activities are divided across seven phases:– Planning– Control– Setting up and maintaining infrastructure – Preparation,– Specification– Execution– Completion

Page 24: Basics of Structured Software Testing

24

TMap - Structured testing lifecycle

P&C

P S E C

PREPARATION-Testability review-Allocate techniques-Requirements review-Data cycle test-Process cycle test-Other tests-Specify test cases-Create/assess infrastructure-Test specification-Data flow test

EXECUTION-Pretest-(Re)test-Checking-Assessing-Debugger-Record and playback-Monitoring-Preserve testware-Evaluate process

PLANNING & CONTROL-Inspection and study -Test strategy-Develop test strategy -Test estimation

oRisk analysis-ReportsoTest Estimation (TPA) -Management tools-Setup organization -Budgeting tools-Prepare test plan -Defect management -Management and control tool

SPECIFICATION-Create test scripts-Create infrastructure

COMPLETION-Preserve testware for future use-Evaluate process

Page 25: Basics of Structured Software Testing

25

Complete Tool Kit

• Techniques – Many techniques can be used

in the test process. A test technique is a combination of actions to produce a test product in a universal manner.

• TMap provides techniques for the following: Test estimation Defect management Creating metrics Product risk analysis Test design Product evaluation.

Page 26: Basics of Structured Software Testing

26

Adaptive Test Method• Complete And Flexible• Works with any SDLC

– Iterative– RAD– Agile– Waterfall– RUP

• Works with any technology– Mainframe– Web– ERP– SOA

Page 27: Basics of Structured Software Testing

27

Page 28: Basics of Structured Software Testing

28

TMap® – Differentiators

• Business-Driven Test Management• Risk-based test strategy• Efficient testing—coverage without

overlap• Testing off of critical path as much

as possible• Criteria and metrics about

production readiness• Management of testing to project

timelines• Compliments industry tools

Proven methodology applied in hundreds of companies internationally over the past 14 years!

Page 29: Basics of Structured Software Testing

29

Benefits of Structure Testing

• Defects are found early, costing less time/money to reach production delivering a higher quality product

• Required quality of the various test objects is tested for and validated, by focusing on testing for quality as a risk mitigation strategy

• By keeping a larger percentage of the testing process/effort off the critical path, faster time-to-market results

• Structured software testing is more cost-effective and efficient than non-structured testing approaches

• Sound test coverage is provided, without the need to overlap phases

• Establishes a test organization that is prepared and efficient

• Delivers a repeatable process

29

Page 30: Basics of Structured Software Testing

30

Test Process Improvement (TPI)

• The Sogeti TPI® Model was developed to facilitate a stepwise improvement of the testing process.– Developed from practical experience from 30+ years of

Sogeti work in testing.– Offers a frame of reference to determine the strengths and

weaknesses of your current testing process.– Covers 20 key areas that need specific improvement to

achieve a well define testing process.

• Key TPI Areas:Test Strategy Life-Cycle ModelMoment of Involvement Estimating and Planning Test Specification TechniquesStatic Test Techniques Metrics Test Automation Test Environment Office Environment

Commitment and Motivation Test Functions and Training Scope ofMethodology Communication Reporting Defect Management Testware ManagementTest Process Management Evaluation and Low-Level Testing

Page 31: Basics of Structured Software Testing

31

Typical TPI Process Steps

1. Interview key people2. Describe the ‘As-Is’ process including Strengths &

Weaknesses 3. Describe the ‘To-Be’ process 4. Document process improvement actions5. Define expected benefits in terms of Objectives 6. Plan for Implementation of the Improvement Actions

(short-term and long-term)

Page 32: Basics of Structured Software Testing

32

TPI - Test Maturity Matrix

Increasing MaturityIncreasing Maturity

Page 33: Basics of Structured Software Testing

33

Resources

• Web Sites– Sogeti USA Web Site: www.us.sogeti.com– TMap Web Site: http://eng.tmap.net/Home/

• TMap® certification (Netherlands)– Foundation– TMap ® professional Advanced/Expert– TMap ® management Advanced/Expert

• Books

Page 34: Basics of Structured Software Testing

34

Sogeti SCT Services

• Managed Testing Services (MTS)

• Quality Management Services

• Test Automation Services• Testing Professional Services• SAP Testing Services

• 3000+ people worldwide in SCT space

• 30+ yrs experience

Page 35: Basics of Structured Software Testing

35

Sogeti’s Geographical Presence

A workforce of over 18,000 staff spread over 200 locations

USA

France

Spain

Sweden

Belux Germany Switzerland

NLIreland

India

UK Denmark

Page 36: Basics of Structured Software Testing

36

Thank you!

Chris Hampton, PMPPractice Manager, Software Control & Testing

Sogeti [email protected]

Cell: (214) 549-7613Sogeti Office: (972) 892-3400