• 什么是回归测试


    回归测试(Regression testing) 指在发生修改之后重新执行先前的全部测试用例或部分测试用例,或者说重新测试之前已经测试通过的功能点,以确认修改没有引入新的错误或导致其他代码产生错误。

    回归测试被定义为一种软件测试类型,以确认最近的程序或代码更改未对现有功能产生不利影响。

    回归测试只不过是全部或部分选择已执行的测试用例,然后重新执行以确保现有功能正常运行。

    进行此测试是为了确保新代码更改不会对现有功能产生副作用。这样可以确保在完成最新代码更改后,旧代码仍然可以使用。

    回归测试可以使用自动化测试工具来提高测试效率和覆盖率,从而减少测试成本和测试时间。回归测试对于保证软件或系统的质量和稳定性非常重要,同时也是软件开发过程中不可或缺的一环。

    一、回归测试策略

    1.再测试全部用例
    选择基线测试用例库中的全部测试用例组成回归测试包,这是一种比较安全的方法,再测试全部用例具有最低的遗漏回归错误的风险,但测试成本最高。随着开发工作的进展,测试用例不断增多,重复原先所有的测试将带来很大的工作量,往往超出了我们的预算和进度。

    2.基于风险选择测试用例(推荐)
    可以基于一定的风险标准来从基线测试用例库中选择回归测试包。

    2.1 验证了产品核心功能的测试用例
    2.2 出现问题较多的功能模块有关的测试用例
    2.3 业务程度较复杂的功能模块有关的测试用例
    2.4 用户使用较频繁的功能模块有关的测试用例
    2.5 所有集成测试用例
    2.6 所有复杂的测试用例
    2.7 边值测试用例

    3.测试修改的部分
    当测试者对修改的局部化有足够的信心时,可以通过代码相依性分析识别软件的修改情况并分析修改的影响,将回归测试局限于被改变的模块和它的接口上。通常,一个回归错误一定涉及一个新的、修改的或删除的代码段。

    二、测试用例库维护

    1.删除过时的测试用例

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

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

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

    4.增添新的测试用例
    如果某个程序段、构件或关键的接口在现有的测试中没有被测试,那么应该开发新测试用例重新对其进行测试。并将新开发的测试用例合并到基线测试包中。

    通过对测试用例库的维护不仅改善了测试用例的可用性,而且也提高了测试库的可信性,同时还可以将一个基线测试用例库的效率和效用保持在一个较高的级别上。

  • 相关阅读:
    C++ - Java 调用 C++ 动态库 <.dylib / .so> By CLion
    李廉洋:5.30黄金原油趋势向下,今日最新行情走势分析及策略。
    人工智能-卷积神经网络(LeNet)
    Springboot毕设项目基于Java的Cisco网络安全设备采购平台wl7jy(java+VUE+Mybatis+Maven+Mysql)
    Java反射
    Linux 系统与本地 windows 系统相差30s左右问题解决方案
    C/C++学生综合测评系统
    混淆矩阵细致理解
    非关系型数据库Redis的安装
    SpringMvc(一)-初识
  • 原文地址:https://blog.csdn.net/liaowenxiong/article/details/133974899