游戏测试的主要内容
功能测试
-
主要验证功能是否符合需求设计
-
主要考虑功能正确性,不考虑游戏底层结构及代码错误
-
通常从界面着手测试,尽量模拟用户可能出现的操作
性能测试
测试点
-
客户端CPU使用率
-
客户端内存占用率
-
客户端网络流量使用情况
-
客户端耗电量
-
客户端帧率(FPS)
测试方法
-
分析代码
-
工具监测
iOS:xcode自带的instrument
安卓:emmage和GT(需要root权限)
压力测试
-
服务器CPU使用率
-
服务器内存占用率
-
系统吞吐量(TPS)
-
事务响应时间
-
事务成功率
兼容测试
-
机型适配测试
-
操作系统兼容测试
-
屏幕分辨率兼容测试
-
游戏版本兼容测试
安全测试
-
内存修改测试
-
客户端加密测试
-
客户端反编译测试
-
网络安全测试(用抓包工具测试 避免重复抓包)
接口测试
-
服务器各个接口数据测试,主要用工具来实现
-
接口安全测试,重复发送请求,查看接口处理情况
日志测试
-
客服端日志
-
服务端日志
弱网测试
测试点
-
不同网络情况下游戏的运行情况
-
不同丢包率情况下游戏的运行情况
-
通过工具设置网络代理来实现
常用的工具 win:fiddle、mac:network link conditioner
gm工具测试(运营、客服人员使用)
-
测试gm工具的功能实现,需要关注工具的设置是否在游戏中起作用
-
测试gm工具的数据读取、存储
SDK测试
-
用户数据测试
-
充值、消费测试
-
与各个渠道对接测试
游戏测试基本流程
流程
功能会议->测试用例书写->冒烟测试->详细测试->回归测试->checklist检查
冒烟测试
-
详细测试之前的环节
-
快速发现比较明显的bug
-
快速确保主逻辑流程跑通
-
快速明确功能开展状态
详细测试
-
细致的测试每个逻辑分支、资源、配置
-
尽量模拟玩家的每一种操作可能
-
测试异常情况,如断网、断电、事件中断、进程中断等
-
测试数据读取、存储、网络等内容
-
新功能对原功能的影响
checklist检查(用于上线,,可通过代码提交记录进行简单测试,确定最终包含有所有功能及bug修复点)
-
简要快速的检查功能的主要逻辑点
-
简要检查与该功能有关联的任何其他功能点
游戏测试用例
设计步骤
需求文档分析->功能模块划分->测试用例编写->测试用例整理与维护
需求文档分析
文档阅读(至少读三遍,注意细节)
功能细节沟通探讨
-
尽早确认细节
-
不明白的地方不能脑补想当然
-
关注需求变更,跟程序和策划确认
逻辑梳理
梳理出框架后,逐步细化
功能拓展思考
-
设计缺陷思考
-
测试难点思考
-
关联度思考
-
特殊情况思考
兼容相关思考
-
版本兼容
-
功能兼容(新增的功能和以往)
-
操作系统版本兼容
-
分辨率兼容
功能模块划分
模块划分原则
-
高内聚、低耦合
-
重整体、轻局部
模块划分方法
-
功能流程法
将功能的基本流程画出来,根据流程的每个大的环节进行模块划分,再细化和查漏补缺(不要纠结细节)
层次划分法
按照逻辑层次逐层细化出模块的过程,比较适用于UI划分,大的系统模块划分等。
类型划分法
-
按照功能包含内容的不用类型进行划分
-
适合功能种类比较独立,种类之间的耦合度比较低的情况
测试用例编写
格式
-
一个清晰的格式为什么很重要
让用例的脉络更清晰明了
方便需求变化后的更新维护
方便执行人员快速入手 -
首页内容(用例的纲要)
用例名称
用例对应的游戏版本
编写人、编写日期、备注
修改人、修改日期、修改备注
需求文档的链接或地址
-
正文页内容
功能逻辑图(可有可无)
用例id
模块名称
测试先决条件
输入信息
输出结果
备注信息 -
关于格式的一些注意点
尽量保证逻辑清晰
尽量保证一个输入只对应一个输出
保证每次更新用例后都有明确的记录标注
尽量保证一个用例内格式统一
测试用例常用编写方法
等价类
边界值
因果图&判定表
注意点
-
输入条件一定要单一明确,不用引起误会的词
-
输出要可判断且明确,不用“显示正确”这种词
-
测试步骤要可执行
-
保持尽量高的覆盖度
-
能抽象的尽量抽象出来,避免无意义的冗余,用比较有代表性的数据
测试用例的整理和维护
-
需求变化后需要即使更新老的测试用例,并写清修改情况的备注(修改内容,产品和开发负责人)
-
测试用例应该尽量避免冗余,如果遇到重复的用例,需要根据实际情况进行修改
-
注意测试用例的备份,写完后最好自己本地备份,避免线上被人误删除
游戏bug
发现bug仅仅是测试工作的开始
bug的界定标准
-
与需求设计不符
-
违背常识
bug的生命周期
-
发现bug->提交给开发->开发修复->测试验证->通过后关闭->(上线前回归)
-
发现bug->提交给开发->开发修复->测试验证->不通过->重复流程->通过后关闭
bug的等级划分
-
p0:致命错误
需要立即修复,如宕机、重启性报错等 -
p1:严重错误
需要紧急修复,如功能流程错误、数值错误等 -
p2:一般错误
允许一段时间内修复,如功能的简单错误、界面错误等 -
p3:无关紧要的错误
允许延期修复,如文字错误、某个像素点缺失等
bug的提报标准
-
标题:[模块名称]+简短描述
-
测试环境:表名测试用的版本,系统,服务器,账号等
-
描述:bug的详细描述
-
重现步骤:重现bug的详细流程步骤及复现频率
-
期望结果:希望bug修复后的结果
-
备注:log,截图等
bug的验证标准
-
严格按照复现步骤验证
-
去除测试环境的影响
-
验证标注:需要注明验证的版本、服务器等
-
拓展:是否对其他功能有影响,做简单回归,因为系统间的逻辑耦合性很高
-
注意点:验证不能只看前端表现,更应该关注后端数据
bug的跟踪与推动
-
每个人都有责任跟踪自己的bug修复状态
-
及时与开发沟通,了解修复状态并提供修复过程中的支持
-
久不修复的bug需要与开发和上级确认如何处理
-
bug修复后,需要即使验证
bug的数据分析
-
项目各个bug等级数量的矩形图
-
项目各个开发者bug数量的饼图
-
项目各个功能模块bug数量的矩形图
游戏弱网测试
要解决的问题
-
网络信号差的情况下,对游戏运行的影响
-
高丢包率的情况下,对游戏运行的影响
-
不同网络信号之间切换时,对游戏运行的影响
-
断线重连对游戏运行的影响
前后端数据一致的问题
-
测试方法
mac:network link conditioner或charles
win:fiddler
游戏性能测试
客户端性能测试指标
-
CPU
指游戏进程所占用的cpu占用率
抛开场景看cpu的性能没有意义
安卓设备,90%的场景CPU占用率小于60%
ios设备,90%的场景cpu占用率小于80% -
内存
-
FPS
游戏接口测试
常见接口分类
-
程序自身内部的模块接口
-
程序暴露给外部其他程序调用的接口
游戏接口测试内容
-
客户端与服务端之间的网络接口测试
修改传输参数
大量发送数据
游戏接口测试工具
-
jmeter(基于Java,需要安装Java环境)
-
自己写脚本语言
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 759968159,里面有各种测试开发资料和技术可以一起交流哦。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。