Contents
Part 1: Planning and Control
Part 2: Analysis and Design
Part 3: Implementation and Execution
Part 4: Evaluating exit criteria and reporting
Part 5: Test closure activities
Organization of the Test Team
Fundamentals test process
Divide the activities within the fundamental test process into the following basic steps
Planning and control
Analysis and design
Implementation and execution
Evaluating exit criteria and reporting
Test closure activities
Part 1: Test planning and control
During test planning:
Understand Product requirement and Project Requirement of intended testing system.
Product requirement = requirement specification (functional requirement and non functional requirement)
Project requirement: process, timeline, test environment, resource
Specify the scope, approach, resources, and schedule of intended testing activities.
Test Planning
Inputs for Test planning
Customer requirements
Project plan
Output for Test planning
Test plan document
Test planning - Flowchart
Test Planning – Major Tasks
Test planning has some major tasks:
Determine the scope and risks and identify the objectives of testing
Determine the test approach (techniques, test items, coverage,
identifying and interfacing with the teams involved in testing)
Implement the test policy and/or the test strategy
Determine the required test resources (e.g. people, test
environment, PCs)
Schedule test analysis and design tasks, test implementation,
execution and evaluation
Determine the exit criteria
Terms
Test Approach: the implementation of the test strategy
for a specific project.
Testware: includes test cases, test plans, test data, etc..
Test strategy: A high-level description of the test types to
be performed and the testing for a program (one or more
projects)
Test policy: A high level document describing the
principles, approach and major objectives of the
organization regarding testing
Test control - Flowchart
Test Control – Major Tasks
Test control is an ongoing activity.
compare actual progress against the planned progress
report to the project manager and customer on the current status of
testing including any changes or deviations from the plan.
Test control: has the following major tasks
Measure and analyze the results of reviews and testing:
Monitor and document progress, test coverage and exit criteria:
Provide information on testing
Initiate corrective actions
Make decisions
Part 2: Test analysis and design
Inputs for Test design
Detail design
SRS, User case
Test plan
Outputs for Test design
Test design document
Flowchart
Test analysis and design – major tasks
Review the test basis (such as the product risk analysis,
requirements, architecture, design specifications, and
interfaces), examining the specifications for the software we are
testing.
Identify test conditions based on analysis of test items, their
specifications, and what we know about their behavior and
structure
Design the tests: define test case
Evaluate testability of the requirements and system
Design the test environment set-up and identify any required
infrastructure and tools
Terms
Test basis: All documents from which the requirements
of a component or system can be inferred. The
documentation on which test cases are based
Test condition: An item or event of a component or
system that could be verified by one or more test cases,
e.g. a function, transaction, feature, quality attribute, or
structural element.
Part 3: Test Implementation
Inputs for Test implementation
SRS, User case
Test Design document
Outputs for Test implementation
Test case
Test script
Test data
Test Implementation- Flowchart
Test Implementation- Major Tasks
Test implementation
Develop and prioritize our test cases
Create test suites from the test cases for efficient test execution.
Implement and verify the environment. We make sure the test
environment has been set up correctly, possibly even running
specific tests
Test suite: a logical collection of test cases which naturally work
together. Test suites often share data and a common high-level set
of objectives. We'll also set up a test execution schedule
Part 4: Test Execution
Inputs for Test execution
Software/Product
Test case, Test script, Test data
Outputs for Test execution
Defect list
Issue list
Test log
Test Execution- Flowchart
Test Execution- Major Tasks
Test Execution:
Execute the test suites and individual test cases, following our test
procedures.
Log the outcome of test execution and record the identities and
versions of the software under test, test tools and testware
Compare actual results (what happened when we ran the tests) with
expected results (what we anticipated would happen)
Repeat test activities - need to re-execute tests that previously failed in
order to confirm a fix (confirmation testing or re-testing).
Re-testing ( = Confirmation testing): Testing that runs test cases that
failed the last time they were run, in order to verify the success of
corrective actions.
Part 4: Evaluating exit criteria and reporting
Inputs for Test Report
Test Log
Test Plan
Outputs for Test Report
Test Report
Evaluating exit criteria and reporting
Evaluating exit criteria is the activity where test execution is
assessed against the defined objectives.
Evaluating exit criteria has the following major tasks:
Check test logs against the exit criteria specified in test planning:
Assess if more tests are needed or if the exit criteria specified
should be changed:
Write a test summary report for stakeholders:
Test summary report : A document summarizing testing activities
and results. It also contains an evaluation of the corresponding test
items against exit criteria.
Part 5: Test Closure Activities
Collect data from completed test activities including
checking and filing testware, and analyzing facts and
numbers.
Need to do when
Software is delivered
The project is cancelled
A particular milestone is achieved
A maintenance release or update is done.
Test Closure Activities - Flowchart
Test closure activities - Major Tasks
Test closure activities include the following major tasks:
Check which planned deliverables we actually delivered and
ensure all reports have been resolved through defect repair
Finalize and archive testware such as scripts, the test
environment, and any other test infrastructure, for later reuse.
Hand over testware to the maintenance organization who will
support the software and make any bug fixes or maintenance
changes, for use in confirmation testing and regression testing.
Evaluate how the testing went and analyze lessons learned for
future releases and projects