当前位置: 首页 > news >正文

用Jmeter进行接口自动化测试的工作流程你知道吗?

目录

测试流程

接口测试相关文档管理规范

接口测试要点


测试流程

在测试负责人接受到测试任务后,应该按照以下流程规范完成测试工作。


2.1    测试需求分析
产品开发负责人在完成某产品功能的接口文档编写后,在核对无误后下发给对应的接口测试负责人。测试负责人拿到接口文档需要首先做以下两方面的工作。一方面,测试人员要对接口文档中各个接口的功能以及接口中涉及的各个字段的意义和用途进行理解。另一方面,测试人员也应该充分与开发人员交流,理解清楚每个接口用到协议以及各个字段的取值规范和范围。
各测试人员编制完成测试案例后,需要提交给测试组长审核或参加测试组长组织的案例评审会对案例进行评审,案例审核合格后才可开始后续的工作。
因为考虑到敏捷测试时间的紧迫性,需求分析可从开发召开kickoff会(T-7)时开始介入。


2.2    制定测试计划
接口测试负责人与测试组长或者项目经理沟通测试计划安排。单独一个接口文档涉及的接口过多时,由测试组长按照接口功能的相关性以及复杂性划分接口分发给不同的测试人员进行测试,并制定测试时间以及每日测试工作量。


2.3    设计测试案例
接口测试任务划分后,对于接口的测试负责人需依据接口文档,编写接口测试案例,并明确哪些案例可以实现自动化,哪些案例需要手工测试。为后续的编制自动化测试脚本提供指引,保证测试的全面性。案例的设计中需要参考本指南下面章节中提出的接口测试要点。案例需要做到覆盖所有的测试要点,并针对某些特殊的接口,要考虑到接口的特殊性,编制有针对性的测试案例。
测试案例编写完成后,要进行案例评审,评审通过才可执行测试工作。


2.4    测试环境的准备
接口测试所需的自动化工具JMeter安装、java环境配置等由测试人员自己负责完成。接口测试所需的后台环境,若无单独的测试环境,需要在开发环境上测试的情况,环境由对应的开发负责人负责维护,开发负责人需要配合测试人员,保证环境的稳定以及测试版本的正确。若有单独的测试环境,测试环境维护人员需要从开发经理那获取最新的测试版本部署在测试环境上,并维护好初始的参数配置以及初始测试数据。


2.5    实施测试
在前期准备工作完善后,按照计划就可以实施测试了。测试实施上建议优先进行手工测试,把所有接口的案例手工测试一遍,这样一方面可以加强测试人员对接口各个细节的理解,另一方面可以快速发现接口存在的bug,及时反馈给开发人员进行修改。待主要bug开发已经解决,接口各字段配置已经稳定的情况下开展自动化脚本录制、编写等工作,对能够实现自动化测试的案例要编制测试脚本,并按照脚本编写规范,组织好脚本的结构,方便后期的脚本维护和管理。脚本编写规范参考下面的脚本编写规范章节。
在测试阶段根据测试情况、测试出的缺陷情况以及对接口的理解加深,可能会对测试案例进行补充或修改,需要测试人员及时维护好测试案例,保证每个案例的准确,方便后期回归测试。
对各个接口测试完成后,提交测试报告。并对测试相关的文档进行整理总结。


2.6    测试成果评审
该阶段为测试的最后阶段,测试组长负责组织测试成果评审会议。会议上依次对每个测试人员的成果物(包括案例、测试脚本、bug单、测试报告等测试产出物)进行评审。发现问题和不足及时纠正,规范测试工作。评审通过的测试成果物注意汇总保存,形成公司测试资产的一部分。


2.7    测试过程的持续优化

在接口自动化测试进行一段时间后,要定期对测试情况进行总结。对发现的问题进行改进,对测试指南进行完善,对测试的流程进行持续的优化。

jmeter接口测试视频教程:阿里大佬倾情演绎,3天让你学会Jmeter接口测试,学不会算我输_哔哩哔哩_bilibiliicon-default.png?t=N3I4https://www.bilibili.com/video/BV1Q84y1K7bK/?spm_id_from=333.999.0.0

 

