Application Testing should in most cases be carried out at each phase of the development processes. Without testing, you could very well end up with a useless bunch of files that doesn't deliver what was intended and cost a lot of money to put together.
What It Involves
There are many different levels of testing throughout the Development Phase, below is a quick description of the different testing procedures used at SDC.
Should any of the tests fail throughout the process, the bug or feature in question will usually fall back to the Development phase for the original developer to fix and be run through all of the tests again once.
- Development Testing
- Testing the software as the system is developed. This is carried out personally by the software developer.
- Incremental Testing
- In many cases, development is done in groups of features or fixes. Incremental testing is the process of testing each of items in the given group. It is a good way of catching issues before they make it to the final build.
- Release Testing
- Prior to the release of a new version of the software or module, a formal series of tests are conducted by the test pilot, following a comprehensive list of test criteria. These tests are listed later in this document.This testing is specifically not performed by the person who developed or modified the code in the first place, to try and limit any assumptions as to correctness.
- Installation Verification
- Following agreement that the software works according to requirements, an installation package is constructed. Testing of this installation package is performed to verify that it will install a correctly operating version of the software on a target machine.
- Acceptance Testing
- Acceptance Testing involves the testing of new or updated software by the user or client, and the formal acceptance on their part that it performs as per requirements. The user should ideally perform a series of tests as outlined on a checklist, to verify the satisfactory operation of the software.
Why It Is Done
Testing of new or modified software is tested for a variety or reasons, many of which are obvious. These reasons include:
- To verify that the software performs all of its intended functions in terms of process, order, and accuracy.
- That it operates in a logical and intuitive manner where possible.
- That it runs at an acceptable speed.
- That its operation conforms to any specification that may have been prepared.
- That it runs without operational error.
- That on encountering a data or user error, it provides useful information as to the cause of the error, and perhaps suggests some remedial action.
- That the various components are presented and formatted correctly to fit on the intended screen or page.