第四篇 用例设计的方法

前面介绍了测试用例的规范,那么要如何设计一份高质量的测试用例呢?设计用例时又要怎么去思考,才能保证不会遗漏测试点呢?下面我给大家介绍一套方法,或者说是思考的方向,这套方法基本上适用于任何功能模块,大家设计用例的时候,只要按照这个方法去思考,基本上可以规避90%以上的问题,其它的就要靠自己以及整个团队的实际项目经验了。

一、用例设计的方法

用例设计的方法其实很简单,只要明确自己是测什么一切即可了然于胸,信手拈来。

如果我们脱离某个具体的游戏功能来思考的话,测试实际上面对的是一堆代码数据,所有的测试工作其实是在对这堆数据进行测试。

测试员一般不需要搞清楚技术到底是怎么将这些数据加工成一个可视化、可操作的游戏的,但是需要明白一个底层的逻辑,那就是要将数据加工成游戏,首先得把这些数据加工成一个个的数据块,比如玩家的昵称就是一个数据块,而这些数据块通常的术语就叫做“对象”,决定对象特性的东西叫做属性,比如玩家昵称的长度、不同的词语构成等。而玩家操作就是改变某个对象的某条属性,或者使该对象与其它对象发生交互,从而产生一系列的变化,另一方面讲只要游戏在运行,其本身就是某些对象之间不停的在发生交互。还有,对象与对象之间的交互一定有一个大的前提条件那就是支撑其运行的硬件设备,比如电脑、手机等。最后所有的交互变化都有同一个衡量尺度,那就是时间。

所以在测试数据的基础上我们又可以上升一个更容易理解和操作的层面,那就是对游戏中各种“对象”的测试,这些对象可以是一个按钮、一个界面、一条属性值等等。

有了以上这些最基础的底层逻辑分析,我们就可以总结出最基本的四个角度去设计一个具体功能的测试用例,这四个角度就是对象、过程、环境、时间。下面我用一个具体的小例子说明一下这四个角度分别都要测试那些内容。

需求举例:假设游戏中的邮件内有个领取附件奖励的按钮其功能如下:

1、只有邮件有附件的时候才展示领取按钮

2、领取附件后按钮消失

针对这个简单功能,我画个流程图如图1-1。

图1-1

接下来我们从上面提到的四个角度去分析

1、对象

对象即“领取”按钮,我们遇到的第一个测试问题很可能就是“如何测试一个按钮?”回想我们的回答可能是,看它的大小尺寸、颜色、点击效果、点击音效等等,仔细分析这些答案其实它们都有个共同点,就是我们说的这些点都是表现层面的,没错,当我们从对象的角度去构思测试点的时候其实考虑的就是它表现层面应该是个什么样子。

2、过程

过程即对象发生变化的过程,上面的邮件领取按钮有两个明显的变化过程,从无到有再到无,与之对应的是三个明显的对象在不同状态下的表现:无→有→无,那么从过程的角度测试其实就是验证以下两方面的内容:

促使对象发生变化的原因或者说条件正不正确;

对象发生变化后的表现正不正确。

而为了测试这两点我们就要去设计测试条件,比如我们要给测试帐分别发一封带附件和一封不带附件的邮件来测试按钮是否正确显示的判断条件,而此处其实是通过验证按钮对象从无状态到有状态的具体表现来验证了它的判断条件是否正确。看到这里其实我们已经发现了不管测试什么,其实最终都要落到对象的特定状态表现上来,也就是我们能直观观察到的层面,我们不用关心它这个条件在代码上到底是怎么写的,我们只需要设定特定的条件然后去操作观察实际表现结果即可,这其实就是所谓的“黑盒测试”,而黑盒测试最关键的地方就是条件设计的合理性。

这里要额外说一下网络游戏的对象变化过程,因为网络游戏的数据存储是放在数据库的,所以这里的过程就要多验证数据是否正常存入数据库的过程。比如一些游戏领取到邮件奖励后下线等10分钟再上线测试奖励内容是否还在,其实就是在测试玩家数据是否正常入库,而数据的入库条件就是先放在缓存里10分钟后再写入数据库中。

3、环境

上面说了对象发生变化的过程,下面要说的是对象是在什么样的环境下发生变化的,这里的环境总的来说分为以下三个方面:

游戏内环境:游戏内对象发生变化的场景等;

网络环境:如果是网络游戏则需要考虑;

