|
There are two kinds of execution-based testing:
- Testing to spec (black-box testing). Testers assume no knowledge
of internals of the software. They test functionality purely based
on the requirements and specifications, i.e. intended behavior.
The software is given expected input, and results are analyzed
for errors.
- Testing to code (white-box testing). This type of testing requires
close interaction of our developers and QA engineers. Employs
knowledge of the internal program logic to understand required
input to exercise all execution paths in the software.
Testing to code is assisted by code coverage
tools, such as Rational Pure Coverage. These tools provide
information on what parts of source code were executed and how extensively.
Code coverage is also indispensable as an integral part of test
results, and in assessing readiness of software modules.
| Testing to spec and testing
to code tend to discover different categories of errors, and
complement one another. |
Incremental development not only means incremental
integration of software modules, but also implies incremental
or regression testing. Regression testing is re-execution of
the previous test cases with the same data on every new release
of the software. In simple terms it means: what was working in
the previous release should NOT become broken in the new release.
There are always many builds throughout the project
lifecycle. Thus automation of regression testing becomes
an important task. Automation testing achieves:
- Increased productivity
- Reduced omissions, and repeatedly introduced software faults
- Shorter development cycle
Automation testing is implemented using various
tools such as Rational Robot, Silk Test for GUI and
Web-based interfaces, and programmatic tools and scripts
for command line, and internal modules, such as database layers,
business logic, and 'server-side'.
<
back
|