共计 2332 个字符,预计需要花费 6 分钟才能阅读完成。
Testerhome 社区爱好者合力编写了《2021 接口测试白皮书》,并于往年 2 月底公布。本文节选自其中的的「平安测试」章节。点击链接可下载完整版《2021 接口测试白皮书》。
01 前端交互测试
前端页面与后端代码之间的交互测试,能够了解为接口功能测试的一个子集。
测试筹备
在进行交互测试前,首先要对前端性能有明确的认知,可能明确辨别:
- 什么性能属于前端页面逻辑性能
- 什么性能又属于前端与后端交互性能
- 前端性能与后端是通过什么接口方式进行交互
- 前、后端,单方有什么样束缚
在这里提到了束缚这个概念,在理论我的项目研发过程中,功能测试阶段所产生 的 bug,有很大一方面是因为前、后端沟通不彻底,需要确认含糊导致。在进入研发前,单方将各自 后续因为 bug 导致的反工工作量。
测试方法
能够应用抓包工具来进行交互层面测试,查看每个交互性能,对应的接口是否正确(蕴含申请头、申请参数、响应以及其余束缚项),确保前端依照后端的要求正确地进行了调用。
在交互过程中,针对一个接口也会有多个场景,前端会依据不同的入参来调 用不同的场景,依据不同响应后果,进行响应数据的改写,来取得不同响应,验证不同响应下前端的展现成果。在这里咱们也能够应用一些 不同场景的交互测试。
举荐 Mock 工具:
- moco 框架:https://github.com/dreamhead/…
- easy-mock: https://github.com/easy
- Metersphere 一站式测试平台上也能够定义
02 后端逻辑测试
接口后端逻辑测试仍然遵循“输出—解决—输入”这样的模式。用户输出一串数据,而后让这个接口或者让这个后盾性能来解决,查看输入后果跟冀望是否一 致。
接口测试用例设计应该满足需要文档,且对异样场景进行敌对解决;且测试 这个接口是否装置接口文档进行开发
测试用例设计思路
- 从输出参数进行思考设计
1)优先级 - 针对所有接口
1、裸露给其余零碎、第三方调用的接口
2、零碎外部调用的外围性能接口
3、零碎外部调用的非核心性能接口
2)优先级 - 针对单个接口
1、正向测试用例优先,逆向测试用例次之(通常状况下是这样);
2、是否须要满足前提条件 > 是否携带默认值参数 > 参数是否必填 > 参数之间是否存在关联 > 参数数据类型限度校验 > 参数数据类型本身的数据范畴值 限度校验。
3)设计剖析
从接口测试后端业务逻辑来讲,设计接口测试用例须要思考以下几方面:
1、是否满足前提条件 有的接口须要首先满足肯定条件,才可胜利获取数据。最常见的就是需 要用户登录信息的接口(用户 token)逆向用例:设计不满足前置条件的用例。
2、是否携带默认值参数 正向测试用例:存在默认值的参数都不填写、不传参,必填参数都填写正确并且存在正 确的惯例值,这方面思考设计测试用例。
3、业务逻辑、性能需要 这个环节须要依据具体的业务需要,后果接口定义文档,可设计出多条 正向用例和逆向用例。
4、参数是否必填 针对每个必填参数,设计一条或多条参数值为空的逆向测试用例。
5、参数之间是否存在关联 可依据参数之间的互相关联关系设计一条或多条用例。
6、参数数据类型限度 针对每个参数类型设计与定义的类型不符的逆向测试用例。
7、参数本身的数据范畴值限度校验 针对所有参数,设计每个参数在数据范畴内为最大或者最小的正向测试用例;针对所有参数,设计一条或者多条参数值超过或者小于数据范畴的逆向 测试用例;
总结一下,如果以上几个方面思考全面的话,根本可笼罩以下三点:
a、主流程测试用例:失常的主流程业务需要校验
b、分支流程测试用例:失常的分支流程需要校验
c、异样流程测试用例:异样业务场景的容错校验
- 从输入参数进行思考设计
1、输入构造是否与接口文档定义的统一
2、输入的各个字段类型是否与接口文档定义的统一
3、输入的各个字段的值是否合乎逻辑且值正确
测试环境
进行接口测试之前首先须要与开发确认好测试环境,通常状况下,须要在三 个环境进行测试:测试环境、准生产环境及生产环境。
为了方便快捷切换接口测试环境的 host 指向,咱们可借助以下工具进行切 换:SwitchHosts、Nohost、postman 等。
测试形式
- 手工测试
手工测试就是借助浏览器或者局部测试工具(postman、Jmeter 等)手动执 行测试用例的过程。针对新开发接口倡议首先进行全面的手工测试后再将局部可 反复执行用例退出自动化测试。
- 自动化测试
接口测试绝对容易实现自动化,且绝对 UI 自动化也比较稳定,能够缩小人 工回归测试人力老本与工夫,缩短测试周期,是反对后端疾速发版需要,达到低 老本高收益的本源。
接口自动化测试同样须要有需要剖析、用例设计,根据用例设计应用 python 或者 java 等语言联合框架,编写自动化测试脚本,实现接口自动化测试、主动 执行及主动发送测试报告等环节。
一个好的接口自动化测试框架应该涵盖以下几点:
a) 流程方面:在回归阶段增强接口各种场景的覆盖度,并逐渐向零碎测试,冒烟测试阶段延长,最终达到全流程自动化。
b) 后果展现:更加丰盛的后果展现、趋势剖析,品质统计和剖析等。
c) 问题定位:报错信息、日志更精准,不便问题复现与定位。
d) 后果校验:增强自动化校验能力,如数据库信息校验。
其余关注点
以下这部分测试同业务逻辑测试等同重要,甚至从某种意义上讲,比业务逻 辑测试更加重要,测试过程中不容忽视。
▼ 接口测试系列
接口测试系列之——接口平安测试
接口性能测试计划剖析
今日份的常识已摄入~
想理解更多前沿测试开发技术:欢送关注「第十届 MTSC 大会·上海」>>>
1 个主会场 +12 大专场,大咖星散精英齐聚
12 个专场包含:
知乎、OpenHarmony、开源、游戏、酷家乐、音视频
客户端、服务端、数字经济、效力晋升、品质保障、智能化测试