测试用例具体的设计方法

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

等价类


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


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


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


例子:


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

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

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

需求: |用户名 | 必填,录入用户名 | 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

相关文章
|
8天前
|
Java
IDEA快捷测试方法可用性
IDEA快捷测试方法可用性
15 0
|
2月前
|
安全 测试技术
BOSHIDA DC电源模块的安全性能评估与测试方法
BOSHIDA DC电源模块的安全性能评估与测试方法
 BOSHIDA DC电源模块的安全性能评估与测试方法
|
2月前
|
安全
DC电源模块的安全性能评估与测试方法
DC电源模块的安全性能评估与测试方法 DC电源模块的安全性能评估与测试方法应包括以下几个方面: 1. 输入安全性测试:包括输入电压范围、输入电压稳定性、输入电流范围、输入电流保护等方面的测试。测试方法可以是逐步增加输入电压或输入电流,观察模块的工作状态和保护功能。
DC电源模块的安全性能评估与测试方法
|
2月前
|
监控 JavaScript 前端开发
在生产环境中测试和监控Vue项目的方法有哪些?
在生产环境中测试和监控Vue项目的方法有哪些?
28 4
|
2月前
|
芯片
电容在ESD测试中的选用方法
电容在ESD测试中的选用方法
28 2
|
2月前
|
Java Spring
使用JDBCTemplate实现与Spring结合,方法公用 ——测试(EmpDaoImplTest)
使用JDBCTemplate实现与Spring结合,方法公用 ——测试(EmpDaoImplTest)
9 0
|
5天前
|
测试技术 API Python
Appium控件交互策略:优化自动化测试效率的关键方法
该文介绍了如何使用Selenium与APP进行交互,包括点击、输入和状态判断等操作。例如,通过element.click()点击控件,element.send_keys()输入文本,以及element.is_displayed()检查元素是否可见。还展示了如何获取元素属性,如resource-id、text和class,并提供了Python代码示例来定位并操作APP元素,如滑动条的显示、可点击性检测及点击滑动条中心位置。在编写测试脚本时,应注意元素定位和状态验证以确保测试稳定性。
12 1
|
6天前
|
API 开发者
免费邮箱API发送邮件测试调试的方法和步骤
本文介绍了使用免费邮箱API如aoksend、Mailgun、SMTP2GO发送邮件的测试调试步骤:选择合适的API,获取访问密钥,配置邮件参数,编写测试代码,调试和测试,查看发送日志,以及优化改进邮件发送功能,确保其稳定运行。
|
7天前
|
XML 测试技术 数据库
深入理解自动化测试中的数据驱动方法
【4月更文挑战第23天】 在软件测试领域,为了提高测试效率和质量,自动化测试已成为不可或缺的实践。数据驱动测试(DDT)作为一种高效的自动化测试策略,它通过将测试逻辑与测试数据分离,允许测试人员以更灵活、可维护的方式设计用例。本文将探讨数据驱动方法的基本原理,实现方式以及在实际项目中的应用案例,旨在帮助读者深入理解并有效运用数据驱动方法来提升自动化测试的效率和质量。
|
21天前
|
自然语言处理 测试技术 持续交付
现代软件测试方法与挑战
传统软件测试方法在当前快速发展的软件开发环境下面临着诸多挑战,因此,现代软件测试方法的探索与应用显得尤为重要。本文将介绍几种现代软件测试方法,并探讨其在应对软件开发挑战方面的作用。
11 0

热门文章

最新文章