The major purpose of this document is to provide a set of application software test management guidelines to ensure that computer systems are adequately tested to pursue reliable and quality computer systems.
Also, this document is to give a set of guidelines for reference by application project teams on the planning and carrying out of testing activities for application software. It is important that users of this document (i.e. application project teams) should not treat these guidelines as mandatory standards, but as a reference model; and should adopt the guidelines according to individual project’s actual situation. This document is suitable for development projects following the SDLC, which is defined in the Information Systems Procedures Manual. As for the maintenance projects, these guidelines may need to be adjusted according to the projects’ actual situation. Such adjustments will be the responsibility of individual project team. It is intended that the guidelines would apply to both in-house-developed and outsourced software development projects.
A project organization is set up to champion, manage and execute an IT project. Members of the project organization include the Project Owner, Project Steering Committee (PSC), Project Assurance Team (PAT), Internal Project Manager (IPM) and Business Analyst (BA). The PSC champions the project and is the ultimate decision-maker for the project. It provides steer and support for the IPM and endorses acceptance of project deliverables. The IPM manages the project and monitors the project implementation on a day-to-day basis for the Project Owner/the PSC. The PAT is responsible for overseeing project progress and managing quality assurance activities, which include: (a) recommending the test plans, test specifications and test summary report for endorsement by the PSC; and (b) co-coordinating, monitoring and resolving priority conflicts on the testing activities to ensure the smooth running of testing activities.
A Test Group can be set up to carry out the testing activities, especially for large-scale projects or projects involving a large number of users. The emphasis here is on the independent role of the Test Group, which does not mean dedicated resources. The necessity of an independent Test Group should be determined at the project initialization stage through an assessment based on project complexity, criticality, implementation schedule and other risks. The type(s) of testing to be performed independently and the high-level estimation of additional resources, if required, should be determined and planned for respectively as early as possible.
General Testing Principles
The following points should be noted when conducting testing:
- As far as possible, testing should be performed by a group of people (referred to in this document as Test Group) different from those performing design and coding of the same system. For large-scale projects or projects which require higher quality in terms of accuracy or reliability, testing may be performed by a third-party Independent Testing Contractor.
- Test cases must be written for invalid and unexpected, as well as valid and expected input conditions. A good test case is one that has a high probability of detecting undiscovered errors. A successful test case is one that detects an undiscovered error.
- A necessary part of a test case is defining the expected outputs or results.
- Do not plan a testing effort on the assumption that no errors will be found.
- If much more errors are discovered in a particular section of a program than other sections, it is advisable to spend additional testing efforts on this error-prone section as further errors are likely to be discovered there.
- Testing libraries should be set up, allowing regression test to be performed at system maintenance and enhancement times.
- The later in the development life cycle a fault is discovered, the higher the cost of correction.
- The success of testing relies on complete and unambiguous specification.
Due to the demands on improving the quality of IT projects, third-party independent testing is recommended to ensure that system functions are completed in good quality. Independent testing may include various kinds of testing, e.g. unit test, functional test, regression test, integration test, load test, accessibility test, and usability test, etc. The independent Test Group conducts testing for the system to reveal defects which cannot be found by the project team, which improves the quality of the system in fulfilling project or business needs without any biases. Independent Test Group sometimes engages professional software testers to perform testing according to internationally recognized standards and methodologies which ensure the quality of testing in conformance to requirements of the project or business.
The independent Test Group conducts testing for the system to reveal defects which cannot be found by the project team, which improves the quality of the system in fulfilling project or business needs without any biases. Independent Test Group sometimes engages professional software testers to perform testing according to internationally recognized standards and methodologies which ensure the quality of testing in conformance to requirements of the project or business.
We at BugRaptors have a team of professionals for Test Management of Large projects as well as small Projects. Our team follows the best industry accepted Test criteria for test Management to ensure that the quality of the software is not compromised.