IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 【软件测试】2021年软件测试领域常用工具总结-抓包工具与单元测试工具篇 -> 正文阅读

[开发测试]【软件测试】2021年软件测试领域常用工具总结-抓包工具与单元测试工具篇

前言

大家好,我是洋子,作为一名测试开发/软件测试工程师, 在进行软件测试的过程中,会用到测试工具去辅助测试,以提高测试工作的效率。今天就给大家介绍一下2021年软件测试领域当中的最流行,最实用的工具,一共有8类工具。本文会先介绍抓包工具与单元测试工具

工具分类

  • 抓包工具
  • 单元测试工具
  • 接口测试工具
  • UI测试工具
  • 性能测试工具
  • 测试管理工具
  • 安全性测试工具
  • AI测试工具

抓包工具

  • Charles
  • Fiddler
  • Wireshark

Charles

在这里插入图片描述
Charles 是一个 HTTP 代理/HTTP 监视器/反向代理,能捕获本机发送与接收到 的HTTP 和 HTTPS请求 。测试人员能够查看请求、响应和 HTTP 标头(其中包含 cookie 和缓存信息)。同时支持Map Remote,Map Local ,Rewrite 三大功能,修改本机请求的ip与端口,请求返回结果,重写HTTP Head、Body等信息

官网地址:
https://www.charlesproxy.com/

支持Mac,Windows系统

Fiddler

在这里插入图片描述
Fiddler 是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,但经典版只支持Windows系统,目前推出新的 Fiddler Everywhere 软件已支持Mac

官网地址:
https://www.telerik.com/fiddler

Wireshark

在这里插入图片描述
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。Charles与Fiddler 只能抓取HTTP 及HTTPS 的请求,而Wireshark还可以捕获 IP,TCP,UDP 协议头与协议内容,对于分析网络层与传输层协议是一大利器

官网地址:
https://www.wireshark.org/

单元测试工具

  • Junit
  • TestNG
  • GoogleTest
  • pytest
  • unittest
  • Spock
  • Jmockit
  • gcov、lcov、gcovr
  • Coverage.py
  • EvoSuite
  • Diffblue Cover

单元测试框架

当前主流的单元测试框架包括:JUnit、TestNG、gtest、pytest、unittest;这里还会介绍一款简单易用的单元测试框架Spock。

JUnit

在这里插入图片描述

JUnit是一个为Java设计的开源单元测试框架,多数 Java 的开发环境都已经集成了 JUnit 作为单元测试的工具。JUnit 的最新版本是JUnit 5,它不再是一个单一的JAR 包,而是由以下3部分组成

JUnit 5 = JUnit Platform(平台) + JUnit Jupiter + JUnit Vintage

官网地址:https://junit.org/junit5/

TestNG

在这里插入图片描述
TestNG 是另一个为Java编程语言设计的开源单元测试框架,是一个受JUnit和NUnit启发而来的测试框架,但它引入了一些新功能:

  • 注解支持
  • 支持多线程测试执行
  • 支持数据驱动测试(使用@DataProvider)

官网地址:https://testng.org/

GoogleTest

在这里插入图片描述
GoogleTest(gtest)是一个跨平台的(Liunx、Mac OS X、Windows 、Cygwin 、Windows CE and Symbian ) C++单元测试框架,由google公司发布

  • 使用简单的宏定义就能编写测试用例
  • 试用例为exe可执行程序,能直接运行
  • 提供丰富的命令行参数

pytest

在这里插入图片描述
pytest是一个非常成熟的全功能的支持Python语言的自动化测试框架,也可以认为它一个测试管理框架,因为它不仅可以用来做单元测试,也可以结合selenium/appnium做UI自动化测试,还能集成requests库做接口自动化测试。支持参数化,可以分细粒度地控制要测试的测试用例,也可以很好的和CI工具结合,例如jenkins

官网地址:http://pytest.org/

unittest

在这里插入图片描述
unittest 是 Python 自带的一个单元测试框架,作为python的标准库,是其他单元测试框架的基础。unittest中最核心的部分是:TestFixture、TestCase、TestSuite、TestRunner。无需安装,使用简便,引入包 import unittest 即可使用

官网地址:http://docs.python.org/zh-cn/3/library/unittest.html

Spock在这里插入图片描述

