Python接口自动化测试:https://www.bilibili.com/video/BV16G411x76E/
什么是接口测试?
接口测试也是一种功能测试
接口测试,其实也是一种功能测试,只是平时大家说的功能测试更多代指 UI 层面的功能测试,而接口测试更偏向于服务端层面的功能测试。
接口测试的目的:
测试左移,尽早介入测试,尽早发现系统更深层的问题,降低问题修复成本。
接口测试测什么
接口测试是为了验证服务端接口内部逻辑的正确性。
而这个正确性也分两方面:
接口能否正确处理正常数据,并返回正确的响应,响应可能包括数据结构、数据内容等;
接口能否正确处理异常数据,并返回特定响应,主要是验证接口的健壮性。
接口正确接受合法请求数据;
接口正确拒绝非法请求数据;
这都属于正向测试。
接口测试的场景
接口测试主要分两种测试场景:
单接口健壮性测试;
多接口场景测试;
单接口测试:
针对单个接口做健壮性测试,会覆盖正常场景以及异常场景,保证接口的正确性和健壮性;
单接口测试不关注用户层面的业务逻辑,只关注接口的内部逻辑,所以它更接近于单元测试。
保证接口能正确处理各种正常、异常场景。
多接口场景测试:
为了验证用户主流程、主功能的业务逻辑的正确性,不需要太多异常场景的验证;
多接口场景测试会更加关注用户层面的业务逻辑,所以它更接近于 UI 层面的功能测试;
比如需要验证一个电商付费流程,可能就包含以下接口:获取商品列表-获取商品细则-加入购物车-提交订单-订单付费,只需要关注正常场景即可。
保证多个接口在正常数据流下能跑通。
单接口测试设计测试用例
什么是接口自动化测试
首先,要知道的是,只说接口测试,也是一种手工功能测试,只是测接口而已,所以接口自动化测试其实就是将接口测试从手工变成自动化。
常见的接口自动化测试方式
方式 | 举例 | 成本 | 上手易难 |
---|---|---|---|
工具 | Postman、Jmeter、Apifox | 低 | 中 |
代码 | Python+Pytest/unittest、Java+junit、HttpRunner | 中 | 高 |
平台 | 各类测试平台 | 高 | 低 |
现在最常用的还是代码型接口自动化测试:Python+requests+pytest+yaml+alluer+Jenkins;
在测试行,大多数都是用python做的自动化,很多企业都是如此,应该说占85%以上。
python:学起来比较简单,各种库简单使用方便。而且对于自动化比较友好。初学者一周就可以学会简单的python基础语言用法。
java:学起来比较难,对于语句要求严格,各个库也有,不过不太兼容。对于初学者来说难上手。学习时间会较久。
工程化自动化
为什么要工程化
提高效率,包括但不限于开发效率、测试效率、维护效率、管理效率;
从流程混乱、耦合严重、依赖人工到规范化、模块化、自动化。
规范化
提高整个项目的可维护性:
版本管理规范:使用 git 来管理代码仓库;
开发流程规范:团队统一研测流程,比如:code review 流程、提测流程、复盘流程等;
编写代码规范:团队统一编写规范,比如:项目结构、项目代码、自动化测试脚本等。
模块化
提高整个项目的可读性;
将一些相关逻辑的内容放在同一个文件夹中。
自动化
能自动化完成的事情绝不让人来做,是工程化的核心:
自动初始化:比如一键安装本地环境,安装依赖项等;
自动执行测试:比如一键测试、一键生成测试报告等;
自动部署:比如使用 Jenkins,流水线的形式管理项目运行的声明周期。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
无论人生路途多么曲折、坎坷,只要我们充满信心,持之以恒奋斗,就能突破种种难关,实现自身的价值和梦想。让我们抛开焦虑和彷徨,披荆斩棘,勇攀成功的巅峰!
生命只有一次机会,让我们抓住她的手,在漫长的人生旅途中勇敢前行。即使路上坎坷崎岖,也要怀揣信心和希望,努力追求梦想与成就。让我们描绘属于自己的未来,用奋斗和汗水铸就人生辉煌!
人生的意义不在于过程,而在于你在这个过程中创造的每一个价值。让我们拥有充满热情的心、无比坚定的信念,在追逐梦想的路上奋勇前行,努力创造出属于自己的精彩与辉煌!