Upload
testinggeeks
View
17
Download
2
Embed Size (px)
Citation preview
1
Software Testing Life Cycle (STLC)
Agenda:
2
Software Testing Life Cycle
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
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
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
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
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
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
9
Test Plan Template Contd…:
• Roles & Responsibilities
• Test Schedule & Resources
• Test Data Management
• Test Environment
• Communication Approach
• Test Tools
Software Testing Life Cycle
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
30
Question and Answer