一、判定表法
前面我们介绍了表单类页面数据测试使用的等价类划分法,如果有数字范围的则还可以搭用边界值分析法。
那么非表单类,例如这种规则类:
案例:验证"若用户欠费或停机,则不允许主被叫"规则的测试。
- 定义:给一张表,根据需求填入规则,从而列举出各种组合
- 判定表法应用场景:需求中有描述有各种条件组合的规则,保证条件全面覆盖到

- 组成:

(灰色)条件(桩):列出所有问题中的条件,列出条件次序无关紧要
(绿色)动作(桩):列出需求中可能采取的操作(可以有多个),操作顺序没有约束
(黄色)条件(项):列出条件对应的取值,所有可能情况下的真假值
(蓝色)动作(项):列出条件项的、各种取值情况下应该采取的动作结果。
根据上述方法:案例可以这样列出判定表
若...(条件),则(动作)
在...(条件)下,有...(动作)
如果...则...

在填入是否的时候采用二分法:
填入共有2n种规则(是否),n是条件数。
条件一:一半是,一半否,每一个占2n-1个
条件二:在上一个相同条件下,填入一半是,一半否
...


规则:我们把每一列的取值,称作一条测试点,也叫规则
使用步骤

案例
优惠规则验证


案例二、提现规则验证



二、流程图
测试功能的组合




当我们实际使用购物软件的时候,流程可能很多时候不是这样一条下来的,有可能商品下架了,卡到搜索,有可能先加入购物车不买...很多种情况。


找到5条业务路径

考虑失败测试场景的原因:
- 避免程序漏洞带来的危险(登录完你就给我下单成功了...等等)
- 提升用户体验感(出现每一种意外使用,都做一个提示,请先登录、库存不足、商品已下架...)
冒烟测试:
根据业务流程图把正向流程找出来,验证功能是否具备可测性,将基本正向流程跑通意味着具有可测性,再继续往下测


画流程图


泳道图
可以理解为多模块流程图,比如发货一个模块,收货一个模块、用户评价一个模块。



正向用例优先级高于逆向,核心业务的核心用例优先级最高,单功能分情况来讲,但涉及核心业务也是优先级高
用例八要素:(记)

三、运行测试用例
测试点xmind--特定的测试目的

编写测试用例
ai、人工1
让我们使用excel进行填充测试用例:

使用deepseek
c
你以软件测试工程师的身份,按照测试用例的八要素模板(参考附件截图)帮我编写测试用例
要求覆盖如下测试点:
登录成功(8位长度账号+密码都有效)
登录成功(6位长度账号+密码都有效)
登录成功(10位长度账号+密码都有效)
登录失败(账号小于6位)
登录失败(账号大于10位)
登录失败(账号非数字)
登录失败(账号未注册)
登录失败(账号为空)
登录失败(密码错误)
登录失败(密码为空)
输出md格式文档
可参考附件截图示例
附件截图:

看一看他给的结果:d老师生成的非常之完美

执行演示:

说明:
- 测试环境:搭建一般是运维人员或者开发人员辅助搭建的
- 冒烟测试:提测后,先做P0(正向用例)测试核心功能,之后再分工做全面测试。
- 交互环境\正式环境\生产环境:发布上线,用户使用的环境
- 预生产环境:测试环境到正式环境之间的环境,测试人员发布上线最后测试需要使用环境,测试人员都会用,将A和B和...测的业务流程从头到尾全部在预生产环境跑一遍,保证无误,发布上线,用户安心使用。
注:现阶段先试用现成的平台进行功能测试,后面会学习测试平台的搭建(linux和docker容器)。
执行TP商城登录
首先我们生成测试用例:(这个需求就是我们之间做测试设计中的测试用例梳理中的内容---xmind中直接复制最前一级的标题,后面的内容也会跟着沾过来的)
bash
你以软件测试工程师的身份,按照测试用例的八要素模板(参考附件截图)帮我编写测试用例
要求覆盖如下测试点:
登录成功(账号11位有效手机号+8位纯字母密码)
登录成功(账号包含@及域名的邮箱号+7位纯特殊符号)
登录成功(账号11位有效手机号+17位字母+数字密码)
登录成功(账号11位有效手机号+8~16为字母+特殊符号)
登录成功(账号11位有效手机号+8~16为数字+特殊符号)
登录成功(账号11位有效手机号+16位数字+字母+特殊符号)
登录失败(小于11位手机号)
登录失败(大于11位手机号)
登录失败(不合法手机号)
第一位非1
第二位小于3
带有非自然数
浮点数
特殊符号
负数
登录失败(未注册手机号)
登录失败(邮箱格式错误)
登录失败(邮箱@后无域名)
登录失败(邮箱后无@)
登录失败(@前无用户名)
登录失败(未注册的邮箱)
登录失败(空账号)
登录失败(密码纯数字)
登录失败(密码空)
登录失败(密码与账号不匹配)
登录失败(密码小于8位)
登录失败(密码大于16位位)
输出md格式文档
可参考附件截图示例
我们将其复制到typora上,在复制到excel,因为直接诶生成excel格式文档会导致复制格式错误。


表格中加上一条实际结果,进行网页的功能测试,如果成功pass,失败fail

冒烟测试(全流程测试走一遍):下单成功(开始--选择商品--立即购买--下订单--支付)
支付成功--测试完成,无误
四、总结:

五、作业
1)根据判定表设计测试点
链接地址:https://hmshop-test.itheima.net/admin
账号:admin
密码:HM_2023_test

1. 通过人工和AI转换已完成的xmind测试点


2. 使用deepseek完成判定表法的测试点编写
bash
你以软件测试工程师身份,使用判定表法帮我完成电商系统商家发货规则的测试点设计
要求覆盖如下需求:
条件:
物流信息不为空
单号不为空
商品信息不为空
结果:
上述三个条件都满足则发货成功,否则发货失败
输出md格式输出
请按照如下示例格式输出:
登录成功(账号+密码都有效)
登录失败(账号小于6位)
登录失败(账号大于10位)
......

3.测试点转换为用例,并执行
bash
你以软件测试工程师的身份,按照测试用例的八要素模板(参考附件截图)帮我编写测试用例
要求覆盖如下测试点:
发货成功(物流不为空+单号不为空+商品信息不为空)
发货失败(物流为空+单号不为空+商品信息不为空)
发货失败(物流不为空+单号为空+商品信息不为空)
发货失败(物流不为空+单号不为空+商品信息为空)
发货失败(物流为空+单号为空+商品信息不为空)
发货失败(物流为空+单号不为空+商品信息为空)
发货失败(物流不为空+单号为空+商品信息为空)
发货失败(物流为空+单号为空+商品信息为空)
输出md格式文档
可参考附件截图示例

2)根据业务流程图设计点--步骤一样



附件--泳道图,excel中八要素+一行demo的截图
bash
你以软件测试工程师的身份,按照测试用例的八要素模板(参考附件截图)帮我编写测试用例
要求覆盖如下测试点:
APP发布文章业务流程
发布成功(登录--发布文章--审核--已发布--查看)
发布失败(登录--发布文章--发布失败--存在敏感词)
发布失败(登录--发布文章--审核不通过驳回--后续修改--内容存在抄袭且修改后不继续发布)
发布失败(登录--发布文章--审核不通过不驳回--管理员直接将文章下架)
输出md格式文档
可参考附件截图示例
