感谢大家关注,帮忙分享呦,你们的阅读就是我的动力!!!
公众号:小李测试随笔


第七章 设计zrlog项目的测试用例(7.1章节)
7.1 设计接口测试用例

7.1.1 提取接口信息并分析

接口测试主要是测试服务端资源的增删改查操作,所以在zrlog系统中提取了5个与增删改查有关联的接口信息,分别是登录接口、发布文章接口、修改文章接口、删除文章接口、查询文章接口。在设计接口测试用例之前,需要对这个5个接口进行初步的了解与分析,并了解接口之间的关联关系,以便为设计接口测试用例做准备。
1)登录接口信息的提取与分析
通过Charles获取到的登录接口的信息

2)其他的接口信息,请各位读者自行分析
3)通过接口的分析,可以得出以下结论
a。发布文件接口和登录接口相关联
b。修改文章接口即和登录接口相关联,又和发布文章接口相关联
c。删除文章接口即和登录接口相关联,有和发布文章接口相关联
d。查询文章接口和登录接口相关联
7.1.2 根据接口信息设计测试用例

zrlog系统接口测试用例的字段可以设计为3个部分,分别是主测试用例的字段(重要)、配置信息的字段、执行结果记录的字段。
1)设计注册用例的字段
主测试用例的字段一般包含用例标识的字段、请求信息的字段和响应信息的字段,响应信息的字段一般作为接口用例执行结果的断言字段;另外由于本接口涉及cookies信息及接口之间的关联信息,所以需要加上cookies字段及接口关联字段。基于以上规则,zrlog系统主测试用例的字段设计如下表所示
主测试用例的字段
| 主测试用例字段名称 | 含义 | |||
| id | 用例标识字段,代表用例的编号 | |||
| web | 用例标识字段,代表项目名称 | |||
| module | 用例标识字段,代表项目模块 | |||
| title | 用例标识字段,代表用例的标题 | |||
| url | 请求信息的字段,代表接口地址的路径 | |||
| method | 请求信息的字段,代表请求方法 | |||
| headers | 请求信息的字段,代表请求头 | |||
| cookies | cookies秘钥 | |||
| request_body | 请求信息的字段,代表请求主体信息 | |||
| request_type | 请求信息的字段,代表请求主体的数据类型 | |||
| relation | 关联 | |||
| expected_code | 响应信息的字段,代表预期业务状态码,作为断言的标准 | |||
| isdel | 测试用例是否可运行,0代表即将删除的用例,1代表可正常运行的用例 | |||
2)设计配置信息的字段
配置信息的字段一般用来存放接口自动化框架中所需要的各类环境配置信息,在zrlog系统中对配置信息设置了4个常用字段
配置信息的字段
| 配置信息字段的名称 | 含义 | |||
| id | 配置信息序号 | |||
| web | 项目名称 | |||
| key | 环境信息字段 | |||
| value | 环境信息的值 | |||
3)设置执行结果的字段
执行结果记录的字段主要用来存放测试用例执行的最终结果及相关的信息。具体需要设置哪些字段可根据项目情况灵活决定。在zrlog系统中对执行结果的记录设置以下常用的5个字段
执行结果记录的字段
| 执行结果记录字段的名称 | 含义 | |||
| id | 执行结果记录的序号 | |||
| case_id | 被执行测试用例的id | |||
| times | 执行结果更新的时间 | |||
| response | 程序运行的实际结果 | |||
| result | 用例执行是否通过 | |||
4)设计测试用例内容并解决关联关系
接口测试用例与功能测试用例本质上并无区别,常用的设计方法有:有效、无效、边界、错误推测、场景法、正交法等。接口测试包含单接口测试和多接口测试,单接口测试是指针对单个接口的用例进行设计,而多接口测试是指针对多个接口的用例设计,一般是基于正向的业务流程去设计用例,并且要处理上下游接口的关联关系。基于此规则,对于我们的5个接口,共设计出11条测试用例。其中登录接口为单接口,设计7条。其他4个接口为多个接口,一共4条。
分别是
| 用例模块 | 标题 | |||
| 登录 | 密码错误 | |||
| 登录 | 不带密码参数 | |||
| 登录 | 用户名错误 | |||
| 登录 | 用户非字符串类型 | |||
| 登录 | 不携带用户名参数 | |||
| 登录 | 用户名为空字符 | |||
| 登录 | 用户名密码正确 | |||
| 文章管理 | 发布文章 | |||
| 文章管理 | 修改文章 | |||
| 文章管理 | 删除文章 | |||
| 文章管理 | 查询文章 | |||
5)执行结果记录字段的内容是由程序运行之后自动填充,无须手工填写


END