This section summarizes a complete test cycle, with tests
that target specific issues, including old and new functionality,
performance under multi-user loads, integration, and user acceptance.
Stage
|
Purpose
|
Best Technique
|
Functional testing
|
For each application or
process, addresses the following questions:
Are
there any obvious bugs?
Do transactions return the same results?
Will the application break anywhere?
If you decide to use new functionality:
Does the release provide the functionality it markets?
What are the limitations of the new features of
this release?
|
Single-user:
|
Stress testing (benchmarking)
|
Using very heavy loads,
addresses the following questions:
Are there any bugs related to multi-user loads?
Is the performance of critical transactions as good or
better?
Is the new release stable under load?
|
Multiuser:
Keystroke capture
Transaction generator
Production load capture
|
Integration testing
|
Ensure that all system components
work well together, such as:
Batch
processing
Online transaction processing (OLTP)
Decision Support Systems (DSS) and ad hoc queries
Operations, including backup, recovery, and dbcc commands
Sybase products other than ASE
Third party products
|
Test suite models all system components
|
End-user acceptance testing
|
Execute acceptance tests
specific to the environment. Also cover functions not prioritized
into earlier stages.
The other stages, done well, should have caught most
of the problems.
|
Standard acceptance tests
|
Final migration plan testing
|
Ensure that you are fully prepared by walking through
the upgrade/migration plan.
Verify that fallback procedures work.
Identify and test the contingencies.
|
Walk through every upgrade step, including
fallback strategies
|