在软件生命周期中,为了增加新的功能或增强原有的功能、修正所发现的缺陷而修改软件。一旦软件被修改了,就有可能引起新的缺陷,使原来工作正常的功能出现了问题。回归测试的目的就是在程序有修改的情况下保证 原有功能正常的一种测试策略和方法 ,因为这时的测试一般不需要进行从头到尾的全面测试,而是根据修改的情况和由修改引起的影响面来进行有效的测试。另一方面看,由于扩充和维护的测试用例库可能变得相当庞大,每次回归测试都重新运行完整的测试用例包变得不切实际,时间和成本约束也不允许。所以,需要根据软件修改所影响的范围,从测试用例库中选择相关的测试用例,构造一个优化的测试用例组来完成回归测试。
回归测试的价值在于它是一个能够检测到回归错误的受控实验。当测试组选择缩减的回归测试时,有可能忽略了那些将揭示回归错误的测试用例而错失了发现回归错误的机会。采用了代码相依性分析等安全的缩减技术,就可以决定哪些测试用例可以被删除而不会影响回归测试的结果。选择回归测试方法应该兼顾测试风险(覆盖面)和有效性两个方面,根据项目实际情况,达到平衡。
基于风险选择测试。基于一定的风险标准来从测试用例库中选择回归测试包。首先运行最重要的、关键的和可疑的测试,跳过那些次要的、例外的测试用例和那些功能相对很稳定的模块。运行那些次要用例即便发现缺陷,这些缺陷的严重性也较低。
基于操作剖面选择测试。如果测试用例是基于软件操作剖面开发的,测试用例的分布情况反映了系统的实际使用情况。回归测试所使用的测试用例个数可以由测试预算确定,回归测试可以优先选择那些质对最重要或最频繁使用功能的测试用例,释放和缓解最高级别的风险,有助于尽早发现那些对可靠性有最大影响的故障。
再测试修改的部分。当测试者对修改的局部化有足够的信心时,可以通过相依性分析识别软件的修改情况并分析修改的影响,将回归测试局限于被改变的模块和它的接口上。通常,一个回归错误一定涉及被修改的或新加的代码。在允许的条件下,回归测试尽可能覆盖受到影响的部分。这种方法可以在一个给定的预算下有效地提高系统可靠性,但需要良好的经验和深入的代码分析人员执行。
回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都可能需要进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极限编程方法中,更要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。
分享到:
相关推荐
"黑盒测试和回归测试" 黑盒测试是一种软件测试方法,旨在检测软件是否能够正确地实现其功能需求。黑盒测试着眼于软件的外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。黑盒测试的目的是为了...
**回归测试报告** 回归测试是软件开发过程中一个关键的环节,它主要是在软件或系统经过修改、新增功能或优化后,重新运行之前已通过的测试用例,以确保原有功能的正确性和稳定性。本报告针对丰台科技馆科普互动远程...
回归测试是软件测试过程中的一个重要环节,它的主要目的是确保软件代码中已经修复的缺陷不会因为修改而再次出现,并且确保新的代码变更没有引入新的缺陷。为了达到这个目标,回归测试采取一系列的测试策略和流程来...
【回归测试概述】 回归测试是在软件开发过程中,当软件发生任何改变后,为了确保修改的正确性和未修改部分的功能完整性而进行的一种测试活动。这种测试旨在验证已经存在的功能是否因为新代码的加入或原有代码的修改...
在总结回归测试的方法时发现,不管国内国外,这都是个头疼的话题。做是要做,也能做,但是从效率角度说可是千差万别。给我足够多的人或是时间,总是可以保证回归测试进行的彻底,可是那并不是做事情的方法和解决问题...
冒烟测试与回归测试的介绍 冒烟测试是微软首先提出来的一个概念,与微软一直提倡的每日build(构建版本)有很密切的联系。冒烟测试就是在每日build(构建版本)建立后,对系统的基本功能进行简单的测试。这种测试...
回归测试是一种重要的软件测试策略,它发生在修复代码中的错误或添加新功能之后,目的是确保这些改动没有引入新的问题或破坏现有功能。微软的研究表明,开发人员在解决3至4个bug后,通常会导致一个新bug的产生,这...
### 回归测试中的项目质量管理应用 #### 回归测试的重要性与作用 回归测试是软件开发过程中不可或缺的一个环节,主要用于确保在对现有功能进行修改或添加新功能后,原有功能仍然能够正常工作。通过实施有效的回归...
### 自动化回归测试在Java项目中的实现 #### 一、引言 随着软件开发的不断进步和技术的迭代更新,Web应用相比于传统的计算机应用展现出了自身独特的特性,这也为软件测试带来了新的挑战。回归测试作为软件测试的...
一元线性回归测试数据,主要是含有一个属性值。通过这个属性值来预测输出。
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试作为软件生命周期的一个组成部分,在整个软件测试...
【IBM Rational Functional Tester】是IBM推出的一款强大的自动化测试工具,专用于进行功能测试和回归测试。本章节将深入探讨如何使用Rational Functional Tester (RFT)进行功能回归测试,通过实际操作来巩固理论...
【系统的每个阶段的回归测试】 回归测试是在软件开发过程中至关重要的一环,它的目的是确保软件的任何改动或增强不会破坏已有的功能。通过回归测试,我们可以验证软件的不同阶段(如需求、设计、编码、集成和系统...
为了确保快速迭代下应用的质量,建立一套高效的Android快速回归测试体系显得尤为重要。该体系旨在通过分层测试的概念和最佳实践,加快测试流程、提高测试效率和质量保障,从而支持产品的快速迭代和发布。 分层测试...
在这个"Advertising-线性回归测试数据集"中,我们关注的是广告投放与收入之间的关系。数据集包含了三个广告渠道(电视、广播、报纸)的投入量以及对应的收入值,这为学习和理解线性回归提供了很好的实例。 1. **...