常用的软件测试工具有哪些?

常用的软件测试工具有哪些?,第1张

测试工作中,需要接触到各种类型的测试工具。一般来说,有以下一些类型的工具:测试管理工具:可以帮助完成测试计划、跟踪测试运行结果等的工具。这类工具还包括有助于需求、设计、编码测试及缺陷跟踪的工具;静态分析工具:分析代码而不执行代码。这种工具检测某些缺陷比用其它方法更有效,开销也更小。这种工具一般可以度量代码的各种指标,如McCabe测定复杂度,Logiscope度量代码和规范的复合度等等;覆盖率工具:这种工具评估通过一系列测试后,软件被执行的程度。这种工具大量的被应用于单元测试中,如PureCoverage、TrueCoverage、Logiscope等;动态分析工具:这种工具评估正在运行的系统。例如,检查系统运行过程中的内存使用情况,是否有内存越界、内存泄露等等,这类工具有Purify、BoundChecker等;测试执行工具:这类工具可使测试能够自动化进行,并且各个层次(单元测试、集成测试、系统测试)的执行工具都有。例如系统测试阶段有功能测试自动化工具,如Robot、Winrunner、SilkTest等;还有性能测试工具,如Loadrunner、SilKPerformer等。白盒测试工具主要有:内存资源泄漏检查:Numega中的bouncechecker,Rational的Purify代码覆盖率检查:Numega中的truecoverage,Rational的Purecoverage,Telelogic公司的logiscope,Macabe公司的Macabe代码性能检查:Numega中的truetime,Rational的Quantify代码静态度量分析质量检查工具:logiscope和Macabe黑盒测试工具主要有:客户端功能测试:MI公司的winrunner,compuware的qarun,Rational的robot服务器端压力性能测试:MI公司的winload,compuware的qaload,Rational的SQAload等等Web测试工具:MI公司的Astra系列,rsw公司的e-testsuite测试管理工具:rational的testmanager,compuware的qadirector等缺陷跟踪工具:trackrecord,Testtrack单元测试工具:测试框架:delphidunitjavajunitc++cppunit

参考工具:

1、VisualVM

VisualVM是一个资源分析工具,一直从JDK 6更新到7。它默认内存和CPU的监视。它可以告诉你哪个类和方法消耗资源,但它不会显示代码流程。

2、JProfiler

JProfiler很容易安装,并且通过向导,你可以选择应用服务器用来运行应用程序。我不得不选择使用JPofiler应用服务器的主目录,以及向导生成的一个单独的启动脚本。然后运行服务器。在监听会话的过程中,它会提供了几个选项。它可以记录内存的使用和CPU的使用率。在查看CPU的使用率同时,可以看到执行路径。这让我看到应用程序大部分时间都花在请求上。我们可以将IntelliJ插件安装到IDE上,那么运行JProfiler会更加便利。比如,可以直接帮我启动Tomcat。

3、YourKit

YourKit是我在另一个项目中偶然发现的一款性能分析工具。它的安装很简单。安装时有一个选项,可以安装一个插件到我的IDE。安装后,运行应用程序,使用该插件,它会自动连接到YourKit。它有一个漂亮的用户界面可以查看到内存和CPU的监测,同时也可以看到请求的执行路径。

4、JProbe

我刚开始创建JProbe时遇到点困难。安装并不是直接完成,我需要对它进行配置。它采用了类似JProfiler一样的设置。它会在你的Tomcat目录中生成启动脚本。可以通过脚本启动服务器并监听会话。它的界面包含有按钮和表格,其中可以看到内存的使用,但无法在进程中找到执行路径。

5、Spring Insight

听到TC Server有Spring Insight监控界面,于是我兴奋地尝试了一下。安装完成后,并设置成TC Server的开发者版,然后部署应用程序在TC Server上。我查看Insight界面,它可以很好的监视类和方法,并能看到完成这个方法用了多少时间。我还能看到输入参数值,以及返回值。由于我的应用程序是基于Spring的,Spring Insight能够提供非常有用的数据。TC Server插件在IDE上的配置与Tomcat的配置类似。SpringSource工具套件就自带Spring Insight。

结论

看到这五款性能分析工具,我可以肯定地说,它们都非常不错。如果你有基于Spring的应用程序,那么选择Spring Insight显然是最佳的。它一直是免费的,但你需要部署你的应用在TC Server上。

如果你想监听本地和远程的进程,我会选择JProfiler或YourKit。这两个也可以帮助Spring Insight来监测、找到性能瓶颈。

