1.4.2 Test Activities and Tasks Flashcards
A test process consists of the following main groups of activities:
- Test planning
- Test monitoring and control
- Test analysis
- Test design
- Test implementation
- Test execution
- Test completion
Each constituent activity test process consists of multiple individual tasks, which would vary
from one project or release to another.
many of these test process activity groups may appear logically sequential, they are often implemented
iteratively
many of these main activity groups are tailored
within the context of the system and the project
Test planning involves activities that define
the objectives of testing and the approach for meeting test objectives within constraints imposed by the context
examples of constraints imposed by the testing context:
specifying suitable test techniques and tasks, formulating a test schedule for meeting a deadline
Test plans may be revisited based on
feedback from monitoring and control activities.
Test monitoring involves
the ongoing comparison of actual progress against planned progress using any test monitoring metrics defined in the test plan.
Test control involves
taking actions necessary to meet the objectives of the test plan (which may be updated over time).
Test monitoring and control are supported by
the evaluation of exit criteria
referred to as the definition of done in some software development lifecycle models
Test monitoring and control
evaluation of exit criteria for test execution as part of a given test level may include:
Checking test results and logs against specified coverage criteria
Assessing the level of component or system quality based on test results and logs
Determining if more tests are needed
example when more tests are needed
if tests originally intended to achieve a certain level of product risk coverage failed to do so, requiring additional tests to be written and executed
Test progress against the plan is communicated to stakeholders in test progress reports, including
deviations from the plan and information to support any decision to stop testing.
Test progress against the plan is communicated to stakeholders in
test progress reports
test progress reports includes
deviations from the plan and information to support any decision to stop testing
During test analysis, the test basis is analyzed to
identify testable features and define associated test conditions.
test analysis determines
“what to test” in terms of measurable coverage criteria.
Test analysis includes the following major activities:
Analyzing the test basis appropriate to the test level being considered
Evaluating the test basis and test items to identify defects of various types
Identifying features and sets of features to be tested
Defining and prioritizing test conditions for each feature
Capturing bi-directional traceability between each element of the test basis and the associated test conditions
Defining and prioritizing test conditions for each feature based on:
analysis of the test basis, considering functional, non-functional, and structural characteristics, other business and technical factors levels of risks
Analyzing the test basis appropriate to the test level being considered
Requirement specifications
Design and implementation information
The implementation of the component or system itself
Risk analysis reports
Requirement specifications, such as
business requirements,
functional requirements,
system requirements,
user stories,
epics,
use cases
Requirement specification that specify
desired functional and non-functional component or system behavior
Design and implementation information, that
specify component or system structure
Design and implementation information, such as
system or software architecture diagrams or documents,
design specifications,
call flow graphs,
modelling diagrams
interface specifications
implementation of the component or system itself, includes:
code,
database metadata and queries,
interfaces
Risk analysis reports, may consider
functional, non-functional and structural aspects of the component or system
Evaluating the test basis and test items to identify defects of various types, such as
Ambiguities
Omissions
Inconsistencies
Inaccuracies
Contradictions
Superfluous statements
The application of black-box, white-box, and experience-based test techniques can be useful in the
process of test analysis to
reduce the likelihood of omitting important test conditions
and
to define more precise and accurate test conditions.
In some cases, test analysis produces test conditions which are to
be used as test objectives in test charters.
Test charters are typical work products in some types of
experience-based testing
When these test objectives are traceable to the test basis, coverage achieved (during such experience-based testing)
can be measured.
The identification of defects during test analysis is an important potential benefit, especially where
no other review process is being used
and/or
the test process is closely connected with the review process.
test analysis activities verify whether the requirements are
consistent,
properly expressed,
complete,
valid properly capturing any customer, user or other stakeholder needs.
behavior driven development (BDD) and acceptance test driven development (ATDD), involve
generating test conditions and test cases from user stories
and
acceptance criteria prior to coding.
behavior driven development (BDD) and acceptance test driven development (ATDD), verify, validate, and
detect defects in
the user stories
and
acceptance criteria
During test design, the test conditions are elaborated into
high-level test cases,
sets of high-level test cases,
other testware.
test analysis answers the question
“what to test?”
test design answers the question
“how to test?”
Test design includes the following major activities:
Designing and prioritizing test cases and sets of test cases
Identifying necessary test data to support test conditions and test cases
Designing the test environment and identifying any required infrastructure and tools
Capturing bi-directional traceability between the test basis, test conditions, and test cases
The elaboration of test conditions during test design often involves
the use of test techniques
test design may also result in the identification of similar types of defects in
the test basis.
the identification of defects during test design is an
important potential benefit.
During test implementation,
the testware necessary for test execution is created and/or completed, including sequencing the test cases into test procedures.
test implementation answers the question
“do we now have everything in place to run the tests?”
Test implementation includes the following major activities:
Developing and prioritizing test procedures to subsequently create the corresponding test suites potentially, creating automated test scripts and therefore the required test suites
Arranging the test suites within a test execution schedule to obtain an efficient test execution
Building the test environment and verifying that everything needed has been set up correctly
Preparing test data and ensuring it is properly loaded in the test environment
Verifying and updating bi-directional traceability
in the test implementation, the bi-directional traceability it happens between:
test basis, test conditions, test cases, test procedures and test suites
test environment includes(potentially):
test harnesses,
service virtualization,
simulators
other infrastructure items
Test design and test implementation tasks are often
combined.
In exploratory testing and other types of experience-based testing, test design and implementation
may occur, and may be documented, as part of test execution.
Exploratory testing may be based on
test charters (produced as part of test analysis)
exploratory tests are executed immediately as they are
designed and implemented
During test execution, test suites are run in accordance with
the test execution schedule.
Test execution includes the following major activities:
Recording the IDs and versions of the test item(s) or test object, test tool(s), and testware
Executing tests either manually or by using test execution tools
Comparing actual results with expected results
Analyzing anomalies to establish their likely causes
Reporting defects based on the failures observed
Logging the outcome of test execution
Repeating test activities (as a result of action taken for an anomaly or as part of the planned testing)
Verifying and updating bi-directional traceability
in the test execution, the bi-directional traceability it happens between:
test basis, test conditions, test cases, test procedures and test results
examples of repeating test activities as part of the planned testing
execution of a corrected test,
confirmation testing,
regression testing
Test completion activities collect data from completed test activities to consolidate
experience,
testware
any other relevant information.
Test completion activities occur at project milestones such as
when a software system is released,
a test project is completed (or cancelled),
an Agile project iteration is finished,
a test level is completed
a maintenance release has been completed.
Test completion includes the following major activities:
Checking whether all defect reports are closed
Creating a test summary report to be communicated to stakeholders
Finalizing and archiving the test environmentfor later reuse
Handing over the testware to other teams who could benefit from its use
Analyzing lessons learned from the completed test activities
Using the information gathered to improve test process maturity
Checking whether all defect reports are closed, entering
change requests or product backlog items for any defects that remain unresolved at the end of test execution
test environment includes:
the test data,
the test infrastructure
other testware
teams who could benefit from a used testware
the maintenance teams,
other project teams
other stakeholders
What it is the importance of Analyzing lessons learned from the completed test activities
to determine changes needed for future iterations, releases, and projects