软件测试接口测试从入门到精通:什么是接口测试

软件测试接口测试从入门到精通:什么是接口测试 01 什么是接口测试 - 打开接口世界的大门本章目标理解接口测试的本质明白为什么要学接口测试建立整体认知框架。1.1 从一个生活例子开始想象你去一家餐厅吃饭你客户端对服务员接口说我要一份宫保鸡丁服务员接口把你的请求传递给厨房服务器厨房服务器做好菜后通过服务员接口把菜端给你在这个例子中你不需要知道厨房怎么炒菜不需要关心内部实现你只需要通过服务员点餐通过接口交互服务员按照标准流程接待你接口有规范如果服务员上错菜你可以立即发现接口测试发现问题接口测试就是验证服务员是否能正确地把你的请求传递给厨房并把正确的结果返回给你。1.2 什么是接口API官方定义APIApplication Programming Interface应用程序编程接口是两个软件系统之间进行通信和交互的约定和规范。通俗理解接口就是软件之间的翻译官和传话筒┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ 你的App │ --- │ API接口 │ --- │ 后端服务器 │ │ (手机应用) │ │ (约定规范) │ │ (数据处理) │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ │ 我要看商品列表 │ 查询商品表 │ │ ─────────────── │ ─────────────── │ │ │ │ │ 这是商品数据 │ 返回查询结果 │ │ ─────────────── │ ─────────────── │为什么需要接口场景没有接口有接口手机App获取数据直接连数据库危险通过API安全获取第三方登录每个App都要开发登录系统调用微信/QQ登录API前后端分离开发必须等对方完成才能开始约定好接口并行开发系统扩展改一处处处报错接口不变内部随便改1.3 什么是接口测试定义接口测试是测试系统组件间接口的一种测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。接口测试测什么功能测试接口能否正确实现功能、参数传递是否正确、返回值是否符合预期、错误处理是否合理性能测试响应时间、并发处理能力、吞吐量、稳定性安全测试认证与授权、参数篡改、SQL注入、敏感信息泄露兼容性测试不同客户端、不同版本、数据格式兼容接口测试 vs UI测试对比维度接口测试UI测试测试层级服务端逻辑前端展示执行速度快毫秒级慢秒级稳定性高不受UI改动影响低UI一变就报错维护成本低高发现问题阶段早期后期覆盖范围业务逻辑、数据处理用户交互、页面展示适合场景验证数据正确性验证用户体验类比接口测试 检查汽车的发动机、变速箱是否正常工作UI测试 检查汽车的外观、仪表盘、按钮是否好用1.4 为什么要学接口测试学接口测试的5大理由理由1市场需求大 打开任何招聘网站搜索测试工程师80%的岗位要求熟悉接口测试熟练使用Postman/JMeter有接口自动化测试经验理由2薪资更高 岗位平均薪资一线城市功能测试纯UI8-12K接口测试工程师12-20K接口自动化测试18-30K测试开发工程师25-40K理由3效率更高 ⚡接口测试执行一次 几毫秒UI测试执行一次 几秒到几十秒回归测试时接口测试可以节省90%的时间理由4发现问题更早 越早发现Bug修复成本越低理由5技术成长快 学接口测试你会顺便学会HTTP协议和网络知识一种编程语言Python/Java数据库操作Linux命令持续集成工具1.5 接口测试的层次测试金字塔原则底层单元测试最多开发负责中层接口测试重点测试负责 ⭐顶层UI测试最少测试负责1.6 接口测试的流程步骤做什么输出物1. 需求分析理解业务需求明确测试范围测试需求文档2. 接口文档分析分析接口文档理解入参出参接口分析清单3. 测试用例设计设计正常/异常场景用例测试用例集4. 测试环境搭建准备测试数据和工具可用测试环境5. 执行测试手动或自动执行用例测试结果6. 缺陷管理提交、跟踪、验证Bug缺陷报告7. 测试报告汇总测试结果测试报告8. 持续集成接入CI/CD流水线自动化流水线1.7 常见接口类型一览接口类型数据格式常见场景测试工具RESTful APIJSON/XMLWeb应用、移动AppPostman、curlSOAPXML企业级应用、金融系统SoapUIgRPCProtocol Buffers微服务内部通信BloomRPCGraphQLJSON灵活查询场景GraphiQLWebSocketJSON/二进制实时通信、聊天Postman、wscat1.8 本章小结核心知识点什么是接口软件间的翻译官API Application Programming Interface前后端交互的桥梁什么是接口测试验证接口功能正确性验证性能、安全、兼容不依赖UI的测试方式为什么要学市场需求大、薪资高、效率高、问题发现早、技术成长快接口类型HTTP/RESTful、SOAP、RPC、GraphQL、WebSocket课后练习 思考题你手机上常用的App如微信、抖音、淘宝它们是如何获取数据的试着描述一下数据流转过程。实践题打开浏览器的开发者工具F12访问一个网站在Network标签页观察接口请求看看你能发现什么讨论题为什么接口测试比UI测试更适合做自动化1.9 下章预告下一章我们将深入HTTP协议学习请求方法、状态码、请求头/响应头这是接口测试的基石接口是软件世界的通用语言学会接口测试你就掌握了与任何系统对话的能力。