30
1 Software Testing Life Cycle (STLC) Agenda:

Mt s10 stlc&test_plan

Embed Size (px)

Citation preview

Page 1: Mt s10 stlc&test_plan

1

Software Testing Life Cycle (STLC)

Agenda:

Page 2: Mt s10 stlc&test_plan

2

Software Testing Life Cycle

Page 3: Mt s10 stlc&test_plan

3

Software Testing Life Cycle- Phases:

• Requirement Analysis

• Prepare Test Plan

• Test Case Designing

• Design Review

• Code Review (Automation Testing)

• Test Case Execution

• Bug Reporting, Analysis and Regression testing

• Inspection and release

• Client acceptance and support during acceptance

• Test Summary analysis

Software Testing Life Cycle

Page 4: Mt s10 stlc&test_plan

4

Requirement Analysis:

Objective:

The objective of Requirement Analysis is to ensure software quality by

eradicating errors as earlier as possible in the developement process.

As the errors noticed at the end of the software life cycle are more

costly compared to that of early ones, and there by validating each of

the Outputs.

The objective can be acheived by three basic issues:

1. Correctness 2. Completeness 3. Consistency

Reference documents : BRS, SRS

Software Testing Life Cycle

Page 5: Mt s10 stlc&test_plan

5

Prepare Test Plan:

Test Plan:

• It is a strategic document which contains some information that

describes how to perform testing on an xyz application in an effective,

efficient and optimized way.

• It is a second phase of STLC, where a project manager or test manager

defines a high-level plan and approach that provides sufficient

confidence on the being tested called test strategy.

• From this test strategy a detailed work plan will be derived by test lead

called test plan.

Software Testing Life Cycle

Page 6: Mt s10 stlc&test_plan

6

Test Plan:

Without plan we don’t know where we are going.

How we are going to do it.

How long will it take.

Resources required .

Cost involved.

Software Testing Life Cycle

Page 7: Mt s10 stlc&test_plan

7

Why to plan tests?

Documented tests are repeatable.

Documented tests are controllable.

Coverage can be established.

Test plan is dynamic.

Test plan defines overall objectives and approach.

Software Testing Life Cycle

Page 8: Mt s10 stlc&test_plan

8

Test Plan Template:

A Guideline document for testing an application which helps to

determine the following:

• Test Plan Identifier

• Introduction

• Test Scope

• Test Objectives

• Assumptions

• Risk Analysis

• Test Design

Software Testing Life Cycle

Page 9: Mt s10 stlc&test_plan

9

Test Plan Template Contd…:

• Roles & Responsibilities

• Test Schedule & Resources

• Test Data Management

• Test Environment

• Communication Approach

• Test Tools

Software Testing Life Cycle

Page 10: Mt s10 stlc&test_plan

10

Test Plan:

1. Test Plan Identifier:

• Its an Unique identifier for the test plan with version for which we

are preparing the plan.

2. Introduction:

• Overview of System XYZ

• Purpose of this Document

• Formal Reviewing

Software Testing Life Cycle

Page 11: Mt s10 stlc&test_plan

11

Test Scope:

– Answers two important questions:

• What Will Be Covered In The Test

• What Will Not Be Covered In The Test

– Includes :

• Functional or Structural Requirements

• System Interfaces

• Infrastructure Components

• Application Documentation

Software Testing Life Cycle

Page 12: Mt s10 stlc&test_plan

12

Test Objectives:

1. A test objective is simply a testing “goal.”

2. It is a statement of what the tester is expected to accomplish or

validate during a specific testing activity.

3. Test objectives:

• Guide the development of test cases, procedures, and test data.

• Enable the tester and project managers to gauge testing

progress and success.

• Enhance communication both within and outside of the project

team by helping to define the scope of the testing effort.

Software Testing Life Cycle

Page 13: Mt s10 stlc&test_plan

13

Test Objectives Contd…:

4. Each objective should include a high-level description of the

expected test results in measurable terms, and should be

prioritized.

5. In cases where test time is cut short, test cases supporting the

highest priority objectives would be executed first.

Software Testing Life Cycle

Page 14: Mt s10 stlc&test_plan

14

Assumptions:

– Assumptions Document test prerequisites, which if not met could

have negative impact on the test.

– Examples :

• Skill Level of resources

• Test Budget

• State of application at start of testing

• Tools available

• Availability of test equipment

Software Testing Life Cycle

Page 15: Mt s10 stlc&test_plan

15

Risk Analysis:

– It documents test risks and their possible impact on the test effort.

– Examples:

• New Technology

• New Test Automation Tool

• Sequence and increments of code delivery

• Availability of Application Test Resources

Software Testing Life Cycle

Page 16: Mt s10 stlc&test_plan

16

Test Design:

Policy:

• The types of tests that must be conducted.

• The stages of testing that are required .

• E.g., Unit, Integration, System, Performance, and Usability…

Test policy:

• It is an organization level document that explains the generic way of