接口测试相关文档管理规范

3.1    测试文档范围
接口自动化测试主要需要管理的文档类型如下:
接口说明文档、测试用例文档、测试报告(结果)文档、测试脚本(jmx类型)、会议纪要、评审文档等测试相关文档。


3.2    测试文档创建说明
需求类的文档(如:接口说明文档)在测试初期由开发提供给测试人员,测试人员依据接口文档编写用例,文档不规范的地方需要及时向开发反馈,督促修改提供规范的接口文档。
测试用例文档是在测试人员拿到接口说明文档后,理解好需求即开始编写该文档,后期会经过评审不断的对测试用例文档进行优化。完成测试用例文档编写后,即可开始测试脚本的编制,脚本编制用例的依据来自测试用例文档。
测试脚本是在测试人员执行测试过程中形成的测试产出,要求脚本编写要符合该文档下面对脚本编写的规范要求,这样方便后期的脚本维护和管理。
测试报告文档是测试人员在完成测试后,对该阶段测试结果的一个总结性报告,要求按照公司提供的规范模板编写,并提交给测试组长审核,审核无误后发给对应的产品或项目的开发、业务、领导等相关人员。
会议纪要、评审文档等文档是在整个测试过程中依据项目的需要产生的,这些文档可以划归到需求文档中,用作指导和规范测试人员的测试工作。


3.3    测试文档归档要求
测试任务结束后,测试人员都需要整理各种相关测试文档,上传到SVN服务器相应目录下。形成整个测试组的测试资产。要求每个测试人员重视该环节,测试结束后必须归档各类测试文档。
强烈建议每个地区的测试组有自己的SVN管理目录,测试人员在完成项目或产品的测试中,因为产品或项目都有自己的SVN目录,测试过程中,开发经理也会要求如测试用例、测试报告等测试文档上传到对应项目的SVN上。但测试结束后,测试人员还需把最后的完整的测试相关文档(接口说明文档、测试用例文档、测试报告(结果)文档、测试脚本(jmx类型)、会议纪要、评审文档等)按类型归档到自己测试组下的SVN管理目录,使测试文档受控于测试组的管理,形成测试组自己的资产。
下面举例说明一下北京测试组的测试文档归档要求,其他地方测试组可以进行参考,依据自己项目的情况整理归档测试文档。

阿里大佬倾情演绎,3天让你学会Jmeter接口测试,学不会算我输_哔哩哔哩_bilibiliicon-default.png?t=N3I4https://www.bilibili.com/video/BV1Q84y1K7bK/?spm_id_from=333.999.0.0                 

 

接口测试要点

4.1    接口可用性
接口可用性主要测试接口是否可用、接口是否存在、接口的协议类型,测试案例中应包括:
〖R1〗    依据接口文档中给定的接口地址和协议方法能够访问到该接口。
〖R2〗    使用错误的协议方法无法按照接口地址进行访问。
〖R3〗    使用正确的协议方法无法按照错误的接口地址进行访问。

4.2    输入输出参数个数及命名
输入输出参数个数及命名主要测试接口包含的输入输出参数的个数以及各个参数的命名是否正确,测试案例中应包括:
〖R1〗    依据接口文档检查输入参数的个数以及命名是否和文档一致。
〖R2〗    依据接口文档检查输出参数的个数以及命名是否和文档一致(注意检查输出的正常参数和异常参数)。
〖R3〗    输入错误的参数名,接口会报错,并有错误信息返回。

4.3    输入参数的必输项
输入参数的必输项主要测试接口对输入参数的可选与必输的要求,测试案例中应包括:
〖R1〗    按照接口文档对所有必输的输入项依次不输入,检查接口是否给予报错信息返回。
〖R2〗    按照接口文档对所有选输的输入项依次检查是否可以不输入参数接口也有正确数据返回,无报错信息。

