乐趣区

关于测试:功能测试用例设计方法分享

本文首发于: 行者 AI

测试用例能够用来掂量一个我的项目测试品质,因而在平时的测试流程中,编写测试用例就是测试过程中很重要的一步,每一个测试工程师都须要并且十分纯熟的编写测试用例,能在编写测试用例中尽可能的笼罩任何异样的测试点;如何能编写优良的测试用例,就须要测试人员把握更多的用例编写技巧以及思考出更多的测试点。针对于游戏测试,大多更偏差于性能方面的测试,依据性能测试用例逐项测试,查看产品是否达到了策动的需要。功能测试次要采纳黑盒测试策略设计测试用例,进行测试。次要功能模块测试的测试用例设计办法包含:等价类划分、边界值剖析、谬误揣测法、因果图和断定表、场景法、正交实验法。上面就以上几种办法进行一些分享。

1. 等价类划分法

等价类划分,指的是一种典型的、重要的黑盒测试方法。其就是解决如何抉择适当的数据子集来代表整个数据集的问题,通过升高测试的数目去实现“正当的”笼罩,以此发现更多的软件缺陷,统计好数据后由此对软件进行改良降级。

举例一:设有一个认证条件,要求玩家输出以年月示意的日期。假如日期限定在 1990 年 1 月~2049 年 12 月,并规定日期由 6 位数字字符组成,前 4 位示意年,后 2 位示意月。现用等价类划分法设计测试用例,来测试程序的 ” 日期查看性能 ”。首先,划分等价类并编号, 下表等价类划分的后果

设计测试用例,以便笼罩所有的无效等价类,在表中列出了 3 个无效等价类,编号别离为(1)、(5)、(8),设计的测试用例如下:

为每一个有效等价类设计一个测试用例,设计后果如下:

举例二:登录账号的时候,邮箱地址输入框输出数据,程序检测,判断用户输出的邮箱地址是否非法。现用等价类划分法和边界值分析法设计测试用例:

对输出的要求:

a. 用户名只能用小写字母和数字还有‘.’组成

b. 邮箱用户名首位必须是小写字母或者数字

c. 用户名长度在 6 -30 个字符之间

d. 必须要有 @ 符号和必须要有‘.’

e.@前面要以_._完结 (* 为任意字符串)

等价类表:

笼罩等价类的测试用例:

2. 边界值分析法

其实边界值能够算是为了配合等价类而加的一个限度条件,个别会依据略小于最小值、略大于最大值、等于最小值 / 最大值进行边界值的一些验证;一般来说,对于区间型数据边界值的测试,大多都是略小于最小值和略大于最大值是不满足要求的,两头的数据是满足需要的。边界值左近的数据确定的几种办法:

举例一:还是以下面要求玩家输出以年月示意的日期来作为例子。假如日期限定在 1990 年 1 月~2049 年 12 月,并规定日期由 6 位数字字符组成,前 4 位示意年,后 2 位示意月。现用等价类划分法设计测试用例,来测试程序的 ” 日期查看性能 ”,上面是对于边界值须要检测的点。

举例二:购买一个宝箱,一次性最多只能购买 5 个,以边界值的规范可选取 5 个(正好等于)、6 个(刚刚大于)、4 个(刚刚小于),3 个(正常值)作为边界值来测试。

3. 谬误揣测法

没有确定的步骤,很大水平上是凭教训,联合以往测试教训和直觉设计软件在性能和流程上可能存在的各种谬误,进行容错性测试。例如输出数据为零或输入数据为零时容易产生谬误的状况,所以可抉择输出值为零的例子,以及使输入值为零的例子;又如输出表格为“空”或输出表格只有一行是较易出谬误的状况,所以可抉择示意这些状况的例子。依据字面意思,也就是列出可能呈现问题的点,猜想哪些状况可能会有问题。

举例一:如面购买宝箱的例子,针对于需要,仅是对于给出的数据进行了测试,然而在理论状况中,理论要求中须要留神的点。依据平时测试,呈现过问题的中央,所以又应该思考到以下的测试点:

a. 尝试购买 - 1 个宝箱

b. 尝试购买 0 个宝箱

c. 屡次购买小于 5 个宝箱

d. 屡次购买 5 个宝箱

e. 购买宝箱后重启客户端 / 服务器

f……..

举例二:对于游戏中,须要做屏蔽词性能,须要思考到以下玩家会进行操作的性能点进行测试(多多自走棋为例),咱们须要思考到所有可能呈现玩家输出信息的中央,依据对平时对我的项目的相熟以及本人的教训,想到一些可能会呈现问题的中央:

a. 创立账号(玩家填写角色名称)

b. 聊天性能 (世界聊天、好友私聊、队伍聊天、发送邀约信息、制图工坊、房间队伍聊天、局内战斗聊天、局内私聊、局内观众、局内裁判、观战发送聊天信息)

c. 个人信息(玩家批改昵称)

d. 自建房间(玩家创立 / 批改房间昵称)

4. 场景法

百度百科对场景法的解释是:通过使用场景来对系统的性能点或业务流程的形容,从而进步测试成果的一种办法。用例场景来测试需要是指模仿特定场景边界产生的事件,通过事件来触发某个动作的产生,察看事件的最终后果,从而用来发现需要中存在的问题。咱们通常以失常的用例场景剖析开始,而后再着手其余的场景剖析。场景法个别蕴含根本流和备用流,从一个流程开始,通过形容通过的门路来确定的过程,通过遍历所有的根本流和备用流来实现整个场景。场景次要包含 4 种次要的类型:失常的用例场景,备选的用例场景,异样的用例场景,假设揣测的场景。在一个游戏性能中,将大性能拆分为一个个小性能,而这些小性能就能够视为一个个小场景,这些小场景的汇合就成了这个残缺的功能模块。

