Developing and Deploying Siebel Business Applications > Introducing the Business Case >
Introduction to Application Software Testing
Testing is a key component of any application deployment project. The testing process determines the readiness of the application. Therefore, it must be designed to adequately inform deployment decisions. Without well-planned testing, project teams may be forced to make under-informed decisions and expose the business to undue risk. Conversely, well-planned and executed testing can deliver significant benefit to a project, including:
- Reduced Deployment Cost. Identifying defects early in the project is a critical factor in reducing the total cost of ownership. Research shows that the cost of resolving a defect increases dramatically in later deployment phases. A defect discovered in the requirements definition phase as a requirement gap can be a hundred times less expensive to address than if it is discovered after the application has been deployed. When in production, a serious defect can result in lost business and affect the success of the project.
- Higher User Acceptance. User perception of quality is extremely important to the success of a deployment. Functional testing, usability testing, and performance testing can provide insights into deficiencies from the users' perspective early enough so that these deficiencies can be corrected before releasing the application to the larger user community.
- Improved Deployment Quality. Hardware and software components of the project must also meet a high level of quality. The ability of the application to perform reliably is critical in delivering consistent service to the users or customers. An outage caused by inadequate resources can result in lost business. Performance, reliability, and stress testing can provide an early assessment of the project to handle the production load and allow IT organizations to plan accordingly.
Inserting testing early and often is a key component to lowering the total cost of ownership. Software projects that attempt to save time and money by lowering their initial investment in testing find that the cost of not testing is much greater. Insufficient investment in testing may result in higher deployment costs, lower user adoption, and failure to achieve business returns.