目录
一、测试用例基本要素
测试用例
测试人员向被测试系统发起的一组集合。
这组集合包括:测试环境,操作步骤,预期结果,测试数据。
- 提高测试效率。
- 降低测试重复性。
- 手工测试用例是自动化测试用例基础。
二、测试用例设计方法
1. 基于需求的设计方法
如何通过这个方法设计测试用例?
- 充分理解需求(前提)。
- 将大需求拆分成一个一个的小需求。
- 基于需求设计测试用例。
在分析测试需求时,一般分为功能测试需求和非功能测试需求:
(1). 功能需求测试分析
- 业务流程(软件规格说明书)
- 界面相关(UI设计稿)
- 易用性(测试人员经验)
针对具体的需求,可以根据业务分类,用户角色(餐厅的会员系统)或者用户操作区域等将系统的功能分解成若干个功能模块,然后按照功能模块分别进行测试需求分析。按照功能模块划分,业务模块划分是最常见的做法。
(2). 非功能需求测试分析
- 兼容
- 安全
- 性能
此外,对于大型企业级应用系统,由于应用模式,系统架构的不同(分布式,微服务等),我们必须结合架构 和应用模式来具体分析非功能性测试需求,特别是可扩展性,可靠性,安全性等。技术架构对功能的影响小, 但是非功能性测试就要深入架构分析,才能更好的把我测试范围和测试方法。
(3). 举例
163邮箱注册,登录模块测试用例设计(基于需求设计测试用例)
步骤:
- 将大需求拆成子需求:注册,登录。
- 将子需求划分成功能相关和非功能相关。
2. 具体的设计方法
(1). 等价类
依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果 这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的 功能覆盖,解决了不能穷举测试的问题。
- 有效等价类:对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验证程序是否实现了规格说明中所规定的功能和性能
- 无效等价类:根据需求说明书,不满足需求的集合。
设计测试用例步骤:充分理解需求——>划分有效等价类和无效等价类——>设计测试用例
需求:需求有输入 ,输入是无穷的。
等价类只考虑输入域的分类,没有考虑输入域的组合,需要其他的设计方法和补充。
(2). 边界值
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
a. 边界点
- 上点:边界上的点。
- 内点:边界内的点 。
- 离点:上点附近的一个点(如果是闭区间,边界外的点;如果是开区间,边界内的点)。
b. 如何通过这个方法设计测试用例
- 充分理解需求。
- 找边界点。
- 针对边界点设计测试用例。
(3). 判定表
判定表(Decision table)是一种表达逻辑判断的工具。
a. 关系
有恒等,非,与,或这几种。
- 恒等:如果原因为真,那么结果必定为真。 例如:动物园运来大熊猫,动物园一定有大熊猫。
- 非:只有原因为假,结果才为真。 例如:你不好好学习,找到好工作。
- 与:只有2个原因都为真,那么结果为真 例如:北京姑娘,必须有车且有房。
- 或:2个原因中有一个为真时,结果就为真。 例如:长沙姑娘,你有车或者有房。
b. 如何通过这个方法设计测试用例
- 分析所有可能的输入和可能的输出。
- 找出输入与输出之间的对应关系。
- 根据输入和输出确定判定表。
- 把判定表对应到每一个测试用例。
案例:
假设业务单据的处理规则为:“淘宝618活动,订单已提交,订单合计金额大于300元或有红包,则进优惠”。
1. 对于这条业务规则,首先通过分析所有可能的输入和可能的输出,可以得到如下结果:
- 输入:订单已提交、金额大于300、有红包。
- 输出:优惠、不优惠。
2. 然后,进行第二步,找出输入与输出之间的对应关系。通过分析,可以看出有以下的对应关系。
(1)订单已提交,订单金额大于300元,则优惠。
(2)订单已提交,订单金额小于等于300元,无红包,不优惠
(3)订单已提交,有红包,则优惠。
(4)订单已提交,订单金额大于300元,有红包,则优惠。
(5)订单未提交,不优惠。
3. 画判定表:有3个条件(订单是否提交、金额是否大于300、有无红包),输出有2个取值(优惠,不优惠),所以表的列数为2x2x2=8。
(4). 正交排列
正交法的目的是为了减少用例数目。用尽量少的用例覆盖输入的两两组合。
正交试验设计(Orthogonal experimentaldesign)是研究多因素多水平的一种设计方法,它是根据正交性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找出最优的水平组合。正交试验设计是一种基于正交表的、高效率、快速、经济的试验。
a. 概念补充:
- 因素(Factor):在一项试验中,凡欲考察的变量称为因素(变量)。
- 水平(位级)(Level):在试验范围内,因素被考察的值称为水平(变量的取值)。
b. 正交表的构成:
- 行数(Runs):正交表中的行的个数,即试验的次数,用N代表。
- 因素数(Factors):正交表中列的个数,用C代表。
- 水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或从1到“水平数”,用T代表。
c. 正交表的表示形式: L=行数(水平数*因素数) ,即:L=N(TC)
d. 正交表的两条性质:
- 每一列中各数字出现的次数都一样多。
- 任何两列中的各有序数对出现的次数都一样多。
e. 测试用例设计(正交表):
- 充分理解需求。
- 确定因素,确定水平。
- 画正交表。
- 将正交表转换成测试用例。
f. allpairs设计正交表步骤:
- 将因素和水平填写到excel表格里。
- 将excel内容复制到txt文件里。
- 通过命令窗口进入allparis安装路径下面。
- 通过一个命令产生正交表。
g. 以注册为例:
- 因素:姓名,邮箱,密码,确认密码,验证码
- 水平:填写,不填写
表中的因素数=5,
表中至每个因素数的水平数=2,
行数取最少的一个,即试验次数最少的一个,
L=N(TC)=(2-1)*5+1=6(25),
N=Cx(T-1)+1,
L=6(25),
N试验次数 ,T水平数 ,C因素数,
选择正交表,这里选择了L6_2_5。正交表不是随便选择的,而是设计好的。
(5). 场景设计法
通过场景设计法设计用例:
- 确定主事件流
- 次事件流
- 将这些事件转换成测试用例(一个场景对应一个测试用例)
(6). 错误猜测法
错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。
这个方法强调的是对被测试软件的需求理解以及设计实现的细节把握,还有个人的经验和直觉。
错误推测法和目前流行的“探索式测试方法”的基本思想一致,这类方法在敏捷开发模式下的投入产出比很高,被广泛应运于测试。
这个方法的缺点是难以系统化,并且过度依赖个人能力。
三、测试举例
万能公式:安全,易用性,外观,功能,兼容,性能
1. 水杯测试用例设计
2. 微信发送朋友圈测试用例
如有建议或想法,欢迎一起讨论学习~