一 接口自动化测试用例设计方法
1.1 接口参数覆盖
接口测试通过输入使用参数组合,获得服务器返回值,并更具预先设置的规则判断是否符合预期值。在接口测试中,根据接口的功能不同,需要侧重检测的方面也不同。主要从以下几个方面考虑测试用例设计:
1)参数类型(数值型,字符型,布尔型,枚举型,组合类型)
eg:特定接口字段对入参的参数类型有要求
2)异常值:null,空字符
eg:必要参数不允许为空,比如账号/密码登陆
3)边界值
eg:有限定取值范围的字段
4)默认值
eg:非必选参数,未传值时采用默认值
5)非法值
- 类型不匹配
- 超出类型范围
- 超出操作系统限制
- 系统关键字
6)参数组合
7)全对偶组合
保证每个参数和其他参数都有组合出现,即采用尽可能少的组合覆盖尽可能对的参数
8)单点失效
单个参数使用非法或异常值,其他值保证正常取值
9)多点失效
多个参数使用非法或者异常值,其他采用正常取值
1.2 场景覆盖
a.从用户的角度进行设计的测试覆盖。主要是模式用户的业务操作,达到对用户行为的覆盖
b.场景测试优先覆盖正常路径,其测试分支路径以及异常路径
c.测试场景保持独立性和原子性,每个测试场景完成独立的功能,不受其他操作的影响
二 测试断言设计
自动化测试中的测试通过条件,断言用于判断测试永猎执行结果是否符合预期
设计原则:
- 尽量保持断言形式统一
- 选择具有明确的message参数的断言方法,使断言结果的可读性更强
- 选择断言的对象需要准确,有代表性
- 不使用接口相应数据作为唯一断言,需结合数据库相应数据变化做断言
三 自动化用例编写规范
- 一个脚本就是一个完成的用例
- 用例中正向逻辑为主,逆向逻辑为辅
- 用例之间不要产生关联性,即编写的每一个用例都是独立的,不依赖或影响其他用例脚本
- 整个脚本中支队验证点进行验证,不需要对整个脚本每一步都做验证
- 测试用例的上下文有一定的顺序性,能够相互连接,并且前置条件清晰
- 尽量把重复的任务放进一个方法中,这个它可以被多个测试用例掉用
- 测试用例只要不匹配预设的验证点,抛出合适的异常并提供详细的失败信息
- 前置条件的准备尽量调取功能接口完成,非必要情况不使用直接修改数据库字段值的形式(必要情况下也要保证修改字段不影响其它数据或系统功能)
- 统一命名方式,测试用例模块名,方法名以及testApp名称命名