本文基于某MMORPG项目,挑选出具有代表性的多个功能模块,分析对其进行自动化测试覆盖过程中的难点,并总结出一系列方法和技巧,希望可以帮助有能力,有意愿的测试同学更有效率地提升类似模块的自动化测试覆盖率。
自动化覆盖率也有多种指标,例如功能覆盖率,路径覆盖率,状态覆盖率等等,本文讨论的覆盖率是游戏测试中常用的功能模块覆盖率。
01、功能模块分类
自动化测试的覆盖率是贯穿整个项目测试周期的重要指标,经常被用作衡量自动化测试的质量和有效性,几乎所有的项目都会将提升自动化测试覆盖率作为自动化测试体系的主要目标。
想要提升自动化覆盖率,首先要对目标任务进行拆分和整理。以一款大型 MMORPG游戏为例,其中包含的功能模块大约有两百多个,数量多,功能杂,类型广,本文挑选了十五个具有代表性的功能模块如下:
1背包与道具 6人物加点 11多人战场
2人物技能 7装备洗练重铸 12主线任务
3英灵抽卡 8组队组团 13时装外观
4英灵培养 9好友 14公平竞技
5科举考试 10聊天 15心魔
如果不加以一定的分析和梳理,很难快速厘清自动化测试用例开发思路。因此,需要对游戏内功能模块进行特征提取。根据不同的模块特点,可以将以上功能分为以下几组:
①基础系统与功能:1、2、3、4、6、7、8、9、10、13
②流程长、复杂:1、5、9、12、14
③流程短,简单:2、3、4、6、10
④多人可完成:8、9、10、11、14、15
⑤单人可完成:1、2、3、4、5、6、7、12、13
⑥涉及表现:13
⑦涉及数值:2、3、6、7
⑧涉及限时:5、11、14、15
……(可以任意添加特征)
可以看到,不同的功能特征之间存在联系和区别,例如特征④和特征⑤互斥,特征①、②、⑤ 可以兼容等等。由于不同特征的功能在编写自动化用例的时候需要着重关注的点不尽相同,所以在初期,我们要做的就是使用尽可能多的特征,将游戏内的功能模块划分出一个初步的脉络,便于规划自动化测试用例的编写。
02 、了解功能玩法
在完成了初步的划分之后,就可以开始着手针对每一类不同的功能,梳理编写顺序,总结相应的用例编写重点,并开始编写用例了。接下来本文将以上提出的几个特征为例,分别进行说明:
1.基础系统与功能
基础系统与功能是我们自动化铺量初期,最先容易关注到的部分,针对这一类功能进行自动化, 也比较符合我们对于“游戏自动化测试”的直观认知。