4.4    输入参数的合法性
输入参数的合法性的合法性主要对参数的录入规范要求进行检查,测试案例中应包括:
〖R1〗    依据接口文档,有明确的要求的(如:只能由数字组成、在以下几个可选值中选择、只能由字母组成、长度最多为多少、格式为时间格式)输入参数,检查是否符合这些要求。
〖R2〗    依据接口文档,没有明确要求的输入参数,依次测试长度超长、含有特殊字符、全角半角等情况。检查接口是否报错,给予错误返回信息。

4.5    输出参数内容的正确性
输出参数内容的正确性主要对输出参数的内容是否和后台真实数据一致进行检查,测试案例中应包括:
〖R1〗    考虑多种输入参数的组合情况,依次测试在这些组合情况下接口返回的数据的各字段内容是否正确,要具体检查每个字段的内容。一般通过与后台数据库数据比较来进行检查。
〖R2〗    考虑多种输入参数的组合情况,依次测试在这些组合情况下接口返回的数据中涉及输入参数的项,是否和最初输入的值一致。

4.6    接口实现功能验证
接口实现功能验证主要对接口操作的具体功能是否正常运转进行检查,测试案例中应包括:
〖R1〗    输入正确的参数,检查接口对应的要实现的后台功能是否正确运转。例如:对一个启动接口发送启动的命令,接口对应的后台系统能够正确启动并返回正确的参数。
〖R2〗    输入错误的参数,检查接口对应的要实现的后台功能是否没有运转。
4.7    接口文档规范性
接口文档规范性主要对开发提供的接口文档是否规范准确进行检查,测试案例中应包括:
〖R1〗    接口文档中对于输入输出参数都有准确的命名,不存在模糊的情况。
〖R2〗    接口文档对于每一个参数都有明确的类型说明,是否可选还是必输,是否有默认值。
〖R3〗    接口文档对于每一个输入参数都要明确好基本的录入条件,比如长度最长多少、只能为数字还是字母、不能含有特殊字符等。

〖R4〗    针对一个接口如果有多种类型的输出参数组合且参数的命名或个数有不同,这种情况,要在接口文档中罗列清晰,并明确指出出现这种类型的输出参数的条件。

阿里大佬倾情演绎,3天让你学会Jmeter接口测试,学不会算我输_哔哩哔哩_bilibiliicon-default.png?t=N3I4https://www.bilibili.com/video/BV1Q84y1K7bK/?spm_id_from=333.999.0.0

 

相关文章:

用Jmeter进行接口自动化测试的工作流程你知道吗?

目录 测试流程 接口测试相关文档管理规范 接口测试要点 测试流程 在测试负责人接受到测试任务后,应该按照以下流程规范完成测试工作。 2.1 测试需求分析 产品开发负责人在完成某产品功能的接口文档编写后,在核对无误后下发给对应的接口测试负责人…...

Java 中的设计模式有哪些?(十九)

Java设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 设计模式可以帮助我们解决软件开发过程中面临的一般问题,提高代码的可读性、可复用性和可扩展性。 Java中一般认为有23种设计模式,总体来说设计模式分为三大类&…...

奇数单增序列

题目描述 给定一个长度为 N(不大于 500)的正整数序列,请将其中的所有奇数取出,并按升序输出。 输入格式 第 1 行为 N;第 2 行为 N 个正整数,其间用空格间隔。 输出格式 增序输出的奇数序列&#xff0c…...

Seata介绍

介绍: Seata的设计目标是对这个业务无侵入,因此从业务无侵入的2PC方案开始的,在传统的2PC的基础上演进的。它把一个分布式事务拆分理解成一个包含了若干分支事务的全局事务。全局事务的职责是协调其下管辖的分支事务达成一致性,要…...

VK Cup 2017 - Round 1 A - Bear and Friendship Condition(并查集维护大小 + dfs 遍历图统计边数)

题目大意: 给你一些n个点m条边,如果三个点(a,b,c)是合法的,当且仅当 a-b,b-c,c-a都有一条边,问你这个图是否合法,如果有一个或两个点视为合法 思路 考虑什么图才是个合法图:除了点…...