testing any application in that organization.

Strategy:

• Outlines the sequence and timing of tests.

Software Testing Life Cycle

Page 17: Mt s10 stlc&test_plan

17

Roles & Responsibilities:

– Define who is responsible for each stage of testing.

– Generate a responsibility matrix.

Software Testing Life Cycle

Mini L.

Yuvi B.

Priya Sv.

Page 18: Mt s10 stlc&test_plan

18

Roles & Responsibilities:

Test Manager :

– Single point contact between onsite and offshore team

– Prepare the project plan

– Test Management

– Test Planning

– Interact with onsite lead, Client QA manager

– Team management

– Work allocation to the team

– Test coverage analysis

Software Testing Life Cycle

Page 19: Mt s10 stlc&test_plan

19

Roles & Responsibilities:

Test Manager Contd…:

– Co-ordination with onsite for issue resolution.

– Monitoring the deliverables.

– Verify readiness of the product for release through release review.

– Obtain customer acceptance on the deliverables.

– Performing risk analysis when required.

– Reviews and status reporting.

– Authorize intermediate deliverables and patch releases to customer.

Software Testing Life Cycle

Page 20: Mt s10 stlc&test_plan

20

Roles & Responsibilities:

Test Manager Contd…:

– Co-ordination with onsite for issue resolution.

– Monitoring the deliverables.

– Verify readiness of the product for release through release review.

– Obtain customer acceptance on the deliverables.

– Performing risk analysis when required.

– Reviews and status reporting.

– Authorize intermediate deliverables and patch releases to customer.

Software Testing Life Cycle

Page 21: Mt s10 stlc&test_plan

21

Roles & Responsibilities:

Test Lead:

• Resolves technical issues for the product group

• Provides direction to the team members

• Performs activities for the respective product group

• Review and Approve of Test Plan / Test cases

• Review Test Script / Code

• Approve completion of Integration testing

• Conduct System / Regression tests

• Ensure tests are conducted as per plan

• Reports status to the Offshore Test Manager

Software Testing Life Cycle

Page 22: Mt s10 stlc&test_plan

22

Roles & Responsibilities:

Test Engineer:

• Development of Test cases and Scripts

• Test Execution

• Result capturing and analysing

• Defect Reporting and Status reporting

Software Testing Life Cycle

Page 23: Mt s10 stlc&test_plan

23

Test Schedule & Planned Resources:

Test Schedule Includes:

Major test activities

Sequence of tests

Dependence on other project activities

Initial estimates for each activity

Test Resource Planning Includes:

People

Tools

Facilities

Software Testing Life Cycle

Page 24: Mt s10 stlc&test_plan

24

Test Data Management:

• Define the data required for testing

• Identify requirement to manage test data

Methods for preparing test data

Backup and Rollback Procedure

Data Requirements

Data Security Issues

Software Testing Life Cycle

Page 25: Mt s10 stlc&test_plan

25

Test Environment:

Environment requirements for each stage and type of testing should be

outlined in this section of the plan, for example:

Unit testing may be conducted in the development environment,

while separate environments may be needed for integration and

system testing.

Procedures for configuration management and release and

version control should be outlined.

Requirements for hardware and software configurations.

The location of individual test events.

The defect tracking mechanisms to be used.

Software Testing Life Cycle

Page 26: Mt s10 stlc&test_plan

26

Communication Approach:

1. In the complex, matrix environment required for testing in most

companies, various communication mechanisms are required.

2. These avenues should include

Formal and informal meetings & Working sessions.

Processes, such as defect tracking Tools, such as issue and defect

tracking, electronic bulletin boards, notes databases, and Intranet sites.

Techniques, such as escalation procedures or the use of white boards

for posting current state of testing (e.g., test environment down).

Miscellaneous items such as project contact lists, meeting audiences,

and frequency of defect reporting.

Software Testing Life Cycle

Page 27: Mt s10 stlc&test_plan

27

Tools:

– All tools that are needed to support testing process. Tools like:

• Test Management

• Configuration Management

• Test Script Development

• Automated Test Tools

• Stress / Load Testing tools

• Defect Tracking Tools

Software Testing Life Cycle

Page 28: Mt s10 stlc&test_plan

28

Guidelines for Developing Test Plan:

Start Early

Keep The Test Plan Flexible

Frequently Review The Test Plan

Keep The Test Plan Concise & Readable

Calculate The Planning Effort

Spend The Time To Do A Complete Test Plan

Note: IEEE 829 is the Quality Standard for the Test Plan.

Software Testing Life Cycle

Page 29: Mt s10 stlc&test_plan

29

Review Questions:

1) Every level of Testing can have its own test plan created.

a) TRUE

b) FALSE

2) Test plans will be created by a Business Analyst.

a) TRUE

b) FALSE

3) Test plans will contain major functional test cases.

a) TRUE

b) FALSE

Software Testing Life Cycle

Page 30: Mt s10 stlc&test_plan

30

Question and Answer