什么是软件回归测试

软件回归测试的定义:回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误的一种测试方法。回归测试是指重复以前的全部或部分的相同功能测试。

一、软件回归测试的定义

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误的一种测试方法。

1、回归测试是指重复以前的全部或部分的相同功能测试

2、新加入测试的模块,可能对其他模块产生副作用,因此要进行某些程度的回归测试

3、回归测试的重心,是以关键性模块为核心

二、做回归测试的好处

自动回归测试将大幅度降低系统测试、维护升级等阶段的成本,回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都可以进行多次回归测试。

三、回归测试的意义

1)在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试;因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的

2)同时测试用例的维护是一个不间断的过程,通常可以将软件开发的基线作为基准,维护的主要内容包括下述几个方面,

(1)删除过时的测试用例:

因为需求的改变等原因可能会使一个基线测试用例不再适合被测试系统,这些测试用例就会过时,例如,某个变量的界限发生了改变,原来针对边界值的测试就无法完成对新边界测试。所以,在软件的每次修改后都应进行相应的过时测试用例的删除

(2)改进不受控制的测试用例:

随着软件项目的进展,测试用例库中的用例会不断增加,其中会出现一些对输入或运行状态十分敏感的测试用例:,这些测试不容易重复且结果难以控制,会影响回归测试的效率,需要进行改进,使其达到可重复和可控制的要求。

(3)删除冗余的测试用例:

如果存在两个或者更多个测试用例针对一组相同的输入和输出进行测试,那么这些测试用例是冗余的。冗余测试用例的存在降低了回归测试的效率:,所以需要定期的整理测试用例库,并将冗余的用例删除掉。

(4)增添新的测试用例:

如果某个程序段、构件或关键的接口在现有的测试中没有被测试,那么应该开发新测试用例重新对其进行测试:,并将新开发的测试用例合并到基线测试包中,通过对测试用例库的维护不仅改善了测试用例的可用性,而且也提高了测试库的可信性,同时还可以将一个基线测试用例库的效率和效用保持在一个较高的级别上。

延伸阅读

常用的选择回归测试的方式包括:

(1)再测试全部用例:

选择基线测试用例库中的全部测试用例组成回归测试包,这是一种比较安全的方法,再测试全部用例具有最低的遗漏回归错误的风险,但测试成本最高。全部再测试几乎可以应用到任何情况下,基本上不需要进行分析和重新开发,但是,随着开发工作的进展,测试用例不断增多,重复原先所有的测试将带来很大的工作量,往往超出了我们的预算和进度。

(2)基于风险选择测试:

可以基于一定的风险标准来从基线测试用例库中选择回归测试包,首先运行最重要的、关键的和可疑的测试,而跳过那些非关键的、优先级别低的或者高稳定的测试用例,这些用例即便可能测试到缺陷,这些缺陷的严重性也仅有三级或四级,一般而言,测试从主要特征到次要特征。

(3)基于操作剖面选择测试:

如果基线测试用例库的测试用例是基于软件操作剖面开发的,测试用例的分布情况反映了系统的实际使用情况。回归测试所使用的测试用例个数可以由测试预算确定,回归测试可以优先选择那些针对最重要或最频繁使用功能的测试用例,释放和缓解最高级别的风险,有助于尽早发现那些对可靠性有最大影响的故障。这种方法可以在一个给定的预算下最有效的提高系统可靠性,但实施起来有一定的难度。

(4)再测试修改的部分

当测试者对修改的局部部分有足够的信心时,可以通过相依性分析识别软件的修改情况并分析修改的影响,将回归测试局限于被改变的模块和它的接口上。

通常,一个回归错误一定涉及一个新的、修改的或删除的代码段,在允许的条件下,回归测试尽可能覆盖受到影响的部分。

文章标题:什么是软件回归测试,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/51589

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
E.ZE.Z认证作者
上一篇 2023年5月8日
下一篇 2023年5月8日