软硬件设备支撑环境:游戏运行的软件环境比如系统版本,硬件设备比如电脑、手机等。

先说游戏环境,这里又分为服务器环境和客户端环境,很多复杂的网络游戏往往不会只有一个服务器进程,它很可能有登录服、游戏服、聊天服等等,而测试要测的就是当一个对象发生变化的时候,我们要保证它在每一个服务器上都能正常发生变化,同时发生变化切换服务器进程后它的表现依然是正常的,还有当服务器发生宕机等异常时依然能保证数据的正常,比如就上面的附件领取按钮来说,对服务器环境来说就要测试在游戏服、聊天服上的具体领取表现。而对客户端来说要考虑的就比较繁杂一些,比如UI冲突、不同界面场景下的操作冲突等,这个就要结合具体游戏和自身经验去构思。

再说网络环境,从这个角度考虑其实诞生了一个专有名词叫做“弱网测试”其本质其实就是测试游戏对象在弱网环境下的变化过程正不正常,弱网测试的具体方法后面会详细说明。

最后考虑硬件环境时也有一些专有名词比如客户端兼容测试(手游在不同型号、系统版本的手机上运行),UI适配(手游在不同UI尺寸的手机上运行)等,还有硬件设备上游戏与其它软件的兼容测试,比如输入法兼容测试等等,对于这些测试通常都是很简单的在对应的环境上运行游戏查看有无异常即可。此处的关键是能经常关注行业动态,对可能存在的影响游戏运行的软硬件因素做出正确判断,制定合适的测试策略即可。

4、时间

对于所有变化的对象来说,时间都是一个隐形的条件,比如上面的邮件附件一直不领取,按钮就一直显示,这里“一直”就是时间的概念,不过通常我们不用刻意去考虑这个影响因素,但部分功能会非常依赖时间做设计,比如某活动在固定的时间开启和关闭,这里就要特别去做测试。还有我们在做性能测试的时候会在某个场景持续挂机很长时间,这也是从时间的角度去做测试的结果。

5、运用过程

知道了设计测试用例的四个思考的角度,对于一个实际功能具体运用时可以参考下面的说明。

1、对象,先聚焦测试对象,即要测试的对象是什么,表现聚焦于一个对象在某个状态时直接呈现出来的视觉表现;

2、过程,对象的变化过程是怎样的,理清楚对象在变化过程中状态都有哪些变化,都涉及到哪些对象,涉及到的对象都有哪些状态变化;状态聚焦于当状态发生改变时,促使其变化的规则正不正确;

3、环境,在对象状态变化过程中,环境变更对其可能造成的影响,环境聚焦于当对象状态发生改变时支撑其运行的环境如果出现异常会不会对对象状态大改变有所影响;

4、时间,对象变化过程是否和时间有关系,如果与时间有关,通常都是当作对象状态改变的判定条件;

综上,从对象的表现、过程、环境、时间四个方面,根据功能需求结合实际游戏的其它功能尽可能的联想,穷举各种测试点,基本上可以覆盖到大部分测试的盲区。为了更方便的记忆运用,下面是总结的口诀。

记忆口诀:“面向对象看表现,理清过程看状态,考虑环境出异常,时间一般当条件。”

<完>

个人浅见,欢迎留言交流。♪(^∀^●)ノ

<<下一篇 手游弱网测试说明>>

<<返回目录>>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容

  • arouter-gradle-plugin version : 1.0.2 AutoRegister : http...
    俞其荣阅读 1,069评论 0 8
  • 思源学校上课的第二天,中午休息时间在校园内转了一圈,校园墙壁上到处都是励志的标语以及名人名言名事,詹天佑,钱学森,...
    生命的微笑阅读 298评论 0 0
  • 每个伟大历史时代的辉煌发展取决于重要人物的思想革新,他们有实力改变世界,成为影响世界发展的“佼佼者”。 每...
    葵明隐士阅读 230评论 0 0
  • 端午节,吃粽子、赛龙舟、放小假……人人脸上都洋溢着笑容,可我怎么也打不起精神,时间定格在了五年前,每每想起...
    陪伴花开香满天阅读 458评论 4 6
  • 执念望断问风雨 时间穿越空中影 遗墨丹青纸单卷 抒不完花前月下 春风化雨念流离 素笺苍凉送天涯 1
    依山赏月阅读 462评论 28 33