JProfiler和YourKit已经能满足我的上述要求。JProfiler、YourKit和Spring Insight都可以跟踪应用程序的类和方法的流向。JProfiler和YourKit可以显示内存使用情况。虽然Spring Insight不可以显示内存使用情况,但它可以很好的显示吞吐量的趋势。这三款性能分析工具功能很清楚,不混乱,而且容易使用。最后,他们都有自己的IDE插件。希望本文能帮助你做出正确的选择。

对于DBA来讲,我们都会做新服务器的性能测试。我会从TPC的基准测试入手,使用HammerDB做整体性能评估(前身是HammerOra),跟厂商数据对比。再使用DiskSpd针对性的测试磁盘IO性能指标(前身是SQLIO),再到SQLIOSIM测试存储的完整性,再到ostress并发压力测试,对于数据库服务器迁移,我们还会收集和回放Profiler Trace,并收集期间关键性能计数器做对比。

下面我着重谈谈使用HammerDB的TPC-C来做SQL Server基准测试。

自己写负载测试代码很困难

为了模拟数据库的负载,你想要有多个应用程序用户和混合数据读写的语句。你不想总是对单一行更新相同的值,或者只是重复插入假的值。

自己动手使用Powershell、C#等语言写负载测试脚本也不是不可能,只是太消耗时间,你需要创建或者恢复数据库,并做对应的测试。

免费而简单的压测SQL Server:使用HammerDB模拟OLTP数据库负载

HammerDB是一个免费、开源的工具,允许你针对SQL Server、Oracle、MySQL和PostgreSQL等运行TPC-C和TPC-H基准测试。你可以使用HammerDB来针对一个数据库生成脚本并导入测试。HammerDB也允许你配置一个测试运行的长度,定义暖机阶段,对于每个运行的虚拟用户的数量。

首先,HammerDB有一个自动化队列,让你将多个运行在不同级别的虚拟用户整合到一个队列--你可以以此获得在什么级别下虚拟用户性能平稳的结果曲线。你也可以用它来模拟用于示范或研究目的的不同负载。

用于SQL Server上的HammerDB的优缺点

HammerDB是一个免费工具,它也极易访问和快速的启动基准测试和模拟负载的方法。它的自动程序特性也是的运行工作负载相当自动。

主要缺点是它有一个学习曲线。用户界面不是很直观,需要花费时间去习惯。再你使用这个工具一段时间之后,将会更加容易。

HammerDB也不是运行每一个基准测试。它不运行TPC-E基准,例如,SQL Server更热衷于当前更具发展的OLTP基准TPC-E。如果你用HammerDB运行一个TPC-C基准,你应该理解它不能直接与供应商提供的TPC-C基准结果相比较。但是,它是免费的、快速的、易用的。

基准测试使用案例

基准测试负载不能精确模拟你的应用程序的特点。每个负载是唯一的,在不同的系统有不同的瓶颈。对于很多使用案例,使用预定义的基准测试仍然是非常有效的,包括以下性能的比较:

多个环境(例如:旧的物理服务器,新的虚拟环境)

使用各种因素的不同及时点(例如:使用共享存储和共享主机资源的虚拟机的性能)

在配置改变前后的点

当然,对一个数据库服务器运行基准测试可以影响其他SQL Server数据库或者相同主机上其他虚拟机的性能,在生产环境你确保有完善的测试计划。

对于自学和研究来说,有预配置的负载非常棒。

开始使用基准测试

你可以从阅读HammerDB官方文档的“SQL Server OLTP Load Testing Guide”开始。

用Nmon监控Linux系统性能的方法请参见下面介绍(配图):

1、安装Nmon

2、一旦安装完成,则可以通过在终端执行 nmon 命令启动它。

Nmon命令执行之后,大家可以看到如下输出:

3、从上图中大家可以看到,Nmon 命令行工具是一个用户交互的应用程序,大家可以非常方便地使用键盘快捷键来查看相关统计信息。

q : 停止并退出Nmon

h : 查看帮助信息

c : 查看 CPU 统计信息

m : 查看内存统计信息

d : 查看磁盘统计信息

k : 查看内核统计信息

n : 查看网络统计信息

N : 查看 NFS 统计信息

j : 查看文件系统统计信息

t : 查看 Top 进程统计信息

V : 查看虚拟内存统计信息

v : 详细输出模式

4、查看 CPU 统计信息

如果你想查看 CPU 性能信息,可以直接按 c 键:

5、查看 Top 进程统计信息

如果你想查看 Top 进程统计信息,可以直接按 t 键:

6、查看网络统计信息

如果你想查看网络统计信息,可以直接按 n 键:

7、磁盘I/O图

使用 d 键可以查看磁盘统计信息:

8、查看内核统计信息

如果你想查看内核统计信息,可以直接按 k 键:

9、获取系统信息

