接口自动化测试用例编写规范

一、接口自动化测试用例设计方法

1.1接口参数覆盖

接口测试通过输入使用参数组合,获得服务器返回值,并根据预先设定的规则判断是否符合预期值。在接口测试中,根据接口的功能不同,需要侧重检测的方面也不同。主要从以下几个方面考虑用例设计:

1) 前提条件

  有些接口需要满足前提条件,才可以成功获取数据。

  例:常见的需要登录    token

2)      参数类型(数值型、字符型、布尔型、枚举型、组合类型)

  a.       特定接口字段对入参的参数类型有要求

  例:商品的价格

3)      异常值:null、空字符

  a.       必要参数不允许为空

  例:登录账号/密码

4)      边界值

  a.       有限定取值范围的字段(取值范围内的最大、最小、最大+1、最小-1,范围内取值)

  例:用户可用积分

5)      默认值

  a.       非必选参数,未传值时采用默认值

6)      非法值

  a.       类型不匹配

  b.      超出类型范围

  c.       超出操作系统限制

  d.      系统关键字

7)      参数组合

  采用笛卡尔积的全组合策略。

  例:3个参数,每个参数有5种取值,组合起来就有5x5x5=125个测试用例,优点是覆盖全面,缺点是组合数量巨大,工作量大。

8)      全对偶组合

  保证每个参数和其他参数都有组合出现,即采用尽可能少的组合覆盖尽可能对的参数,覆盖性价比很高。

  例:3个参数,每个参数有5种取值,大约只需25个用例即可覆盖。

9)      单点失效

  单个参数使用非法或异常值,其他值保持正常取值。

10)   多点失效

  多个参数使用非法或异常值,其他采用正常取值。

11)业务规则、功能需求

  根据时间情况,结合接口参数说明,可能需要设计n条正向用例和逆向用例。

1.2场景覆盖

  a.       从用户角度进行设计的测试覆盖。主要是模拟用户的业务操作,达到对用户行为的覆盖。

  b.      场景测试优先覆盖正常路径,其次是分支路径以及异常路径。

  c.       测试场景保持独立性和原子性,每个测试场景完成独立的功能,不受其他操作的影响。

二、测试断言设计

自动化测试中的测试通过条件,断言用于判断测试用例执行结果是否符合预期。

设计原则:

 a.       尽量保持断言形式统一。

  b.      选择具有明确的message参数的断言方法,使断言结果的可读性更强。

  c.       选择断言的对象需准确,有代表性。

  d.      不使用接口响应数据作为唯一断言,需结合数据库相应数据变化做断言。

三、自动化用例编写规范

  a.       一个脚本是一个完整的用例。

  b.      用例中正向逻辑用例为主,逆向逻辑用例为辅。

逆向逻辑的情况较多(例如手机号输错有很多种情况),逆向逻辑按等价类划分法选取具有代表性的用例编写。

  c.       用例之间不要产生关联性,即编写的每一个用例都是独立的,不依赖或影响其他用例脚本。

  d.      整个脚本中只对验证点进行验证,不需对整个脚本每一步都做验证。

  e.       测试用例的上下文有一定的顺序性,能够互相连接,并且前置条件清晰。

  f.        尽量把重复任务放入一个方法中,这样它可以被多个测试用例调用。

  g.      测试用例只要不匹配预设的验证点,抛出合适的异常并提供详细的失败信息。

  h.      前置条件的准备尽量调取功能接口完成,非必要情况不使用直接修改数据库字段值的形式(必要情况下也要保证所修改字段不影响其它数据或系统功能)  。

  i.        统一命名方式,测试用例模块名、方法名以test_api名称命名。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

你可能感兴趣的:(软件测试工程师,自动化测试,软件测试,测试用例,运维,软件测试,自动化测试,功能测试,程序人生,职场和发展)