Escolar Documentos
Profissional Documentos
Cultura Documentos
Overview
The role of the Independent Test Group (ITG) is to remove the conflict of
interest inherent when the builder is testing his or her own product.
Misconceptions regarding the use of independent testing teams
o The developer should do no testing at all
o Software is tossed over the wall to people to test it mercilessly
o Testers are not involved with the project until it is time for it to be tested
The developer and ITGC must work together throughout the software project
to ensure that thorough tests will be conducted
Unit Testing makes heavy use of testing techniques that exercise specific
control paths to detect errors in each software component individually
Integration Testing focuses on issues associated with verification and
program construction as components begin interacting with one another
Validation Testing provides assurance that the software validation criteria
(established during requirements analysis) meets all functional, behavioral,
and performance requirements
System Testing verifies that all system elements mesh properly and that
overall system function and performance has been achieved
Unit Testing
Integration Testing
Sandwich testing uses top-down tests for upper levels of program structure
coupled with bottom-up tests for subordinate levels
Testers should strive to indentify critical modules having the following
requirements
Overall plan for integration of software and the specific tests are documented
in a test specification
Smoke testing
1. Software components already translated into code are integrated into a
build.
2. A series of tests designed to expose errors that will keep the build from
performing its functions are created.
3. The build is integrated with the other builds and the entire product is
smoke tested daily (either top-down or bottom integration may be used).
Validation Testing
Focuses on visible user actions and user recognizable outputs from the
system
Validation tests are based on the use-case scenarios, the behavior model,
and the event flow diagram created in the analysis model
o Must ensure that each function or performance characteristic conforms to
its specification.
o Deviations (deficiencies) must be negotiated with the customer to
establish a means for resolving the errors.
Configuration review or audit is used to ensure that all elements of the
software configuration have been properly developed, cataloged, and
documented to allow its support during its maintenance phase.
Acceptance Testing
Making sure the software works correctly for intended user in his or her
normal work environment.
Alpha test version of the complete software is tested by customer under the
supervision of the developer at the developers site
Beta test version of the complete software is tested by customer at his or
her own site without the developer being present
System Testing
Bug Causes
The symptom and the cause may be geographically remote (symptom may
appear in one part of a program).
The symptom may disappear (temporarily) when another error is corrected.
The symptom may actually be caused by non-errors (e.g., round-off
inaccuracies).
The symptom may be caused by human error that is not easily traced.
The symptom may be a result of timing problems, rather than processing
problems.
It may be difficult to accurately reproduce input conditions (e.g., a real-time
application in which input ordering is indeterminate).
The symptom may be intermittent. This is particularly common in embedded
systems that couple hardware and software inextricably.
The symptom may be due to causes that are distributed across a number of
tasks running on different processors.
Debugging Strategies