软件测试常用工具总结(测试管理、单元测试、接口测试、自动化测试、性能测试、负载测试等)

 

前言

在软件测试的过程中,多多少少都是会接触到一些测试工具,作为辅助测试用的,以提高测试工作的效率,使用好了测试工具,能对测试起到一个很好的作用,同时,有些公司,也会要求掌握一些测试工具,或者,是在面试时,也会被问到测试工具的,比如,在面试时,最常见的问题便是,你在测试时,用的是什么测试工具?或者,要做性能测试时,要用什么测试工具进行测试会比较好?等等问题。

作为测试人员,了解下现在有哪些工具可以用,这些工具是运用在什么方面的,然后,选择几个较为主流的测试工具,深入研究,并且运用它们,对于提高测试技能,是很有必要的。

一、测试管理工具

软件测试活动开展过程中,将会涉及到大量的测试活动管理及资源文档管理,因此,拥有一个完善、有效的测试管理工具,将会给软件测试工作带来事半功倍的效果。目前业内应用较为广泛的两款测试管理工具,分别是HP的Application Lifecycle Management(简称ALM)和国内开源的项目管理软件-禅道。

1、ALM

ALM,全称Application Lifecycle Management,应用程序生命周期管理软件,顾名思义,该产品用于软件研发活动的整个生命周期管理。有HP公司生产,其早期版本分别是Test Direct及Quality Center。

2、禅道

禅道是国内第一款开源的项目管理软件,集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款功能完备的项目管理软件,完美地覆盖了项目管理的核心流程。

测试工程师在禅道平台更多应用的是“测试”模块,测试模块中包括用例、用例库、Bug、报告等功能,与ALM类似,从需求分析、用例设计、用例执行、缺陷管理、报告输出完整实现了软件测试流程管理。

3、SVN

SVN是一个开源的集中式版本控制系统,是常用的代码和项目管理工具。简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。可以把SVN理解为一个库,里面存放各种文件,SVN给每个文件打上标签,记录文件的每次变动,方便你查找、获取最新的文件。

4、git

git和SVN的功能很像,但不同的是,SVN是集中式的,必须联网才能正常工作。而git是分布式的,所以git支持离线工作,分支管理比SVN好用。但是git的命令繁多且复杂,没有SVN简单易用。

二、单元测试工具

软件测试理论中有一个观点:单元测试大约能发现80%的缺陷。意味着如果在单元测试阶段投入更多的精力,则可最大程度的降低软件系统中的缺陷。

由于目前大多数企业级应用开发语言基本都是Java,故而行业内应用较多的单元测试工具为Junit及TestNG。

JUnit

传统的单元测试,需要针对被测对象再重新编写调用断言程序,从而验证被测函数或类的正确性,项目规模小的时候测试人员尚能承受,随着项目的不断复杂化,工作量呈数量级增加,测试人员需要投入更多的精力,而企业也需要投入更多的成本,而Junit的出现,解决了之前的一切问题,使得单元测试变得非常简单,易于实施。

2.TestNG

TestNG与JUnit一样,属于Java语言中的一个测试框架,TestNG与JUnit相比功能更为强大,JUnit目前仅能实现单元测试,并且在编程语法上具有一定的局限性,而TestNG更为简洁,同时支持多组测试Case及更多的测试应用,如功能测试、自动化测试等。

三、接口测试工具

系统间接口,通常可以利用为两个不同的系统间,如第三方登录、第三方支付等。这类接口测试相对较难,需要提供较为完善的接口文档。目前业内主流接口测试工具主要有Jmeter、Postman、soapUI等几种,本节介绍相对常用的Jmeter及Postman。

1、Jmeter

Jmeter,是Apache组织开发的基于Java语言的压力/负载测试工具。与LoadRunner一样,用于对软件做压力/负载测试,随着应用范围的不断扩大及功能不断升级,越来越多的测试人员利用Jeter实施接口自动化测试。Jmeter提供断言功能,便于测试人员开发脚本验证被测对象的返回结果是否与预期结果一致。

Jmeter除了可以实现接口功能测试之外,实际上它的主营业务是负载测试。通过设置线程池、参数化、关联等类似于LoadRunner的策略设置后,同样可以实现性能测试。

2、Postman

对于没有UI界面,纯粹是数据传递或业务逻辑处理的接口API时,利用Postman也是个不错的选择。

Postman在测试App接口方面具有一定的优势,App应用开发初期可能涉及大量的接口数据处理,可利用Postman快速构建请求,设置验证点,在Test模块中实现返回结果与预期结果的比较,从而实现测试目的。

四、自动化测试工具

自动化测试,利用自动化测试工具,通过录制/编程方式实现测试活动,发现被测对象存在的缺陷,从而替代手工测试活动。自动化测试不局限于某个具体测试阶段,也不局限被测对象的类型,只要满足自动化测试的必要条件即可实施。

根据被测系统的结构形式,目前业内主要有两款开源的基于UI层面的自动化测试工具应用较为广泛,一是测试Web结构的Selenium,二是测试移动应用结构的Appium。

1、Selenium

Selenium直接运行于浏览器中,更真实的模拟了用户的业务行为,验证被测对象的功能表现及在不同浏览器中的兼容性特性。与传统的自动化测试工具不同,Selenium没有独立的操作UI界面,支持更多的编程语言,如Java、Python等,更为简洁与快捷,易于测试工程师掌握应用。

Selenium实际上不是一个测试工具,而是一个工具集,其主要由三个核心组件构成:Selenium IDE、Selenium RC(Remote Control )及Selenium Grid。

2、Appium

