Test Analysis is the process of analyzing the
Test Basis where the Test basis could be any requirement document, design,
or architecture. During Test Analysis, we identify the testable components
and derive Test Cases, Test Conditions, and Test Data.
In other words, Test Analysis is the activity that defines "what" to be
tested in the form of test conditions. Test Analysis can start as soon as
the basis for testing is established for different test levels like
component, integration, system, or acceptance testing.
Test Analysis can be done in parallel, integrated, or iterative with Test
Design.
Test Analysis Major Activities Include
-
Analyzing the Test Basis: After considering the Test
Level analyze different test basis like Business requirements, Epics, User
Stories, Design, Risk Analysis reports, etc.
-
Evaluate the Test Basis: Evaluate the Test Basis and Test
Items to identify different types of defects like Missing or Incomplete,
Incorrect or False, Inconsistent, Ambiguous or Unclear, Misplaced,
Infeasible or Non-Verifiable, Redundant or Duplicate, Typo or Formatting,
Not Relevant or Extraneous. Techniques such as Reviews, BDD, and ATDD are
beneficial in detecting defects.
-
Identify Features: Identify Feature or Set of Features to
be tested.
-
Defining and Prioritizing Test Conditions: After
Identifying Feature, define Test Conditions and prioritize them where test
Condition is an item or event of a component or system that one or more
test cases could verify. Test Conditions can be prioritized based on
different software functional and non-functional characteristics and other
factors: including business, technical and risk factors. Applying
black-box, white-box, and experience-based test techniques can be helpful
in the test analysis process to reduce the likelihood of missing essential
test conditions and determine more accurate test conditions.
-
Capturing bi-directional traceability: Last activity is
to capture bi-directional traceability between each element of the Test
Basis and the associated Test Conditions. Bidirectional traceability is
the ability to trace forward, for example, from the requirement to the
Test Condition and backward, from Test Condition to requirement.