关于接口测试用例的编写

一、接口测试的测试方案规格建议可以有如下几点:

1、需求所涉及的接口的背景描述

2、接口跟页面功能交互的关联关系

3、接口逻辑的流程图

4、接口文档定义

5、接口所涉及的缓存,以及缓存对应的key值,失效时间定义

6、接口所涉及的SQL,以及数据库表字段定义

7、接口历史功能验证(新增接口测试不需要)

8、接口涉及话单,短信,推送消息等描述

9、接口涉及的配置参数和开关等描述

10、接口设计的基本流程描述

11、接口涉及的正常用例测试点设计

12、接口涉及的异常用例测试点设计

二、页面测试用例设计

页面功能测试主要是由3大块的组成:

1.页面功能展示:

页面功能展示主要是校验一些页面的静态图片、字体、间距、排版等等之类的内容显示是否规范,具体的校验可以通过需求中的原型图比例标注进行校验。

2.页面跳转展示:

需要校验页面上所有可以点击的链接按钮是否都可以跳转到指定的页面,跳转过程中页面加载loading动画是否正确,具体的标准可以跟PD确认

3.页面逻辑校验:

页面展示的数据也是有逻辑的。(前端展示的状态需要跟后端配置的数据一致)

4.其他:

我们在做页面功能测试的时候也需要考虑一些异常的场景测试,暂时总结出来的主要包括几种:

  • 数字,字母,符号,表情等输入校验
  • 超长字符,最小字符长度验证
  • APP端和PC端同步操作时数据同步校验
  • 网络连接中断后重新连接测试

三、页面测试用例编写

主要可以通过三个基础的步骤来完成:

  1. 测试用例分级目录:可以根据测试方案中罗列的大的测试点来进行分级,根据个人习惯来进行,尽量将同一个功能点的用例都放到同一级目录中.
  2. 测试用例标题描述:测试用例标题描述为这条用例功能点校验的简述,尽量用一句话来描述,不要太长.

四、接口测试用例设接口测试时涉及到的功能主要包括四大类:

  1. 接口本身的逻辑、参数校验
  2. 接口涉及的服务器的定时任务和参数配置校验
  3. 接口涉及的缓存信息、缓存加载方式、失效时间校验
  4. 数据库的job(定时)任务、存储过程、执行SQL验证

五、接口本身的逻辑、参数校验:

  • 接口的逻辑校验,可以参照接口流程图来进行设计,一个分支需要作为一个场景去进行测试,需要覆盖到流程图里面所有的逻辑分支
  • 接口的参数校验,可以参照接口文档中的参数定义去进行验证,需要覆盖到所有参数对应的枚举值以及错误码等信息

六、接口涉及的服务器的定时任务和参数配置校验:

  • 服务器的定时任务配置,一般都是以Crontab方式和Crontrigger两种方式去进行配置的,测试时将任务配置到对应的时间后,查看任务是否可以正常执行即可
  • 服务器的参数配置主要都是配置在服务器的配置文件中,配置文件一般都是以:XXX.properties文件命名,不同的配置可能会存在于不同的文件中,这个需要具体问题具体看待,测试时需要按照不同的场景去修改不同的配置参数进行验证

七、接口涉及的缓存信息、缓存加载方式、失效时间校验:

  • 缓存信息主要是校验key-value值是否是按照需求文档中设计的要求即可
  • 缓存加载方式:需要区分同步加载和异步加载的方式去进行测试,由于redis缓存默认配置是同步加载,如果不是特殊场景可以不需要考虑异步加载操作
  • 失效时间验证:验证缓存在配置的时间内是否可以自动失效,redis缓存在失效后会自动清除,验证清空即可

八、数据库的job任务、存储过程、执行SQL验证

  • 数据库的job任务一般都是调用某个存储过程去进行操作的,可以将job任务配置到某一个时间去执行即可
  • 存储过程验证,可以在存储过程操作的指定的表中去插入数据,然后再去查看存储过程执行完成后目标表信息是否插入正确即可
  • 执行SQL验证,查看SQL的执行计划是否符合要求即可

其他:

一个系统越大,系统中所涉及的接口也会越来越多,所以为了保证接口的稳定性以及业务的流畅性,避免一些接口修改引入的问题,接口测试时,最好是配合性能和自动化工具一起测试

九、接口测试用例编写

接口测试用例编写,主要可以通过三个基础的步骤来完成:

  • 测试用例分级目录:根据接口流程图中的主分支来进行分级,后续的副分支再进行细化即可
  • 测试用例标题描述:校验当前接口需要验证的场景,尽量用一句话来描述,不要太长
  • 测试用例详细描述:用例的详细描述中也可以分为三个步骤,包括:预置条件,操作步骤,预期结果
  1. 预置条件:预置接口对应表的原始数据,预置接口对应的用户信息
  2. 操作步骤:调XXX接口,请求中传入XXX报文
  3. 预期结果:接口返回XXX数据,且数据库的XXX表中更新某条记录,缓存中更新某条记录,服务器中需要记录某些日志信息等

你可能感兴趣的:(接口测试)