Saturday, January 12, 2013

System Development Testing Phases

Testing during the implementation phase of the system development life cycle should subject the system to conditions as similar as possible to real life. For example

- real information
- operating a capacity similar to expected high capacity workloads

In-house developed software has the following phases

- program testing
- system testing (simulates live running)
- operations acceptance testing to test the system to ensure compatability and that critical instructions (e.g. restart, back up, recovery) can be performed
- user acceptance testing

Separate domains should be maintained for development, testing and production.

For commercially produced software, the stages would include

- pre-alpha (e.g QA)
- alpha
- beta (testing ability to deliver and support the software)
- golden master
- first customer ship

Go-live options are as follows

Big bang
Phased implementation
Parallel systems