如果要查看 Linux 的系统信息,如:系统架构、操作系统版本、Linux 版本则可以使用 r 键,这对系统管理员非常有用。

以上是基础使用方法。下面再补充一些命令和方法:

1、启动

打开nmon所在的目录:cd /usr/local/nmon

修改启动文件的访问权限:chmod 755 nmon_x86_rhel52

启动nmon:/nmon_x86_rhel52

如果要采样nmon的数据保存成文件,可以

/nmon_x86_rhel52 -fT -s 30 -c 120

其中30表示每隔30秒nmon取一次系统性能数据,120表示取120次;

这样nmon将会在运行开始算起连续取得30sX120=60分钟,可根据实际需要时间调整;当运行以上命令后该目录下会生成一个nmon文件,该文件会根据间隔时间被写入性能数据,当一段时间后再查看该文件,文件字节变大

利用nmonanalyser分析nmon文件

当测试结束的同时ftp到服务器上将nmon文件get下来,

打开nmon_analyserzip 包下的nmon analyser v338xls 文件,点击Analyse nomn data按钮,选择之前get来下的nmon文件。

(如果报告以下宏的安全级别太高错误,则在“工具 -- 宏 --安全性”里把级别调低,然后重新打开 nmon analyser v338xls 文件)

待分析结束后会生成性能分析结果文件(文件格式为xls,其中包括CPU,IO,内存等性能分析报告)。

分析结果中有很多数据和图形,简要介绍主要的性能参数图像

41 系统汇总(对应excel标签的‘SYS_SUMM’)

蓝线为cpu占有率变化情况;

粉线为磁盘IO的变化情况;

42磁盘读写情况汇总(对应excel标签的‘DISK_SUMM’)

蓝色为磁盘读的速率KB/sec

紫色为磁盘写的速率KB/sec

43内存情况汇总(对应excel标签的‘MEM’)

曲线表示内存剩余量(MB)

分析数据得到的报告文件(xls)中包含很多性能分析结果数据,根据自己的需要查看。

2、nmon运行本身就消耗系统资源的;

另外如果取到nmon文件后确定不再需要nmon继续收集信息则应kill掉nmon;

命令:

ps -A | grep nmon #得到pid

kill -9 pid

suse10 enterprise sp2:

nmon_x86_rhel3

使用对应的操作系统文件:

chmod +x nmon_x86_ubuntu810

mv nmon_x86_ubuntu810 /usr/local/bin/nmon

对于 Debian 还要做以下操作(不做也同样能运行):

apt-get install lsb-release

lsb_release -d | sed 's/Description:\t//' > /etc/debian_release

然后直接运行 nmon 即可。

采集数据并生成报表:

采集数据:

nmon -s10 -c60 -f -m /home/

参数解释:

-s10 每 10 秒采集一次数据。

-c60 采集 60 次,即为采集十分钟的数据。

-f 生成的数据文件名中包含文件创建的时间。

-m 生成的数据文件的存放目录。

这样就会生成一个 nmon 文件,并每十秒更新一次,直到十分钟后。

生成的文件名如: hostname_090824_1306nmon ,"hostname" 是这台主机的主机名。

生成报表:

下载 nmon analyser (生成性能报告的免费工具):

http://wwwibmcom/developerworks/wikis/display/Wikiptype/nmonanalyser

把之前生成的 nmon 数据文件传到 Windows 机器上,用 Excel 打开分析工具 nmon analyser v33Cxls 。点击 Excel 文件中的 "Analyze nmon data" 按钮,选择 nmon 数据文件,这样就会生成一个分析后的结果文件: hostname_090824_1306nmonxls ,用 Excel 打开生成的文件就可以看到结果了。

如果宏不能运行,需要做以下操作:

工具 -> 宏 -> 安全性 -> 中,然后再打开文件并允许运行宏。

自动按天采集数据:

在 crontab 中增加一条记录:

0 0 root nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1

300288=86400 秒,正好是一天的数据。

采样文件越来越大:

jackxiang@1722539:~/nmon# /nmon -s1 -c33 -f

jackxiang@1722539:~/nmon#

jackxiang@1722539:~/nmon# du -sh

80K AD39__sles10_101207_1046nmon

160K nmon

jackxiang@1722539:~/nmon# du -sh

12K AD39__sles10_101207_1046nmon

160K nmon

jackxiang@1722539:~/nmon# du -sh

16K AD39__sles10_101207_1046nmon

160K nmon

jackxiang@1722539:~/nmon# du -sh

20K AD39__sles10_101207_1046nmon

160K nmon

jackxiang@1722539:~/nmon# du -sh

20K AD39__sles10_101207_1046nmon

160K nmon

注:以上一些机器名称或系统名称,请根据实际情况自行调整及修改。

一、 IP 网络测试工具背景

