问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

从测试角度看质量内建 -测试用例版本管理

发布网友 发布时间:2022-09-15 21:42

我来回答

1个回答

热心网友 时间:2023-10-10 14:41

前面几期我们谈及了如何将测试的介入时间提前, 从而提早发现问题, 提早解决, 并介绍了两个实践:持续集成和测试先行。这个两个一个是从业务上面预防问题, 一个是从技术方面提早发现问题。是质量内建中用于提早发现问题的常用实践。

但貌似这些实践都着力于测试之外的范围, 是否有着力于测试本身的招式去将软件测试做的更加完善, 有效。这期, 我们就来感受一下软件测试本领域的内卷 -- 测试用例版本管理

通常我们的测试用例, 本质上是对软件需求的各个功能点展开与组合。开始, 在需求逐步增加的情况下,这是很容易的。一般的实践中测试用例分两种:

测试需求类型的测试用例

测试动作类型的测试用例

测试需求类型的测试用例描述的是需要测试什么, 例如:测试登录页面-进入登录页面-进行登录-查看结果 这是很不专业但是很常见的测试用例书写方法, 写这种用例的好处就是可以快速的生成成吨的用例的测试不同的功能点。

测试动作类型的测试用例则描述的是怎么测试, 例如:浏览器中输入 www.xxxx.com/Login

用户名输入框输入xxx, 密码输入框输入yyyy,点击登录;期望:页面会跳转至 www.xxxx.com/Dashboard

这显然就描述了测试中需要执行的步骤,无任何歧义,任何人都可以拿来执行;这样的好处明显就是可以消除功能测试中用例执行的不确定性, 使测试时执行的用例即是测试设计时所想

然而随着功能点的增加,测试用例根据功能点变化是指数级的,一个功能点下会根据不同的测试精度设计N条用例, 测试精度越高, 那单个功能点产生的测试用例就越多。

如果这个功能点发生正删改的话, 那么就会产生对测试用例维护维护工作。依照不同的测试用例精细度产生的工作量也不一样。如果多个功能发生修改的话会让维护测试用例这个工作变得更加困难。所以让测试用例保持新鲜度(实时吻合当前的功能)是非常大的挑战。

在实际的修改过程中, 我们通常会遇到两个困难点:1.用例多 2.定位难

在指数型的用例爆炸时,即使识别出了需要修改的用例,因为种种原因, 可能是设计过为精细或者功能点组合过于复杂, 导致有很多条需要修改。

因为要修改的用例太多,这个时候的反应要么就是花时间去重新写用例,要么就是迫于压力,采用能测则测,能舍则舍的方法去测试, 这时的测试用例聊胜于无, 如果错将已经失效的用例当成正确的执行要么就是误报,要么就是漏报。

最好的解决方法是按照模块去规划,不断的将测试用例进行原子化处理,使用业务逐级下分的方式,这里有个坑,就是往往一个测试的集合是多个人编辑的, 有可能存在放错地方问题,这个问题也很好解决:套用开发的实践-code review,来个testcase review, 一天一个高产的测试工程师也就是60个用例,假设一组有5个测试, 300条用例,洒洒水啦

有了原子化的测试用例, 当一个功能点发生变更的时候, 只需要根据变更的功能点废弃或者重构某个节点即可, 由于用例是原子性的, 重构的成本为所有情况中最小

所以针对用例多这个业务痛点场景, 原子分类法的效果如下:

此外,也可是使用模糊用例的方法, 很多小微的项目为了响应这已知的变化通常会将用例写的比较粗糙, 或者仅仅是记录测试的思路, 有的是画一个脑图,梳理用户故事, AC等等, 然后介于AC之后的方向继续发散,得到一些没有步骤但是明确要测试什么的一个文档。这个文档的形式有很多, 总体的特点就是可以一目了然的看到所有功能。

对于实际测试时, 需要根据当前的思路继续即兴发散, 得到一个相对比较准确的结果。

这种方法也无疑会减少因功能变更导致的用例失效, 毕竟“你变任你变, 意识在中线”

对于由于用例的分配和知识散点的出现, 会导致在功能点发生变化的第一时间, 无法精确定位到对应的测试用例,这个时候就会有第一时间找不到,测的时候碎一地的结果。

