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
Pilots
Phased implementation
Parallel systems