编写用例流程:
- 设计测试用例
id、编号、标题、url、请求头、请求数据、期望结果、数据库执行操作等等 - 读取相关的测试用例数据。
一般使用execl - 定义一个测试类,继承unittest.TestCase
或使用pytest,使用pytest注意用例命名:
文件以test_开头或test结尾
类以Test开头
方法以test开头 - 前置后置
包括:setUp、setUpClass、tearDown、tearDownClass - 编写用例
def test_XXX():
4.1 动态替换数据 如果有动态生成的数据需要将请求数据替换后再发送请求
4.2 发送请求
4.3 把期望结果,从字符串转换成 字典对象。
4.4 断言期望的响应结果,以及数据库校验。
此外思考
项目分层
1.即不要配置文件,公共封装,输出日志及报告,测试数据,测试用例在同一级目录
2.最好以英文单词的方式命名分层目录存放文件
模块封装
1.对于会在多个测试用例中调用的操作建议封装层方法与类,作用:避免操作需要改变的时候一个测试用例一个的去改,只需修改封装的类与方法就行
2.常用封装有:日志输出,文件路径选择(如:log、report、testcase、conf),数据库操作,execl文件读取操作,配置文件读取操作,接口鉴权等等
接口参数
- 输入输出参数个数及命名
输入输出参数个数及命名主要测试接口包含的输入输出参数的个数以及各个参数的命名是否正确,测试案例中应包括:
依据接口文档检查输入参数的个数以及命名是否和文档一致。
依据接口文档检查输出参数的个数以及命名是否和文档一致(注意检查输出的正常参数和异常参数)。
输入错误的参数名,接口会报错,并有错误信息返回。
- 输入参数的必输项
输入参数的必输项主要测试接口对输入参数的可选与必输的要求,测试案例中应包括:
按照接口文档对所有必输的输入项依次不输入,检查接口是否给予报错信息返回。
按照接口文档对所有选输的输入项依次检查是否可以不输入参数接口也有正确数据返回,无报错信息。
- 输入参数的合法性
输入参数的合法性的合法性主要对参数的录入规范要求进行检查,测试案例中应包括:
依据接口文档,有明确的要求的(如:只能由数字组成、在以下几个可选值中选择、只能由字母组成、长度最多为多少、格式为时间格式)输入参数,检查是否符合这些要求。
依据接口文档,没有明确要求的输入参数,依次测试长度超长、含有特殊字符、全角半角等情况。检查接口是否报错,给予错误返回信息。
- 输出参数内容的正确性
输出参数内容的正确性主要对输出参数的内容是否和后台真实数据一致进行检查,测试案例中应包括:
考虑多种输入参数的组合情况,依次测试在这些组合情况下接口返回的数据的各字段内容是否正确,要具体检查每个字段的内容。一般通过与后台数据库数据比较来进行检查。
考虑多种输入参数的组合情况,依次测试在这些组合情况下接口返回的数据中涉及输入参数的项,是否和最初输入的值一致。