测试用例设计方法
一、基本术语
1.动态测试:通过运行软件的组件或者系统来测试软件。
2.静态测试:对组件的规格说明书进行评审,对静态代码进行走查。
3.正式评审:对评审过程及需求文档的一种特定评审。
4.度量:测量所使用的方法或标准。
5.评审员:参与评审的人。
6.记录员:记录评审会议上的会议纪要。
7.技术评审:同行间对技术进行的评审,目的是技术实现达成共识。
8.走查:由文档作者逐步陈述文档内容,以收集信息并对内容达成一致。
9.复杂性:系统或组件的设计或内部结构比较复杂,导致难以理解,维护或验证的程度。
10.圈复杂度:程序中独立路径的数量,可以衡量一个组件模块的判定结构的复杂程度。
11.计算圈复杂度的三个公式:
(1)圈复杂度=区域数(包括外面区域)
(2)圈复杂度=边数-节点数+2
(3)圈复杂度=判定节点+1
12.控制流:执行组件或系统的一系列顺序的路径。
13.数据流:表示数据对象的顺利或状态发生变化的过程。
二、常见的用例设计方法
主要分为“黑盒测试用例设计方法”、“白盒测试用例设计方法”和“经验测试方法”。
“黑盒测试用例设计方法”包括“等价类、边界值、判定表、场景法、状态迁移、因果图、正交表”。
“白盒测试用例设计方法”包括“语句覆盖、判断覆盖、条件覆盖、判断条件覆盖、路径覆盖(基本路径法、Z路径法)”。
“经验测试方法”包括“错误推测法、异常分析法、随机测试”。
1.等价类
(1)定义:指某个输入域的集合,在集合中各个输入的条件都是等效的。
(2)等价类分为两种情况
有效等价类:对程序规格说明有意义的、合理的输入数据。
无效等价类:对程序规格说明无意义的、不合理的输入数据。
(3)等价类的设计思路
1.找输入条件。
2.为每个输入条件找有效等价类和无效等价类。
3.为每个等价类编号。
4.用最少的用例覆盖最多的有效等价类。
5.每个无效等价类都是一个用例。
6.不是所有的有效等价类都有无效。
7.等价类的覆盖可以重复覆盖。
(4)常见的能够划分等价类的条件
1.数值范围
2.重复次数
3.字符串长度
4.字符串组中,字符的个数
5.文件命名
6.文件大小
7.屏幕的颜色种类
8.超时时间
(5)等价类的优缺点
1.优点:考虑了单个输入域的各类情况,避免了盲目或随机选取输入数据的不完整性和覆盖的不稳定性。
2.缺点:方法虽然简单易用,但是没有对组合情况进行充分的考虑,需要结合其他测试用例设计方法进行补充,比如边界值。
(6)案例:qq 5-13位纯数字账号
条件:
(1)大于等于5位,小于5位
(2)小于等于13位,大于 13位
(3)纯数字、数字+字母、纯字母、空、数字+特殊符号、特殊符号等
2.边界值
(1)边界点定义 :边界上的点,分为上点、离点和内点。
(2)边界值分析原则
- 如果输入(输出)条件规定了取值范围,则应该以该范围的边界内及边界附近的值作为测试用例。
- 如果输入(输出)条件规定了值的个数,则用最小个数比最小个数少一,最大个数比最大个数多一的数作为测试数据。
- 如果程序规格说明中提到的输入或输出是一个有序集合,应该注意选取有序集合的第一个和最后一个元素作为测试数据。
案例:
(1)qq位数:5-13位
测试1:
上点:5,13
离点:4,14
内点:10(6-12位)
测试2:
上点:5,13
离点:6,12
内点:10(7-11位)
主要根据实际情况测试
(2)11位手机号
测试:
11位(正确11位)
12位(大于11位位数)
10位(小于11位)
0 空格
(3)微信发红包金额:0.01-200
0.01 最小金额,200 最大金额
0.001 小于最小金额,201 大于最大金额
100有效金额(0.02-199.99)
(3)ATM金额输入金额:100-5000
测试:
100 最小金额,5000 最大金额
0 小于最小金额,5100 大于最大金额
1000有效金额(200-4900)
边界值是发现bug能力最强的一种测试方法
3.场景法
(1)定义:场景法主要是针对测试场景类型的,也称场景流程分析法。流程分析是将软件系统的某个流程看成路径,用路径分析的方法来设计测试用例,根据流程的顺序依次进行组合,使得流程的各个分支都能走到。
如:
人事考勤系统:离职流程有哪些?
填写申请离职表人事沟通挽留失败审批通过等待一个月离职
网购商品流程有哪些?
注册登录选品下单支付签收==评价
(2)要学会使用xmind图梳理项目的流程,xmind图也叫脑图。
(3)梳理流程的软件有xmind、亿图、wps,一种是流程控制图,一种是脑图。
案例:atm取款的流程,通过xmind图梳理
4.判定表
(1)判定表分为条件桩、动作桩、条件项、动作项。
条件桩:列出问题的所有条件。
条件项:列出针对所有条件的取值。
动作桩:列出问题规定可采取的动作。
动作项:列出条件各种情况的应采取的动作。
(2)创建步骤:
1.确定规则的个数:若有N个条件,每一个条件下有2个值,则有2^n种规则。
2.列出所有条件桩与动作桩。
3.输入条件项。
4.输入动作项得到初始判定表。
5.简化(合并相似规则)
6.编写测试用例
(3)判定表的作用:利用判定表,将复杂的问题按照各种可能的情况列举出来,能针对不同逻辑条件的组合值,分别执行不同的操作。
案例:有一个机器马力大于50p马力,维修记录不全或者已运行10年以上的机器,应给予优先维修。
理解:1.机器马力大于50p马力,维修记录不全 优先维修
2.已运行10年以上的机器优先维修
条件:马力大于50p、维修记录不全、已运行10年
2的3次方,有8种组合情况
5.状态迁移法
(1)定义:通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。
(2)状态迁移法设计测试用例的步骤
1.画出状态迁移图。
2.通过状态迁移图,画出状态转换树。
3.从状态转换树推导出测试路径。
4.根据测试路径编写合法的、正常的测试用例或非法的、异常的测试用例。
5.保证从状态转换树的根节点到每个叶节点的每一条路径都至少设计出一个测试用例。
浙公网安备 33010602011771号