Spock是一个为groovy和java语言应用程序来测试和规范的框架。这个框架的突出点在于它美妙和高效表达规范的语言。得益于JUnit runner,Spock能够在大多数IDE、编译工具、持续集成服务下工作。Spock的灵感源于JUnit,jMock, RSpec, Groovy, Scala, Vulcans以及其他优秀的框架形态

官网地址:https://spockframework.org/

单元测试Mock工具

在进行单元测试时,需要测试的类或函数有很多依赖,某些依赖不好构建,如Mysql或者Redis里的数据,导致在单元测试代码里无法完成构建。因此,我们需要采用Mock 技术隔离依赖对象,即模拟这些需要构建的类或者资源,提供给需要测试的对象使用

JMockit

在这里插入图片描述
JMockit是一个用于开发人员单元测试的Java工具。Jmockit可以和Junit或TestNG配合使用编写单元测试。主要有以下特点

  • 针对JavaEE和基于Spring的应用程序的容器外集成测试
  • 使用记录和验证语法模拟API
  • Mock API以替换实现。支持类级别整体mock和部分方法重写,以及实例级别整体mock和部分mock。可以mock静态方法、私有变量及局部方法
  • 代码覆盖率统计工具

官网地址:http://jmockit.org/

单元测试覆盖率工具

JCoCo

在这里插入图片描述
Jacoco是一个开源的免费Java代码覆盖工具,由EclEmma创建,其使用方法很灵活,可以嵌入到Ant、Maven中;可以作为Eclipse插件,可以使用其Java Agent技术监控Java程序等等。很多第三方的工具提供了对JaCoCo的集成,如sonar、Jenkins等

除了Jacoco,cobertura与emma这两款工具也是用来统计单元测试覆盖率

官网地址:https://www.jacoco.org/jacoco/

gcov、lcov、gcovr

在这里插入图片描述

gcov、lcov、gcovr都是支持C/C++语言代码覆盖率的工具。gcov是由gcc内建的代码覆盖率生成工具。lcov是gcov工具的图形前端,收集多个源文件的gcov数据,生成描述覆盖率的HTML页面。生成的结果中会包含概述页面,方便浏览。gcovr是一款针对C/C++代码覆盖率并支持以多种方式(包括列表方式、XML文件方式、HTML网页方式等)展示出来的工具。

lcov下载地址:https://github.com/linux-test-project/lcov
gcovr下载地址:https://github.com/gcovr/gcovr

Coverage.py

在这里插入图片描述
Coverage.py是一个度量Python语言代码覆盖率的工具。Coverage.py可以指定要通过配置文件分析哪些源文件,通过分析源代码,发现没有被测试覆盖的代码

官网地址:https://coverage.readthedocs.io

单元测试用例自动生成工具

许多开发人员认为手动编写单元测试用例耗时耗力,目前也推出了智能化自动生成单元测试的工具

EvoSuite

在这里插入图片描述
EvoSuite是由英国Sheffield(谢菲尔德)等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行,并得到了Google和Yourkit的支持。通过使用此自动测试工具能够在保证代码覆盖率的前提下极大地提高测试人员的开发效率。但是只能辅助测试,并不能完全取代人工,测试用例的正确与否还需人工判断。
官网地址:https://www.evosuite.org/
开源代码地址:https://github.com/EvoSuite/evosuite

DiffBlue Cover

在这里插入图片描述

Diffblue Cover是一个自动化的单元测试编写工具,通过分析Java应用程序编写反映当前行为的单元测试,提高测试覆盖率,并帮助开发人员在将来的代码更改中发现回归缺陷。
插件开源社区版地址:https://plugins.jetbrains.com/plugin/14946-diffblue-cover–community-edition/versions

UnitAuto

机器学习单元测试平台不用编写、也不生成任何测试代码,就能完成单元测试。相比 JUnit, JTest, Mockito, Mockk 等一堆 Compiling testing 工具,其它工具需要每个方法都写一大堆测试代码,需要开发成本、需要解决测试代码的 bug、业务代码更改后需要同步修改测试代码等;UnitAuto 不需要写任何代码,直接读取方法的属性,自动注入参数,拿到返回值和类成员变量,机器学习自动化校验。

github地址:https://github.com/TommyLemon/UnitAuto

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-01-12 00:19:40  更:2022-01-12 00:21:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 5:39:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码