回归测试选择用例,看这里就可以了。

news2024/11/14 15:00:43

介绍

在软件生命周期中,软件经常发生变化,软件开发人员任何代码改动都会有引入故障的风险)。

为了消除或减小这种风险,在软件迭代开发模式下,回归测试扮演着重要的角色:它能够帮助测试人员验证新增的功能或故障修复后的程序是否满足期望。

目前,常见的具有代表性的回归测试策略主要有两种:

一是重试所有策略,即选择所有已有用例进行测试;

二是最小选择策略,即选取具有代表性的测试用例进行测试。

重试所有策略最大限度地扩大了测试覆盖范围,可以保证在程序修改后原来正确工作的代码不会产生新的错误。但是,随着软件功能的丰富、开发代码的增加,测试用例也随之增多。

当测试用例积累非常多时(比如成千上万条),此时一个新功能开发或故障修复完成后进行回归测试,则会对时间和资源的需求量提出巨大的要求。由于测试资源和时间的限制,如果运行全部存量测试用例和开发新的测试用例进行回归测试,显得不太可取。

最小选择策略可以缩减测试用例集的大小,测试成本较小,但是检错代码错误的能力相对于重试所有策略则削弱很多。最小选择策略的检测错误能力不够完善,但其低成本优越性,使得无数人员争相研究和推进,它已经成为回归测试中最常用的测试策略。

回归上述提及的回归测试策略不难发现,在回归测试活动中,测试用例的选择往往着重于已有测试用例的选择,对于新增功能或功能变动引起的新增测试用例并未提及,而这一部分在回归测试中也占据着重要地位。因此,在有限的时间和资源条件下,如何筛选存量测试用例和设计新增用例,快速地完成回归测试成为了大多数测试人员思考的问题。

本文旨在提出一种快速回归测试用例选择方法,帮助测试人员能够快速地完成回归测试。

该策略主要涉及两个环节:

  •   ·存量测试用例的筛选
  •   · 新增用例的设计方法

在存量测试用例筛选环节引入相关性判断,考虑测试用例与功能的相关性、测试用例执行通过率、测试用例的稳定性、测试用例的发现的故障数、测试用例的自动化率等几个方面。

在新增用例设计环节,引入探索式测试方法(包括局部探索式方法和全局探索式方法)设计新增用例。

相关工作

回归测试可被分为两类:递进型回归测试和修正型回归测试。

递进型回归测试是指对原有测试用例进行修改,以适配测试修改后的程序(如新需求引入导致的模块或功能增删)。

修正型回归测试与递进型回归测试相反,主要特点在于原有测试用例不做任何修改。修正型回归测试主要用于修正程序设计错误或缺陷修复后的测试,其目的在于验证程序严格按照测试用例的输入输出描述运行。

在软件开发周期内,递进型回归测试和修正型回归测试活动往往是一起进行的。随着软件开发的深入、功能的不断增多,测试用例数量也会不断增大。此时,在成百上千或上万条测试用例的情况下,在某个开发周期内进行递进型回归测试和修正型回归测试,存量测试用例的选择、新功能测试用例的设计和开发都会成为有限时间和资源下快速完成回归测试的瓶颈。

传统的全部运行存量测试用例进行回归测试的方法,虽然可以保证测试的高覆盖率,但是会消耗大量的时间和资源,尤其是手工用例居多的时候。鉴于此种情形,如何使用最小选择策略去除回归测试用例冗余性,获取代表性用例进行回归测试,成为了很多学者探讨的问题。

最小测试用例集的选择方法有如:基于数据挖掘技术的测试用例选择方法、基于优先级排序的测试用例选择方法、基于启发式模型的测试用例选择方法等等。这些技术为回归测试存量测试用例的选择提供了有效的指导方法,但是它们有的仅是从设计过程选择用例或从执行结果选择用例,未充分考量选取测试用例的全面性。且针对迭代周期内当新增功能或代码变更时,并未提及如何设计新增用例并将新增用例纳入回归测试范围。

