You
are here: Freetutes.com
> Systems
Analysis and Design
Validation Testing
After the integration testing we have an assembled package that is free from
modules and interfacing errors. At this stage a final series of software tests,
validation testing begin. Validation succeeds when software functions in a manner
that can be expected by the customer.
Major question here is what are expectations of customers. Expectations are
defined in the software requirement specification identified during the analysis
of the system. The specification contains a section titled “Validation Criteria”
Information contained in that section forms the basis for a validation testing.
Software validation is achieved through a series of black-box tests that demonstrate
conformity with requirements. There is a test plan that describes the classes
of tests to be conducted, and a test procedure defines specific test cases that
will be used in an attempt to uncover errors in the conformity with requirements.
After each validation test case has been conducted, one of two possible conditions
exists:
The function or performance characteristics conform to specification and are
accepted, or
A deviation from specification is uncovered and a deficiency list is created.
Deviation or error discovered at this stage in a project can rarely be corrected
prior to scheduled completion. It is often necessary to negotiate with the customer
to establish a method for resolving deficiencies.
Alpha and Beta testing
For a software developer, it is difficult to foresee how the customer will
really use a program. Instructions for use may be misinterpreted; strange combination
of data may be regularly used; and the output that seemed clear to the tester
may be unintelligible to a user in the field.
When custom software is built for one customer, a series of acceptance tests
are conducted to enable the customer to validate all requirements. Acceptance
test is conducted by customer rather than by developer. It can range from an informal
“test drive” to a planned and systematically executed series of tests.
In fact, acceptance testing can be conducted over a period of weeks or months,
thereby uncovering cumulative errors that might degrade the system over time.
If software is developed as a product to be used by many customers, it is impractical
to perform formal acceptance tests with each one. Most software product builders
use a process called alpha and beta testing to uncover errors that only the end
user seems able to find.
Customer conducts the alpha testing at the developer’s site. The software
is used in a natural setting with the developer. The developer records errors
and usage problem. Alpha tests are conducted in a controlled environment.
The beta test is conducted at one or more customer sites by the end user(s)
of the software. Here, developer is not present. Therefore, the beta test is a
live application of the software in an environment that cannot be controlled by
the developer. The customer records all problems that are encountered during beta
testing and reports these to the developer at regular intervals. Because of problems
reported during beta test, the software developer makes modifications and then
prepares for release of the software product to the entire customer base.
<< Previous
Page | Contents
| Next Page >>
|