常言道,名正则言顺。对于一个概念,如果它没有恰当的名字,就会增加理解的难度,甚至容易引起歧义。

在这些年,不管是写公众号还是与同行交流,我都发现软件测试中的一个重要概念存在着“名不正,言不顺”的问题。这个重要概念就是回归测试。

到底什么是回归测试?为什么叫回归测试?据我观察,许多的答案都不能让人信服。今天,是时候为“回归测试”正个名了。

要理解“回归测试”,先要理解“回归”。回归,是常用的汉语词汇。它有两种含义。第一种是归还,返回的意思。例如:香港回归祖国,北回归线,回归初心等。这种含义大家都非常熟悉。

另外一种含义,熟悉的人就少一些。它来自数学领域,表示研究随机变量相互关系的统计分析方法。例如:回归分析,线性回归等。

这时候你会发现,不管哪一种含义都无法用来解释回归测试。于是,有人干脆就含糊其辞地把回归测试解释成“重复的测试”,“检测二次出现的/回归的bug的测试”等。

这些解释看似有些道理,但是离回归测试的真正含义还有距离。要理解回归测试这一舶来品的真正含义,需要回到它的原始出处。

回归测试翻译自英文“Regression Test”。什么是Regression呢?这也是一个多义词。它既有数学上回归的意思(例如Regression Analysis,回归分析),也有衰退,退化的意思(例如Economic Regression,经济衰退)。

说到这里,回归测试的含义也就明朗了。它其实是衰退测试的意思。正如维基百科所定义的:Regression testing is re-running tests to ensure that previously developed and tested software still performs after a change. If not, that would be called a regression.

根据这个定义,回归测试的目的是保证本来能够正常工作的软件在发生变化(change)的情况下不产生衰退。所有引起软件衰退的bug叫做regression bug(有时候直接叫regression)。回归测试可以暴露regression bug。当这种bug被发现并修复了,软件就不会发生衰退(regression)。

触发回归测试的变化(change)是多样的。它既可以是增加一个新功能,也可以是修复一个bug,还可以是修改软件配置。无论哪一种变化,都不应该导致软件衰退:即本来能够正常工作的部分(不管是功能点还是性能指标)被破坏。

通常来说,实现回归测试的方法是重新执行测试用例。根据执行结果是否成功,来鉴别软件是否发生衰退。回归测试与重复测试有关系,但不能将二者划等号。毕竟,回归没有重复的含义,并且重复测试不仅用于回归测试,还可以用于稳定性测试。

将回归测试理解为"发现再次出现的bug"也不准确。因为regression bug并不是re-happened bug。regression bug是导致软件衰退的bug。这种bug完全可能是第一次出现的,是全新的bug。没有道理认为它们一定曾经出现过。

或许有人会质疑,有必要这样抠字眼么?的确,不去深究这些含义,并不影响我们写个回归测试用例,建个回归测试job。但是根据我的经验,它会影响我们阅读这一领域的相关英文博客和论文。

根据上面的分析,我想回归测试的含义已经很明确了。回归测试之所以容易被误解,原因是翻译不精确。如果翻译成“衰退测试”或“退化测试”,就好理解得多了。

或者,我们将错就错,给“回归”增加第三种含义,以表示“衰退”,“退化”的意思?

文章来源:测试不将就 版权归原作者所有

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8103),我们将立即处理。

