精华内容
下载资源
问答
  • 回归测试策略
    千次阅读
    2018-12-31 18:34:34

    在整个测试环节中、回归测试很少被人提及、网上的对于回归测试的资料也不是很多,而测试类书籍中提及回归测试的部分也比较少。但是做过测试的朋友都知道回归测试在整个测试周期中的重要性。

    看看维基百科对回归测试的定义(回归测试旨在检验软件原有功能在修改后是否保持完整)、通过这段简短的说明我们发现回归测试其实就是当研发修正BUG之后的一个检验工作、当然如果你就这样理解的话会发现其实回归测试就是检验BUG是否被修正。

    软件工程中一款软件是由各个不同功能的模块组成、将所有模块组合起来成一个完整的软件、所以各个模块之间是有关联的、如果在回归测试阶段仅仅检验BUG是否被修正的话、那么没人保证研发在修正BUG的时候不会引人其他BUG。这样一来我们在做回归测试的时候就需要回归一些此BUG之外的功能。

    回归测试阶段的测试策略基本上有如下4种。

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

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

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

    (4)、再测试修改的部分
    当测试者对修改的局部化有足够的信心时,可以通过相依性分析识别软件的修改情况并分析修改的影响,将回归测试局限于被改变的模块和它的接口上。通常,一个回归错误一定涉及一个新的、修改的或删除的代码段。在允许的条件下,回归测试尽可能覆盖受到影响的部分。

    在以上4种回归测试策略中再测试全部用例的策略是最安全的策略,但已经运行过许多次的回归测试不太可能揭示新的错误,而且很多时候,由于时间、人员、设备和经费的原因,不允许选择再测试全部用例的回归测试策略,此时,可以选择适当的策略进行缩减的回归测试。

    在不同的阶段使用不同的回归测试策略是一种比较明智选择、我们知道项目管理中、项目进度、成本、质量是一个三角形的关系、每一个都狠重要、所以当你这个项目有几千条测试用例的时候用再测试全部用例的回归测试策略时 项目进度和成本控制就会出现问题、在什么阶段使用什么样的回归测试策略是每一个合格的测试人员都应该考虑的问题。

    在编写测试用例的时候测试人员都追求用最少的测试用例来达到最大的用例覆盖率、在回归测试中测试人员也会追求在保证项目进度和成本的情况下最大限度完成回归测试。

    关注收藏我就要券591q.cn

     

    更多相关内容
  • 回归测试策略

    2021-03-23 15:14:33
     回归测试策略也显得很重要:  1.在下一轮测试中,用本轮测试的所有测试用例重新测试,确认所有缺陷都改正;  2.在下一轮测试中,对本轮测试的所有缺陷对应的用例进行回归,确认所有缺陷都已过修改;  3.在最终的...
  • 在《全面的质量保障体系之测试用例分级》中提到用例分级的最主要应用于回归测试;用例分级应用的主要问题,很多公司都建立了用例分级管理体系,但是真正使用时因为不同的人对于业务的理解不同,所选取的用例策略就...
  • 敏捷团队的回归测试策略

    千次阅读 2022-03-11 10:47:55
    这些主要问题包括在冲刺开发和迭代测试、精确的敏捷开发和回归测试之间保持适当的平衡。  敏捷开发是一个非常快速和动态的开发过程。 周期很短,开发人员在相对较短的时间内推出了许多功能。 同样,测试周期很短...

      敏捷提供了许多优势,例如更快的上市时间、更快的投资回报率、更快的客户支持、降低风险、持续改进等。随之而来的是一些非常困难的挑战。 这些主要问题包括在冲刺开发和迭代测试、精确的敏捷开发和回归测试之间保持适当的平衡。

      敏捷开发是一个非常快速和动态的开发过程。 周期很短,开发人员在相对较短的时间内推出了许多功能。 同样,测试周期很短,无法跟上项目的发布周期。 但实际上大多数时候并非如此。 为一个特性完成了开发,但所有新特性和相关的旧特性都必须经过测试。 对于每个新版本,您需要确保对代码的添加或改进不会损害现有功能的功能。

      但是在几个大周期之后,这些重复的测试变得乏味且耗时,并且假设它们必须正常工作,您可能会错过一些发现其他错误的机会。 为避免这种情况,需要通过从开发周期开始时创建适当的回归测试策略来制定“逃避”计划,并且每次冲刺发生时都需要修改该策略。

      建立回归测试策略之前

      在建立该回归测试策略之前,事先收集一些信息。

      ·收集所有应执行的测试用例

      · 改进永不停止。找出可以在测试案例中实现的所有改进

      · 估计执行测试用例的时间

      · 评估什么都可以自动化以及如何自动化

      

      ​

      建立回归测试策略

      在敏捷开发中执行回归测试的最大挑战是保持敏捷开发与回归测试之间的平衡。因此,我们需要遵循一些快速有效的方法,以便在不影响质量的情况下执行回归测试。

      自动化回归测试

      快速跟踪回归测试的最佳方法之一是使回归测试的某些部分自动化。我们可以创建一个回归测试脚本,并应在每次更新时对该脚本进行修改和审查,以确保其正常工作。自动化测试脚本应涵盖所有可能的测试用例,并在将自动化脚本结果移至操作项之前对其进行验证。

      确定测试范围

      作为一名测试人员,我们知道哪些开发可以导致构建中的哪些更改。换句话说,由于已有代码中的新构建,我们可以掌握引入错误的所有可能性以及范围。但是,这并不意味着您完全依靠猜测。

      示例:您正在测试一个电子商务网站,并且在支付网关中进行了修改。现在,您有两种方法,一种是在每次提交付款网关时都要测试整个产品,每半小时一次,另一种方法是找出容易出现的问题。在这种情况下,最容易出现的领域是结帐流程和付款以及电子邮件确认,文本确认,OTP或密码验证等。一旦设置了此付款修复程序,您就可以执行一轮端到端回归测试。

      确保您弄清楚聪明工作和辛苦工作之间的区别。尽管辛勤工作总能带来更好的结果,但是在可以通过聪明的工作解决目标的地方,而这些地方往往不是辛勤工作能够解决的。

      测试用例优先级

      优先级排序可帮助您根据问题的严重性和代码中的最新更改来管理测试用例。严重的错误应以最高优先级进行测试,然后是较低严重的错误。这样,您就可以测试尽可能多的错误,而不会错过高优先级的错误。

      获得最高优先级错误的可能性为10%,其次为获得中等优先级错误的可能性为30%,获得优先级较低的bug的可能性为60%。我们需要按顺序处理从最高优先级到最低优先级的所有错误。

      敏捷环境中回归测试

      当回归测试策略实现,就能够执行回归测试并保持敏捷开发的步伐。完美地回归测试结果将帮助用户保持对产品的信任,以便为他们提供更好的产品。

    展开全文
  • 数据回归-面向对象软件的回归测试策略研究.pdf
  • 回归测试概念和策略

    2021-03-23 13:58:26
    转载一篇关于回归测试的概述,这篇文章从回归测试的基本概念定义、回归测试测试策略包括测试用例的维护和更新,回归测试用例的选择、回归测试的实施步骤等都做了较为详尽的描述。更从回归测试的角度阐述了自动化...
  • 前言: 回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他...因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。 正文: 一.回归测试策略的概念 在软件生

    前言:

    回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。

    正文:

    一.回归测试策略的概念

    在软件生命周期中的任何一个阶段,只要软件发生了改变,就可能给该软件带来问题。软件的改变可能是源于发现了错误并做了修改,也有可能是因为在集成或维护阶段加入了新的模块。当软件中所含错误被发现时,如果错误跟踪与管理系统不够完善,就可能会遗漏对这些错误的修改;而开发者对错误理解的不够透彻,也可能导致所做的修改只修正了错误的外在表现,而没有修复错误本身,从而造成修改失败;修改还有可能产生副作用从而导致软件未被修改的部分产生新的问题,使本来工作正常的功能产生错误。同样,在有新代码加入软件的时候,除了新加入的代码中有可能含有错误外,新代码还有可能对原有的代码带来影响。因此,每当软件发生变化时,我们就必须重新测试现有的功能,以便确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能。同时,还需要补充新的测试用例来测试新的或被修改了的功能。为了验证修改的正确性及其影响就需要进行回归测试。

    回归测试在软件生命周期中扮演着重要的角色,因忽视回归测试而造成严重后果的例子不计其数,导致阿里亚娜5型火箭发射失败的软件缺陷就是由于复用的代码没有经过充分的回归测试造成的。

    回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代中回归测试更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。

    二.回归测试的策略:

    回归测试策略通常有四种:全面回归测试、选择性回归测试、指标法回归测试和自动化工具回归测试。

    1、全面回归测试

    全面回归测试是指不管发现多少个问题,也不管哪些功能有问题,哪些功能没有问题,都进行测试。全面回归测试的优点是对所有功能进行验证,尽最大可能保证系统没有问题,但是这样同样带来一个很重要的问题,就是如果进行全面回归测试,那么测试的成本就会大大提高,并且从测试心理学角度来说,测试工程师是不可能全面回归测试的,即使给你足够的测试时间,也不可能全面回归。前面我们谈到测试心理学,关于测试心态的两种情况,在我们回归测试时,随着测试的不断迭代,我们测试的心理会发生变化,后面测试时我们更多的是这种心态:“测试是为了证明系统不存在问题。”这就决定着我们不可能对所有测试用例进行验证,很可能是只挑选了一部分用例进行验证测试。

    2、选择性回归测试

    选择性回归测试是指,在回归测试时我们只对出现问题的这些功能进行验证,没有出现问题的功能就不进行测试。例如,一个系统一共有20 个功能点,第一轮测试时,发现10个BUG,这10个BUG是测试其中8个功能点发现的,那么选择性回归测试就只对这8个功能进行回归测试。但这样存在一个问题,在修改某个BUG时,如果修改了A函数,而这个A函数又被其他的功能所调用(假设是F1功能,这个F1功能在上一轮测试中是正确的),这个时候就不能仅仅验证存在问题的8个功能,还应该验证F1功能是否正确,即除了验证这些BUG外,还要关注那些可能影响到的模块。但是这里又存在一个问题,测试工程师如何知道哪些功能可能会受到影响呢?所以这就需要开发工程师在修复BUG时写清楚,当前这个BUG是由什么原因引起的,这个问题是如何修改的以及可能产生的影响,所以选择性回归测试除了需要验证当前的问题外,还要验证修改的这些问题可能对其他功能带来的影响。

    3、指标法回归测试

    指标法回归测试是指每次回归测试一定比例的测试用例,例如用例库一共是500条用例,每次回归测试时只回归验证其中60%的用例,这个方法是不可取的,因为没有规定回归哪60%的用例,这样可能出现测试工程师故意回归一些不相关的测试用例,因此质量无法保证。

    4、自动化工具回归测试

    自动化工具回归测试是指使用自动化测试工具进行回归测试,前面我们介绍过从理论的角度来说,其实不管修改了哪些功能,都应该对所有的功能进行回归测试。但是当我们进行全面回归测试时,由于时间成本和测试心态变化的因素,其实我们是无法保证有能力全面回归测试的,这个时候就可以使用自动化测试工具来代替我们手工回归测试,这样既可以解决测试成本的问题,又可以解决测试过程中测试工程师的心态问题。目前,在国内自动化测试还是处于初步阶段,未来自动化测试一定会成为一个发展趋势。

    回归测试在整个测试过程中都存在,而不只是存在于某个阶段,因为不管是单元测试、集成测试还是系统测试,只要在测试过程中发现系统存在BUG,就需要对BUG进行修改,而修改完成后就需要进行回归测试来验证是否将该BUG修改好。

    写在最后:

    忙的时候虽然累,但是忙完了会特别畅快舒服;闲的时候虽然爽,但是闲的时间长了心就慌了。你迷茫的原因往往只有一个,那就是在本该拼命去努力的年纪,想得太多,做得太少。

    所以朋友们确定目标,不忘初心,勇往直前,相信最后一定可以开出一朵属于自己的花儿来,加油。

    在这里插入图片描述
    絮叨:
    在这里推荐一个我自己创建的软件测试交流群,QQ:642830685,群中会不定期的分享软件测试资源,测试面试题以及测试行业资讯,大家可以在群中积极交流技术,还有行业大佬为你答疑解惑。

    愿你我相遇,皆有所获,更多学习资源可以关注我的微信公众号:程序媛一菲

    展开全文
  • 回归测试定义

    2015-10-23 17:49:50
    回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、...因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。
  • 回归测试策略概览

    千次阅读 2018-03-01 00:00:00
    本文要点回归测试不同于其他类型的测试。回归测试分为多种类型,因为不同的原因,采取不同的方法。建立回归测试的策略,重点是要考虑上...要做到这一点,应该设计一个有效的回归测试策略,充分满足产品的需求,以最佳的

    本文要点

    • 回归测试不同于其他类型的测试。

    • 回归测试分为多种类型,因为不同的原因,采取不同的方法。

    • 建立回归测试的策略,重点是要考虑上下文和其他一些因素。

    • 回归测试有很多方式和方法。

    • 不同的方法论需要采用不同的回归测试方法。

    成本高、耗时长的回归测试对整个交付团队来说是一个令人烦恼的难题。幸运的是,我们有机会让回归测试变得更轻松、更有效。要做到这一点,应该设计一个有效的回归测试策略,充分满足产品的需求,以最佳的成本保证产品质量。这需要了解回归测试的本质,采用它的原因以及执行它的方法。

    为什么要进行回归测试

    软件的回归是指某个事件(例如,一个软件补丁或升级)发生后出现的一个缺陷。回归测试则确保了最近变更的代码不会影响其他代码,从而防止软件回归。

    变更是回归测试中的关键概念。变更的原因通常分为四大类:

    • 新的功能。这是运行回归测试最常见的原因,新旧代码必须完全兼容。当开发人员开发新的代码时,他们不会完全专注于兼容现有代码,这就需要利用回归测试来找出潜在的问题。

    • 功能修改。有时候,开发人员会修改现有功能、丢弃或修改某些特性。在这样的情况下,回归测试可以检查相关特性是否被删除或修改,确保不会损害其他功能。

    • 集成。在这种情况下,回归测试确保软件产品在与其他产品集成后可以完美工作。

    • 错误修复。令人惊讶的是,开发人员努力修补发现的错误可能会产生更多的错误。因为修复错误需要修改源代码,这就需要重新测试和回归测试。 

    了解这两种测试之间的差异很重要。重新运行功能测试用例,然后产生错误报告。测试工程师再次执行它们以检查错误状态(已修复、未修复等)。如果错误仍然存在,开发团队会收到一个错误报告以进一步排错。排错完成后,测试团队运行回归测试来确保应用程序仍可正确工作。

    回归测试类型

    根据测试目的的不同,回归测试可分为三种类型:

    1. 新错误修复:验证最近发现的错误是否修复成功。

    2. 旧错误修复:确保一个错误一旦被发现并修复,就不会再出现。

    3. 副作用:验证最近的错误修复没有破坏旧的功能。

    回归测试策略:基本因素

    分析了回归测试的原因及其类型后,我们可以开始制定一个有效的回归测试策略。在设计回归测试策略时,团队依赖于两个因素:

    1. 产品的本质。这是一个关键因素,让我们能选择合适的回归测试策略,以及周到的回归测试计划。例如,测试一个登录页面和测试综合专业门户的方法有很大的不同。登陆页面的回归测试主要针对用户界面和可用性方面的测试用例,而对于门户网站来说,会考虑到更多安全性、性能、兼容性等方面的测试用例。

    2. 产品的规模。大、中、小型的产品要采用不同的回归测试方法。对于小型产品而言,单轮的手工回归测试可能就足够了;而对于具有丰富功能的大中型产品,通常手工和自动两种回归测试都要采用。

    如果考虑到这些因素,测试团队就可以选择到合适的回归测试方式和方法。

    回归测试方法

    回归测试遵循两种实现方法:手工和自动。

    手工回归

    无论采用何种方法论(瀑布、敏捷和其他),手工回归测试是对产品进行回归测试的基本方法。回归测试套件包含了应用程序最近发生变更及其相关部分的测试案例。这种类型的测试总是先于自动化测试,在某些情况下比后者更有效。例如,想要测试与应用程序发生变更部分相关的功能,通过编写自动化测试脚本是不可能做到的。

    手工回归测试,在产品交付过程的早期阶段是有效的。我们开发的一个产品,比如iOS图像处理应用程序,手动回归测试可以帮助检测出影响应用程序用户体验的多个错误。手工回归测试发现该应用无法正确地生成图像,当用户改变屏幕方向时会发生崩溃。

    尽管如此,测试团队仍然试图采用自动化的回归测试,因为手工回归测试的主要问题是费时、费力。对于复杂的产品,手工运行回归测试套件,不可避免地影响了测试工程师的注意力和效率。因此,在这种情况下,团队更喜欢借助自动化。

    自动回归

    一个大中型项目(时长六个月或更久),当项目处于稳定阶段(预期的业务逻辑和用户界面已不会发生重大变化),自动化回归测试是典型的方法。有了全面的回归测试规划,自动化降低了测试团队花费在繁琐、重复任务上的精力,省下时间去参与那些需要人工介入的测试,比如探索性和用户体验测试。

    然而,现今的团队往往在早期阶段就开始自动化回归测试。它适用于敏捷开发,团队至少每周部署一个产品,没有时间准备手动回归测试。通过与整个团队(利益相关者、管理者、业务分析师等)沟通并研究用例文档,测试人员可以了解利益相关者的需求、产品业务逻辑以及测试的预期结果。在项目早期,自动化的主要任务是选择测试框架,它应该提供简单的脚本和低成本的测试维护。创建的基础架构可以重用于未来的产品,并能加速测试自动化。

    在某些情况下,自动化可以帮助检测手动回归测试未发现的错误。最能说明问题的例子,是那些随机出现的错误。当我们测试上面描述的图像处理应用程序时,自动化超时有助于检测出一些随机错误。如果一个脚本发生超时,它会自动被标记为失败。结果是,同一个脚本一次又一次地运行,直到通过,这样就可以发现出现在某个确定位置的随机错误。

    回归测试实现方式

    回归测试提供了两种可能的实现方式:

    完全回归

    这种回归测试方法包含了覆盖所有产品的回归测试案例。质量团队通常在产品交付流程的最后阶段,或主要版本发布前执行此操作。当产品需要进行显著的功能性或非功能性变更,或这些变更影响基础代码时,也会使用完全回归测试。幸运的是,测试团队不需要编写完整的回归测试套件。他们通常会修改功能性、非功能性、单元和集成测试套件,并选择那些在整个产品交付过程中不断发现错误的测试用例,这些测试用例构成了一个回归测试套件。

    虽然冗长、乏味,但这种重新测试的方法非常有效,因为它有助于发现整个应用程序中可能存在的问题。然而,经常进行这类测试是没有意义的,团队通常会在改变开发环境之前运行这类测试。例如上面的图像处理程序,该应用最初是为 iOS8 开发的,因此该团队使用了 XCode6 IDE。但后来客户要求用户在 iOS9 的新设备上运行该产品,这需要切换到 Xcode7。切换后,测试工程师必须运行完整的回归测试,确保在 Xcode6 下的所有特性能继续工作。

    而当客户希望拥有完全稳定、满足需求的产品时,可以要求进行完全回归测试。

    部分回归

    部分回归测试的特征是只包含产品的修改部分和可能受到影响的相关部分。测试团队使用特定的策略,来确保部分回归测试能产生良好的结果。它的主要策略是以风险作为依据,测试工程师挑选出应用程序受到最近变更影响的部分,并从测试套件中选择相关的测试用例。

    当产品获得任何类型的新功能时,质量团队可以进一步将这种基于风险的方法应用于回归测试套件。这种方式大大减少了测试时间和工作量,对于以敏捷方式来交付产品的团队来说,如果他们时间紧迫,那么这种方式不失为一种很好的迭代回归测试方案。部分回归还有助于在最终开发阶段重新考虑完整的回归测试套件,并丢弃那些没用的测试用例。

    要选择哪一种方法,取决于产品交付过程中变化的范围、方法和阶段。在测试实践中,我们会尽可能坚持基于风险的部分回归测试。

    主流方法论中的回归测试

    选择合适的回归测试策略,产品开发方法论是要考虑的关键因素之一。对于瀑布方法论,测试是在产品完全开发完毕之后才开始进行的。瀑布过程中的测试通常分为三个阶段:

    • 标准的测试。测试团队开始工作并运行所有测试套件、脚本。测试完成后,团队会将错误报告发送给开发团队,然后由开发团队来修复这些错误。

    • 稳定性。当错误被修复时(假定),测试团队运行回归测试来检查错误修复情况及其相关部分。要达到稳定可能需要很长时间,因为修复错误时往往产生新的错误。测试团队需要根据严重程度(关键、重大、中等、不重要)对其进行评估。当产品有重大缺陷时,开发团队将进行另一轮修复。

    • 回归测试。当关键和重大错误被修复时,稳定性确保不会再出现类似的错误,测试团队将运行完全回归测试来对产品进行最终的修补。

    因此,在瀑布方法论中,稳定性和完全回归是测试的最关键和耗时的部分。

    在敏捷开发中,回归测试通常属于上述两种子类型:部分(迭代)回归,覆盖了迭代期间和相关部分的特性;以及在主要版本和部署之前执行完全(主要)回归。然而,为了提高效率,回归测试套件需要进行这样的维护:测试团队应该添加新的相关测试用例,并及时地删除已废弃的测试用例。这种方法大大减少了乏味的测试所花费的时间和精力,并且不会损害产品质量。

    无论他们遵循何种方法论(瀑布或敏捷),产品团队还可以选择一些特定的优化方法。

    优化的回归测试:看板和DevOps

    看板方法包括使用产品的仪表板,有助于清晰地可视化工作,并跟踪进度和改进。这样,每个团队成员可以估算他们的工作量,与团队工作联系起来,设定最后期限并确保效率。在瀑布过程中,看板有助于估计达到稳定性所需的时间,并更仔细地规划测试工作。看板仪表板帮助选择迭代回归的测试用例,以及需要进行完全回归的关键时间点。

    DevOps 包括持续集成(CI)、持续交付(CD)和持续部署。这种方法很大程度上依赖于自动化:一小部分代码被发送到存储库,其中 CI 确保将代码部分自动集成到一个部署(build)。然后这次部署被发布到临时(staging)环境(CD),然后测试人员运行自动化测试。这种方法极大地减少了与回归有关的问题,从而加速了敏捷项目中的测试和部署。

    回归测试和其他测试类型

    软件产品包含功能性和非功能性特性,代码的变更会和这两种类型都有关,回归测试也可以被分为两类:

    功能回归测试 
    功能测试包括客户需求、业务逻辑以及产品规格,并验证应用程序是否按预期工作。在这种情况下,回归测试的目的是验证最近的变更没有破坏或影响已经存在的功能特性。

    非功能回归测试 
    回归测试也可以成为非功能测试工作的一部分,以下是几类最常见的需要回归测试的非功能性测试工作:

    • 用户界面测试 
      用户界面是用户在运行应用程序时看到的内容,这种类型的测试包括验证应用程序菜单、图标、条形图、对话窗口等是否显示正确。用户界面测试可确保应用程序良好的观感,通常这可以预先确保产品的受欢迎程度。 
      当产品功能不断增加时,需要进行用户界面的回归测试,多个新的用户界面元素会导致用户的混淆。为了提升用户体验,产品所有者和业务分析员需要努力分析应用程序并决定哪些旧功能可以与新功能合并,哪些可以被完全替换。任何更改都会涉及代码变更,需要进行回归测试。 
      这也发生在我们的 iOS 移动应用程序上,该应用程序实现了几个版本,有时边栏不再能满足最近添加的关键功能。所以产品所有者决定升级边栏功能,而接下来的回归测试发现用户界面功能被弄乱了。当关键功能还没有实现的时候,应该先实现关键功能而不是重要性不那么高的侧边栏功能。

    • 兼容性测试 
      这种类型的测试用于检验在各种硬件或操作系统中是否能容易地使用产品。因此,兼容性测试的类型包括跨浏览器和跨平台测试。根据产品的不同,测试团队可能会针对不同的配置执行兼容性回归测试。

    • 安全性测试 
      安全测试检测应用程序是否存在外部安全漏洞,从安全的角度检查代码质量,这是最常见的安全测试方法。但是,对于需要高安全级别的 Web 应用程序(医疗、银行等),安全测试还涉及到用户授权。这些应用程序提供基于角色的访问,一个典型的案例是医院的 Web 应用,医生只能访问与其工作活动相关的数据。如果某些角色的权限发生了变化或某位员工辞职,测试工程师将运行回归安全测试,以确保其他员工的访问权保持不变。

    • 本地化和国际化测试 
      这类型的测试通常在应用程序全球化时执行。本地化测试将验证应用程序的行为是否符合目标区域中能接受的文化规范,并用支持的语言正确显示信息。无论区域、语言或文化特点如何,国际化测试要验证应用程序是否正常工作。 
      令人惊讶的是,这种类型的测试也会涉及到回归测试。例如,我们的一个产品旨在覆盖大量的用户。因此,它支持多种语言,通过翻译服务提供相关翻译。在运行功能回归测试时,测试团队也要注意以各种语言正确显示信息。有时,由于开发的缘故,代码变更导致翻译被清除了。因此,团队需要执行本地化回归测试,来验证开发工作不会影响现有的非功能性特性。

    总结

    应对回归测试的最好方法,是设计一个适当的测试策略。它应该包含三个关键要素:

    • 测试方法(手动和自动的适当比例)。

    • 回归测试方式(在产品交付过程中完全和部分的分配)。

    • 质量回归测试套件。该套件可能涉及功能测试用例和非功能测试用例,它们涵盖了在产品交付过程的特定阶段发生变更的特性。

    利益相关者需求支配产品的这一特点,为选择正确的回归测试策略奠定了基石。另一个重要的因素是产品规模(小、中、大)。一个好的回归测试策略能减少测试时间和精力、提高产品质量,并使之完全符合顾客的需要。

    公众号推荐:

    公众号:VOA英语每日一听

    微信号: voahk01

    可长按扫码关注,谢谢


    展开全文
  • 在实际对软件进行回归测试时,应用多种测试技术是常见的,并且在回归测试时选择多种回归测试策略也可以增加人们对修改软件的信心。而且需要注意的是,回归测试并不会减少对系统新功能和特征的测试需求,并且回归...
  • 回归测试(Regreesion Testing) 目的:验证缺陷得到了正确的修复,同时对系统的变更,没有影响以前的功能 策略: 1) 完全重复测试  重新执行所有在前期测试阶段建立的测试用例,来确认问题修改的正确性和修改的扩散...
  • 回归测试策略

    2019-12-09 09:10:22
    回归测试策略 1.什么是回归测试回归测试是贯穿在整个测试的各个阶段的一个测试活动。它的目的是检验已经被发现的缺陷有没有被正确的修改和修改过程中有没有引发新的缺陷。软件在测试或者其他活动中发现的缺陷...
  • 【软件测试】回归测试策略

    千次阅读 2019-05-03 10:38:16
    1.什么是回归测试? ...在做回归测试的时候可以采用不同的策略。 2.都有哪些策略? (1) 可以选择完全重复测试。把所有的测试用例,全部再完全的执行一边,以确认问题修改的正确性和修改后周...
  • 回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误的一种测试方法。回归测试是指重复以前的全部或部分...选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的
  • 回归测试策略

    千次阅读 2019-07-08 18:49:00
    1.完全重复性测试 一般不使用此方法 将所有前期测试过的用例执行一遍。 2.选择性测试 选择部分测试用例来执行。 1.覆盖修改法 针对被修改的部分,选取或重新构造测试用例来验证是否有错误再次发生。 2....
  • 本文描述了软件回归测试的概念和进行回归测试的基本步骤,介绍了可用于回归测试的测试用例库的维护方法,给出了几种可以可保证回归测试效率和有效性的回归测试策略,总  摘要:本文描述了软件回归测试的概念和进行...
  • 回归测试的四种方法

    千次阅读 2021-04-12 15:49:33
    回归测试策略的概念 在软件生命周期中的任何一个阶段,只要软件发生了改变,就可能给该软件带来问题。软件的改变可能是源于发现了错误并做了修改,也有可能是因为在集成或维护阶段加入了新的模块。当软件中所含错误...
  • 回归测试怎么做

    2022-07-11 15:01:20
    读者提问:回归测试怎么做 ?阿常回答:这个问题我分两点回答1、什么是回归测试2、怎么做回归测试一、什么是回归...二、怎么做回归测试回归测试策略如下:1、全面回归测试--每一个大版本的发布,或者一次较大规模的调
  • 回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中...因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。  一、软件回归测试的概述  在软件生命周期中的任何一个阶段,只
  • 文章阐述了测试策略回归测试中的重要性,并针对再测试修改部分的测试策略做了改进。在一次回归测试中采用该策略形成的测试用例套件尽可能小,但又最大范围地覆盖修改影响到的错误空间,因此对电力行业软件系统的...
  • 1、回归测试基本策略及其评价基于以上基本原则的阐述,回归测试的基本策略目前有如下几种,现一一进行阐述。1.1回归测试方式GTRT:全面用例回归测试选择基线测试用例库中的全部测试用例组成回归测试包,这是一种比较...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,996
精华内容 19,998
关键字:

回归测试策略