接口测试之:想去大厂,还不知道接口自动化校验方法有哪些,这一篇,给安排!

简介: 接口测试之:想去大厂,还不知道接口自动化校验方法有哪些,这一篇,给安排!

1. 引言


小屌丝:鱼哥,听说最近忙的很啊~~

小鱼:嗯,这快年底了,这必须的忙啊,不然,哪有银两过年…

小屌丝:也难怪,这平时约妹子这么频,年底了,的统计花销吧!

小鱼:额…扯远了扯远了…

由于这两周加班,编写的内容,一直没有时间copy到博客中,所以…

小屌丝:所以最近也没时间搭理 妹子吗??

小鱼:…


今天来share接口测试自动化校验方法!


总体来说,分三种,不是分三步,如:


基于规则技术

基于对比

基于大数据


2. 基于规则技术


2.1 定义及场景

定义

就一句话:基本思想是利用预先定义好的、比较通用的规则对测试结果进行校验。


无论测试结果如何变化,这些规则都应该是其要遵守的。如果破坏了规则,那么测试用例就自动被判断为失败。


场景

基于规则的技术适用于人工设计的用例和算法生成的用例。


响应体规则


2.2 状态码及响应体规则

2.2.1 状态码规则

状态码规则


200 : 成功

300:重定向

400:客户端错误

500:服务器错误

如果还是不太理解,那就参照小鱼的这篇博文《HTTP状态码总结》。


2.2.2 响应体规则

消息结构规则


结构是否从swagger定义

必填项是否存在

字段类型是否正确

字段值规则


值是否为空

值是否符合字段类型

值是否符合正则表达式


3. 基于对比


3.1 定义及场景

定义

基本思想是将从生产环境或过往成功的测试环境录制的接口数据作为参照物(正确的数据),将当前测试数据与其对比,如果存在不容忽略的差异,那么当前的测试就会失败。


场景

基于对比的技术适用于回归测试和接口录制回放测试。


3.2 技术规则

3.2.1 字段忽略

人工标记忽略字段

自动识别忽略字段


3.2.2 模糊对比


忽略大小写

忽略浮点数

忽略列表顺序


4. 基于大数据


4.1 定义及场景

定义

基本思想是通过挖掘大量历史的接口数据,自动识别和提取数据分布规律。


对于新的数据,自动检测数据其是否是异常数据。对于异常数据,自动产生告警。


场景


基于大数据的技术适用于线上测试和线上监控。


4.2 异常值检测

4.2.1 经验值法

根据自己或团队的经验进行判定


4.2.2 基于机器学习

聚类

孤立森林

这也是小鱼最近在学习的内容


4.2.3 基于统计

K-sigma

箱线图

最大标准残差检验


5. 总结


今天的share内容,就到这里,如果觉得自己不明白或者有更好的内容,欢迎随时补充!!


同时,最后附上脑图,加深理解。

image.png

目录
相关文章
|
1月前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
102 8
|
1月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
51 4
|
1月前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
1月前
|
测试技术 持续交付
探索软件测试中的自动化测试策略
随着软件开发周期的加速和市场需求的不断增长,传统的手动软件测试方法已难以满足现代软件开发的高效性和准确性要求。本文旨在探讨自动化测试在软件测试中的重要性、实施策略及其对提高软件质量的影响。通过分析自动化测试的优势与挑战,以及提供实用的自动化测试工具和框架选择指南,旨在帮助读者理解并应用自动化测试以提升软件开发效率和产品质量。
|
1月前
|
机器学习/深度学习 人工智能 监控
软件测试中的自动化测试策略与最佳实践##
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和加速产品上市的关键工具。本文将探讨自动化测试的重要性,分析不同类型的自动化测试工具和框架,并深入讨论实施自动化测试的最佳实践。通过案例研究和数据分析,我们将揭示如何有效整合自动化测试到软件开发生命周期中,以及它如何帮助团队提高测试效率和覆盖率。 ##
62 1
|
10天前
|
存储 测试技术 API
pytest接口自动化测试框架搭建
通过上述步骤,我们成功搭建了一个基于 `pytest`的接口自动化测试框架。这个框架具备良好的扩展性和可维护性,能够高效地管理和执行API测试。通过封装HTTP请求逻辑、使用 `conftest.py`定义共享资源和前置条件,并利用 `pytest.ini`进行配置管理,可以大幅提高测试的自动化程度和执行效率。希望本文能为您的测试工作提供实用的指导和帮助。
59 15
|
2月前
|
Java 测试技术 API
探索软件测试中的自动化框架选择####
在当今快节奏的软件开发周期中,自动化测试已成为确保产品质量与加速产品迭代的关键策略。本文深入剖析了自动化测试的核心价值,对比分析了市场上主流的自动化测试框架,旨在为项目团队提供选型时的考量因素及实践指南,助力高效构建适应未来变化的自动化测试体系。 ####
|
28天前
|
机器学习/深度学习 人工智能 jenkins
探索软件测试中的自动化与持续集成
【10月更文挑战第21天】 在软件开发的生命周期中,软件测试扮演着至关重要的角色。随着技术的进步和开发模式的转变,自动化测试和持续集成已经成为提高软件质量和效率的关键手段。本文将深入探讨自动化测试和持续集成的概念、实施策略以及它们如何相互配合以优化软件开发流程。我们将通过分析实际案例,展示这些技术如何在实际项目中发挥作用,以及面临的挑战和解决方案。此外,文章还将讨论未来趋势,包括人工智能在测试领域的应用前景。
79 17
|
1月前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
1月前
|
数据管理 测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
在当今快速迭代的软件开发环境中,自动化测试已成为确保软件质量和加速产品上市的关键手段。本文旨在探讨软件测试中的自动化测试策略,包括选择合适的自动化测试工具、构建有效的自动化测试框架以及实施持续集成和持续部署(CI/CD)。通过分析自动化测试的最佳实践,本文为软件开发团队提供了一系列实用的指南,以优化测试流程、提高测试效率并减少人为错误。
70 4