软件测试为什么会回归,何为“回归测试”,“回归测试”你真的理解吗?相关推荐

  1. 为什么使用交叉熵代替二次代价函数_Softmax回归与交叉熵损失的理解

    0.sigmoid.softmax和交叉熵损失函数的概念理解 sigmoid.softmax和交叉熵损失函数 1.使用场景 在二分类问题中,神经网络输出层只有一个神经元,表示预测输出 是正类 的概率 ...

  2. 软件测试行业能干的多少岁?是不是真的只能干到35.....

    在测试行业真的干到35就干不动了吗?软件测试能干到多少岁?也有很多人在焦虑这个问题. 其实这个问题没啥意义,年龄大了有优势,也有缺点,各行各业都如此.只要不要迷失自己就好. 到了35岁你在软件测试行业 ...

  3. 软件测试行业还能干多久?35岁真的会直接淘汰吗?

    看到很多人在焦虑"35"岁IT职业瓶颈的问题,尤其很多转行软件测试的群体,因为本身是IT零基础的情况,对软件测试的"35"岁瓶颈问题特别关心. 首先,关心一个职 ...

  4. 疫情面试了13家企业软件测试岗位,面试题整理汇总,真的牛

    项目的测试流程 拿到需求文档后,写测试用例 审核测试用例 等待开发包 部署测试环境 冒烟测试(网页架构图) 页面初始化测试(查看数据库中的数据内容和页面展示的内容是否一致,并且是否按照某些顺序排列) ...

  5. 夏普手机要回归中国市场,它真的还有机会吗?

    中国可以说是全球手机的领域中心,很多品牌都想在中国的市场上站稳脚跟,因为赢得了中国的市场,才有机会赢得全球,这不,夏普和黑莓现在想要回归中国的市场了!但是现在的中国市场,大部分人应该都知道,早已经趋于 ...

  6. svm 支持向量机 回归 预测_机器学习:简单理解支持向量机SVM

    在介绍过贝叶斯之后,今天尝试着给大家介绍支持向量机SVM. 在机器学习中,SVM试图找到一个最佳的超平面,该平面可以最佳地分割来自不同类别的观察结果.一个在N-1维的超平面可以分割Ñ维的特征空间.例如 ...

  7. 软件测试ipad电池,ipad2020电池有问题是真的吗

    ipad2020电池有问题是真的吗?近期,ipad2020电池翻车事件传播的沸沸扬扬,很多人都想退货,也有人说是爱思助手没做适配的问题.如果你担心自己入手的ipad2020电池健康有问题,可以看看本站 ...

  8. 软件测试---冒烟测试和回归测试

    什么是冒烟测试 冒烟测试是自由测试的一种,是对软件的基本功能进行测试,由开发人员与测试人员共同执行,测试对象是每一个新编译的需要正式测试的软件版本.目的是确认软件的基本功能正常,保证软件系统能正常跑起 ...

  9. 【软件测试】回归测试的策略

    1.什么是回归测试? 回归测试是贯穿在整个测试的各个阶段的一个测试活动.它的目的是检验已经被发现的缺陷有没有被正确的修改和修改过程中有没有引发新的缺陷.软件在测试或者其他活动中发现的缺陷经过修改后,都 ...

最新文章

  1. PBRT笔记(4)——颜色和辐射度
  2. sap 导出系统所有的单位_物流单条码识别系统
  3. 【哈佛商学院和斯坦福要求学生必看的20部电影】中/英字幕
  4. 【DBMS 数据库管理系统】数据仓库特征 ( 特征一 : 面向主题组织数据 | 特征二 : 数据集成 | 特征三 : 数据不可更新 | 特征四 : 随时间不断变化 )
  5. 怎样用python批量处理文件夹_套娃式文件夹如何通过Python批量处理
  6. oracle创建表空间blocksize,oracle表空间大小的限制和DB_BLOCK_SIZE的概念
  7. 极验创始人吴渊:恶意流量威胁新趋势,揭秘网络黑产3大核心本质
  8. 伴随矩阵,可逆矩阵相关思路分析之一
  9. 处于停机等非正常状态_设备非正常停机管理指导办法
  10. 火车票软件哪个好用_抢火车票软件哪个好 2019哪个软件抢火车票成功率高
  11. 定时任务管理系统(spring boot + quartz + angular)
  12. 《经济的律动》书中的精髓:如何通过“去杠杆”和“互联网金融”现象,更好地理解经济发展的方向?
  13. 编写批量修改扩展名脚本
  14. iphone避坑指南
  15. 【训练1】储蓄卡与信用卡
  16. 手把手教你打造360手机Android应用商店高级开发实战视频教程
  17. 【ArcGIS Pro二次开发】(5):UI管理_自定义控件的位置
  18. Android Notification 详解(各版本对比)——基本操作
  19. html页面刷新回到顶部_HTML5 回到顶部
  20. 刘汝佳算法竞赛入门 UVA-11809 Floating-Point Numbers 暴力写法。

热门文章

  1. Vue中使用ajax技术
  2. 系统掌握数据结构9树与二叉树第三节
  3. c盘清理软件:清理垃圾、扩大c盘和系统迁移
  4. 2021年中国消费无人机市场现状与格局分析,国产企业大疆占据全球市场主导「图」
  5. java 300dpi_使用java imageio 调整图片DPI,例如从72调整为300
  6. 台州学院ACM:2506 An escape
  7. 智能制造装备主要技术
  8. odp 加固 mysql_安装使用ODP.Net 问题及说明
  9. Linux服务配置 DHCP服务器配置
  10. linux localtime 时区,localtime与时区zonetime的问题