举例,比方多多自走棋的通行证每周挑战性能:

依据这个界面,咱们能够分为以下几个局部:

a. 每日处分

b. 教训等级

c. 具体任务信息

d. 购买等级

e. 处分展现

f. 视频播放

g. 帮忙按钮

h. 购买等级

以上这些小性能以玩家可能会波及到的操作为出发点,咱们能够了解为一个个小场景,将他们组合起来就形成了这个残缺的性能,这些小性能形成了整个每周挑战这个性能。以上的这些小性能应该更多以玩家的角度进行思考。

5. 因果图法和断定表

等价类划分办法和边界值分析方法,都是着重思考输出条件,但未思考输出条件之间的分割、互相组合等。思考输出条件之间的互相组合,可能会产生一 些新的状况。但要查看输出条件的组合不是一件容易的事件,即便把所有输出条件划分成等价类,他们之间的组合状况也相当多,因而须要思考采纳一种适宜于形容对于多种条件的组合,相应产生多个动作的模式来思考设计测试用例,这就须要利用因果图。

上面先理解一下因果图得一些规定,上面以图的模式具体阐明 6 种因果逻辑。

c 示意起因,e 示意后果:

a. 恒等:如果起因为真,那么后果必然为真。

b. 非:只有起因为假,后果才为真。

c. 与:只有 2 个起因都为真,那么后果为真。

d. 或:2 个起因中有一个为真时,后果就为真。

e. 与非:先与后非。

f. 或非:先或后非。

g. 排他性束缚:各个起因之间不能同时为真,但能够同时为假。

h. 蕴含性束缚:各个起因中总有一个为真。即能够同时为真,但不能够同时为假。

i. 必要性束缚:当起因 a 为真时,起因 b 必须同时为真

j. 唯一性束缚:有且只有起因 a 和起因 b 中的一个为真然而起因 b 为真时,起因 a 既能够为真,也能够为假。

k. 掩码标记(后果束缚):如果后果 b 为真,那么后果 a 肯定为假,如果后果 b 为假,则后果 a 的状态不定

举例一:以多多自走棋为例,玩家查看图鉴中的棋子:第一步必须是 A(点击仓库)或 B(点击大厅右上角图鉴按钮),第二步必须是 C(点击棋子图鉴),在此状况下玩家进入到棋子图鉴界面,但如果第一步不正确,得出结论 L;如果第二步骤不是 C,则得出结论 M。首先咱们整顿一下,得出以下信息以及因果图:

依据题意,起因和后果如下:

起因:

1——第一步是 A;

2——第一步是 B;

3——第二步是点击棋子图鉴。

后果:

21——进入棋子图鉴;

22——得出结论 L;

23——得出结论 M。

其对应的因果图如下:

11 为两头节点;思考到起因 1 和起因 2 不可能同时为 1,因而在因果图上施加 E 束缚。

依据因果图建设断定表:因为 个别能够依据因果图画出断定表,断定表里只有 0,1(1 代表真,0 代表假)两个数字。若输出条件有 n 个,则用例思考的状况有 2n 种,即 8 种:

表中 8 种状况的右面两列状况中,起因①和起因②同时为 1,这是不可能呈现的,故应排除这两种状况。表的最下一栏给出了 6 种状况的测试用例,这是咱们所 须要的数据。所以用例有:

a.1,3——21

b.1—–23

c.2,3—-21

d.2—–23

e.3—22

f. 不进行任何操作 —–22,23

6. 正交试验法

利用正交实验设计办法设计测试用例,比应用等价类划分、边界值剖析、因果图等办法有以下长处:节俭测试工作工时;可管制生成的测试用例数量;测试用例具备肯定的覆盖率。

举例:

这是游戏账号注册的一个窗口。咱们能够看到要测试的控件有 3 个:邮箱地址、明码、验证码,也就是要思考的因素有三个;而每个因素里的状态有两个:填与不填。抉择正交表时剖析一下:

a. 表中的因素数 >=3;

b. 表中至多有 3 个因素数的程度数 >=2;

c. 行数取起码的一个。

从正交表公式中开始查找,后果为:

L4(23)(0- 填 1- 不填):

变量映射如下

测试用例如下:

a. 填写邮箱地址、填写明码、填写验证码

b. 填写邮箱地址、不填明码、不填验证码

c. 不填邮箱地址、填写明码、不填验证码

d. 不填邮箱地址、不填明码、填写验证码 增补测试用例

e. 不填邮箱地址、不填明码、不填验证码

从测试用例能够看出:

a. 如果按每个因素两个程度数来思考的话,须要 8 个测试用例,而通过正交实验法进行的测试用例只有 5 个,大大减少了测试用例数。用最小的测试用例汇合去获取最大的测试覆盖率。

b. 因素数不雷同 如果因素数不同的话,能够采纳蕴含的办法,在正交表公式中找到蕴含该状况的公式,如果有 N 个符合条件的公式,那么选取行数起码的公式。

c. 程度数不雷同 采纳蕴含和组合的办法选取适合的正交表公式。

退出移动版