API自动化测试

接口测试点

2020-06-29  本文已影响0人  Jeff_9021

关键词:接口测试点

接口功能测试点

接口文档规范性

接口可用性

接口实现功能验证:

      1.输入输出参数个数及命名

      2.输入参数的必填项

      3.输入参数的合法性

      4.输出参数内容的正确性

接口传递参数的安全性

接口可用性

主要测试接口是否可用、接口是否存在、接口的协议类型

测试用例中应包括:

依据接口文档中给定的接口地址和协议方法能够访问到该接口。

使用错误的协议方法无法按照接口地址进行访问。

使用正确的协议方法无法按照错误的接口地址进行访问。

输入输出参数个数及命名

主要测试接口包含的输入输出参数的个数以及各个参数的命名是否正确。

测试用例中应包括:

依据接口文档检查输入参数的个数以及命名是否和文档一致。

依据接口文档检查输出参数的个数以及命名是否和文档一致(注意检查输出的正常参数和异常参数)。

输入错误的参数名,接口会报错,并有错误信息返回。

输出参数内容的正确性

主要对输出参数的内容是否和后台真实数据一致进行检查。

测试用例中应包括:

考虑多种输入参数的组合情况,依次测试在这些组合情况下接口返回的数据的各字段内容是否正确,要具体检查每个字段的内容。一般通过与后台数据库数据比较来进行检查。

考虑多种输入参数的组合情况,依次测试在这些组合情况下接口返回的数据中涉及输入参数的项,是否和最初输入的值一致。

接口实现功能验证

主要对接口操作的具体功能是否正常运转进行检查。

测试用例中应包括:

输入正确的参数,检查接口对应的要实现的后台功能是否正确运转。例如:对一个启动接口发送启动的命令,接口对应的后台系统能够正确启动并返回正确的参数。

输入错误的参数,检查接口对应的要实现的后台功能是否没有运转。

接口文档规范性

主要对开发提供的接口文档是否规范准确进行检查。

测试用例中应包括:

接口文档中对于输入输出参数都有准确的命名,不存在模糊的情况。

接口文档对于每一个参数都有明确的类型说明,是否可选还是必输,是否有默认值。

接口文档对于每一个输入参数都有明确好基本的录入条件,比如长度最长多少、只能为数字还是字母、不能含有特殊字符等。

针对一个接口如果有多种类型的输出参数组合且参数的命名或者个数有不同,这种情况,要在接口文档中罗列清晰,并明确指出出现这种类型的输出参数的条件。

接口传递参数的安全性

(1)是否能绕过验证:比如购买商品,提交订单时候,通过接口修改商品价格,验证是否能提交成功;

(2)是否能绕过身份授权:比如某个功能只有A权限用户可以使用,通过接口传B权限用户,验证是否能使用该功能;

(3)关键参数是否加密:比如登陆接口的用户名和密码是否加密 ;

(4)加密安全规则是否复杂。

(5)防止SQL注入攻击

SQL注入的原理

定义:利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力。

用于没有对用户的输入数据进行必要的合法性判断,导致了攻击者可用提交一段数据库查询代码,根据程序返回的结果,获得一些他想要得到的数据。

举例:在用户名输入框中输入:’or 1=1 #,密码随便输入,这时候的合成后的SQL查询语句为:select * from users where username = '' or 1=1 #' and password = md5('')

等价于:select * from users where username = '' or 1=1

异常验证包括两种:一种,不按照接口文档上要求输入参数(比如:必传非必传、参数类型、入参长度);另一种,是一些异常的场景(比如:网路连接异常,数据库连接不上,服务断开重连等等)。

上一篇下一篇

猜你喜欢

热点阅读