本文提出的快速回归测试策略重点在于存量测试用例的选取和新增测试用例的设计环节。

考虑到回归测试类型的差异性:

针对递进型回归测试,测试用例主要为新增测试用例,新增测试用例的设计方法采用探索性测试方法;

针对修正型回归测试,测试用例包含存量测用例和新增测试用例。

在存量测试用例选择时,从用例设计过程和执行结果两个方面出发进行联合筛选。

从用例设计过程出发,考量用例与功能的相关性(直接相关、间接相关),选择相关性强的用例;

从用例执行结果出发,选择稳定性差、通过率低、故障率低和自动化率低的测试用例。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1943.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mac配置jdk环境变量

**下载完成后直接安装一路next直到完成。 查看JDK安装后的路径 在终端输入以下命令查看JDK地址** 按照以下命令的顺序来设置jdk环境变量 查看JDK地址 :/usr/libexec/java_home -V。 open -e .bash_profile打开文件 touch .bash_profile 创建文件 打开.bash_prof…

G2O (General Graph Optimization)入门及简单使用

g2o全称是General Graph Optimization,也就是图优化,我们在做SLAM后端或者更加常见的任何优化问题(曲线拟合)都可以使用G2O进行处理。 先放出本文的几个参考链接: 半闲居士(高翔博士) 非线性…

智能终端信息安全概念(一):开篇

最近屁事以及自己对于时间的把控太差了,还有就是一个师妹最近让辅导作业,很烦。 回归正轨,好好学习Linux驱动的方面。 在实际的Linux驱动中,Linux内核尽量做得更多,以便于底层的驱动可以做得更少。 而且&#xff0c…

【C++笔试强训】第十七天

🎇C笔试强训 博客主页:一起去看日落吗分享博主的C刷题日常,大家一起学习博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话:夜色难免微凉,前方必有曙光 🌞。 💦&a…

【微服务容器化】第四章-Docker应用部署

🌴第四章 Docker应用部署🍃4.1 Mysql部署🍃4.2 Tomcat部署🍃4.3 Nginx 部署🍃4.4 redis 部署🍃4.1 Mysql部署 分析: 容器内的网络服务和外部机器不能直接通信 外部机器和宿主机可以直接通信 宿主机和容器…

因为有了它,我用舍友玩王者的时间拿到了华为offer

随时随地刷Leetcode题的方法,大学因为这个,我入职大厂! 下面有免费试用网址 目录我如何拿到大厂offer秘密武器使用教程VSCODE云IDE介绍完整功能,兼容VS Code安装的插件没有效果?通过终端启动项目后无法预览?CIDE收费…

sklearn笔记:调参

1 介绍 超参数是不直接在估计器中学习的参数。 在 scikit-learn 中,它们作为参数传递给估计器类的构造函数。 需要搜索超参数空间以获得最佳交叉验证分数。scikit-learn 中提供了两种通用的参数搜索方法: 对于给定的值,GridSearchCV 会详尽地…

客快物流大数据项目(八十四):Impala优化

文章目录 Impala优化 一、​​​​​​​Impala关键配置 二、Impala查询分析

C++ Reference: Standard C++ Library reference: C Library: cstring: strspn

C官网参考链接&#xff1a;strspnhttps://cplusplus.com/reference/cstring/strspn/strspn 函数 <cstring> strspn size_t strspn ( const char * str1, const char * str2 ); 获取字符串中字符集的跨度 返回str1的初始部分的长度&#xff0c;它只包含str2的一部分字符…

FPGA双线性插值图像缩放详细讲解,上板验证稳定通过,提供两套工程源码

开局直接放大招&#xff1a;提供源码及工程&#xff1b; 重点讲解双线性插值图像缩放&#xff1b; 此功能模块使用HLS实现&#xff0c;并已封装导出IP&#xff0c;可在工程中添加并使用&#xff0c;可提供HLS工程源码&#xff1b; 若是用verilog实现双线性插值图像缩放&#xf…

【Java中23种面试常考的设计模式之组合模式(Composite)---结构型模式】

