浅谈测试分析与测试用例的编写
一、引言
最近有朋友问测试用例相关的内容,我就“冒充”一名测试人员写下这篇文章。文章写的应该会比较的粗,从比较浅的视角下介绍功能测试是如何进行功能测试点分析的,以及测试用例的编写需要包含的一些关键点。如果想了解测试方法的话可以去相应的论坛或者找书籍进行学习哦,本文就不会涉及到这些知识点啦。
二、测试分析
针对一项功能在进行测试前,准确的说应该是需求出来后、技术开发前就需要先对功能的具体实现、业务逻辑和可能存在的问题进行分析和列出测试点,并能够提前对技术开发中可能会产生的Bug做预判并与之沟通,然后形成测试用例,以便在功能开发提测后按照用例步骤进行测试。
我将测试分析的内容大致分为以下5个方面,通过从不同的角度去思考功能的测试点以达到较全面覆盖的目的。
1. 界面功能
界面功能就是对客户端能够看到的内容,功能使用的结果,界面交互的行为,界面内容的呈现等进行测试步骤设计,按照需求描述和效果图进行测试,确保界面功能符合预期。例如以下这些内容:
- 界面是从哪里打开的,重点需要对打开的条件进行测试。
- 界面元素的布局是否正确,内容是否正确,还需要考虑用户UE交互。
- 界面进行跳转的正确性,功能在使用时的正确性。
- 界面层级的层叠是否合理,需要注意多个界面打开时的层级问题。
2. 逻辑功能
逻辑功能是除了客户端能看到的内容以外,客户端的执行逻辑,服务器的执行逻辑等。具体就需要根据被测业务的逻辑顺序图或者描述去针对每个点进行设计测试步骤。简单列举以下这些内容:
- 功能是否符合预期的结果,服务器的响应是否符合正确结果。
- 有多人交互的时候,需要考虑逻辑顺序是否正确。
- 重新登录,服务器重启等操作后的数据和结果是否正确。
- 涉及多个节点之间通讯时,还需要考虑延迟,逻辑顺序等
3. 异常测试
所谓异常点测试,就是想着法的破坏功能的正常逻辑,检查客户端和服务器是否都对这些异常的措施进行检查判断。例如以下这些内容:
- 边界之外的情况是否有做判断
- 交互顺序是否可能出现颠倒
- 服务器高延迟,闪断拉起等情况下的业务逻辑是否正常
- 客户端的灭屏,重登等
- 频繁的操作,例如疯狂点击,快速点击等。
4. 数据测试
针对被测业务的客户端和服务器所需的配置数据、产品数据进行测试,以及对数据存储进行测试。例如以下内容:
- 客户端本地存储内容的修改
- 服务器配置文件的修改
- 服务器产品数据的修改
- 数据是否可以正常入库,关键数据与非关键数据的入库机制等
5. 专项测试
这里就是对被测业务的更深入性的测试,包括了客户端性能、服务器性能、协议接口测试。例如以下内容:
- 在弱网情况下的业务表现是否正常,在断线重连等情况下是否正常。
- 针对业务进行服务器性能压测/客户端性能测试,看是否有性能问题和泄漏。
- 协议测试,针对客户端与服务器交互的协议,修改协议内容进行测试。
- 接口测试,针对业务接口代码进行测试。
三、编写测试用例
对一个被测业务进行测试分析后,基本上就会形成一系列的测试点和执行步骤。有些时候或者有些项目在比较忙的情况下会使用上面形成的测试点就开始对业务进行测试了,但编写测试用例依然是比较重要的,即可以整理测试的流程与步骤,也可以方便后续人员的测试执行等。
测试用例的结构内容设计不同公司各不相同,但一般会包含以下这些内容:
1. 测试目的
说明执行的目的,经常许多的测试步骤都是在针对一个功能点进行测试,通过测试目的可以很好的理解在干嘛。
2. 前置条件
执行这步用例的时候,可能需要进行一些条件的准备,例如人物等级达到多少级,道具数量设置为多少个。
3. 模块/子模块
进行模块划分是方便的将一个大的功能业务划分成不同的小块,这样在设计用例的时候更加清晰。执行测试的时候也会比较清晰。
4. 测试步骤
具体描述怎样进行操作,步骤说明。
5. 期望/预期结果
执行操作后需要针对这个操作提出正确情况的结果是怎样的,切记不要全部都是”符合预期"这样的无意义的内容。
6. 测试结果
执行的结果是通过还是不通过,不通过就可以记录Bug单号或者备注问题。
最后上一张图,根据不同的测试设计要求不同,模板也会多种多样,例如可能有公司名称,变更记录等等。
欢迎微信搜索"游戏测试开发"关注一起沟通交流。