接口测试用例设计理论

如何开展接口测试

1、找开发或者测试主管获取接口说明文档
作用:开发测试脚本的依据
2、熟悉业务,设计测试用例,准备测试数据
3、根据接口说明文档开发接口测试脚本,执行脚本。
自动获取接口文档swaggerhttps://swagger.io/
接口说明文档示例
在这里插入图片描述

接口测试点

1、接口测试可用性
2、接口输入参数个数及命名
3、输入参数的必填项
4、输入参数的合法性
5、输出参数内容的正确性
6、接口实现功能验证
7、接口文档规范性
8、接口传递参数的安全性

接口可用性
一、主要测试接口是否可用,接口是否存在、接口的协议类型。
二、测试用例中包括:
1、依据接口文档中给定的接口地址和协议方法能够访问到该接口
2、使用错误的协议方法无法按照接口地址进行访问
3、使用正确的协议方法无法按照错误的接口地址进行访问。

输入输出参数个数及命名
一、主要测试接口包含的输入输出参数的个数以及各个参数的命名是否正确
二、测试用例包括:
1、依据接口文档检查输入参数的个数以及命名是否和文档一致
2、依据接口文档检查数参数的个数以及命名是否和文档一致(注意检查输出的正常参数和异常参数)
3、输入错误的参数,接口会报错,并且有错误信息返回

输入参数的必填项
一、主要测试接口对输入参数的可选与必填的要求。
二、测试用例包括:
1、按照接口文档对所有必填的输入项依次不输入,检查接口是否给予报错信息返回
2、按照接口文档对所有必须输入的输入项,检查是否可以正确数据返回,无报错信息。

输入参数的合法性
一、主要对参数的录入规范要求进行检查。
二、测试用例包括:
1、依据接口文档,有明确的要求(如:只能有数字组成,在以下几个可以选值中选择,只能由字母组成,长度最多为多少,格式为时间格式)输入参数,检查是否符合要求。
2、依据接口文档,没有明确要求的输入参数,依次测试长度超长,含有特殊字符、全角半角等情况
3、检查接口是否报错,给予错误返回信息。

输入参数内容的正确性
一、主要对参数的内容是否和后台真实数据一致进行检查。
二、测试用例包括:
1、考虑多种输入的组合情况,依次测试在这些组合情况下接口返回的数据的名字内容是否正确,要具体检查每个字段的内容。一般通过与后台数据库数据对比来进行检查。
2、考虑多种输入参数的组合情况,依次测试在这些组合情况下接口返回的数据中涉及输入参数的项,是否和最初输入的值一致。

接口实现功能验证
一、主要对接口操作具体功能是否正确的运行进行检查。
二、测试用例中应包括:
1、输入正确的参数,检查接口对应要实现的后台功能,是否正常运转。例如:对一个启动接口发送启动的命令。接口对应的后台系统能够正常启动并返回正确的参数。
2、输入错误的参数,检查接口要实现的后台功能,是否没有实现。

接口文档规范性
一、主要对开发提供的接口文档是否规范准确进行检查。
二、测试用例包括
1、接口文档中对于输入输出参数都有准确的命名,不存在模糊情况。
2、接口文档对于每一个参数都有明确的类型说明,是否必填。是否有默认值。
3、接口文档对于每一个输入的参数都要明确的基本录入要求。比如、长度,数字类型,string,,,
4、针对接口如果有多种类型的输出参数组合且参数的命名或个数有不同,这种情况要在接口我呢的那个中罗列清晰。并明确指出,出现这种类型的输出参数的条件。

接口传递参数的安全性
1、接口参数加密传输
2、防止SQL注入

测试用例组成

1、初始化测试数据。
2、调用接口,传入输入数据,发送请求。
3、断言输出结果。

二篇

单接口测试

1. json格式测试

通常POST/RPC接口请求参数都是json格式,那么就需要去测试 如果传递非json的情况,这时候程序会不会正确的处理,返回相应的error code。

2. 默认值测试

很多情况一些参数会有默认值,比如说一个查询的接口,参数count定义为返回查询结果数量, 默认为10,那么就应该有一条case来测试,当然前置条件是数据库里面必须要存在超过10条的数据。

3. 异常类型测试

比如上面的count参数,这个参数的类型一定是可以转换为int类型的,这时候我们需要测试如果传的一些不可以 转换为int类型值来测试代码是否加入判断

4. 必传项测试

如果接口的参数有必传项,那么需要测试覆盖不传这个参数场景接口返回情况,检查是否会提示相应的error code

5. 非必传项测试

如果接口有非必填项,当不传递这些参数的时候会不会正常的返回相应的结果 。

6.非空测试

无论是必传的和非必传的参数,传递的key是正确的,但是value=null,这时候返回结果是否正确 。

7.业务逻辑测试

传递正确的参数,接口对数据库进行查询的操作,需要去验证数据库查询是否正确,接口对数据库进行增删改的操作,也需要看数据库是否同步进行了这些操作。

8.兼容性测试

比如说今天接口进行了调整,但是前端没有进行变更,这时候需要验证新的接口是否满足旧的调用方式。

9.错误码测试

通用的错误码与业务错误码是否能够清晰的说明调用问题,错误码是否能够尽可能的全的覆盖所有的异常调用情况。

10.数据异常测试

假如数据库设计为32位varchar类型,那么如果传33位数据是什么情况,会不会抛出相应的错误码,而不会抛出数据库异常。

11.返回值测试

返回值除了内容是正确的,还需要数据类型也是正确的,保证调用方拿到这些数据能够正确的解析和使用。

12.加密测试

一般登陆接口会对用户输入的密码进行加密处理以防止用户明码泄露导致用户信息泄露。测试需要对加密后的数据进行测试,检查是否做正确加密。

组合接口测试

单接口测试通过后,需要将多个单接口组成连续的场景,比如说投资接口需要用到一个类似token的参数,而这个参数是登陆接口获取到的,所以就需要先调用登陆接口,然后再去调用投资接口。还有就是 像数据权限与操作权限这些,都会依赖一些其他的接口,那么把这些依赖的接口组成一个场景来测试数据的 正确性。还有一部分接口是内部调用的,比如说注册接口,在注册的时候通常需要获取一个验证码,然后输入 验证码再进行提交注册的操作,在这过程中,验证验证码的操作是在注册的内部完成的,那么其实在组合场景 的时候就不需要再去中间加入验证验证码的接口。

常用接口测试工具
1、 postman
2、jmeter

总结

1. 接口测试小结
1、检查接口返回的数据是否与预期结果一致。
2、检查接口的容错性,假如传递数据的类型错误时是否可以处理。例如上面的例子是支持整数,传递的是小数或字符串呢?   
3、接口参数的边界值。例如,传递的参数足够大或为负数时,接口是否可以正常处理。
4、接口性能,接口处理数据的时间也是测试的一个方面。牵扯到内部就是算法与代码的优化。   
5、接口的安全性,如果是外部接口的话,这点尤为重要。

2. 单接口与组合接口测试区别
1、单接口 单接口入参,出参
入参:参数边界值、类型、非必传、必传 、空、非空、兼容性测试、业务逻辑测试
出参:数据类型、结果与MySQL表数据比较、响应码(正确码、错误码)、数据的准确性(比如四舍五入的情况、浮点被强制成整型等)
权限(重要):token失效(有效)
性能:响应时间

2、组合接口 结合测试场景(要结合业务),编写相应的测试用例;场景:比如新建一个客群,验证将其转化为系统客群 是否成功;

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值