1 当前网络评估与测试现状

●网络评估与测试需求广泛

(1)业务部署前的网络质量评估

(2)端到端网络性能优化与验证

(3)广域网线路质量的日常评估验证

(4)AP路由器&无线终端WIFI测试

(5)服务器网络性能测试

(6)数据中心虚拟化平台性能测试

●缺乏专业网络性能测试工具

(1)开源测试工具

性能较差;

兼容性较差。

无详细测试评估报告

(2)自研测试工具

缺乏测试公正性;

场景易受限;

兼容性较差。

2 理想的网络测试工具

(1)快速部署,高效配置

安装简易快速,无需安装额外的系统组件;

点击鼠标次数尽量少;

修改配置便利。

(2)兼容性好

适配主流的国内外操作系统;

适配主流的CPU架构。

(3)测试结果精准且一致性好

每次测试结果公差小;

不同软件版本结果差异小。

(4)详尽的统计报告

基于整体测试的概要统计结果;

可展现历史详细测试数据。

二、 IP 网络测试工具 X-Launch

1X-Launch 网络测试工具

(1)基于软件的网络及应用服务性能测试工具

双臂测试;    

单臂测试。

(2)通过测试端点产生网络流量对性能进行测量

TCP、UDP、PING;      

语音、视频、HTTP、FTP、MAIL、组播。

(3)测试端点软件可以快速安装部署

2X-Launch 测试部署方式

局域网公网

(1)控制端(TestConsole)

安装于Windows 7(64位);

4核CPU,8 GB内存。

150 GB硬盘

(2)测试端点(TestPoint)

软件测试端点支持Linux、Windows、Android、VxWorks、各种国产OS

3X-Launch 测试工作原理

4 灵活部署于各类终端或系统

(1)支持的OS

Windows;Linux;Android;国产OS

(2)支持的CPU架构

x86;PCPU;ARM;MIPS;Alpha;网络接口;以太网;WiFi;3G、4G、5G

(3)网络接口

以太网;WiFi;3G、4G、5G

5 具备丰富的测试业务模型

6 测试结果图表与报告

三、 X-Launch 应用场景

1 丰富的应用场景 - 无线 CPE 测试

无线基准性能测试;

●无线衰减测试;

●无线方向性测试;

●无线信测试;

●无线竞争测试;

●无线并发测试;

●无线远近距离测试。

2 丰富的应用场景 - 虚拟交换网络测试

(1)在虚拟化平台的VM中部署TestPoint,测试vSwitch的交换性能

(2)常见测试指标

吞吐量;时延;丢失率;乱序

3 丰富的应用场景 - 服务器网络性能测试

(1)在服务器不同类型OS中部署TestPoint实现流量环回,通过硬件仪表打流测试服务器网络性能

(2)常见测试指标

吞吐量;延迟;丢包率

4 丰富的应用场景 - 无线网络性能测试

(1)模拟真实的业务TCP、UDP、语音、HTTP等应用流量

(2)常见测试指标

吞吐量、延迟、抖动、乱序;;TCP建立时间;HTTP 首字节、末字节时间迟;语音MOS

5 丰富的应用场景 - 异地网络专线性能测试

(1)在网络端到端两头部署TestPoint,通过一对一的方式测试网络的承载指标

(2)常见测试指标

TCPUDP吞吐量;单向延迟;抖动;乱序

四、 X-Launch 成功案例

1 成功案例 - 某大 NEM 无线 CPE 测试

(1)测试挑战

国际竞争日益激烈,科技战层出不穷,在网络性能测试领域也需实现自主可控,保障整体业务的持续发展:

测试结果公差范围内;

测试配置可替换。

(2)信而泰解决方案

Windows测试控制端,测试端点支持Windows、Linux以及Android,支持下述常见测试协议:

TCP;UDP;PING;HTTP;FTP;RTSP;Voice

(3)客户收益

测试的自主可控;测试功能更新快;对需求的匹配度更高

2 成功案例 -5G 专线测试

(1)测试挑战

某医院开通电信5G专线,需进行下列测试:

5G端到端切片性能验证,可用性、健康度、丢包率、上下行带宽、延迟和抖动等;

对5G端到端切片场景进行验证大流量上下行(视频、影像);

5G端到端压力测试。

(2)信而泰解决方案

Windows测试控制端以及测试端点部署在医院网络中心机房,Android手机运行测试端点软件在医院区域内进行测试。

使用的测试协议为:

TCP_TP;UDP_STREAM

(3)客户收益

验证了5G专线在医院可用性;

验证了5G专线端到端切片性能以及使用场景;

验证专线的使用范围是否可控。

五、竞争分析

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 常用的软件测试工具有哪些?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情