Selenium是目前业内应用较多的Web自动化测试工具,而开源的移动应用自动化测试工具,则多采用Appium。

Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持OS、Android。Appium使用WebDriver的json wire协议,驱动Apple系统的UIAutomation库及Android系统的UIAutomator框架。

3、Fiddler

Fiddler是一个常用的抓包工具。它是用C#写出来的,可以支持众多的http调试任务,并且能够使用.net语言进行扩展。Fiddler支持断点试技术,还可以显示所有的Http通讯,你可以很轻松地看到你请求的某个页面,总共被请求了多少次,以及多少字节被转换了。同类型的工具还有 httpwatch,wireshark等等。

五、性能测试工具

1、LoadRunner

LoadRunner是一种评测软件系统性能的负载/压力测试工具。测试工程师利用该工具模拟成千上万个终端用户实施并发负载查找问题,并利用其自带的Analysis模块进行确认问题。LoadRunner适用于各种体系架构的软件系统性能测试,利用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。

2、JMeter

Jmeter和Loadrunner区别是,一个是开源免费,一个是收费,不开源。但是Loadrunner比Jmeter更加稳定,数据监控的报表也比Jmeter丰富。还有LoadRunner的IP欺骗功能可以更好地模拟实际用户场景。

六、负载测试工具

Load Ninja

是一个性能和负载测试框架,用于诊断 API 和 UI 性能问题。LoadNinja 具有内置的 TrueLoad 技术,与传统的按协议进行的性能测试相比,该技术可使测试终端用户体验的速度提高 60%。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/69896.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Orangepi5开发板3588s使用opencv获取摄像头画面

先感谢香橙派群的管理员耐心指导,经过不断的调试修改最后成功通过opencv调用mipi摄像头获取画面 就记录分享一下大概步骤希望大家少踩点坑!!!!!! 我用的固件系统是ubuntu2022.0.4 固件是&#x…

实战项目:基于主从Reactor模型实现高并发服务器

项目完整代码仿mudou库one thread one loop式并发服务器实现: 仿muduo库One Thread One Loop式主从Reactor模型实现⾼并发服务器:通过模拟实现的⾼并发服务器组件,可以简洁快速的完成⼀个⾼性能的服务器搭建。并且,通过组件内提供的不同应⽤层…

生活随笔,记录我的日常点点滴滴.

前言 😘个人主页:曲终酣兴晚^R的小书屋🥱 😕作者介绍:一个莽莽撞撞的🐻 💖专栏介绍:日常生活&往事回忆 😶‍🌫️每日金句:被人暖一下就高热&…

Mariadb高可用MHA (四十二)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、概述 1.1 概念 1.2 组成 1.3 特点 1.4 工作原理 二、构建MHA 2.1 ssh免密登录 2.2 主从复制 2.3 MHA安装 2.3.1所有节点安装perl环境 2.3..2 node 2.3.…

Linux:shell脚本 正则表达式与AWK

一、正则表达式 由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能,类似于增强版的通配符功能,但与通配符不同,通配符功能是用来处理文件…

React+Typescript清理项目环境

上文 创建一个 ReactTypescript 项目 我们创建出了一个 React配合Ts开发的项目环境 那么 本文 我们先将环境清理感觉 方便后续开发 我们先来聊一下React的一个目录结构 跟我们之前开发的React项目还是有一些区别 public 主要是存放一些静态资源文件 例如 html 图片 icon之类的 …

Spark第二课RDD的详解

1.前言 RDD JAVA中的IO 1.小知识点穿插 1. 装饰者设计模式 装饰者设计模式:本身功能不变,扩展功能. 举例: 数据流的读取 一层一层的包装,进而将功能进行进一步的扩展 2.sleep和wait的区别 本质区别是字体不一样,sleep斜体,wait正常 斜体是静态方法…

【网络架构】华为hw交换机网络高可用网络架构拓扑图以及配置

一、网络拓扑 1.网络架构 核心层:接入网络----路由器 汇聚层:vlan间通信 创建vlan ---什么是vlan:虚拟局域网,在大型平面网络中,为了实现广播控制引入了vlan,可以根据功能或者部门等创建vlan,再把相关的端口加入到vlan.为了实现不用交换机上的相同vlan通信,需要配置中继,为了…

Vue中拖动排序功能,引入SortableJs,前端拖动排序。

背景: 作为一名前端开发人员,在工作中难免会遇到拖拽功能,分享一个github上一个不错的拖拽js库,能满足我们在项目开发中的需要,支持Vue和React,下面是我在vue后台项目中中使用SortableJS的使用详细流程&am…

小数据 vs 大数据:为AI另辟蹊径的可操作数据

在人工智能背景下,您可能已听说过“大数据”这一流行语,那“小数据”这一词呢,您有听说过吗?无论您听过与否,小数据都无处不在:线上购物体验、航空公司推荐、天气预报等均依托小数据。小数据即一种采用可访…

手机商城网站的分析与设计(论文+源码)_kaic

目录 摘 要 1 1 绪论 2 1.1选题背景意义 2 1.2国内外研究现状 2 1.2.1国内研究现状 2 1.2.2国外研究现状 3 1.3研究内容 3 2 网上手机商城网站相关技术 4 2.1.NET框架 4 2.2Access数据库 4 2.3 JavaScript技术 4 3网上手机商城网站分析与设…

RISC-V公测平台发布 · 7-zip 测试

简介 7-Zip 是一个开源的压缩和解压缩工具,具有高压缩比和快速解压缩的特点。除了普通的文件压缩和解压缩功能之外,7-Zip 还提供了基准测试功能,通过压缩和解压缩大型文件来评估系统的处理能力和性能。 7-Zip 提供了一种在不同压缩级别和多…