测试用例具体的设计方法

简介: 测试用例具体的设计方法

等价类


由于输入的集合是无穷的,不能全部覆盖到,所以通过划分若干个等价类,选出有代表性的达到尽量多的功能覆盖


  • 有效等价类:根据规格说明书是合理的、有意义的输入数据构成的集合
  • 无效等价类:根据需求说明书是不合理,不满足需求的集合。


等价类只考虑输入域的分类,没有考虑输入域的组合,需要其他的设计方法和补充。


例子:


购买的水果有 苹果 香蕉 橘子

有效等价类:苹果 香蕉 橘子...

无效等价类:车厘子 橙子...其他水果

需求: |用户名 | 必填,录入用户名 | 6至15 | 字符类型A-Z,不区分大小写|

针对字符:有效等价类:A-Z,a-z,无效等价类:数字(1,0.1,-1) 特殊字符(@,¥,空格)


针对长度:有效等价类:6到15 无效等价类:小于6 或者 大于15


边界值


边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。


要注意边界值通常取 等价类划分中的边界,比如 有效边界 和 无效边界


例子:


超市卖水果

边界值:额... 番茄?山芋? maybe...理解就行

需求: |用户名 | 必填,录入用户名 | 6至15 | 字符类型A-Z,不区分大小写|

针对字符:有效边界:a z A Z 无效边界:全角\半角\特殊字符\数字\A+1(ascii码).....

针对长度:有效边界:6 15 无效边界:5 16


判定表法


使用场景较少,工作中很少使用,很多书籍中相似的方法称为 因果图,相比较判定表而言,多了一个画图的步骤,且图很麻烦,场景使用少,现在还没有必要学习因果图。


找出输入条件和输出条件


找出输入条件和输出条件之间的关系


画判定表


根据判定表编写测试用例


案例:淘宝活动 当使用了红包 或者 订单金额大于300元,则该订单是优惠订单,否则不是优惠订单。


输入条件:使用红包(A) 金额大于300(B) 订单提交(C)


输出条件:优惠订单(1) 不是优惠订单(2)


输入条件 和 输出条件之间的关系


image.pngimage.png


画判定表


9a56116aa06a42d79d56cde95e349741.png


编写测试用例


① 有红包,提交订单,为优惠订单


② 金额>300 ,提交订单,为优惠订单


③ 有红包,金额<300 且提交订单,为优惠订单


④ 有红包,金额<300 没提交订单,不是优惠订单


⑤ 无红包,金额>300 已提交订单,不是优惠订单


⑥ 无红包,金额<300 已提交订单,不是优惠订单


⑦ 有红包,金额>300 没提交订单,不是优惠订单


⑧ 无红包,金额<300 没提交订单,不是优惠订单


场景设计法


较少使用,只是一个思路引导,告诉我们不能完全按照需求文档,要对一些意外情况有响应的判断。


  • 基本事件流:按照正确的业务流程实现操作的一条路径
  • 备选事件流:程序出错的操作流程

案例:比如ATM机取款的时候,中间可能出现的意外情况我们都要有判断:



1872bdc0f8964fdfaf6a780a1568a3ea.png


错误猜测法


依赖的是测试人员的 工作经验和积累 。

只是利用直觉和经验猜测出错的可能类型,然后编写测试用例来暴露这些错误。


正交法


(用的比较少 基本不可见) 是指 从大量的实验中,挑选出适量的、有代表性的例子,依据“正交表”从而合理的设计测试用例


正交表 表示L4(2^3),4代表4组实验(测试用例),3代表因素数(输入条件),2代表每个因素数对应的水平数(输入条件的可能结果)。


正交表的特性:

  • 每一列中,不同的数字出现的次数相同。
  • 任意两列中,数字的排列方式齐全且均衡。


根据正交表设计测试用例的步骤:


  1. 找出 因素 和 水平
  2. 生成正交表(使用生成正交表的工具:allparis)
  3. 根据正交表来编写测试用例
  4. 补充可能遗漏但是非常重要的测试用例


例子:登录的案例

  1. 因素:姓名、邮箱、密码、确认密码、验证码

水平:填写、不填写

  1. 使用allparis生成正交表

26a0366e41e8419abdc394471b88c251.png

7.根据正交表编写测试用例


