An Introduction To Testing Life Cycle Process
An Introduction To Testing Life Cycle Process
Introduction
to Testing
Life Cycle
Process
Contents
model Designing
Test
Execution
Testing
Types
Testing
Tools
Overview
Testing Life Cycle - V&V
Process Model
Business Acceptance Tests
requirements, Master Test Strategy Release &
Solution Certification
Architecture
Performance
Project Planning Integrated Testing,
Test Planning
Solution Business Cycle
testing
Testing
Life Cycle
Overview
Test
Strategy
Test
Planning
Test Case
Designing
Test
Execution
Testing
Types
Testing
Tools
Overview
Testing Life Cycle - V&V
Process Concept …
• Testing activities in Integration Testing Phase
– This testing is conducted in parallel with integration of various
applications (or components)
– Testing the product with its external and internal interfaces
without using drivers and stubs.
– Incremental approach while integrating the interfaces.
Testing
Life Cycle
Overview
Test
Strategy
Test
Planning
Test Case
Designing
Test
Execution
Testing
Types
Testing
Tools
Overview
Testing Life Cycle - V&V
Process Concept …
• Performance Testing – This is done to validate the
performance criteria of the product / application.
This is non-functional testing
• Business Cycle testing – this refers to end to end
testing of real life-like business scenarios.
• Testing activities during Release phase
– Acceptance testing is conducted at the customer location. Testing
– Resolves all defects reported by the customer during Life Cycle
Overview
Acceptance Testing Test
Strategy
– Conduct Root Cause Analysis (RCA) for those defects Test
Planning
reported by customer during acceptance testing Test Case
Designing
Test
Execution
Testing
Types
Testing
Tools
Overview
Testing Life Cycle - Team
Structure
• An effective testing team includes a
mixture of members who has
– Testing expertise
– Tools expertise
– Database expertise
– Domain/Technology expertise Testing
Life Cycle
Overview
Test
Strategy
Test
Planning
Test Case
Designing
Test
Execution
Testing
Types
Testing
Tools
Overview
Testing Life Cycle - Team
Structure (Contd…)
• The testing team must be properly structured,
with defined roles and responsibilities that allow
the testers to perform their functions with
minimal overlap.
• There should not be any uncertainty regarding
which team member should perform which
duties. Testing
Life Cycle
Overview
• The test manager will be facilitating any Test
Strategy
Testing
Life Cycle
Overview
Test
Strategy
Test
Planning
Test Case
Designing
Test
Execution
Testing
Types
Sample Strategy
Testing
doc Tools
Overview
Test Strategy - Acceptance criteria
• Acceptance test plan can be prepared either by
us or by the customer, as agreed.
• Customer will be involved in preparation, review
and approval of acceptance test cases
• This plan specifies the criteria for client
acceptance of the final tested product including
Features/functionalities to be tested and Testing
Life Cycle
traceability information. Overview
Test
Strategy
Test
Planning
Test Case
Designing
Test
Execution
Testing
Types
Testing
Tools
Overview
Test Strategy - Summary
• Test strategy is a high level document which
states in detail way testing is to be carried out.
• It is done in line to meet the test and business
objectives
• Tools ,Methods ,and techniques to be used are
stated in the test strategy.
Testing
Life Cycle
Overview
Test
Strategy
Test
Planning
Test Case
Designing
Test
Execution
Testing
Types
Testing
Tools
Overview
Test Planning
Testing Life Cycle Overview
Test Strategy
Test Planning
Test Case Designing
Test Execution
Testing Types
Testing Tools Overview
Test Planning - Documenting
assumptions
• If any assumptions are there, it needs to be
documented to avoid any confusions
– Testers has understanding of V&V-process model or
any SDLC model
– Testers are aware of test phases of the project
– A good understanding of the Domain
– Standard naming conventions are followed in
documentation Testing
Life Cycle
Overview
Test
Strategy
Test
Planning
Test Case
Designing
Test
Execution
Testing
Types
Testing
Tools
Overview
Test Planning -Traceability
• Requirements tracing is the process of
documenting the links between the user
requirements for the system you are building and
the work products developed to implement and
verify those requirements.
• Work products include software requirements,
design specifications, software code, test plans and
other artifacts of the systems development process
Testing
Life Cycle
Overview
Test
Strategy
Test
Planning
Test Case
Designing
Test
Execution
Traceability Matrix Testing
Types
Testing
Tools
Overview
Test Planning -Traceability
• Traceability is documenting of
– the dependencies and logical links between individual
requirements and other system elements
– traceability to greatly facilitate change impact
analysis.
– traceability is that it can help identify the
propagation of change that can result when a specific
requirement is deleted or modified. Testing
Life Cycle
– specific requirements mapped into tasks in a work- Overview
Test
breakdown structure, you know those tasks that will Strategy
Test
be affected if and when a requirement is changed or Planning
Test Case
deleted. Designing
Test
Execution
Testing
Types
Testing
Tools
Overview
Test Planning - Schedule/
Milestones
• Test plan captures the details about different
milestones of the project and the schedule
details.
• Define the schedule for each event for offshore
and onsite. Events may include familiarization,
training, test case preparation, test scripting,
test execution etc., Testing
Life Cycle
• Completion criteria for each milestone should Overview
Test
Cumulative TCs
1200
Executed
800
below: 600
400
200
0
7/4 7/5 7/6 7/7 7/8 7/9 7/10 7/11 7/12 7/13 7/14 7/15 7/16 7/17
4-Jul 5-Jul 6-Jul 9-Jul 10-Jul 11-Jul 12-Jul 13-Jul 16-Jul 17-Jul
Plan 106 257 575 669 767 877 983 1065 1119 1119
Impacted Actual 297 483 632 737 855 939 1015 1079 1140 1147
# of Days
Functionality
Testing
Life Cycle
Overview
Unstable Execution
TC priority Test
Test
functionality Order Strategy
Execution Test
Planning
Run Plan Test Case
Customer Execution Designing
Priority Complexity rate Test
Execution
Testing
Types
Functionality TC Inter- Execution Testing
Tools
Dependency dependency Order Overview
Test Planning - Change
management
• Version control - Versioning test cases before
and after release to customer
• Change control - Authority to approve and
prioritize changes
• Configuration auditing - Ensure changes made
properly
• Reporting
Testing
• Addition/Updating of test cases/plans because of Life Cycle
Overview
Testing
Life Cycle
Overview
Number of errors
Testing
Life Cycle
Overview
Test
Strategy
Test
Planning
Test Case
Designing
No. of days 7 Test
Execution
Testing
Types
Testing
Tools
Overview
Test Planning – Document
templates
• Typical Test Plan
– Test Plan identifier
– Introduction
– Test items
– Features to be tested
testplan template
– Features not to be tested
– Approach
– Testing strategy
– Item pass/fail criteria Testing
Life Cycle
– Suspension criteria and resumption criteria Overview
Test
– Test deliverable Strategy
Test
– Automation scope Planning
Test Case
– Testing tasks Designing
Test
– Effort estimation Execution
Testing
– Environmental needs Types
Testing
– Roles and Responsibilities Tools
Overview
Test Case Design
Testing Life Cycle Overview
Test Strategy
Test Planning
Test Case Design
Test Execution
Testing Types
Testing Tools Overview
Test Case Design (Contd…)
Development Of Test Objectives:
• At very First stage of testing , you need to set the
goals and objectives of what you need to achieve.
• This Simplifies the limits or borders of testing
process.
• Test Objectives will be contain the list of tasks you
are going to do and the achievements. Testing
Life Cycle
Overview
Test Case Writing: Test
Strategy
Test
• A specific set of steps and data along with expected Planning
Test Case
If pass – What actually happens when you run the test Design
Test
Execution
If failed - Description of what you've observed. Testing
Types
Testing
Tools
Overview
Test Case Design (Contd…)
Characteristics of a Good Test:
• Tests are likely to catch bugs
• No redundancy
• Not too simple or too complex.
Testing
Life Cycle
Overview
Test
Strategy
Test
Planning
Test Case
Design
Test
Execution
Testing
Types
Testing
Tools
Overview
Test Case Design (Contd…)
Test Scripts:
• A test script is the executable form of a test.
• It defines the set of actions to carry out in order
to conduct a test and it defines the expected
outcomes and results that are used to identify any
deviance in the actual behavior of the program
from the logical behavior in the script (errors Testing
Life Cycle
during the course of that test). Overview
Test
Strategy
• In essence it is a program written for a human Test
Planning
Testing
Life Cycle
Overview
Test
Strategy
Test
Planning
Test Case
Design
Test
Execution
Testing
Types
Testing
Tools
Overview
Test Execution - Testing
• Only exhaustive testing can show a program that it is
defect free ,but exhaustive testing is impossible
• Tests should exercise the systems capabilities fully
• Testing typical situations is more important than
boundary value conditions
Testing
Life Cycle
Overview
Test
Strategy
Test
Planning
Test Case
Design
Test
Execution
Testing
Types
Testing
Tools
Overview
Test Execution -Test Data and
Test Cases
• Test Cases: Inputs to test the system and predicted
output from the system are detailed, further will
contain the expected result and test topology
• Test Data: Inputs which are to exercise the system
under test.
Testing
Life Cycle
Overview
Test
Strategy
Test
Planning
Test Case
Design
Test
Execution
Testing
Types
Testing
Tools
Overview
Test Execution -Types of Testing
and Methodologies
• There are three major types of testing and
methods used are based on the testing type
– Unit testing
– Integration testing
– System testing
Testing
Life Cycle
Overview
Test
Strategy
Test
Planning
Test Case
Design
Test
Execution
Testing
Types
Testing
Tools
Overview
Test Execution - Unit Testing
• Unit testing is typically done as white box testing.
• Unit testing is done at module level.
• Derivation of Test cases are based on the program
structure .Knowledge of the program is used to
identify the test cases .
• Objective is to exercise all parts of the program .
• Test coverage measurements are done to verify that Testing
all program parts are exercised Life Cycle
Overview
• Test stubs are used to stub for the functions which Design
Test
Execution
are outside the module Testing
Types
Testing
Tools
Overview
Test Execution - Integration
Testing
• Tests partial systems composed of integrated
components
• Integration testing is black box testing
• Main difficulty in integration testing is
localizing errors
• There two approaches to integration testing
– Top-down approach Testing
Life Cycle
Overview
Testing
Life Cycle
Overview
Test
Strategy
Test
Planning
Test Case
Design
Test
Execution
Testing
Types
Testing
Tools
Overview
Integration testing - Bottom –
Up approach
• Integrate individual components from lower
level module until whole system is integrated .
Testing
Life Cycle
Overview
Test
Strategy
Test
Planning
Test Case
Design
Test
Execution
Testing
Types
Testing
Tools
Overview
Test Execution - System
Testing
• System testing is typically “Black Box “ testing
where the system is taken as black –box and
tested based only on its functionality
• Test cases are based on the system specification
• It is critical part of the testing process as the
system is verified as a whole
Testing
Life Cycle
Overview
Test
Strategy
Test
Planning
Test Case
Design
Test
Execution
Testing
Types
Testing
Tools
Overview
Test Execution - Regression
Testing
• Regression testing is done after fixing all the
defects.
• It is re-testing after fixing the bugs found
during testing and also when there is change in
the test environment.
• The impacted portions of the code after fixing
the bug is re-tested. Testing
Life Cycle
started . Overview
Test
Strategy
• The test cases are executed all over again in Test
Planning
each round. Test Case
Design
Test
Execution
Testing
Types
Testing
Tools
Overview
Test Execution - Metrics
• Metrics are important to collect for any project as it
helps in monitoring the health of project /product
/application under test.
• Metrics are collected during testing depending on the
objective of testing.
• There are different kinds of metrics which can be
used in testing.
– For example LOC (Lines of Code) is a metric for Unit
testing. i.e., Code related metrics comes in the category of Testing
Life Cycle
Unit testing. Overview
Test
• Test case related metrics can be used for all kinds of Strategy
Test
testing types, since for every type of test, we will Planning
Test Case
write test cases. Design
Test
• Normally source of errors/defects is requirements, Execution
Testing
design or Implementation. Testing can not be the Types
Testing
source of errors/defects. Tools
Overview
Test Execution - Metrics
• Typical testing metrics
– No of LOC tested per day
– No of test cases executed per day
– Number of test cases failed
– Number of bugs reported
– Number of rejects of bugs reported
– Number of persons working on the test plan during
the month
– Total Effort spent on test execution in person hours Testing
Life Cycle
– Number of simulations made during the month Overview
Test
– Number of out of norms per month Strategy
Test
– Average time taken to find a problem categorized by Planning
priority Test Case
Design
– Defect density Test
Execution
– Review efficiency Testing
Types
Testing
Tools
Overview
Test Execution - Metrics
• Having a complete Metrics data helps in
building the “Trustworthy, Capable, Reliable
and Predictable” Product or Application.
– Productivity Increase
– Field error rate Decrease
– Customer Overhead reduces
– Improvement release on release
– On time delivery Testing
Life Cycle
– Risks in Program identified and proactively intimated Overview
Test
– Decrease in Cost of Quality Strategy
Test
– Decrease in Re-work Planning
Test Case
– Helps in identifying the area which needs focus in the Design
Test
project/organization for improvement Execution
Testing
– Helps in arriving at better estimates for the project Types
Testing
Tools
Overview
Test Execution – Good test
engineer?
• What makes a good test engineer?
– A good test engineer has a 'test to break' attitude.
– An ability to take the point of view of the customer
– A strong desire for quality, and an attention to detail.
– Tact and diplomacy for maintaining a cooperative relationship with
developers.
– An ability to communicate with both technical (developers) and non-
technical (customers, management) people.
– Previous software development experience can be helpful, gives the
tester an appreciation from the developers' point of view, and reduce
the learning curve in automated test tool programming. Testing
Life Cycle
– Judgment skills are needed to assess high-risk areas of an application Overview
on which to focus testing efforts when time is limited. Test
Strategy
– Notice little things that others miss/ignore (See symptom not bug) Test
– Good testers use files, Databases and all the other accoutrements of Planning
Test Case
an organized mind Design
– Testers are fundamentally honest and incorruptible Test
Execution
– Last but not the least is “Patience” Testing
Types
Testing
Tools
Overview
Test Execution – Testing Rules?
• Software testing 10 rules?
– Test early and test often.
– Integrate the application development and testing life
cycles.
– Formalize a testing methodology; you'll test everything the
same way and you'll get uniform results.
– Develop a comprehensive test plan; it forms the basis for
the testing methodology.
– Use both static and dynamic testing.
Testing
– Define your expected results. Life Cycle
Overview
– Understand the business reason behind the application. Test
Strategy
You'll write a better application and better testing scripts. Test
– Use multiple levels and types of testing (regression, Planning
Test Case
systems, integration, stress and load). Design
Test
– Review and inspect the work, it will lower costs. Execution
Testing
– Don't let your programmers check their own work; they'll Types
Testing
miss their own errors. Tools
Source: SQAtester.com Overview
Test Execution - Summary
• Test execution consists of preparing of test
bed/setup ,execution of planned test cases
,verification of results ,Test tracking and
reporting and metrics collection.
Web Testing:
• Silk Test Testing
Life Cycle
• Astra Quick Test Overview
Test
Strategy
• eTest Suite Test
Planning
Test Case
Design
Test
Execution
Testing
Types
Testing
Tools
Overview
Testing Tools Overview
(contd…)
Java Testing Tools:
• Jtest
• JProbe
• QStudio
• Optimizeit
• JStyle Testing
Life Cycle
Overview
Test
Strategy
Test
Planning
Test Case
Design
Test
Execution
Testing
Types
Testing
Tools
Overview
Appendix 1: Example for test life
cycle
• To understand the different stages of testing, consider an
example in which you need to test a Webpage, say
HRWEB->resume part.
• To test this Webpage following activities needs to be done
– Prepare Test Strategy for testing HRWEB->Resume section
– Prepare Test Plan for testing HRWEB->Resume section
– Develop Test Cases for testing HRWEB->Resume section
– Execute the test cases and report the results, including bug
reporting, re-test and tracking.
Appendix 1: Example for test life
cycle cont..
• Test strategy to test HRWEB->Resume page includes overview of
– Document the test requirements
– User Interface testing
– Test for associated links
– Error Handling and Exceptions
– Functionality testing
– Boundary conditions
– Test for Load, Performance, Security issues
– Deciding of tools and test set-up to test
IEEE testplan
template
Appendix 3: Additional readings
• Please go through the following documents, which are
available in Interops KM Page.
– Inter101_002-Intro Software Testing
– Inter101_003-Test Plan & Test Case
– Inter101_004-SDLC&TLC
– Inter101_005-Unit & Integration Testing
– Inter101_006-Functional & Regression Testing
– Inter101_007-General Testing Types
– Inter101_008-Test Report Automation Tools
– Inter101_009-Review & Walk thru
– Inter101_010-Reliability terminology