这时除了上面提到的原子分类法可以解决归类找到对应的测试用例以外,可以使用测试用例管理工具来快速的查到你需要修改的用例, 例如,zephyr, testhub, Ones testcase, 禅道,云效, tapd等等, 通过搜索对应的关键字可以非常快速的找到你想要修改的问题,甚至有些功能可以直接将用例关联到需求上, 需求变更后直接通过需求下钻的方式就可以顺路去修改即可

好了, 到了这里也列举出了几个常用的基础方法,用来解决用例多, 改用例困难的问题, 每种方法都能解决一个或者多个问题, 不过要解决定位难和用例多的问题, 貌似必须要采取多种方法混合的策略, 是否有一个通过的方法,或者是否有更高效的方式去管理测试用例呢, 有的, 这就是今天的主角--测试用例的版本管理

是想有这样的一个用例发展图:

看起来与开发中的版本管理如出一辙:

使用软件开发的版本管理策略管理测试用例, 本质上是使测试用例有了版本的概念:

这样可以:

虽然对于版本管理这个技能很多测试都还不具备,但有很多工具可以帮助测试完成对应的设计, 且版本管理目前的学习成本很小。

值得一提的是, 测试用例管理的方法可以是一个方*, 并结合上面提到的工作进行混合模式, 这样就有了测试用例管理的proplusmaxultra的版本了(笑)

下期预告:

版本管理固然重要, 目前所有的实践都是散兵游勇, 下期, 我会介绍测试流程的编排,从整体上和大家一起讨论如何优化测试流程和测试流程的本质。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么退出夸克HD账号登录状态? 猫感冒了看兽医要多少钱 Pka 与 PH的区别及各自的应用领域 储干在公司是干什么的职位啊 2025数字博览会 岗位丨申万宏源证券研究所招聘实习生(可留用), 国海证券研究所+开源证 ... 用发酵粉蒸馒头如何蒸? 雷蛇现在的售后保修政策是怎样的有个鼠标双击了 安代驾好还是e代驾好 急需一篇科技小论文,六年级水平的`要快`谢谢啊`! 一文看懂权限设计:基于RBAC模型 作文与朋友悄然相逢600初二 那天 我与【 】相逢 参考作文700字 与快乐相逢作文600字 南京的车管所有国税局办理点吗? 南京江宁如何开具工程类发票,急急急!!! 从北仑到南京江宁区怎么乘车? 南京江宁国税地税工资怎么样啊?到手工资以及福利等待遇怎么样? 芯片6216数据线有多少根 舞蹈赏析论文 2020年选调生结构化面试真题及答案解析 跪求怎么戒酒偏方大全 星子符号怎么输入 听歌网络用语是什么 T恤上的水钻掉了怎么办 翻译:衣服上水钻,长袖,短袖,双领,衣服背面的图案 协助理事的别称 两年基层工作经验怎么算的? 我安装一个PS但安装时显示要序列号求破解 注册YOKA用户时需要填写哪些内容? 如何将一个上的聊天记录共享给另一个? 怎么取消注销 如何将一个上的聊天记录共享给另一个? 2077控制台开了看不见 学生开班会要说你这个学期有什么目标怎么说字要少点 下面我要说一下这个问题(翻译英语) 比赛获奖这个发言是要说几点首先要说什么其次要说什么最后要说什么其中什么是重点要引用什么或者多说一点 对象跟我说这个我要怎么说呢我该怎么办呢我这样说是不是错了呢大家帮帮我怎么说吧我想跟他在一起呢? 我对象说这个,我要怎么说呢,我不知道怎么说了,大家帮我分析一下吧? 新学期到了老师鼓舞我们努力学习争取更好成绩这句话哪有毛病? 新学期要努力学习、争取当一个学霸、给父母争光、让他们觉得当初支持我读书是正确的 王之涣的哪句诗鼓励我们努力学习,争取更大进步 梧桐的诗句 关于梧桐的诗句有哪些 用苹果手机如何用微信红包购买欢乐斗牛钻 PC版怎么登陆 荒野行动PC版最新登陆方法 2011年的法国勃艮第葡萄酒多少钱 朋友送了我一瓶勃艮第奥德朗红酒说是世界上最好产区的红酒 oppo手机三个摄像头是什么型号 为什么我花5000元在宝岛富邑买的翡翠玉镯戴了一周后,手镯里的絮状物增多而且变得很明显了呢? 中国管理科学研究院发的少儿体适能教练证有用吗