接口测试背景和必要性
接口测试是测试系统组件之间的API测试。 它主要用于检测内外系统和内部子系统之间的交互质量。 测试的重点是检查数据交换和传输、控制和交互的准确性。 管理流程,系统之间的逻辑依赖等。
现在的互联网应用(Apps)一般都是基于前后端分离的架构,即后端提供数据接口,前端调用接口返回JSon数据渲染到UI . 随着微服务的普及和越来越多的后端服务模块,技术团队迫切需要一种更高效、更稳定的获取系统质量信息的方法,用于缺陷检测和质量监督。
分层自动化的真实企业后端服务和关键质量保证方法
以往基于UI自动化测试技术的思路和方法,效率低、复杂、容易出错,已经无法满足实际需求。 然而,面向服务的界面自动化测试系统应运而生,成为业界最主流的质量管理方式。 尤其是对于高复杂度的互联网企业平台,系统越复杂,接口测试自动化和持续集成的效果就越明显。 业界已经拥有成熟的低成本、高效率的解决方案、开源工具和案例经验。 如今,熟悉和掌握界面自动化测试技术也成为一线互联网公司对中高级测试开发工程师的基本要求。
接口测试的质量目标
构建完整的接口自动化测试系统主要从以下几个方面考虑:
· 质量维度
功能正常:保持新旧版本兼容;
正常性能:单个请求的响应时间与整体qps有关;
变化检测:缺失字段、字段类型变化;
异常和稳健性测试。
·质量体系
在接口层建立快速稳定的质量保证体系;
建立接口监控系统。
接口测试流程
企业内部实现接口测试的实际过程如下:
1、接口范围:需要覆盖多少服务和接口
2.接口分析:接口协议、上下游依赖
3.接口测试用例设计:如何模拟和覆盖业务用例
4.接口测试框架选择:选择合适的框架
5.测试用例编写与维护:用例编写与维护更新
6.持续集成:持续集成测试
待测接口范围
需要测试的常用接口范围如下:
1、业务需求调研:研发和产品反馈经常出现问题
2.接口文档:手动文档、Swagger自动生成的文档
3、代码分析:分析Spring等框架的代码
4.在线日志和数据:在线生产监控和接口日志
5、客户端抓包:基于用户视角的接口行为分析
常见捕获分析
1.监控分析:TCPDUMP WireShark HAR提取工具
2.代理分析:Charles BurpSuite
3.转发解析:修改Host域名和反向代理转发
测试用例设计
接口调用过程分析:
· 代理捕获
· 在线日志提取
· 人工用例补充:使用流程图和思维导图进行业务建模
· 普通场景用例 Right Path
· 异常场景用例
· 安全稳定用例
接口测试框架选择
关于如何选择接口测试框架,列举几个常用的框架特性以供参考:
1、前期:基于各种语言的HTTPClient封装
2. JMeter:性能测试工具,不具备完整的接口测试框架功能
3. RobotFramework:强大的ATDD工具,但限制太多
4. 放心的招摇
5.SoapUI【商业化】
这里推荐开源的Rest-Assured,有以下优点:
· 简单的接口测试DSL
· 支持XML JSon结构化解析
· 支持XPath、JSonPath、GPath等多种分析方法。
· 对Spring的支持更全面
登陆界面自动化测试系统有哪些技术挑战?
真正实现接口自动化测试系统,测试开发工程师必须根据公司业务的实际情况选择合适的框架,熟练使用接口测试工具和平台,设计通用的、易于验证的 ,健壮且易于使用的界面测试用例。 需要掌握数据驱动机制,能够使用断言来改进接口测试用例。
其次,还需要了解接口测试架构和常见的后端发布机制,能够测试基于RPC协议的微服务框架,例如Dubbo,熟悉测试用例和套件管理机制,能够掌握 Jenkins 执行用例的方法,以便可以实现接口测试。 自动化的。
此外,需要不断优化接口测试计划,进一步通过抓包、hook等方法实现接口测试用例的自动生成,掌握基于接口的快速回归测试方法,提高效率。
熟练掌握界面自动化测试系统背后的这些技巧和解决问题的思路,实现时间、人力、收入的平衡,对于经验不足的初级和中级测试开发者来说,绝对是一项艰巨的挑战。
如需了解更多测试技术信息请关注:深圳多测师软件与技术服务有限公司