测试人,你还在写用例吗?是什么在支撑着你写?

news2024/11/15 9:13:17

测试交付的过程,通常是伴随的是一个测试用例生命周期过程,通常有测试需求分析、测试用例设计、测试用例实现、测试用例执行,以及测试用例管理等几个阶段组成。

为什么要有测试用例?
首先测试用例这是测试岗位的基本交付物之一。开发人员的交付物是代码,是可运行的应用。这些都是可观察,实实在在的客观存在。而测试人员的交付物如果仅仅是一个所谓“经过测试”的应用,随产品发放的一个“QC”标志纸片,就不免让出钱雇佣你的人感到心里不踏实了。所以,在产品开发测试的过程中,测试团队或者测试人员不断产出和维护的测试用例,不断提升的用例执行比率,在测试报告中的这些数字或者图表,让测试管理者可以向更为高层的管理人员证明测试团队存在的价值,以及他们正在努力工作,为产品质量负责的表征。

测试用例的另外一个用处是作为一种信息的媒介,体现的是测试用例设计人员对于系统需求的理解,对于产品风险的一种理解。有了具体的测试用例,产品、开发、测试、运维人员在沟通时不再是空对空、而是可以具体到每一个测试用例,每一个检查点了。作为信息的媒介,也就可以作为个人和团队的资产留存下来了。正所谓好记性不如烂笔头,测试人员在遇到相类似的需求或者功能点改造时,这些旧的用例就能发挥作用,作为回归用例或者是稍加改造成为新的用例。亦或者当团队有新人来或者进行轮岗时,测试用例也可以作为一份新手上路的最佳参考地图。正所谓纸上学来终觉浅,对照着测试用例将系统安装部署,测试一遍,是很多团队训练新人的不二法门。

一定要有测试用例吗?
测试用例有这么多的好处,但是它一定是必须的吗? 尤其是在当下,随着团队交付速度的加快,团队都被要求“更加敏捷 Be More Agile”了,能够按时交付产品就已经烧高香了,还有时间按照“前置条件、测试步骤、预期结果”这样进行文本形式的测试用例编写吗?从产品风险和交付的角度来看,高效全面地发现缺陷才是快速交付、降低风险的根本,“探索式测试”不是更能高效率地发现缺陷吗?在做完测试分析之后,为什么不能直接进入探索系统、发现缺陷的过程,而要将宝贵的时间浪费在编写测试用例文本这种不直接产生交付价值的活动上呢?

更何况,测试用例处在测试设计和最终执行的脚本和数据之间。作为一项智力活动测产出,测试设计,通常是以一些表格或者是思维导图的形式呈现和表达设计的思路和意图。这一部分是非常适合进行评审的,类似开发人员的设计评审或者是Code Review, 而据此平铺开之后的测试用例,则经常因为数量庞大,导致“只见树木不见森林”,让团队迷失在用例森林之中,感觉到用例评审的时间付出与价值收获非常的不成比例。也就是所谓额,测试设计是可评审的,而测试用例是不可评审的。

另外一种说法则是,用例作为一种团队的资产,其主要的价值时被复用。而为了迎合市场的变化,产品和系统自身也在快速迭代。在这个过程中,很多团队进入了类似狗熊掰棒子,走一路丢一路的状态。因为需求很多时候是探索性的,系统的变化也很快,测试用例极少能得到复用,为测试活动配套编写和沉淀几乎以后再也不会使用的测试用例,好像成了一件极为不经济和理智的行动。就这样,历史上积攒下来的测试用例库很快就乏人问津,衰变腐化,成为了坏账和呆账,数量愈大,负担愈重。有些团队就干脆丢弃包袱,“轻装上阵”或者是推倒重来,将历史的用例库丢进了垃圾堆里。

颠覆者的思路
近些年,通过基于模型的测试(MBT)、线上引流、AI测试、众测和AB测试等方式,不少团队实现了所谓的测试用例自动生成、快速回归测试以及其他有别于传统测试方式的测试实践,走出了不同以往的新路。

文章的开头的一张图,是一张测试体系衰退的图,越底层的内容在项目交付压力和资源困局下越容易被丢弃掉。

问一下很应试的问题,如果给你的时间只够完成上述列表中的三件事情?你会选哪三样?

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

   视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。      

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

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

相关文章

Linux的网络文件共享服务之FTP服务

一.存储类型 1.1 存储类型分为三种 直连式存储:Direct-Attached Storage,简称DAS 存储区域网络:Storage Area Network,简称SAN(可以使用空间,管理也是你来管理) 网络附加存储:Net…

Ubuntu 22.04 安装Fail2Ban

Fail2Ban是一种用来防止暴力破解的工具,一般要和iptables配合使用。其原理是读取系统日志,并通过正则表达式匹配,监控IP在一段时间内的登录尝试、身份验证失败日志等并进行计数。超过阈值则进行IP封禁,过一段时间后再解封。 总的…

URL编码_解码详解

当 URL 路径或者查询参数中,带有中文或者特殊字符的时候,就需要对 URL 进行编码(采用十六进制编码格式)。URL 编码的原则是使用安全字符去表示那些不安全的字符。 安全字符:指的是没有特殊用途或者特殊意义的字符。 URL基本组成 …

java自动生成数据表相关代码

将数据表生成 mybatis 相关的实体类、接口和mapper文件 新建一个maven项目 在pom.xml文件中加入mysql驱动 <dependencies> <!-- mysql驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifac…

【Vue3】3-2 : 组件的概念及组件的基本使用方式

