Software Testing Unit 3
Software Testing Unit 3
Software Testing Unit 3
UNIT III
Test Management
Presented by
M S RATHOD
LIF, GPA
Unit Outcomes
Apply specified testing level for a web
based application.
Apply Acceptance testing for given web
based application.
Apply the given performance testing for
an application.
Generate test cases for the given
application using regression and GUI
testing.
Overview
1) Test Planning
2) Test Management
3) Test Process
4) Test Reporting
Overview
1) Test Planning
2) Test Management
Bank Website
3) Test Process
4) Test Reporting
Test Planning
1) Preparing a Test Plan
2) Scope Management
3) Deciding Test Approach
4) Setting up criteria for testing
5) Identifying Responsibilities
6) Staffing
7) Training needs
8) Resource requirements
9) Test Deliverables
10) Testing Tasks
Preparing a Test Plan
A Test Plan is a detailed document that
describes the test strategy, objectives, schedule,
estimation, deliverables, and resources required
to perform testing for a software product.
Test plan acts as anchor for the
execution ,tracking, and reporting of the entire
testing projects.
Test Plan helps us determine the effort needed
to validate the quality of the application under
test.
Preparing a Test Plan
It covers following points.
1) What needs to be tested?
2) How the testing is going to be performed?
3) What resources are needed for testing?
4) The time lines by which the testing
activities will be performed.
5) Risks that may be faced in all of the
above, with appropriate mitigation and
contingency plans
Scope Management
Before the start of any test activity, scope
of the testing should be known. You must
think hard about it.
The components of the system to be
tested (hardware, software, middleware,
etc.) are defined as “in scope“
The components of the system that will
not be tested also need to be clearly
defined as being “out of scope.”
Scope Management
For example, a website only focus on
testing all the functions and external
interface of website (in scope)
Nonfunctional testing such
as stress, performance or logical
database currently will not be tested. (out
of scope)
Scope Management
Understanding what constitutes a release
of a product;
2)Breaking down the release into
features;
3)Prioritizing the features for testing;
4)Deciding which features will be tested
and which will not be; and
5)Gathering details to prepare for
estimation of resources for testing.
Scope Management
Choice & Prioritization of features to be
tested:
1)Features that are new and critical for the
release.
2)Features whose failures can be
catastrophic.
3)Features that are expected to be complex to
test.
4)Features which are extensions of earlier
features that have been defect prone.
Deciding Test Approach
What type of testing would you use for
testing the functionality?
What are the configurations or scenarios
for testing the features?
What integration testing would you do to
ensure these features work together?
What “non-functional” tests would you
need to do?
Setting up criteria for testing
Encountering more than a certain number of defects,
causing frequent stoppage of testing activity;
Hitting show stoppers that prevent further progress
of testing ( for example, if a database does not start,
further tests of query , data manipulation, and so on
are is simply not possible to execute); and
Developers releasing a new version which they
advice should be used in instead of the product under
test( because of some critical defect fixes. )
When such conditions are addressed, the tests can
resume..
Identifying Responsibilities
Ensure there is clear accountability for a given
task, so that each person knows what he or she
has to do;
Clearly list the responsibilities for various
functions to various people, so that everyone
know how his or her work fits into the entire
project;
Complement each other, ensuring no one steps
on an others toes; and
Supplement each other, so that no task is left
unassigned
Training needs
It may not always be possible to find the
perfect fit between the requirement and the
skills available .
In case there are gaps between the
requirements and availability of skills, they
should be addressed with appropriate
training programs.
It is important to plan for such training
programs upfront as they are usually are
de-prioritized under project pressures.
Resource requirements
Resource could be human, equipment and
materials needed to complete a project.
Human Resource
System Resource
Documents
Human Resource
No. Member Tasks
Manage the whole project
1. Test Manager Define project directions
Acquire appropriate resources
Identifying and describing appropriate test techniques/tools/automation
architecture
Verify and assess the Test Approach
Execute the tests, Log results, Report the defects.
2. Tester
Tester could be in-sourced or out-sourced members, base on the project
budget
For the task which required low skill, I recommend you
choose outsourced members to save project cost.
3. Developer in Test Implement the test cases, test program, test suite etc.
Builds up and ensures Test Environment and assets
4. Test Administrator are managed and maintained
SupportTester to use the test environment for test execution
Take in charge of quality assurance
5. SQA members Check to confirm whether the testing process is meeting specified
requirements
System Resource
No. Resources Descriptions
The testing tool is to automate the testing, simulate the user operation,
generate the test results
2. Test tool
There are tons of test tools you can use for this project such as Selenium,
QTP…etc.
You need a Network include LAN and Internet to simulate the real
3. Network
business and user environment
4. Computer The PC which users often use to connect the web server
Test Deliverables
Test Deliverables is a list of all the
documents, tools and other components
that has to be developed and maintained
in support of the testing effort.
There are different test deliverables at
every phase of the software development
lifecycle.
Test Deliverables
Test deliverables are provided before testing phase.
Test plans document.
Test cases documents
Test Design specifications.
Test Case Records all the ‘static’ information about the tests. • Test Case ID
• Test case name (file
name)
• Test case owner
• Associated files for the test
case.
Test Case : Provides a mapping between the tests and the • Test Case ID
Product corresponding product features; enables identification • Module ID
Cross- of tests for a given feature.
reference
Test Case Run Gives the history of when a test was run and what • Test Case ID
history was the result; provides inputs on selection of tests • Run date
for regression runs. • Time taken
• Run Status(success/failure)
Test Case: Gives details of test cases introduced to test certain • Test Case ID
Defect specific defects detected in the product; provides • Defect Reference # (points to a
Cross- inputs on the selection of tests for regression runs. record in the defect
reference repository.)
2
A Defect Repository
A defect repository captures all the relevant
details of defects reported for a product .
The defect repository is an important vehicle
of communication that influence the work flow
within a software organization.
It also provides the data in arriving at several
of the metrics.
Most of the metrics classified as testing defects
metrics and development defect metrics are
derived out of the data in defect repository.
A Defect Repository
Entity Purpose Attributes
Defects details Records all the “static” information about the tests. • Defect ID
• Defect priority/ severity
• Defect Description
• Affected product.
Fix Details Providers details of fixes for a given defect; cross- • Defect ID
references the configuration management repository. • Fix details (file changed, fix release
information).
Communication Captures all the details of the communication that • Test Case ID
transpired for this defect among the various • Defect reference #
stakeholders. These could include communication • Details of communication.
between the testing team and development team,
and so on.
Provide insights into effectiveness of
communication.
Configuration management repository
CM repository is also(Software Configuration Management)SCM.
SCM is process of tracking and controlling the software changes.
The meta data about the modified test files will be in the
TCDB.
Thus, starting with a given defect, one can trace all the test
case that test the defect ( from the TCDB) and then find the
corresponding test case files and source files from the SCM
repository.
Test Infrastructure Management
Similarly, in order to decide which tests to run for given
regression run:
The defects recently fixed can be obtained from the
defects repository and test for these can be obtained
from the TCDB and included in the regression tests.
The list of files changed since the last regression run can
be obtained from the SCM repository and the
corresponding test files traced from the TCDB.
The set of tests not run recently can be obtained from
the TCDB and these can become potential candidates to
be run at certain frequencies.
Test People Management
1) People management is an integral
part of any project management.
2) People management requires the
ability to hire, motivate and retain
the right people.
3) These skills are seldom formally
taught. (unlike technical skills. )
4) Project manager often learn these
skills in a “sink or swim” mode,
being thrown head-on into the task.
Test People Management
1) These team-building exercises should be
ongoing and sustained, rather than be done
in one burst.
2) The effort of these exercises tend to wear
out under the pressure of deadlines of
delivery and quality.
3) The common goals and the spirit of
teamwork have to be internalized by all
stakeholders.
4) Such an internalization and upfront team
building has to be part of the planning
process the team to succeed.
Test Process
Testing is not a single activity , instead it
consists of number of processes.
Activities:
1) Base Lining a Test Plan