相关推荐

  • oa怎么绑定微信

    OA系统与微信绑定的关键步骤包括:1、确保系统兼容性、2、获取微信API接口权限、3、创建微信服务号或企业号、4、配置OA系统与微信的数据交换接口、5、设计用户验证机制、6、实现消息通知与推送服务。其中,创建微信服务号或企业号是初步而关键的步骤,这将作为沟通的桥梁,让用户通过微信接收OA系统的通知以…

    2024年1月11日
    19800
  • 工程项目管理主要是做什么

    工程项目管理涉及一系列步骤,包括1、项目计划,2、资源分配,3、时间管理,4、成本控制,5、风险分析,6、通信管理,7、质量保证。在这众多步骤中,项目计划尤其关键,因为它为整个项目提供了框架和方向。在计划阶段,项目经理需确立目标、定义任务范围、估计资源需求和分配、制定时间线、预算和通信计划。确立明确…

    2024年1月8日
    15800
  • Cookie是什么

    Cookie是什么:Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。 一、Cookie是什么 Cookie,有时也用其复数形式 Cooki…

    2023年5月10日
    27400
  • oa审批单是什么

    在谈到OA审批单时,直截了当地回答是,这是一个电子化办公自动化系统中用于处理审批流程的文档。1、OA审批单即办公自动化系统中的审批表单,它便于员工在线提交各种申请,实现流程电子化;2、这类审批单可以包含报销、请假、采购等多种类型;3、它能加快决策速度、提升管理效率并增强流程的透明度;4、许多系统提供…

    2024年1月11日
    26900
  • 自动化性能测试与手动测试的区别

    开门见山地讲,自动化性能测试与手动测试主要有三点不同:1、测试执行的速度与效率;2、测试结果的精确性与重复性;3、测试成本与资源需求随项目规模的扩大而变化。自动化性能测试在反复且大数量的测验方面,相较于手动测试,由于快速且可重复的特点,是提高测试产出的关键手段。机器执行程序可以在很短的时间内模拟成千…

    2024年1月18日
    14100
  • Linux下mysql读写速度为什么很慢

    原因有:一、文件系统的选择;二、硬盘I/O;三、MySQL配置问题;四、网络问题。Linux系统有多种文件系统可以选择,如ext3、ext4、XFS等等。然而,不同的文件系统对MySQL的读写速度影响很大。 一、文件系统的选择 Linux系统有多种文件系统可以选择,如ext3、ext4、XFS等等。…

    2023年5月31日
    57800
  • 嵌入式计算机和工控机有什么区别

    区别:1、远程维护的差异;2、互联网浏览器界面的差异;3、视频监控的区别;4、安装和安装之间的差异;5、系统级网站之间的差异;6、环境差异;7、成本差异;8、稳定性差异。传统的工业控制系统一般不可行,嵌入式系统可以通过互联网进行远程监控。 1、远程维护的差异 传统的工业控制系统:一般不可行,系统成本…

    2023年2月15日
    64100
  • 团队协同的主要目标有哪些

    团队协同的主要目标有:1、团队成员之间有良好的协作关系;2、管理者与团队成员之间有密切的沟通和联系;3、团队成员间能够更好地分享信息和经验;4、组织绩效改善。团队是一个有机的整体,每个人都是一个团队的一部分,协同作战是集体实现目标的重要手段之一,也是团队协作的主要形式。 团队协同的主要目标有哪些 团…

    2022年11月14日
    2.8K00
  • 日程提醒软件哪个好

    比较好的日程提醒软件:1、滴答清单;2、TickTick日程管理;3、ihour时间投资计划;4、日事清;5、Doit.im(在线时间任务管理系统);6、奇妙日程。滴答清单是一款记录待办事项、管理日程提醒的效率类应用。 1、滴答清单 滴答清单是一款记录待办事项、管理日程提醒的效率类应用。该应用支持多…

    2023年1月31日
    1.2K00
  • web应用开发用什么语言

    web应用开发用什么语言:1、Java语言;2、C/C++;3、HTML5;4、Objective-C;5、Swift;6、C#。Java是一种面向对象的编程语言,是Android开发的主要语言,也是Android应用开发领域最流行的语言。 一、Java语言 Java是一种面向对象的编程语言,是An…

    2023年6月3日
    98100

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部