Summary of tests

This section summarizes a complete test cycle, with tests that target specific issues, including old and new functionality, performance under multiuser loads, integration, and user acceptance.

Table 6-2: Testing descriptions

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 expected functionality?

  • What are the limitations of the new features?

Single-user:

  • Ad hoc test

  • Manual test scripts and cases

  • Existing application test suites

Stress testing (benchmarking)

Using very heavy loads, addresses the following questions:

  • Are there any code errors related to multiuser 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

Ensures 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 Adaptive Server

  • Third-party products

Test suite models all system components

End-user acceptance testing

Executes acceptance tests specific to the environment. Also covers functions not prioritized into earlier stages.

NoteThe 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