T ESTING IS THE ONE PART OF A PROJECT THAT is more likely to be overlooked, particularly if funding for a project is limited. Strangely enough, it is the first thing to be shortened , if not bypassed altogether. Testing has been described as an overhead, although it is actually an integral part of the development and implementation of a system or application. Without it, the company is adding risk to a project ”an unacceptable risk that could easily be avoided. There is only one way to ensure that a system or application will work in the operational environment, and that is to test it thoroughly, preferably in an independent test environment in which the "real world" can be simulated as accurately as possible. Testing is a professional discipline. It requires the services of skilled people, trained to concentrate on the single area of application testing. Historically, testing has been a part of development services partly because the process has a part to play at all stages of development, but also because it didn't fit nicely into any other area. A dedicated test team should be independent and should work in a segregated test environment, completely separate from the development environment. The advantage to be gained from doing this is that testing will be more objective and not subject to political pressure. Additionally, the application is passed to the test team as a delivery. This is an important difference from carrying out testing on the development environment because it requires the test team to install the application on a "clean" system. During development, several tweaks and adjustments might have been made to the system to achieve better performance or to sort out trivial bugs . These may not have been fully documented or included in the final release. Independent, separate testing will highlight any differences that are encountered as a result of a "clean build." The amount of testing that is carried out varies greatly depending on the size of the business. For example, a small company with maybe three or four IT staff members might carry out only a cursory compatibility test to ensure that the product works and does what it says it does ”there may not be any testing at all. In large companies with business-critical applications, a more comprehensive testing policy is more likely, with acceptance testing, coexistence testing, and load testing all being carried out. The importance of testing is even greater when a third-party supplier is developing an application. The various stages in testing are often used as milestones within the project and payment stages for the supplier ”that is, a proportion of the cost of the application is paid upon successful completion of the specified testing phase. This chapter provides a brief overview of testing, including the lessons that were learned as a result of the Y2K problem. It considers the various testing phases that an application or system might be required to go through. Of course, whether all the phases or just a combination of them are exercised depends on the size of the organization and the effect that an application or system is likely to have on the business. Each stage of testing is described in the text with examples of the benefits to be gained, particularly from the perspective of the system manager. Quality Assurance The system manager has a role to play in the testing process, too. It is one mainly related to quality assurance (QA), involving the examination of test results and reports as well as attending various project meetings. The system manager has a vested interest in the success of a new system because it will ultimately be his responsibility to support it. Therefore, he must be sure that the testing has been carried out in a professional manner and in accordance with corporate standards. |
Top |