开发人员对回归测试应该有所耳闻,但是并非都很清楚它的确切含义,比如我,以前老听到测试部门的头儿说回归回归,但也没具体去探讨什么叫回归测试,可能回归这个词太熟也太陌生吧,今天终于去探寻一番啥叫回归。
回归测试英文名叫regression testing,regression是复原退步的意思,当然不能想当然的理解为“退了步的测试”,描述为“对退步再进行测试”可能较为恰当。既然是退步,那就还存在“原地踏步”这种状态,相对于“原地”往后退才叫做“退步”,为什么会退步,也就是说测试的缘由是什么,缘由是因为系统、程序或代码的状态被改变了。在系统发布前通常会做多次回归测试,比如第n次发布测试发现了m个bugs(这里假定系统此时处于第n状态),程序被QA部门reject回到开发部门当中,开发人员根据bug系统进行缺陷修正,修正完毕后提交给QA部门进行回归测试,这次回归是针对第n次发布测试,测试目标是m个bugs将得到fixed,回归结果将得到系统的一个新的状态(这里假定系统处于第n+1状态),在第n状态到第n+1状态中间,由于开发人员对代码进行更改,因此这时候系统状态的未知系数(不稳定性)是非常高的,可以称之为“退步”(regresssion),因此第n+1次测试其实是针对这一“退步”状态进行,因而叫做回归,回归在这里可以有两重意思,一是回到系统的较低级状态,二是将系统的状态“拉回”到新的稳定状态(第n+1状态)。
回归测试并非局限于某一种测试,比如发布测试,它可以发生在单元测试(ut),功能测试(ft),集成测试(it)等等当中,当代码发生任何变动的时候,所执行的测试就可以说是一次回归测试,回归测试可以是自动的,也可以是手工的,比如前面所举的发布测试通常是手工完成,当回归测试可以自动执行的时候,系统可以较快地到达一个新的稳定状态,比如一个系统如果有良好的ut基础,那么代码的变更一旦检入代码库当中,就可以触发连续构建工具进行build and test(回归测试),失败的结果将在第一时间通知变更代码的程序员,或者通知配置管理员立即处理有问题的代码,这种just-in-time的处理方式将大大减少bug数目并提高代码质量,同时使团队的合作开发更加顺畅。
测试的自动化的程度越高,回归的周期就越短,效果越明显,软件的质量也越高,测试是否自动化也是开发是否敏捷的一个主要标志。
分享到:
相关推荐
在IT领域,回归测试(Regression Testing)是一种重要的软件测试方法,用于确保软件更新或修改后,原有的功能没有受到影响,即应用程序仍然能够按照预期的方式运行。本文将深入探讨如何使用Apache JMeter进行回归...
- **RT**: Regression Testing(回归测试) - **AI**: Artificial Intelligence(人工智能) - **ML**: Machine Learning(机器学习) - **DM**: Data Mining(数据挖掘) ### 2.1 测试安排和进度 本次回归测试...
然而,随着软件功能的不断迭代与升级,GUI的结构也会随之变化,这便引发了回归测试的需求。回归测试是一种确保修改后的软件仍然能够正确运行,并且原有的功能没有被破坏的测试方法。传统的回归测试技术主要针对非GUI...
总的来说,回归测试是保证软件质量的重要手段,其有效执行需要良好的测试用例管理、明智的测试用例选择策略以及对软件修改的深入理解。在实际操作中,团队应结合自身资源和项目需求,灵活选择合适的回归测试策略。
### 使用Expect进行交互式程序的回归测试与符合性测试 #### 概述 本文由Don Libes撰写,主要介绍如何通过使用Expect工具来测试交互式程序,特别关注于回归测试。交互式程序因其特性通常需要人机交互来进行测试,这...
回归测试策略选择指南 回归测试是软件开发过程中不可或缺的一环,尤其在迭代开发模式下,其重要性不言而喻。然而,随着软件系统的复杂度增加,回归测试往往成为耗时最长、资源消耗最大的环节。本文将探讨如何选择...
本文将重点讨论在回归测试中关键字驱动自动化测试框架的研究与应用,旨在通过自动化测试框架提升回归测试的效率。 回归测试的目的是在软件发生变更后,重新测试软件先前已经测试过的区域,以验证变更的正确性以及...
回归测试(Regression testing)是指在发生修改之后重新测试先前的测试以保证修改的正确性。理论上,软件产生新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再次出现。 回归测试的策略 ...
视觉回归测试框架 免费的可视化回归测试框架-即用型使用库创建并可以使用的可视化测试框架。 您只需添加要测试的URL,它将进行测试。 内容 安装 克隆此仓库git clone ...
本资源"hands-on-visual-regression-testing-源码.rar"包含了实现这一过程的相关源码,提供了一个实践性的学习平台,帮助开发者深入理解视觉回归测试的原理与应用。 一、视觉回归测试简介 视觉回归测试是通过比较...
本文介绍了一种基于FitNesse的自动化回归测试工具(Automated Regression Testing Tool, ARTT)的设计与实现。 #### 2. FitNesse的测试流程 FitNesse提供了一个集成化的测试环境,支持多种类型的测试,包括单元...
动手视觉回归测试用。欢迎投稿! 虽然我已经付出了很多努力来完善一切,但不可避免地会出现错误或可以更清楚地解释的事情。 我会喜欢任何和所有的帮助/建议。 如果您看到此处未涵盖的工具,请随时将或者更好的是,!...
在IT行业的软件开发过程中,回归测试(Regression Testing)是一项至关重要的环节,旨在确保软件更新或修改后原有的功能依然正常运行,没有引入新的错误。回归测试自动化框架的开发与应用是提高测试效率、减少人力...
视觉回归测试 使用PhantomCSS进行视觉回归测试的基本分布。 PhantomCSS ( ):一个CasperJS模块,用于使用PhantomJS或SlimerJS和Resemble.js自动化视觉回归测试。 对于测试Web应用程序,请使用实时样式指南和响应...
2. 测试类型:包括单元测试(Unit Testing)、集成测试(Integration Testing)、系统测试(System Testing)、验收测试(Acceptance Testing)和回归测试(Regression Testing)。单元测试针对最小可测试单元,如...
软件质量保证与测试(Software Quality Assurance and Testing)是一门...4. **回归测试(Regression Testing)**:在软件更改后进行测试,以确保新代码没有引入新的缺陷。 每个实验代码包含详细的注释和说明,帮助
使用WebDriverIO和WebDriverCSS进行视觉回归测试 这将捕获图像作为第一次运行的基准,并与下一次运行的图像进行比较。 该项目基于WebdriverIO,带有Mocha Testing Framework和Spec报表的WebdriverCSS。 需要...
5. 回归测试(Regression Testing):当软件或系统发生变化时,回归测试确保改动没有引入新的错误或导致原有功能失效。 6. 压力测试(Stress Testing):压力测试是模拟超出正常工作负载的情况,检查系统在极限条件...
如果两页之间的差异高于设定的阈值(“容差”可以从0%到90%),则可视化回归测试将失败。 查看屏幕截图并排 - 浏览网站截图并比较生成的图像,并逐个像素地识别差异 比较图像将显示在结果的屏幕截图旁边,突出显示...