接口测试之交互测试

在看TesterHome社区的时候,偶然看到了接口测试白皮书,其中有一部分内容很受感触,而且免费!!!!!

金山文档在线阅读连接如下:
【金山文档】2021 接口测试白皮书_V1.02
https://kdocs.cn/l/saBhcJaQnPKB

链接: https://pan.baidu.com/s/17qGN188R5SpEtgNFVFPBFA 提取码: hezc

1、测试左移和测试右移

  • 测试左移
    向左扩展,就是让测试介入开发提测之前的部分测试工作。比如,扩展到开发阶段,在架构设计时考虑产品的可测试性,并管理自发测试等。
  • 测试右移
    测试介入服务或应用上线之后的部分。比如,测试人员在产品上线过程中,利用线上的真实环境测试,或者开展线上巡检。

2、前端交互测试

前端页面与后端代码之间的交互测试,可以理解为接口功能测试的一个子集。
(1)、测试准备
在进行交互测试前,首先要对前端功能有明确的认知,能够明确区分,问题:
1、什么功能属于前端页面逻辑功能
2、什么功能又属于前端与后端交互功能
3、前端功能与后端是通过什么接口方式进行交互


image.png

注意:功能测试所产生的bug,在很大一方面是由于前、后端沟通不彻底,需求确认模糊导致。
(2)、测试方法
抓包工具来进行交互层面测试,查看每个交互功能,对应的接口是否正确(包括请求头、请求参数、响应以及其他约束项),确保前端按照后端的要求正确的进行了调用。

在交互过程中,针对一个接口也会有很多个场景,前端会根据不同的入参来调用不同的场景,根据不同响应结果,来展示不同的前端结果。可以使用抓包工具,进行响应数据的改写,来获得不同的响应,验证不同响应下前端的展示效果。


image.png

3、后端逻辑测试

接口后端逻辑测试遵循: 输入-处理-输出模式,即用户输入一串数据,然后让这个接口或者这个后台功能来处理,检查输出结果跟期望是否一致。

接口测试用例设计应该满足需求文档,且对异常场景进行友好处理,且测试这个接口是否安装接口文档进行开发。

测试用例设计思路

一、从输入参数进行考虑设计
(1)、优先级-针对所有接口
1、暴露给其他系统、第三方调用的接口
2、系统内部调用的核心功能接口
3、系统内部调用的非核心功能接口
(2)、优先级-针对单个接口
1、正向测试用例优先,逆向测试用例次之(通常情况下是这样)
2、是否需要满足前提条件>是否携带默认值参数>参数是否必填>参数之间是否存在关联>参数数据类型限制校验>参数数据类型自身的数据范围值限制校验
(3)、设计分析
1、从接口测试后端业务逻辑来讲,设计接口测试用例需要考虑以下几个方面
(1)、是否满足前提条件:有的接口需要首先满足一定条件,才可成功获取数据。最常见的就是需要用户登录信息的接口(用户token)
逆向用例:设计不满足前置条件的用例
(2)、是否携带默认值参数
正常测试用例;
存在默认值的参数都不填写、不传参,必填参数都填写正确并且存在正确的常规值,这方面考略设计测试用例
(3)、业务逻辑、功能需求
这个环节需要根据具体的业务需求,结合接口定义文档,可设计出多条正向用例和逆向用例
(4)、参数是否必填
针对每个必填参数,设计一条或多条参数值为空的逆向测试用例
(5)、参数之间是否存在关联
可根据参数之间的相互关联关系设计一条或多条用例
(6)、参数数据类型限制
针对所有参数,设计每个参数在数据范围内为最大或者最小的正向测试用例
针对所有参数,设计一条或多条参数值超过或者小鱼数据范围的逆向测试用例

总结:如果以上几个方面考虑全面的话,基本可覆盖以下三点;
a、主流程测试用例:正常的主流程业务需求校验
b、分支流程测试用例:正常的分支流程需求校验
c、异常流程测试用例:异常业务场景的容错校验

二、从输出参数进行考虑设计
1、输出结构是否与接口文档定义的一致
2、输出的各个字段类型是否与接口文档定义的一致
3、输出的各个字段的值是否符合逻辑且值正确

测试环境

进行接口测试之前首先需要与开发确认好测试环境,通常情况下,需要在三个环境进行测试:测试环境、准生产环境及生产环境

测试方式
1、手工测试
手工测试就是借助浏览器或者部分测试工具(postman\jmeter等)手动执行测试用例的过程。针对新开发接口建议首先进行全面的手工测试后再将部分可重复执行用例加入自动化测试

2、自动化测试
接口测试相对容易实现自动化,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,是支持后端快速发版需求,达到低成本高收益的根源。
接口自动化测何事同样需要有需求分析、用例设计,依据用例设计使用python或java等语言结合框架,编写自动化测试脚本,实现接口自动化测试、自动执行及自动化发送测试报告等环节。
一个好的接口自动化测试框架应该涵盖以下几点:
1、流程方面:在回归阶段加强接口各种场景的覆盖度,并逐步向系统测试,冒烟测试阶段延伸,最终达到全流程自动化
2、结果展示:更加丰富的结果展示、趋势分析、质量统计和分析等
3、问题定位:报错信息、日志更精准,方便问题复现与定位
4、结果校验:加强自动化校验能力,如数据库信息校验。


image.png

4、HTTP接口测试方式

接口测试功能:测试这个接口的功能是否实现,并且测试这个接口是否按照接口文档来进行开发的。
业务场景测试:一套业务逻辑的关系测试(比如用户登录 -浏览-加购物车-下单-支付-确认订单)
异常测试:建立在接口功能和业务场景测试通过的情况,检查接口在输入异常情况下的处理能力,通常包含参数异常和数据异常。
参数异常:关键字参数、参数为空、参数多少、参数错误。
数据异常:关键字数据、数据长度、数据为空、数据错误。

接口测试之接口测试流程:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容