本书目录&#xff1a;点击进入 一、组件的概念 1.1、【案例】评分组件与按钮组件的抽离过程 二、组件的使用 2.1、【案例】简易首页 &#xff1e; 效果 &#xff1e; 代码 - 原始 &#xff1e; ​​​​​​​代码 - 组件抽离结构 &#xff1e; ​​​​​​​代码…

在微服务架构中认证和授权的那些事儿

在微服务架构中认证和授权是最基础的服务能力&#xff0c;其中这一块行业类的标准就是OAuth2 和 SSO &#xff0c;而OAuth2 和 SSO 可以归类为“用户管理和身份验证”工具&#xff0c;OpenID Connect 1.0是 OAuth 2.0 协议之上的一个简单身份层。 Part.1 认识OAuth 2.0 OAuth…

ChatGPT Plus 经验分享:是否值得花钱升级?

ChatGPT Plus 经验分享&#xff1a;是否值得花钱升级&#xff1f; 五星上将麦克阿瑟曾经说过&#xff1a;“在有钱与没钱面前&#xff0c;我选择了or” ChatGPT 的每月订阅方案- ChatGPT Plus 已经推出一段时间了&#xff0c;目前的费用是$20 USD / 月(约TWD 610 / 月)。 Open…

【开源】类似创客贴图片编辑器的项目及前端组件

【开源】类似创客贴图片编辑器的项目及前端组件 图片拖拽 在线制作PPT等 yft-design: 基于fabric.js的图片设计&#xff0c;使用 Vue3 TypeScript fabric.js pinia element-plus pwa&#xff0c;支持 文字、图片、形状、线条、二维码 、条形码几种最常用的元素类型&#…

各类产业园区点位数据, Shp、excel数据,园区名称、类型、行业、批准时间均有所涉及

基本信息. 数据名称: 各类产业园区点位数据 数据格式: Shp、excel 数据时间: 2023年2月 数据几何类型: 点 数据坐标系: WGS84 数据来源&#xff1a;网络公开数据 数据字段&#xff1a; 序号字段名称字段说明1province省份名称2city城市名称3county区县名称4county…

训练官方源码RT-DETR(血泪的教训!严格按照官方流程!)

文章目录 参考链接1 配置环境2 配置数据路径3 配置训练参数4 可能的报错AttributeError: module torchvision has no attribute disable_beta_transforms_warning 参考链接 源码&#xff1a;https://github.com/lyuwenyu/RT-DETR详解RT-DETR网络结构/数据集获取/环境搭建/训练…

论文笔记(三十九)Learning Human-to-Robot Handovers from Point Clouds

Learning Human-to-Robot Handovers from Point Clouds 文章概括摘要1. 介绍2. 相关工作3. 背景3.1. 强化学习3.2. 移交模拟基准 4. 方法4.1. Handover Environment4.2. 感知4.3. 基于视觉的控制4.4. 师生两阶段培训 (Two-Stage Teacher-Student Training) 5. 实验5.1. 模拟评估…

代码随想录算法训练营第三十二天(回溯算法篇)|332. 重新安排行程

学习资料&#xff1a;代码随想录 (programmercarl.com) 332. 重新安排行程 题目链接&#xff1a;332. 重新安排行程 - 力扣&#xff08;LeetCode&#xff09; 题目大意 有一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。对…

2024年腾讯云服务器购买价格,真便宜

腾讯云服务器租用价格表&#xff1a;轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年&#xff0c;540元三年、2核4G5M带宽218元一年&#xff0c;2核4G5M带宽756元三年、轻量4核8G12M服务器446元一年、646元15个月&#xff0c;云服务器CVM S5实例2核2G配置280.8元一年…

如何实现图片压缩

文章目录 1、canvas实现图片压缩2、其他 1、canvas实现图片压缩 canvas 实现图片压缩&#xff0c;主要是使用 canvas 的drawImage 方法 具体思路 拿到用户上传的文件转成base64创建一个 Image&#xff0c;主要是获取到这个图片的宽度和高度创建一个 2D 的画布&#xff0c;画布…

深入浅出关于go web的请求路由

文章目录 前言一、是否一定要用框架来使用路由&#xff1f;二、httprouter2.1 httprouter介绍2.2 httprouter原理2.3 路由冲突情况 三、gin中的路由总结 前言 最近重新接触Go语言以及对应框架&#xff0c;想借此机会深入下对应部分。 并分享一下最近学的过程很喜欢的一句话&am…

WEB 3D技术 three.js 阴影属性

上文 WEB 3D技术 three.js 光照与阴影 我们说了阴影 那么 我们继续将阴影的属性 目前 我们的代码 import ./style.css import * as THREE from "three"; import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";//创建相机 cons…

Pixel手机进入工程模式、是否是Version版本?

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

web期末作业设计网页:动漫网站设计——大鱼海棠(12页) HTML+CSS+JavaScript 学生DW网页设计作业成品 动漫网页设计作业 web网页设计与开发 html实训大作业

常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他 等网页设计…

HTML--CSS--浮动布局及定位布局

正常文档布局 块元素独占一行 行内元素在有多个的时候&#xff0c;就是从左到右排在一行 块元素包括&#xff1a;div,p,hr 行内元素&#xff1a;span,i,img 浮动布局 float 属性&#xff1a; left 向左 right 向右 作用我目前看起来就是浮动元素的宽度是由内容决定的&#x…

Day6 Qt

思维导图 1.数据库增删改查 头文件widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QSqlDatabase> //数据库管理类 #include <QSqlQuery> // 执行sql语句类 #include <QSqlRecord> //数据库记录类 #include <QSqlErro…