为UOS启用VNC和Windows远程桌面

1 参考资料 UOS系统中安装x11vnc远程桌面 如何通过windows电脑远程UOS桌面RDP 已在ARM版本和X86版本中验证均可用 2 准备工作 2.1 设置代理(可选) 如果设备本身能和公网通,就不需要了。 由于我们全程需要在root账号下进行,系…...

Java时间类(七)-- LocalDateTime()类

目录 1. LocalDateTime的概述: 2. LocalDateTime的常用方法: 1. LocalDateTime的概述: 是一个不可变的日期-时间对象,表示日期和时间,而没有时区。 它基于ISO-8601日历系统,是由日期和时间组合而成。它可以存储到纳秒级精度,并提供了各种方法来处理日期和时间的运算…...

卢北辰:数据点亮梦想,能力驱动人生 | 提升之路系列(九)

导读 为了发挥清华大学多学科优势,搭建跨学科交叉融合平台,创新跨学科交叉培养模式,培养具有大数据思维和应用创新的“π”型人才,由清华大学研究生院、清华大学大数据研究中心及相关院系共同设计组织的“清华大学大数据能力提升项…...

数据库基础及用户管理授权

数据库概念 关系型数据库 数据结构二维表格 库 -> 表 -> 列(字段):用来描述对象的的一个属性;行:用来描述一个对象的信息 mysql(5.7/8.0) maridb ocracle postgresql sqlserver(windows…...

比特米盒子刷安卓ATV6.0

最近海鲜市场有很多比特米盒子,50多块包邮,买来的盒子回来折腾下,买回来发现一直卡在“系统启动"中无法进入,不知道原来的是啥系统,看来只能找找线刷的办法,重新拯救救个这盒子。 原文链接地址&#x…...

【用python的QT做信号处理的界面】

文章目录 入口文件界面参数调整数据从dat解析出来的文件从界面点击打开文件夹的功能实现主要功能代码网络参数存图替换功能,比如把倒频谱替换成倒频谱2 入口文件 入口文件,主要用来实例化窗口(不重要),只要知道从这里…...

【Linux】进程间通信 —— 管道

文章目录 📕 进程间通信介绍📕 匿名管道原理使用读写规则特点 📕 命名管道原理使用匿名管道和命名管道的区别 📕 进程间通信介绍 进程间通信,顾名思义,就是两个进程之间的 “交流” ,我们知道&…...

知识管理在企业中的重要性

随着经济全球化和信息化的快速发展,企业面临着越来越多的竞争和挑战。如何把握市场动态、满足客户需求、提高产品质量和效率等,成为了企业发展中亟待解决的问题。而知识管理作为一种新兴的管理方式,逐渐引起了企业们的重视。本文将从以下几个…...

Socks5、网络安全、代理IP技术详解

随着互联网的发展,网络安全问题越来越受到人们的关注。为了保护个人隐私和网络安全,使用代理服务器成为了一种普遍的选择。其中,Socks5协议是一种常见的代理协议,而代理IP是使用代理服务器时经常需要考虑的问题。本文将深入探讨So…...

C++学习day--09 字符串比较、运算符

1、项目练习 第 1 节 项目需求、项目实现 项目实现&#xff1a; #include <iostream> #include <Windows.h> #include <string> using namespace std; int main( void ) { string name; string pwd; std::cout << " 请输入账号&am…...

缓存和数据库一致性问题

如何保证缓存和数据库一致性&#xff0c;这是一个老生常谈的话题了。 但很多人对这个问题&#xff0c;依旧有很多疑惑&#xff1a; 到底是更新缓存还是删缓存&#xff1f; 到底选择先更新数据库&#xff0c;再删除缓存&#xff0c;还是先删除缓存&#xff0c;再更新数据库&am…...

4月京东生鲜水果行业数据报告:榴莲销量增长400%,市场格局剧变

众所周知&#xff0c;今年水果领域的一个重磅消息就是&#xff1a;榴莲价格暴跌。目前全国多地线下水果专卖店、农贸市场的榴莲价格都在下滑&#xff0c;有的地区在4月底甚至已经降至最低每斤20元左右。预测在5月的销售旺季&#xff0c;价格还有望一路向下。 •榴莲逆袭苹果&am…...

Windows无法完成格式化怎么办?正确的3个解决方法!

案例&#xff1a;Windows无法完成格式化怎么办 【由于我的U盘使用时间过长&#xff0c;很多文件都是不需要的&#xff0c;我想将其格式化&#xff0c;但插入电脑后&#xff0c;Windows根本无法完成格式化&#xff0c;这是为什么呢&#xff1f;我应该怎么做呢&#xff1f;求答案…...

基于aspnet个人博客网站dzkf6606程序

系统使用Visual studio.net2010作为系统开发环境&#xff0c;并采用ASP.NET技术&#xff0c;使用C#语言&#xff0c;以SQL Server为后台数据库。 1&#xff0e;系统登录&#xff1a;系统登录是用户访问系统的路口&#xff0c;设计了系统登录界面&#xff0c;包括用户名、密码和…...

不黑艺术学社京藏行——参观五台山孙溟㠭为五台山红英师治印

不黑学社社长孙溟㠭先生与五台山菩萨顶主事红英师 不黑学社京藏行&#xff0c;路经五台把佛拜。 巍巍五台清凉境&#xff0c;参访伊始菩萨顶。 感恩“天珠”刘诗语&#xff0c;芬芳佛语满香华。 感恩慈悲红英师&#xff0c;带众参拜大白塔。 菩萨顶上如意宝&#xff0c;莲…...

mysql数据之表管理-mysql高级管理

1. #创建表tt01 #对id字段设置零填充约束、主键约束、自增长约束 #对name字段设置非空约束、默认值约束 #对cardid字段设置非空约束、唯一键约束 插入数据记录&#xff1a; 1&#xff09;因为id字段设置了自增长&#xff0c;如果不指定id字段值&#xff0c;则默认从1开始递…...

公司新来的00后真是卷王,工作没2年,跳槽到我们公司起薪18K都快接近我了

说00后躺平了&#xff0c;但是有一说一&#xff0c;该卷的还是卷。这不&#xff0c;前段时间我们公司来了个00后&#xff0c;工作都没两年&#xff0c;跳槽到我们公司起薪18K&#xff0c;都快接近我了。后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了。 …...

面试题30天打卡-day19

1、TCP 和 UDP 协议有什么区别&#xff0c;分别适用于什么场景&#xff1f; TCP&#xff08;Transmission Control Protocol&#xff09;和UDP&#xff08;User Datagram Protocol&#xff09;是两种常用的传输层协议&#xff0c;两者的区别比较如下&#xff1a; TCPUDP可靠性…...

ASEMI代理ADI亚德诺LTC6992IS6-1#TRMPBF车规级芯片

编辑-Z LTC6992IS6-1#TRMPBF参数描述&#xff1a; 型号&#xff1a;LTC6992IS6-1#TRMPBF 输出频率&#xff1a;3.81Hz 工作电源电压范围&#xff1a;2.25 - 5.5V 通电复位电压&#xff1a;1.95V 电源电流&#xff1a;105-365A SET引脚处的电压&#xff1a;1V 频率设置电…...

Oracle PL/SQL基础语法学习15:静态表达式

系列文章目录 Oracle PL/SQL基础语法学习12&#xff1a;短路求值 Oracle PL/SQL基础语法学习13&#xff1a;比较运算符 Oracle PL/SQL基础语法学习14&#xff1a;BOOLEAN表达式 文章目录 系列文章目录前言Oracle PL/SQL基础语法学习15&#xff1a;静态表达式Static Expression…...

B-Tree (多路查找树)分析-20230503

B-Tree (多路查找树)学习-20230503 前言 B-树是一类多路查询树&#xff0c;它主要用于文件系统和某些数据库的索引&#xff0c;如果采用二叉平衡树访问文件里面的数据&#xff0c;最坏情况下&#xff0c;磁头可能需要进行O(h)次对磁盘的读写&#xff0c;其中h为树的高度&…...

OpenGL光照教程之 透光物

引言 我们目前使用的所有光照都来自于一个单独的光源&#xff0c;这是空间中的一个点。它的效果不错&#xff0c;但是在真实世界&#xff0c;我们有多种类型的光&#xff0c;它们每个表现都不同。一个光源把光投射到物体上&#xff0c;叫做投光。这个教程里我们讨论几种不同的投…...

如何使用hook?

目标&#xff1a;将posix函数hook住 一个简单的例子 &#xff08;连接mysql服务&#xff09;&#xff0c;连接成功则打印success mysql.c #include <mysql/mysql.h> #include <stdio.h> int main(){MYSQL* mysql mysql_init(NULL);if(!mysql){printf("my…...

双指针技巧秒杀七道链表题目

文档阅读 文档阅读 题目 141. 环形链表 https://leetcode.cn/problems/linked-list-cycle/ public class Solution {public boolean hasCycle(ListNode head) {ListNode fast head, slow head;while(fast ! null && fast.next ! null){fast fast.next.next;slo…...

在“裸奔”时代保护我们的隐私:网络攻击、数据泄露与隐私侵犯的应对策略与工具

摘要&#xff1a;随着信息技术的普及和发展&#xff0c;个人隐私和数据安全问题日益受到威胁。本文将讨论如何有效应对网络攻击、数据泄露和隐私侵犯&#xff0c;并提供一系列实用的技巧和工具&#xff0c;以帮助我们在“裸奔”时代更好地保护数据安全和隐私。 当今社会&#…...

私有云可以做网站/软文写作技巧及范文

&#x1f44f;&#x1f44f;&#x1f44f; 哈喽&#xff01;大家好&#xff0c;我是【学无止境小奇】&#xff0c;一位热爱分享各种技术的博主&#xff01;&#x1f60d;&#x1f60d;&#x1f60d; ⭐【学无止境小奇】的创作宗旨&#xff1a;每一条命令都亲自执行过&#xf…...

公司注册后怎么做网站/自己怎么搭建网站

说明&#xff1a; EXP-00091: 出口可疑的统计。 EXP-00091: Exporting questionable statistics. 产生&#xff1a; 在数据库的服务器端和客户端字符集不同的情况下&#xff0c;导出 (dump) 数据库表时&#xff0c;会产生这个错误。虽然产生这个错误&#xff0c;但好像对导…...

做网站有必要做app吗/seo引擎优化工具

J2EE项目中&#xff0c;EL表达式出现过的一个问题&#xff1a; 使用tomcat7版本的不会出现这种问题&#xff0c;但使用Tomcat6时会出现这种问题。 简而言之&#xff1a;EL表达式内部不能出现对象的方法调用&#xff0c;如下几例&#xff1a; 一、${list.size()>0} 二、${lis…...

星月教你做网站回顾文档/百度推广售后客服电话

***服务大家都知道&#xff0c;虚拟专用网络&#xff0c;今天我们就来说说怎么用linux搭建pptp *** 说实话&#xff0c;我这也算是第一次照着命令敲然后成功了的&#xff0c;最后才搞明白怎么回事&#xff0c;特贡献出来给大家&#xff0c;希望大家共同进步 系统环境: 2.6.18-9…...

广汉做网站/seo搜狗排名点击

assertNotContains()函数是PHPUnit中的内置函数&#xff0c;用于断言没有值的数组。如果数组不包含所提供的值&#xff0c;则该断言将返回true&#xff1b;否则返回false&#xff1b;如果为true&#xff0c;则断言了已通过测试的用例&#xff0c;否则测试用例失败了。用法&…...

新1站网站建设/百度网站收录提交

Git是一款注重速度、数据完整性、分布式支持和非线性工作流的分布式版本控制工具。Git最初由Linus Torvalds在2005年为Linux内核开发而设计&#xff0c;如今已经成为被广泛接受的版本控制系统。和其他大多数分布式版本控制系统比起来&#xff0c;不像大多数客户端-服务端的系统…...