A Strategic Approach To Software Testing
https://www.computersprofessor.com/2017/09/a-strategic-approach-to-software-testing.html
A strategy for software testing must
accommodate low–level tests that are necessary to verify that a small source
code segment has been correctly implemented as well as high-level tests that
validate major system functions against customer requirements.
|
Verification and Validation:
|
Software testing is one element of a
broader topic that is often referred to as verification and validation (V
& V). Verification refers to the set of tasks that ensure that software
correctly implements a specific function. Validation refers to a different
set of tasks that ensure that the software that has been built is traceable
to customer requirements.
Verification
: “Are we building the product right?”
Validation
: “Are we building the right product?”
V & V encompasses many software
quality assurance activities.
|
Technical reviews, quality and
configuration audits, performance monitoring, simulation, feasibility study,
documentation review, database review, algorithm analysis, development
testing, usability testing, qualification testing, acceptance testing, and
installation testing. Although testing plays an extremely important role in V
& V, many other activities are also necessary.
|
Organizing for Software
Testing:
|
The people who have built the
software are now asked to test the software. Psychological point of view,
software analysis and design (along with coding) are constructive tasks. The
software engineer analyzes, models and then creates a computer program and
its documentation.
|
The software developer is always
responsible for testing the individual units (components) of the program,
ensuring that each performs the function or exhibits the behavior for which
it was designed. In many cases, the developer also conducts integration
testing–a testing step that leads to the construction (and test) of the
complete software architecture. Only after the software architecture is
complete does an independent test group become involved. The role of an
independent test group (ITG) is to remove the inherent problems associated.
Independent testing removes the
conflict of interest that may otherwise be present. After all, ITG personnel
are paid to find errors.
|
Software Testing Strategy–The
Big Picture:
|
System
engineering defines the role of software and leads to software requirements
analysis, where the information domain, function, behavior, performance,
constraints, and validation criteria for software are established.
|
Unit testing begins at the vortex of
the spiral and concentrates on each unit (e.g., component, class or Web App
content object) of the software as implemented in source code. Testing
progresses by moving outward along the spiral to integration testing, where
the focus is on design and the construction of the software architecture.
Validation testing, where requirements established as part of requirements
modeling are validated against the software that has been constructed.
Finally, you arrive at system testing, where the software and other system
elements are tested as a whole. To test computer software, you spiral out in
a clockwise direction along streamlines.
|