软件测试知识库+1,5款顶级自动化测试工具推荐和使用分析
“工欲善其事必先利其器”,在自动化测试领域,自动化测试工具的核心地位不容置疑的。目前市面上有很多可以支持接口测试的工具,在网上随便一搜就可以出来很多,利用自动化测试工具进行接口测试,可以很好的提高测试效率,从而达到事半功倍的效果,但是不是所有自动化测试工具都能够支持你完成项目任务?下面就为大家挑选几款常用的自动化测试工具:
1、第一款:Jmeter
JMeter是Apache公司基于java开发的一款开源压力测试工具,不仅体积小功能全,而且使用起来也非常方便和简单。它是主要用于web应用程序的负载测试,同时它还支持单元测试和有限的功能测试。
JMeter工具的特性有很多,比如动态报告、可移植性、强大的测试IDE等,并且支持不同类型的应用程序、协议、shell脚本、Java对象和jmeter操作数据库等等。
Jmeter工具的优点 :
开源免费,安装过程比较简单
Jmeter工具的应用范围比较广
C/S架构,基于jJmeter工具有着丰富的逻辑控制器,且具备强大的监控组件
ava实现的工具,配置起来比较容易,更偏向于性能测试
JMeter提供了BeanShell编程能力,可以编写出比较灵活的测试脚本
JMeter提供了比较高级的扩展能力,允许自己定义和扩展新的协议支持
JMeter的社区相对完善,可以提供丰富的协议支持
Jmeter工具的缺点:
脚本缺少一定的灵活性,测试报告比较偏向于性能方面
没有很好的BeanShell测试机制
对于测试的【正确性】无法进行判断。Jmeter虽然有断言机制,但对于模拟多用户操作时发出请求响应是没有办法去预测
对于全自动化实现的支持不足
2、第二款:SoapUI
SoapUI是一个开源测试工具,主要通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试。
SoapUI非常流行的用于SOAP和REST的开源API测试自动化框架,同时还支持功能测试、性能测试、数据驱动测试和测试报告等。
SoapUI工具的优点:
SoapUI工具不需要开发人员编程就可以实现测试用例,可以通过WSDL自动产生测试消
SoapUI工具能够直接引用外部属性文件来简化测试步骤
SoapUI支持REST和SOAP服务
使用来自文件和数据库的数据进行强大的数据驱动测试
SoapUI提供方便的接口能够集成JBoss、Ant、XMLBean、ApacheTCPMon等多种工具
使用RESTful模拟服务
SoapUI工具的缺点:
SoapUI使用的是自己的Web服务客户端,导致客户端并不能像真正的Web服务消费者那样去调用Web服务
SoapUI中不能控制Mock服务的WSDL文件服务端点的URL
需要破解
SoapUI不支持JMS协议
SoapUI对于PC资源占用大
3、第三款:Postman
Postman 是一款支持http协议的接口调试与测试工具,其主要特点就是功能强大,使用简单且易用性好 。它不仅可以发送所有类型的HTTP请求 (其中包括GET, POST, PUT, DELETE…等等),且还能附带所有数量的参数和Headers。不仅如此,它还可以提供测试数据和环境配置数据的导入导出,对于付费的Post Cloud用户还可以创建属于自己的 Team Library团队协作式测试,并能将自己的测试收藏夹和用例数据和整个团队共享。
Postman工具的优势
跨平台
门槛比较低且上手快
自带各种代码模块
图形界面非常清晰
免费版的功能就已经非常强大了,支持http,https协议
支持抓包,保存历史记录,多终端同步用例
结合界面操作可以快速的配置接口请求信息,提供各种类型接口配置,以及数据配置
有丰富响应断言,方便用于接口进行快速验证
Postman工具的缺点:
无法连接数据库
不能操作文件相关的操作,无法读写数据库,不能使用非HTTP协议
不支持通过url搜索用例且不能指定执行失败的测试用例
无法进行共有的代码封装以及引入第三方插件
4、第四款:Selenium
Selenium是网页应用中最流行的开源自动化测试框架。由于不断地完善,Selenium工具目前成为很多Web自动化测试人员的选择,特别是那些有高级编程和脚本技能的测试人员。Selenium也成为了其他开源自动化测试工具比如Katalon Studio,Watir,Protractor和Robot Framework等的核心框架。
Selenium 支持多系统环境(Windows,Mac,Linux)以及多种浏览器(Chrome,FireFox,IE以及无头浏览器(没有界面))。它的脚本可以由各种不同的编程语言编写,比如 Java,Groovy、Python,C+,PHP,Ruby 以及 Perl等。
Selenium工具的优点:
界面可视化,对于初学者来说比较容易上手。
不深入理解动态加载和后端的交互也可以进行数据采集
比较符合普通人操作网页进行复制粘贴的习惯
Selenium工具的缺点:
加载速度比较慢,容易造成阻塞,导致采集效率不高
比较不易迁移,要适配没有界面的linux且需要进行多次修改
可视化的采集容易遇到浏览器问题,情况容易比较不稳定
5、第五款:LoadRunner
LoadRunner,是一款商用性能测试工具,可以用于预测系统行为和性能的负载测试。LoadRunner能够对整个企业架构进行测试。
企业使用LoadRunner能最大程度的减少测试时间,优化性能和加速应用系统的发布周期。LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。
LoadRunner工具的优势 ::
运行比较稳定
监控指标比较齐全
对于性能测试的结果很细致
可以模拟成千上万的用户实施并发负载及实时性能监测的方式来确认和查找问题
LoadRunner工具的劣势 ::
属于收费工具,且价格比较贵(所以一般企业会购买)
安装程序繁杂,操作比较难
其他常见的自动化工具汇总:
当然除了这些主流的自动化测试工具外,市面上也还有其他的一些【非主流】的工具或框架,这里就不在一 一列举了,大家可以根据我列举的详细优缺点对比,选择适合自己需要的接口自动化测试工具。
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
文档获取方式:
加入我的软件测试交流群:632880530免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)
这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取
相关文章:
软件测试知识库+1,5款顶级自动化测试工具推荐和使用分析
“工欲善其事必先利其器”,在自动化测试领域,自动化测试工具的核心地位不容置疑的。目前市面上有很多可以支持接口测试的工具,在网上随便一搜就可以出来很多,利用自动化测试工具进行接口测试,可以很好的提高测试效率&a…...
代码随想录算法训练营第23期day22|669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
目录 一、(leetcode 669)修剪二叉搜索树 二、(leetcode 108)将有序数组转换为二叉搜索树 三、(leetcode 538)把二叉搜索树转换为累加树 一、(leetcode 669)修剪二叉搜索树 力扣题…...
IDEA中创建Web工程流程
第一步:File--》New--》Project 第二步:填写信息,点击Create 第三步:点击File,点击Project Structure 出现该界面 选择相应的版本,这里我用jdk17,点击apply ,点击ok 第三步:右键文件…...
【论文阅读】基于卷积神经的端到端无监督变形图像配准
📘End-to-End Unsupervised Deformable ImageRegistration with a Convolutional NeuralNetwork 📕《基于卷积神经的端到端无监督变形图像配准》 文章目录 摘要 Abstract. 1.导言 Introduction 附录 References未完待续 to be continued ... 摘要 Abstr…...
【Rust】包和模块,文档注释,Rust格式化输出
文章目录 包和模块包 CrateRust 的标准目录结构 模块 Module用路径引用模块使用super引用模块使用self引用模块结构体和枚举的可见性 使用 use 引入模块及受限可见性基本引入方式绝对路径引入模块相对路径引入模块中的函数 避免同名引用 注释和文档文档注释包和模块级别的注释注…...
leetcode221.最大正方形
最大正方形 可以使用动态规划降低时间复杂度。用 dp(i,j) 表示以 (i,j)为右下角,且只包含 111 的正方形的边长最大值。能计算出所有 dp(i,j)的值,那么其中的最大值即为矩阵中只包含 111 的正方形的边长最大值,其平方即为最大正方形的面积。 …...
低代码技术这么香,如何把它的开发特点发挥到极致?
前言 什么是低代码技术? 低代码是一种可视化软件开发方法,通过最少的编码更快地交付应用程序。图形用户界面和拖放功能使开发过程的各个方面自动化,消除了对传统计算机编程方法的依赖。 文章目录 前言低代码平台怎么选?用友Yonbu…...
drawio简介以及下载安装
drawio简介以及下载安装 drawio是一款非常强大的开源在线的流程图编辑器,支持绘制各种形式的图表,提供了 Web端与客户端支持,同时也支持多种资源类型的导出。 访问网址:draw.io或者直接使用app.diagrams.net直接打开可以使用在线版…...
Sql Server 数据库中的所有已定义的唯一约束 (列名称 合并过了)
查询Sql Server Database中的唯一约束 with UniqueBasic as (SELECTtab.name AS TableName, -- 表名称idx.name AS UniqueName, -- 唯一约束的名称col.name AS UniqueFieldName -- 唯一约束的表字段FROMsys.indexes idxJOIN sys.index_columns idxColON (idx.object_id idxCo…...
elasticsearch (六)filebeat 安装学习
filebeat 安装:文件节拍快速入门:安装和配置 |文件节拍参考 [7.17] |弹性的 (elastic.co) 解压缩后,以配置nginx日志为例。 Nginx module | Filebeat Reference [7.17] | Elastic filebeat 配置中, - module: nginx access: …...
算法通关村第一关|青铜|链表笔记
1.理解 Java 如何构造出链表 在 Java 中,我们创建一个链表类,类中应当有两个属性,一个是结点的值 val ,一个是该结点指向的下一个结点 next 。 next 通俗讲是一个链表中的指针,但是在链表类中是一个链表类型的引用变量…...
【记录】使用Python读取Tiff图像的几种方法
文章目录 PIL.Imagecv2gdal 本文总结了使用 PIL Image, cv2, gdal.Open三种python package 读取多通道Tiff格式遥感影像的方法。 PIL.Image PIL对Tiff只支持两种格式的图像: 多通道8bit图像单通道int16, int32, float32图像 多通道多bit的tiff图像PIL不支持读取…...
JOSEF约瑟 多档切换式漏电(剩余)继电器JHOK-ZBL1 30/100/300/500mA
系列型号: JHOK-ZBL多档切换式漏电(剩余)继电器(导轨) JHOK-ZBL1多档切换式漏电(剩余)继电器 JHOK-ZBL2多档切换式漏电(剩余)继电器 JHOK-ZBM多档切换式漏电…...
Linux部署kubeedge 1.4
文章目录 一、机器信息二、环境准备(所有节点操作)2.1. 修改主机名2.2. 开启路由转发2.3.安装Docker(所有节点)2.4.部署K8S集群(单机版,云端节点) 2.5.安装Mosquitto(只在边缘节点安装)三、安装kubeedge 1.…...
第一章习题
文章目录 x ( t ) j e j w 0 t x(t)je^{jw_0t} x(t)jejw0t x [ n ] j e j w 0 n x[n]je^{jw_0n} x[n]jejw0n 求基本周期: T 2 Π w 0 T\frac{2Π}{w_0} Tw02Π 对x[n],T为有理数才算 1、求信号x(t)2cos(10t1)-sin(4t-1)的基波周期 2 Π 10 Π 5 \frac{2…...
nvm、node、npm解决问题过程记录
在Windows10如何降级Node.js版本:可以尝试将Node.js版本降级到一个较旧的版本,以查看问题是否得以解决。可以使用Node Version Manager (nvm) 来轻松切换Node.js版本,具体完整步骤: 首先,需要安装Node Version Manager…...
Linux- DWARF调试文件格式
基本概念 DWARF是一个用于在可执行程序和其源代码之间进行关联的调试文件格式。当开发者使用调试编译选项(例如,使用gcc时的-g标志)编译程序时,编译器会生成这种格式的调试信息。这些信息在后续的调试过程中非常有用,…...
软件工程第六周
软件体系结构概述 体系结构:一种思想,而框架就是思想的实现,设计模式就是根据某一特殊问题实现的框架。 体系结构:体系结构是软件系统的高级结构。它定义了系统的主要组成部分,以及这些部分之间的关系和交互方式。 框…...
node+pm2安装部署
1、安装node 下载node安装包: wget https://nodejs.org/dist/v16.14.0/node-v16.14.0-linux-x64.tar.xz 解压: tar -xvJf node-v14.17.0-linux-x64.tar.xz 配置环境变量,在/etc/profile文件最后添加以下脚本: export PATH$P…...
大数据学习(11)-hive on mapreduce详解
&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博>主哦&#x…...
MyBatis基础之自动映射、映射类型、文件注解双配置
文章目录 自动映射原理jdbcType同时启用配置文件和注解两种配置方式 自动映射原理 在 MyBatis 的配置文件(settings 元素部分)中,有一个 autoMappingBehavior 配置,其默认值为 PARTIAL ,表示 MyBatis 会自动映射&…...
8、docker 安装 nginx
1、下载镜像 docker pull nginx 2、本机创建目录 1)创建nginx挂载目录 mkdir /usr/local/nginx 2)进入nginx目录 cd /usr/local/nginx 3)创建 www和logs目录 mkdir -p www logs 3、创建nginx容器 此容器用于复制配置文件,复…...
关于Skywalking Agent customize-enhance-trace对应用复杂参数类型取值
对于Skywalking Agent customize-enhance-trace 大家应该不陌生了,主要支持以非入侵的方式按用户自定义的Span跟踪对应的应用方法,并获取数据。 参考https://skywalking.apache.org/docs/skywalking-java/v9.0.0/en/setup/service-agent/java-agent/cust…...
手机路径、Windows路径知识及delphiXE跨设备APP自动下载和升级
手机路径、Windows路径知识 及delphiXE跨设备APP自动下载和升级 一、APP安装程序文件版本和权限信息 1、运行时动态调用Android apk的AndroidManifest.xml获取versionName 2、运行时动态调用IOS ipa的info.plist获取CFBundleVersion (和entitlements)…...
GitLab 502问题解决方案
由于最近 gitlab 切换到另一台服务器上部署的 gitlab 后,经常出现 502。平时重启 gitlab 后都能解决,今天突然重启多次后都还是 502(重启日志是正常的),遂通过 gitlab-ctl tail 查看日志进行排查。 gitlab-ctl tail通…...
selenium打开火狐浏览器
项目上需求为:甲方OA 系统是IE系统,需要从IE系统点个按钮打开火狐浏览器单点登录跳转到我们的系统 前期解决方案为:打开浏览器就行了,然后就用的是打开本地浏览器,但是由于B/S架构,有别人远程访问我的ip来…...
多标签分类论文笔记 | ML-Decoder: Scalable and Versatile Classification Head
个人论文精读笔记,主要是翻译心得,欢迎旁观,如果有兴趣可以在评论区留言,我们一起探讨。 Paper: https://arxiv.org/pdf/2111.12933.pdf Code: https://github.com/Alibaba-MIIL/ML_Decoder 文章目录 0. 摘要1. 介绍2. 方法2.1 Ba…...
修改http_charfinder.py使能在python311环境中运行
需要修改两个函数,第一个是init函数,修改如下: async def init(loop, address, port): # <1> # app web.Application(looploop) # <2> # app.router.add_route(GET, /, home) # <3> app web.Application(…...
蓝桥杯(跳跃 C++)
思路: 1、根据题目很容易知道可以用深度搜索、广度搜索、动态规划的思想解题。 2、这里利用深度搜素,由题目可知,可以往九个方向走。 3、这里的判断边界就是走到终点。 #include<iostream> using namespace std; int max1 0; int …...
08 | Jackson 注解在实体里面如何应用?常见的死循环问题如何解决?
我们用 Spring Boot 里面默认集成的 fasterxml.jackson 加以说明,这看似和 JPA 没什么关系,但是一旦我们和 Entity 一起使用的时候,就会遇到一些问题,特别是新手同学,我们这一课时详细介绍一下用法。先来跟着我了解一下…...
欧美租车公司网站模板1psd/5118数据分析平台
语音的基本概念--译自CMU sphinx zouxy09qq.com http://blog.csdn.net/zouxy09 译自:http://cmusphinx.sourceforge.net/wiki/tutorialconcepts 这是CMU sphinx语音识别系统wiki的第一部分,主要是介绍语音的一些基本概念的。我试着翻译了一下。英语水平受…...
哪个网站做螺丝生意好/小红书推广价目表
总算是把卡方检验的思想看懂了 用来判断概率分布X与Y是否有关。 所以在文本特征选择中,有如下的计算公式: 转自Hackerzer的博客:http://blog.csdn.net/hackerzer/article/details/76713829...
专业长春网站建设工作室/黄冈网站推广策略
linux启动oracle命令 su - oraclesqlplus /nologconnect /as sysdbastartup lsnrctl start...
校园门户网站/线上销售如何找到精准客户
1. SpringBoot--注入指定的配置文件 SpringBoot–yaml语法讲解 & 注入配置文件 PropertySource :加载指定的配置文件;configurationProperties:默认从全局配置文件中获取值; 1.1 resources目录下新建一个user.properties文件…...
wordpress php慢/58同城发布免费广告
共回答了20个问题采纳率:90%晕死,你那个20130131都知道是查2013年1月份的了,你就直接201301就好了,substr用多了会造成查询速度缓慢的竖着显示就union all就好了,像楼上那位说的那样,横着显示这样select sum(case when term_mon<3 then 1 else 0 end) 小于3数量,…...
做产品网站费用/深圳网络推广解决方案
Div1 534 我可能还太菜了.jpg果然我只是Div 2 选手A (这题是Div1吗... 直接构造:竖着放的在第一行和第二行,然后横着放的时候直接放在第三行就行。 #include <cstdio> #include <algorithm> #include <cmath> #include <…...