Types of Software Testing
- COMPATIBILITY TESTING. Testing to ensure compatibility of an application
or Web site with different browsers, OSs, and hardware platforms.
Compatibility testing
can be performed manually or can be driven by an automated functional or
regression test suite.
- CONFORMANCE TESTING. Verifying implementation conformance to industry
standards. Producing tests for the behavior of an implementation
to be sure it provides the portability, interoperability,
and/or compatibility a standard defines.
- FUNCTIONAL TESTING. Validating an application or Web site conforms to its specifications and correctly performs all its required functions. This
entails a series of tests which perform a feature by feature validation
of behavior, using a wide range of normal and erroneous input data. This
can involve testing of the product's user interface, APIs, database management,
security, installation, networking, etcF testing can be performed
on an automated or manual basis using black box or white box methodologies.
- LOAD TESTING. Load testing is a generic
term covering Performance Testing and Stress Testing.
- PERFORMANCE TESTING. Performance testing can be applied to understand
your application or WWW site's scalability, or to benchmark the performance
in an environment of third party products such as servers and middleware
for potential purchase. This sort of testing is particularly useful to
identify performance bottlenecks in high use applications. Performance
testing generally involves an automated test suite as this allows easy
simulation of a variety of normal, peak, and exceptional load conditions.
- REGRESSION TESTING. Similar in scope to a functional test, a
regression test allows a consistent, repeatable validation of each
new release of a product or Web site. Such testing ensures reported product
defects have been corrected for each new release and that no
new quality problems were introduced in the maintenance process. Though
regression testing can be performed manually an automated test suite is
often used to reduce the time and resources needed to perform the
required testing.
- SMOKE TESTING.
A quick-and-dirty test that the major functions of a piece of software work
without bothering with finer details.
Originated in the hardware testing practice of turning on a new piece of
hardware for the first time and considering it a success if it does not
catch on fire.
- STRESS TESTING. Testing conducted
to evaluate a system or component at or beyond the limits of
its specified requirements to determine the load under which it fails
and how.
A graceful degradation under load leading to non-catastrophic failure
is the
desired result. Often Stress Testing is performed using the same
process as Performance Testing but employing a very high level of
simulated load.
- UNIT TESTING. Functional and reliability testing in an Engineering
environment. Producing tests for the behavior of components of a
product to ensure their correct behavior prior to system integration.
.
------------- MBA Examination papers
|