Fork me on GitHub

【基础】接口测试入门篇笔记

一、接口测试描述定义

1)什么是接口

接口就是有特定输入和特定输出的一套逻辑处理单元,规定要程序做什么,但不在其中实现。

2)什么是接口测试

 接口测试,其实就是验证接口内部处理逻辑是否正确;我们既要保证单接口的正确性,也要保证接口的业务逻辑正确性,主要体现在两方面:

 

 正向测试补充:对于接口来说就是接收正确的request入参,检查非法异常request入参返回结果正确性

二、接口测试测试点

 我们通过流程图的形式描述接口测试点

结论:接口测试可以关注于服务器逻辑验证,而UI测试可以关注于页面展示逻辑及界面前端与服务器集成验证

三、接口测试用例设计

1)用例设计过程

首先熟读需求说明书和接口设计文档,了解每一个接口的具体使用场景,

其次根据第一步的需求说明和接口文档编写测试用例(测试要点),

最后了解需求变更导致的用例(测试要点)变化应该及时重新维护完善用例

 2)用例构思结构

1、基本功能测试(业务测试):

根据需求文档和接口设计文档的转译,需要清楚业务流程规则和每个接口的使用场景方式,设计符合业务逻辑和接口使用场景的用例。

 2、边界分析测试:

在基本功能的基础上,开始考虑接口输入输出参数的影响。主要采用等价类划分、边界值分析方法等。

l  覆盖所有的必选参数

l   组合可选参数

l  参数有无、或为null

l  参数的顺序、个数、类型

l  参数类型数值大小、输入的数值的范围

l  参数字串长短,Null-max-max+1

l  参数包含特殊字符

3、参数组合测试:

      在边界分析的基础上,考虑输入条件的各种组合、输入条件之间的相互制约关系。主要使用因果图法进行用例设计。

4、异常情况测试:

接口实现是否对异常情况都进行了处理,接口输入参数虽然合法,但是在接口实现中,也会出现异常,因为内部的异常不一定是输入的数据造成的,而有可能是其他逻辑造成的,程序需要对任何异常都进行处理,比如:某个接口需要先登录获取 sesssion,如果直接调用该接口应该给出相应提示。

5、接口安全测试:

主要包含以下小节

1)接口参数不能是密码明文。
2)需要输入密码做授权校验的操作接口,必须有次数限制,防止对方暴力破解。
3)接口不能返回和功能无关的字段,尤其是密码等敏感字段。
4)不能发布没有使用的接口。
5)控制台和日志均不能打印出密码明文。
6)用户不能进行自己无权限的操作

7)复杂事务流程不能跳过某项流程

8)上传文件接口,如果只能上传图片,不可以上传其他文件或者伪装成图片的可执行文件

9)接口不可以有可sql注入的机会

10)写接口需要防止用户传入字符过长,造成溢出

11)写接口不能写入可造成XSS攻击的内容

参考文章详情:http://www.51ste.com/share/det-512.html

6、接口性能测试:

这个比较容易区分,虽然都需要做性能测试,但关注点确大不相同。

App端性能主要关注与手机相关的特性,如手机cpu、内存、流量、fps等

接口性能主要关注接口响应时间、并发、服务端资源的使用情况等。两种测试时的策略和方法都有很大区别,

所以这部分内容是需要分开单独进行测试的,理论上来说这也是不同的部分。

四、接口测试涉及到的工具流程

五、接口测试质量评估标准

接口测试的质量通常可以通过以下指标进行评估:

1、业务功能覆盖是否完整;

2、业务规则覆盖是否完整;

3、参数验证是否达到要求(边界、业务规则);

4、接口异常场景覆盖是否完整;

5、接口的所有参数是否覆盖

6、接口覆盖率是否达到要求;

7、代码覆盖率是否达到要求;

8、性能指标是否满足要求;

9、安全指标是否满足要求。 

六、接口测试总结

接口测试的执行方式、设计思维都和业务测试不完全一致,它们既有交集又有差异。

交集部分:

          1)两者都会涉及到业务逻辑测试

差异部分:

    1)接口测试更加关注数据驱动的业务流程,后端返回的数据是否正确,接口是否正常

    2)功能测试侧重点在于前端ui界面,数据展示,图形界面,业务逻辑操作等

 

posted @ 2022-02-09 11:49  橘子偏爱橙子  阅读(202)  评论(0编辑  收藏  举报