5. Maintenance
Successfully developed software will eventually become part of a product and enter a maintenance phase, during which the software will undergo modification to correct errors and to comply with changes to requirements. Like the initial development, modifications will follow a software development lifecycle, but not necessarily using the same lifecycle model as the initial development.
Throughout the maintenance phase, software tests have to be repeated, modified and extended. The effort to revise and repeat tests consequently forms a major part of the overall costs of developing and maintaining software.
The term regression testing is used to refer to the repetition of earlier successful tests in order to make sure that changes to the software have not introduced side effects.
6. Summary and Conclusion
Irrespective of the lifecycle model used for software development, software has to be tested. Efficiency and quality are best served by testing software as early in the lifecycle as practical, with full regression testing whenever changes are made.
Such practices become even more critical with progressive development and iterative lifecycle models, as the degree of retesting needed to control the quality of software within such developments is much higher than with a more traditional sequential lifecycle model.
Regression testing is a major part of software maintenance. It is easy for changes to be made without anticipating the full consequences, which without full regression testing could lead to a decrease in the quality of the software. The ease with which tests can be repeated has a major influence on the cost of maintaining software.
A common mistake in the management of software development is to start by badly managing a development within a V or waterfall lifecycle model, which then degenerates into an uncontrolled iterative model. This is another situation which we have all seen causing a software development to go wrong.
AdaTEST and Cantata are tools which facilitate automated, repeatable and maintainable testing of software, offering significant advantages to developers of Ada, C and C++ software. The benefits of repeatable and maintainable testing, gained from using AdaTEST or Cantata, become even more important when a progressive development or iterative model is used for the software development lifecycle.
There are a wide range of software development lifecycle models which have not been discussed in this paper. However, other lifecycle models generally follow the form and share similar properties to one of the models described herein, offering similar benefits from the use of AdaTEST or Cantata.
B.原文的翻译
软件测试和软件开发生命周期
1. 简介
开发软件时所开展的各种活动通常建模为一个软件开发生命周期,软件开发生命周期始于的要求识别软件和针对该要求开发软件的形式验证结束。
软件开发生命周期本身并不存在,它是一个整体产品生命周期的一部分的事实。内的产品生命周期中,软件将进行文护,以纠正错误,并遵守变更要求。最简单的整体的形式是,该产品是只是软件,但它可以变得更加复杂,具有多个软件开发的整体系统,以包括产品的每个形成部分。
有许多不同的模式进行软件开发生命周期。一方面,所有模型的共同点是,在生命周期中的某一点上,软件已被测试。本文将介绍一些比较常用的软件开发生命周期,特别强调在每个模型的测试活动。论文网
2.连续的生命周期模型
软件开发生命周期始于的要求识别软件和针对该要求开发软件的形式验证结束。传统上,用于软件开发生命周期的型号已经顺序的,通过一些明确定义的阶段发展进步。在连续的阶段通常是由一个V或瀑布图表示。这些模型分别称为为V生命周期模型和瀑布生命周期模型。 软件测试和软件开发生命周期英文文献和翻译(3):http://www.751com.cn/fanyi/lunwen_28861.html