① 填写姓名 填写邮箱 填写密码 填写验证码


② 填写姓名 不填写邮箱 不填写密码 不填写验证码


③ 不填写姓名 填写邮箱 不填写密码 填写验证码


④ 填写/不填写姓名 填写邮箱 填写/不填写密码 不填写验证码


⑤ 填写/不填写姓名 不填写邮箱 填写/不填写密码 填写验证码


如何使用allParis 生成正交表?


  1. 将水平和因素填写到Excel

56690e10e84e4fc7951a54d73f105d48.png


把这个Excel中的内容复制到一个txt文件中


e02b0290cae8414fa76324f3b4fbaba3.png

  1. 使用allParis工具生成正交表


961a9c02ca1b454fbb58bccb03e621b2.png


  1. 打开登录验证jg.txt 文件


cb3e329870a94361aeaa5a785ecc3494.png

相关文章
|
11月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
269 4
|
2月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
308 1
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
如何让AI更“聪明”?VLM模型的优化策略与测试方法全解析​
本文系统解析视觉语言模型(VLM)的核心机制、推理优化、评测方法与挑战。涵盖多模态对齐、KV Cache优化、性能测试及主流基准,助你全面掌握VLM技术前沿。建议点赞收藏,深入学习。
580 8
|
测试技术 API 项目管理
API测试方法
【10月更文挑战第18天】API测试方法
340 1
|
5月前
|
测试技术
软考软件评测师——可靠性测试测试方法
软件可靠性是指软件在规定条件和时间内完成预定功能的能力,受运行环境、软件规模、内部结构、开发方法及可靠性投入等因素影响。失效概率指软件运行中出现失效的可能性,可靠度为不发生失效的概率,平均无失效时间(MTTF)体现软件可靠程度。案例分析显示,嵌入式软件需满足高可靠性要求,如机载软件的可靠度需达99.99%以上,通过定量指标评估其是否达标。
|
5月前
|
消息中间件 缓存 监控
性能测试怎么做?方法、流程与核心要点解析
本文系统阐述了性能测试的核心方法论、实施流程、问题定位优化及报告编写规范。涵盖五大测试类型(负载验证、极限压力、基准比对、持续稳定性、弹性扩展)与七项关键指标,详解各阶段任务如需求分析、场景设计和环境搭建,并提供常见瓶颈识别与优化实战案例。最后规范测试报告内容框架与数据可视化建议,为企业级实践提出建立基线库、自动化回归和全链路压测体系等建议,助力高效开展性能测试工作。
|
安全 测试技术
北大李戈团队提出大模型单测生成新方法,显著提升代码测试覆盖率
【10月更文挑战第1天】北京大学李戈教授团队提出了一种名为“统一生成测试”的创新方法,有效提升了大模型如GPT-2和GPT-3在单一测试中的代码生成覆盖率,分别从56%提升至72%和从61%提升至78%。这种方法结合了模糊测试、变异测试和生成对抗网络等多种技术,克服了传统测试方法的局限性,在大模型测试领域实现了重要突破,有助于提高系统的可靠性和安全性。然而,该方法的实现复杂度较高且实际应用效果仍需进一步验证。论文可从此链接下载:【https://drive.weixin.qq.com/s?k=ACAAewd0AA48Z2kXrJ】
307 1
|
测试技术 UED
软件测试中的“灰盒”方法:一种平衡透明度与效率的策略
在软件开发的复杂世界中,确保产品质量和用户体验至关重要。本文将探讨一种被称为“灰盒测试”的方法,它结合了白盒和黑盒测试的优点,旨在提高测试效率同时保持一定程度的透明度。我们将通过具体案例分析,展示灰盒测试如何在实际工作中发挥作用,并讨论其对现代软件开发流程的影响。
|
9月前
|
编解码 缓存 Prometheus
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
本期内容为「ximagine」频道《显示器测试流程》的规范及标准,我们主要使用Calman、DisplayCAL、i1Profiler等软件及CA410、Spyder X、i1Pro 2等设备,是我们目前制作内容数据的重要来源,我们深知所做的仍是比较表面的活儿,和工程师、科研人员相比有着不小的差距,测试并不复杂,但是相当繁琐,收集整理测试无不花费大量时间精力,内容不完善或者有错误的地方,希望大佬指出我们好改进!
611 16
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!