【Java中23种面试常考的设计模式之组合模式(Composite)—结构型模式】 知识回顾: 之前我们讲过的设计模式在这里呦: 【面试最常见的设计模式之单例模式】 【面试最常见的设计模式之工厂模式】 【Java中23种面试常考的设计模式之备忘录模式(Memento)—行为型模式】 【Java中23种…

【每日渗透笔记】后台弱口令+未授权尝试

目录 一、特点&#xff1a; 1.1、特征&#xff1a; 1.2、分析&#xff1a; 1.3、所处情景&#xff1a; 目前&#xff1a; 问题&#xff1a; 二、渗透 一、特点&#xff1a; 1.1、特征&#xff1a; 用户登陆页面 1.2、分析&#xff1a; 毋庸置疑&#xff0c;既然有用户登…

SpringBoot系列之动态生成cron表达式执行定时程序

业务场景 最近需要实现一个功能&#xff0c;根据页面选择的星期&#xff0c;默认是凌晨执行&#xff0c;生成cron表达式&#xff0c;然后定时执行定时程序 环境准备 开发环境 JDK 1.8SpringBoot2.2.1Maven 3.2 开发工具 IntelliJ IDEAsmartGitNavicat15 在IDEA里集成阿里的…

Pycharm 如何自动调整 Python 代码符合 pep8 编码规范

前言 学生时代&#xff0c;写的一手漂亮的好字&#xff0c;能给人留下好的印象。作为 IT 人&#xff0c;写的一手漂亮的代码也会给人留下美好的印象。 代码就是自己的脸面&#xff0c;不管写质量怎样&#xff0c;首先要写的漂亮。Python 有一套 pep8 编码规范标准。 什么是 p…

电感重要参数的理解

电感作为一种储能元件&#xff0c;广泛运用在硬件电路的各个模块。较为常见的有DCDC电路&#xff0c;滤波电路以及振荡电路等。对于电感的选取&#xff0c;大多数人往往只关心感值&#xff0c;感值越大&#xff0c;储能越强&#xff0c;纹波也就越小。然而除了感值以外&#xf…

用Python剪辑视频?太简单了

人生苦短&#xff0c;快学Python&#xff01; 最近我在网上下载一个视频&#xff0c;结果下载到本地是近百个视频片段&#xff0c;为了方便观看只能将这些片段合并为一个视频整体。 不过我并没有搜到能够处理类似情况的小工具&#xff0c;只是发现剪映等软件可以实现视频合并功…

Allegro DFM Ravel Rule丝印文字到测试点pad间距检查

Allegro DFM Ravel Rule丝印文字到测试点pad间距检查 下面介绍丝印到测试点pad间距检查 设置top层丝印文字到孔属性测试点间距,默认值是1mil,可以自己修改这个值 设置bottom层丝印文字到孔属性测试点间距 设置top层丝印文字到通孔pin属性测试点间距 设置bottom层丝印文字…

VAEGAN:理解 VAE 与 GAN【图像生成】

标准VAE(Variational Autoencoder)的原理&#xff1a; 在autoencoder模型中&#xff0c;我们加入一个编码器&#xff0c;它能帮我们把图片编码成向量。然后解码器能够把这些向量恢复成图片。 标准自编码器我们现在获得了一个有点实际用处的网络了。而且我们现在能训练任意多的…

mulesoft Module 4 quiz解析

mulesoft Module 4 quiz1. What is NOT part of a Mule 4 event?2. A Database connector is configured to select rows from a Mysql database.3. What is the minimue required configuration in a flow for a Mule application to compile?4. What is the purpose of the…

Qt读写Excel文件与QXlsx的使用

最近项目比较忙&#xff0c;许久没写博客了&#xff0c;想着还是需要定期整理下学到的和用到的新东西&#xff0c;才有沉淀。刚好最近使用Qt时需要读取excel文件的数据&#xff0c;于是在github找了一个开源库QXlsx&#xff0c;Star数还比较多&#xff0c;应该靠谱&#xff0c;…