性能测试服务PTS
https://docs.aliyun.com/?spm=0.0.0.0.Lv9qWT#/pub/pts
网站压力性能免费在线测试:阿里云PTS,Load Impact,loader.io服务器负载能力测试
http://www.chinaz.com/web/2015/0813/433986.shtml
性能测试
http://www.ltesting.net/ 领测软件测试网
http://baike.baidu.com/view/106187.htm
http://www.hudong.com/wiki/%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95
软件测试工具大全
http://cindylu520.iteye.com/blog/738411
web压力测试工具介绍
http://gqsunrise.iteye.com/blog/1176772
常用测试软件
http://www.51jobdoc.com/TypeDesign/InfoDetails.aspx?id=525&tid=30
http://stonesfour.iteye.com/blog/1555082
常见的自动化测试工具:QTP,Winrunner,Selenium
常见的性能测试工具:LoadRunner、Jmeter、WebLoad、SOAPUI
常见的缺陷管理工具:Bugzilla、Mantis、QC
常见的单元测试:Nunit、Junit
引用:http://www.51jobdoc.com/TypeDesign/InfoDetails.aspx?id=525&tid=30
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试 都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
目录
编辑本段 性能测试的内容
性能测试在软件 的质量保证中起着重要的作用,它包括的测试内容丰富多样。中国软件评测中心 将性能测试概括为三个方面:应用在客户端 性能的测试、应用在网络上性能的测试和应用在服务器端性能的测试。通常情况下,三方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈的预测。应用在客户端性能的测试
应用在客户端性能测试的目的是考察客户端应用的性能,测试的入口是客户端。它主要包括并发性能测试、疲劳强度测试 、大数据量测试和速度测试等,其中并发性能 测试是重点。 并发性能测试是重点 并发性能测试的过程是一个负载测试和压力测试 的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。负载测试(Load Testing)是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成 部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。负载测试是一个分析软件应用程序 和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。压力测试(Stress Testing)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。 并发性能测试的目的主要体现在三个方面:以真实的业务为依据,选择有代表性的、关键的业务操作 设计测试案例,以评价系统的当前性能;当扩展应用程序的功能或者新的应用程序将要被部署时,负载测试会帮助确定系统是否还能够处理期望的用户负载,以预测 系统的未来性能;通过模拟成百上千个用户,重复执行和运行测试,可以确认性能瓶颈并优化和调整应用,目的在于寻找到瓶颈问题。 当一家企业自己组织力量或委托软件公司代为开发一套应用系统的时候,尤其是以后在生产环境中实际使用起来,用户往往会产生疑问,这套系统能不能承受大量的并发用户同时访问? 这类问题最常见于采用联机事务处理 (OLTP)方式数据库应用 、Web浏览和视频点播等系统。这种问题的解决要借助于科学的软件测试 手段和先进的测试工具。 举例说明:电信计费软件 众所周知,每月20日左右是市话交费的高峰期,全市几千个收费网点同时启动。收费过程一般分为 两步,首先要根据用户提出的电话号码来查询出其当月产生费用,然后收取现金并将此用户修改为已交费状态。一个用户看起来简单的两个步骤,但当成百上千的终 端,同时执行这样的操作时,情况就大不一样了,如此众多的交易同时发生,对应用程序本身、操作系统 、中心数据库服务器、中间件服务器、网络设备的承受力都是一个严峻的考验。决策者不可能在发生问题后才考虑系统的承受力, 预见软件的并发承受力, 这是在软件测试阶段就应该解决的问题。 目前,大多数公司企业需要支持成百上千名用户,各类应用环境以及由不同供 应商提供的元件组装起来的复杂产品,难以预知的用户负载和愈来愈复杂的应用程序 ,使公司担忧会发生投放性能差、用户遭受反应慢、系统失灵等问题。其结果就是导致公司收益的损失。 如何模拟实际情况呢? 找若干台电脑和同样数目的操作人员在同一时刻进行操作,然后拿秒表记录下反应时间? 这样的手工作坊式的测试方法不切实际,且无法捕捉程序内部变化情况,这样就需要压力测试工具的辅助。 测试的基本策略是自动负载测试,通过在一台或几台PC机上模拟成百或上千的虚拟用户同时执行业务的情景,对应用程序进行测试,同时记录下每一事务处理的时间、中间件服务器峰值数据、数据库 状态等。通过可重复的、真实的测试能够彻底地度量应用的可扩展性和性能,确定问题所在以及优化系统性能。预先知道了系统的承受力,就为最终用户 规划整个运行环境的配置提供了有力的依据。 并发性能测试前的准备工作 测试环境:配置测试 环境是测试实施的一个重要阶段,测试环境的适合与否会严重影响测试结果的真实性和正确性。测试环境包括硬件环境和软件环境 ,硬件环境指测试必需的服务器、客户端、网络连接设备 以及打印机/扫描仪等辅助硬件设备所构成的环境;软件环境指被测软件运行时的操作系统、数据库及其他应用软件构成的环境。 一个充分准备好的测试环境有三个优点:一个稳定、可重复的测试环境,能够保证测试结果的正确;保证达到测试执行的技术需求;保证得到正确的、可重复的以及易理解的测试结果。 测试工具:并发性能测试是在客户端执行的黑盒测试 ,一般不采用手工方式,而是利用工具采用自动化方式进行。目前,成熟的并发性能测试工具有很多,选择的依据主要是测试需求和性能价格比 。 著名的并发性能测试工具有QALoad、LoadRunner、Benchmark Factory和Webstress等。这些测试工具都是自动化负载测试工具,通过可重复的、真实的测试,能够彻底地度量应用的可扩展性和性能,可以在整 个开发生命周期、跨越多种平台、自动执行测试任务,可以模拟成百上千的用户并发执行关键业务而完成对应用程序的测试。 测试数据:在初始的测试环境中需要输入一些适当的测试数据,目的是识别数据状态并且验证用于测 试的测试案例,在正式的测试开始以前对测试案例进行调试,将正式测试开始时的错误降到最低。在测试进行到关键过程环节时,非常有必要进行数据状态的备份。 制造初始数据意味着将合适的数据存储下来,需要的时候恢复它,初始数据提供了一个基线 用来评估测试执行的结果。 在测试正式执行时,还需要准备业务测试数据,比如测试并发查询业务,那么要求对应的数据库和表中有相当的数据量以及数据的种类应能覆盖全部业务。 模拟真实环境测试,有些软件,特别是面向大众的商品化软件,在测试时常常需要考察在真实环境中的表现。如测试杀毒软件 的扫描速度时,硬盘上布置的不同类型文件的比例要尽量接近真实环境,这样测试出来的数据才有实际意义。 并发性能测试的种类与指标 并发性能测试的种类取决于并发性能测试工具监控的对象 , 以QALoad自动化负载测试工具为例。软件针对各种测试目标提供了DB2、DCOM、ODBC、ORACLE、NETLoad、Corba、 QARun、SAP、SQLServer、Sybase、Telnet、TUXEDO、UNIFACE、WinSock、WWW、Java Script等不同的监控对象,支持Windows和UNIX测试环境。 最关键的仍然是测试过程中对监控对象的灵活应用,例如目前三层结构的运行模式广泛使用,对中间件的并发性能测试作为问题被提到议事日程上来,许多系统都采用了国产中间件,选择Java Script监控对象,手工编写脚本 ,可以达到测试目的。 采用自动化负载测试工具执行的并发性能测试,基本遵循的测试过程有:测试需求与测试内容,测试案例制定,测试环境准备,测试脚本 录制、编写与调试,脚本分配、回放配置 与加载策略,测试执行跟踪,结果分析与定位问题所在,测试报告与测试评估。 并发性能测试监控的对象不同,测试的主要指标也不相同,主要的测试指标包括交易处理性能指标和 UNIX资源监控。其中,交易处理性能指标包括交易结果、每分钟交易数、交易响应时间(Min:最小服务器响应时间;Mean:平均服务器响应时 间;Max:最大服务器响应时间;StdDev:事务处理服务器响应的偏差,值越大,偏差越大;Median:中值响应时间;90%:90%事务处理的服 务器响应时间)、虚拟并发用户数 。 应用实例:“新华社多媒体数据库 V1.0”性能测试 中国软件评测中心(CSTC)根据新华社技术局提出的《多媒体数据库(一期)性能测试需求》和GB/T 17544《软件包质量要求和测试》的国家标准,使用工业标准级负载测试工具对新华社使用的“新华社多媒体数据库 V1.0”进行了性能测试。 性能测试的目的是模拟多用户并发访问新华社多媒体数据库,执行关键检索业务,分析系统性能。 性能测试的重点是针对系统并发压力负载较大的主要检索业务,进行并发测试和疲劳测试,系统采用 B/S运行模式。并发测试设计了特定时间段内分别在中文库、英文库、图片库中进行单检索词、多检索词以及变检索式、混合检索业务等并发测试案例。疲劳测试 案例为在中文库中并发用户数200,进行测试周期约8小时的单检索词检索。在进行并发和疲劳测试的同时,监测的测试指标包括交易处理性能以及 UNIX(Linux)、Oracle、Apache资源等。 测试结论:在新华社机房测试环境和内网测试环境中,100M带宽情况下,针对规定的各并发测试案例,系统能够承受并发用户数为200的负载压力,最大交易数/分钟达到78.73,运行基本稳定,但随着负载压力增大,系统性能有所衰减。 系统能够承受200并发用户数持续周期约8小时的疲劳压力,基本能够稳定运行。 通过对系统UNIX(Linux)、Oracle和Apache资源的监控,系统资源 能够满足上述并发和疲劳性能需求,且系统硬件资源尚有较大利用余地。 当并发用户数超过200时,监控到HTTP 500、connect和超时错误,且Web服务器报内存溢出错误,系统应进一步提高性能,以支持更大并发用户数。 建议进一步优化软件系统 ,充分利用硬件资源,缩短交易响应时间。 疲劳强度与大数据量测试 疲劳测试是采用系统稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。 疲劳强度测试可以采用工具自动化 的方式进行测试,也可以手 工编写程序测试,其中后者占的比例较大。 一般情况下以服务器能够正常稳定响应请求的最大并发用户数进行一定时间的疲劳测试,获取交易执 行指标数据和系统资源监控数据。如出现错误导致测试不能成功执行,则及时调整测试指标,例如降低用户数、缩短测试周期等。还有一种情况的疲劳测试是对当前 系统性能的评估,用系统正常业务情况下并发用户数为基础,进行一定时间的疲劳测试。 大数据量测试可以分为两种类型:针对某些系统存储、传输、统计、查询等业务进行大数据量的独立数据量测试;与压力性能测试、负载性能测试、疲劳性能测试相结合的综合数据量测试方案。大数据量测试的关键是测试数据的准备,可以依靠工具准备测试数据。 速度测试目前主要是针对关键有速度要求的业务进行手工测速度,可以在多次测试的基础上求平均值,可以和工具测得的响应时间等指标做对比分析。应用在网络上性能的测试
应用在网络上性能的测试重点是利用成熟先进的自动化技术进行网络应用性能监控、网络应用性能分析和网络预测。 网络应用性能分析 网络应用性能分析的目的是准确展示网络带宽、延迟、负载和TCP端口的变化是如何影响用户的响 应时间的。利用网络应用性能分析工具,例如Application Expert,能够发现应用的瓶颈,我们可知应用在网络上运行时在每个阶段发生的应用行为,在应用线程级分析应用的问题。可以解决多种问题:客户端是否对 数据库服务器运行了不必要的请求?当服务器从客户端接受了一个查询,应用服务器是否花费了不可接受的时间联系数据库服务器?在投产前预测应用的响应时间; 利用Application Expert调整应用在广域网上的性能;Application Expert能够让你快速、容易地仿真应用性能,根据最终用户在不同网络配置环境下的响应时间,用户可以根据自己的条件决定应用投产的网络环境。 网络应用性能监控 在系统试运行之后,需要及时准确地了解网络上正在发生什么事情;什么应用在运行,如何运行;多少PC正在访问LAN或WAN;哪些应用程序导致系统瓶颈或资源竞争,这时网络应用性能监控以及网络资源 管 理对系统的正常稳定运行是非常关键的。利用网络应用性能监控工具,可以达到事半功倍的效果,在这方面我们可以提供的工具是Network Vantage。通俗地讲,它主要用来分析关键应用程序的性能,定位问题的根源是在客户端、服务器、应用程序还是网络。在大多数情况下用户较关心的问题还 有哪些应用程序占用大量带宽,哪些用户产生了最大的网络流量,这个工具同样能满足要求。 网络预测 考虑到系统未来发展的扩展性,预测网络流量的变化、网络结构的变化对用户系统的影响非常重要。根据规划数据进行预测并及时提供网络性能预测数据。我们利用网络预测分析容量规划工具PREDICTOR可以作到:设置服务水平、完成日网络容量 规划、离线测试网络、网络失效和容量极限分析、完成日常故障诊断、预测网络设备迁移和网络设备升级对整个网络的影响。 从网络管理软件获取网络拓扑结构 、 从现有的流量监控软件获取流量信息(若没有这类软件可人工生成流量数据),这样可以得到现有网络的基本结构。在基本结构的基础上,可根据网络结构的变化、 网络流量的变化生成报告和图表,说明这些变化是如何影响网络性能的。 PREDICTOR提供如下信息:根据预测的结果帮助用户及时升级网络,避免因关键设备 超过利用阀值导致系统性能下降;哪个网络设备需要升级,这样可减少网络延迟、避免网络瓶颈 ;根据预测的结果避免不必要的网络升级。应用在服务器上性能的测试
对于应用在服务器上性能的测试,可以采用工具监控,也可以使用系统本身的监控命令,例如Tuxedo中可以使用Top命令监控资源使用情况。实施测试的目的是实现服务器 设备、服务器操作系统、数据库系统 、应用在服务器上性能的全面监控,测试原理如下图。 UNIX资源监控指标和描述 监控指标 描述 平均负载 系统正常状态下,最后60秒同步进程的平均个数 冲突率 在以太网上监测到的每秒冲突数 进程/线程交换率 进程和线程之间每秒交换次数 CPU利用率 CPU占用率(%) 磁盘 交换率 磁盘交换速率 接收包错误率 接收以太网数据包时每秒错误数 包输入率 每秒输入的以太网数据包数目 中断速率 CPU每秒处理的中断数 输出包错误率 发送以太网数据包时每秒错误数 包输入率 每秒输出的以太网数据包数目 读入内存页速率 物理内存中每秒读入内存页的数目 写出内存页速率 每秒从物理内存中写到页文件中的内存页数 目或者从物理内存中删掉的内存页数目 内存页交换速率 每秒写入内存页和从物理内存中读出页的个数 进程入交换率 交换区输入的进程数目 进程出交换率 交换区输出的进程数目 系统CPU利用率 系统的CPU占用率(%) 用户CPU利用率 用户模式下的CPU占用率(%) 磁盘阻塞 磁盘每秒阻塞的字节数编辑本段 性能测试的目的
目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最后起到优化系统的目的。 包括以下几个方面 1.评估系统的能力,测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策。 2.识别体系中的弱点:受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方。 3.系统调优:重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。 检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄露 引起的失败,揭示程序中的隐含的问题或冲突。 4.验证稳定性(resilience)可靠性(reliability):在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。编辑本段 性能测试的类型
性能测试类型包括负载测试,强度测试,容量测试 等。 负载测试(Load Testing):负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。负载测试强调的是系统能够达到的峰值指标。 强度测试(Stress Testing): 强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况。强度测试强调的是系统在高负载情况下能够稳定工作,即在极端情况下系统的稳定性。 容量测试(Volume Testing):确定系统可处理同时在线的最大用户数。编辑本段 性能测试观察指标
性能测试主要是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以 结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈 或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。 在实际中作中我们经常会对两种类型软件进行测试:bs和cs,这两方面的性能指标一般需要哪些内容呢? Bs结构程序一般会关注的通用指标如下(简): Web服务器指标指标: * Avg Rps: 平均每秒钟响应次数=总请求时间 / 秒数; * Avg time to last byte per terstion (mstes):平均每秒业务角本的迭代次数 ,有人会把这两者混淆; * Successful Rounds:成功的请求; * Failed Rounds :失败的请求; * Successful Hits :成功的点击次数; * Failed Hits :失败的点击次数; * Hits Per Second :每秒点击次数; * Successful Hits Per Second :每秒成功的点击次数; * Failed Hits Per Second :每秒失败的点击次数; * Attempted Connections :尝试链接数; CS结构程序,由于一般软件后台 通常为数据库,所以我们更注重数据库的测试指标: * User 0 Connections :用户连接数,也就是数据库的连接数量; * Number of deadlocks:数据库死锁 ; * Butter Cache hit :数据库Cache的命中情况 当然,在实际中我们还会察看多用户测试情况下的内存,CPU,系统资源调用情况。这些指标其实是引申出来性能测试中的一种:竞争测试。什么是竞争测试,软件竞争 使用各种资源(数据纪录,内存等),看他与其他相关系统对资源的争夺能力。 我们知道软件架构 在实际测试中制约着测试策略和工具的选择。如何选择性能测试策略是我们在实际工作中需要了解的。一般软件可以按照系统架构分成几种类型: c/s client/Server 客户端/服务器架构 基于客户端/服务器的三层架构 基于客户端/服务器的分布式架构 b/s 基于浏览器 /Web服务器的三层架构 基于中间件应用服务器的三层架构l 基于Web服务器和中间件的多层架构l编辑本段 性能测试的步骤
在每种不同的系统架构的实施中,开发人员可能选择不同的实现方式,造成实际情况纷繁复杂。我们不可能对每种技术都详细解说,这里只是介绍一种方法提供给你如何选择测试策略,从而帮助分析软件不同部分的性能指标,进而分析出整体架构的性能指标和性能瓶颈。 由于工程和项目的不同,所选用的度量,评估方法也有不同之处。不过仍然有一些通用的步骤帮助我们完成一个性能测试项目。步骤如下 1. 制定目标和分析系统 2. 选择测试度量的方法 3. 学习的相关技术和工具 4. 制定评估标准 5. 设计测试用例 6. 运行测试用例 7. 分析测试结果制定目标和分析系统
每一个性能测试计划中第一步都会制定目标和分析系统构成。只有明确目标和了解系统构成才会澄清测试范围,知道在测试中要掌握什么样的技术。 目标: 1. 确定客户需求和期望 2. 实际业务需求 3. 系统需求 系统组成 系统组成这里包含几方面含义:系统类别,系统构成,系统功能等。了解这些内容的本质其实是帮助我们明确测试的范围,选者适当的测试方法来进行测试。 系统类别:分清系统类别是我们掌握什么样的技术的前提,掌握相应技术做性能测试才可能成功。例 如:系统类别是bs结构,需要掌握 http协议,java,html等技术 。或者是cs结构,可能要了解操作系统,winsock,com等。所以甄别系统类别对于我们来说很重要。 系统构成:硬件设置,操作系统设置是性能测试的制约条件,一般性能测试都是利用测试工具模仿大量的实际用户操作,系统在超负荷情形下运作。不同的系统构成性能测试就会得到不同的结果。 系统功能:系统功能指系统提供的不同子系统,办公管理系统中的公文子系统,会议子系统等,系统工能是性能测试中要模拟的环节,了解这些是必要的。选择测试度量的方法
经过第一步,将会对系统有清醒的认识。接下来我们将把精力放在软件度量 上,收集系统相关的数据。 度量的相关方面: * 制定规范 * 制定相关流程, 角色,职责 * 制定改进策略 * 制定结果对比标准学习的相关技术和工具
性能测试是通过工具,模拟大量用户操作,对系统增加负载。所以需要掌握一定的工具知识才能进行性能测试。大家都知道性能测试工具一般通过 winsock,http等协议记录用户操作。而协议选择是基于软件的系统架构实现(web一般选择http协议,cs选择winsock协议),不同的 性能测试工具,脚本语言也不同,比如rational robot中vu脚本用类c语言 实现。 开展性能测试需要对各种性能测试工具进行评估,因为每一种性能测试工具都有自身的特点,只有经过工具评估,才能选择符合现有软件架构的性能测试工具。确定测试工具后,需要组织测试人员进行工具的学习,培训相关技术。制定评估标准
任何测试的目的都是确保软件符合预先规定的目标和要求。性能测试也不例外。所以必须制定一套标准。 通常性能测试有四种模型技术可用于评估: *线性投射:用大量的过去的,扩展的或者将来可能发生的数据组成 散布图,利用这个图表不断和系统的当前状况对比。 *分析模型:用排队论公式和算法预测响应时间,利用描述工作量的数据和系统本质关联起来 *模仿:模仿实际用户的使用方法测试你的系统 *基准:定义测试和你最初的测试作为标准,利用它和所有后来进行的测试结果进行对比设计测试用例
设计测试用例 是 在了解软件业务流程的基础上。设计测试用例的原则是受最小的影响提供最多的测试信息,设计测试用例的目标是一次尽可能的包含多个测试要素。这些测试用例必 须是测试工具可以实现的,不同的测试场景将测试不同的功能。因为性能测试不同于平时的测试用例,尽可能把性能测试用例设计的复杂,才有可能发现软件的性能 瓶颈。运行测试用例
通过性能测试工具运行测试用例。同一环境下作的性能测试得到的测试结果是不准确的,所以在运行这些测试用例的时候,需要用不同的测试环境,不同的机器配置上运行。分析测试结果
运行测试用例后,收集相关信息,进行数据统计分析,找到性能瓶颈。通过排除误差和其他因素,让测试结果体现接近真实情况。不同的体系结构分析测试结果的 方法也不同,bs结构我们会分析网络带宽,流量对用户操作响应的影响,而cs结构我们可能更关心会系统整体配置对用户操作的影响。编辑本段 性能测试方法
对于企业应用程序,有许多进行性能测试的方法,其中一些方法实行起来要比其他方法困难。所要进行的性能测试的类型取决于想要达到的结果。例如,对于可再现性,基准测试 是最好的方法。而要从当前用户负载的角度测试系统的上限,则应该使用容量规划测试。本文将介绍几种设置和运行性能测试的方法,并讨论这些方法的区别。 如果不进行合理的规划,对J2EE应用程序进行性能测试将会是一项令人望而生畏且有些混乱的任务。因为对于任何的软件开发流程 ,都必须收集需求、理解业务需要,并在进行实际测试之前设计出正式的进度表。性能测试的需求由业务需要驱动,并由一组用例阐明。这些用例可以基于历史数据(例如,服务器一周的负载模式)或预测的近似值。弄清楚需要测试的内容之后,就需要知道如何进行测试了。 在开发阶段前期,应该使用基准测试来确定应用程序中是否出现性能倒退。基准测试可以在一个相对 短的时间内收集可重复的结果。进行基准测试的最好方法是,每次测试改变一个且只改变一个参数。例如,如果想知道增加JVM内存是否会影响应用程序的性能, 就逐次递增JVM内存(例如,从1024 MB增至1224 MB,然后是1524 MB,最后是2024 MB),在每个阶段收集结果和环境数据,记录信息,然后转到下一阶段。这样在分析测试结果时就有迹可循。下一小节我将介绍什么是基准测试,以及运行基准测 试的最佳参数。 开发阶段后期,在应用程序中的bug已经被解决,应用程序达到一种稳定状态之后,可以运行更为 复杂的测试,确定系统在不同的负载模式下的表现。这些测试被称为容量规划测试、渗入测试(soak test)、峰谷测试(peak-rest test),它们旨在通过测试应用程序的可靠性、健壮性和可伸缩性来测试接近于现实世界的场景。对于下面的描述应该从抽象的意义上理解,因为每个应用程序 的使用模式都是不同的。例如,容量规划测试通常都使用较缓慢的ramp-up(下文有定义),但是如果应用程序在一天之中的某个时段中有快速突发的流量, 那么自然应该修改测试以反映这种情况。但是,要记住,因为更改了测试参数(比如ramp-up周期或用户的考虑时间(think-time)),测试的结 果肯定也会改变。一个不错的方法是,运行一系列的基准测试,确立一个已知的可控环境,然后再对变化进行比较。基准测试
基准测试的关键是要获得一致的、可再现的结果。可再现的结果有两个好处:减少重新运行测试的次数;对测试的产品和产生的数字更为确信。使用的性能测试工 具可能会对测试结果产生很大影响。假定测试的两个指标是服务器的响应时间和吞吐量,它们会受到服务器上的负载的影响。服务器上的负载受两个因素影响:同时 与服务器通信的连接(或虚拟用户)的数目,以及每个虚拟用户请求之间的考虑时间的长短。很明显,与服务器通信的用户越多,负载就越大。同样,请求之间的考 虑时间越短,负载也越大。这两个因素的不同组合会产生不同的服务器负载等级。记住,随着服务器上负载的增加,吞吐量会不断攀升,直到到达一个点。 注意,吞吐量以稳定的速度增长,然后在某一个点上稳定下来。 在某一点上,执行队列开始增长,因为服务器上所有的线程都已投入使用,传入的请求不再被立即处理,而是放入队列中,当线程空闲时再处理。 注意,最初的一段时间,执行队列的长度为零,然后就开始以稳定的速度增长。这是因为系统中的负载在稳定增长,虽然最初系统有足够的空闲线程去处理增加的负载,最终它还是不能承受,而必须将其排入队列。 当系统达到饱和点,服务器吞吐量保持稳定后,就达到了给定条件下的系统上限。但是,随着服务器负载的继续增长,系统的响应时间也随之延长,虽然吞吐量保持稳定。 注意,在执行队列(图2)开始增长的同时,响应时间也开始以递增的速度增长。这是因为请求不能被及时处理。 为了获得真正可再现的结果,应该将系统置于相同的高负载下。为此,与服务器通信的虚拟用户应该将请求之间的考虑时间设为零。这样服务器会立即超载,并开始构建执行队列。如果请求(虚拟用户)数保持一致,基准测试的结果应该会非常精确,完全可以再现。 您可能要问的一个问题是:“如何度量结果?”对于一次给定的测试,应该取响应时间和吞吐量的平均值。精确地获得这些值的唯一方法是一次加载所有的用户,然后在预定的时间段内持续运行。这称为“flat”测试。 与此相对应的是“ramp-up”测试。 ramp-up测试中的用户是交错上升的(每几秒增加一些新用户)。ramp-up测试不能产生精确和可重现的平均值,这是因为由于用户的增加是每次一部分,系统的负载在不断地变化。因此,flat运行是获得基准测试数据的理想模式。 这不是在贬低ramp-up测试的价值。实际上,ramp-up测试对找出以后要运行的flat测试的范围非常有用。ramp-up测试的优点是,可以看出随着系统负载的改变,测量值是如何改变的。然后可以据此选择以后要运行的flat测试的范围。 Flat测试的问题是系统会遇到“波动”效果。 ) 注意波动的出现,吞吐量不再是平滑的。 这在系统的各个方面都有所体现,包括CPU的使用量。 注意,每隔一段时间就会出现一个波形。CPU使用量不再是平滑的,而是有了像吞吐量图那样的尖峰。 此外,执行队列也承受着不稳定的负载,因此可以看到,随着系统负载的增加和减少,执行队列也在增长和缩减。 注意,每隔一段时间就会出现一个波形。执行队列曲线 与上面的CPU使用量图非常相似。 最后,系统中事务的响应时间也遵循着这个波动模式。 注意,每隔一段时间就会出现一个波形。事务的响应时间也与上面的图类似,只不过其效果随着时间的推移逐渐减弱。 当测试中所有的用户都同时执行几乎相同的操作时,就会发生这种现象。这将会产生非常不可靠和不 精确的结果,所以必须采取一些措施防止这种情况的出现。有两种方法可以从这种类型的结果中获得精确的测量值。如果测试可以运行相当长的时间(有时是几个小 时,取决于用户的操作持续的时间),最后由于随机事件的本性使然,服务器的吞吐量会被“拉平”。或者,可以只选取波形中两个平息点之间的测量值。该方法的 缺点是可以捕获数据的时间非常短。性能规划测试
对于性能规划类型的测试来说,其目标是找出,在特定的环境下,给定应用程序的性能可以达到何种程度。此时可重现性就不如在基准测试中那么重要了,因为测 试中通常都会有随机因子。引入随机因子的目的是为了尽量模拟具有真实用户负载的现实世界应用程序。通常,具体的目标是找出系统在特定的服务器响应时间下支 持的当前用户的最大数。例如,您可能想知道:如果要以5秒或更少的响应时间支持8,000个当前用户,需要多少个服务器?要回答这个问题,需要知道系统的 更多信息。 要确定系统的容量,需要考虑几个因素。通常,服务器的用户总数非常大(以十万计),但是实际 上,这个数字并不能说明什么。真正需要知道的是,这些用户中有多少是并发与服务器通信的。其次要知道的是,每个用户的“考虑时间”即请求间时间是多少。这 非常重要,因为考虑时间越短,系统所能支持的并发用户越少。例如,如果用户的考虑时间是1秒,那么系统可能只能支持数百个这样的并发用户。但是,如果用户 的考虑时间是30秒,那么系统则可能支持数万个这样的并发用户(假定硬件和应用程序都是相同的)。在现实世界中,通常难以确定用户的确切考虑时间。还要注 意,在现实世界中,用户不会精确地按照间隔时间发出请求。 于是就引入了随机性。如果知道普通用户的考虑时间是5秒,误差为20%,那么在设计负载测试 时,就要确保请求间的时间为5×(1 +/- 20%)秒。此外,可以利用“调步”的理念向负载场景中引入更多的随机性。它是这样的:在一个虚拟用户完成一整套的请求后,该用户暂停一个设定的时间段, 或者一个小的随机时间段(例如,2×(1 +/- 25%)秒),然后再继续执行下一套请求。将这两种随机化方法运用到测试中,可以提供更接近于现实世界的场景。 现在该进行实际的容量规划测试了。接下来的问题是:如何加载用户以模拟负载状态?最好的方法是模拟高峰时间 用 户与服务器通信的状况。这种用户负载状态是在一段时间内逐步达到的吗?如果是,应该使用ramp-up类型的测试,每隔几秒增加x个用户。或者,所有用户 是在一个非常短的时间内同时与系统通信?如果是这样,就应该使用flat类型的测试,将所有的用户同时加载到服务器。两种不同类型的测试会产生没有可比性 的不同测试。例如,如果进行ramp-up类型的测试,系统可以以4秒或更短的响应时间支持5,000个用户。而执行flat测试,您会发现,对于 5,000个用户,系统的平均响应时间要大于4秒。这是由于ramp-up测试固有的不准确性使其不能显示系统可以支持的并发用户的精确数字。以门户应用 程序为例,随着门户规模的扩大和集群规模的扩大,这种不确定性就会随之显现。 这不是说不应该使用ramp-up测试。对于系统负载在一段比较长的时间内缓慢增加的情 况,ramp-up测试效果还是不错的。这是因为系统能够随着时间不断调整。如果使用快速ramp-up测试,系统就会滞后,从而报告一个较相同用户负载 的flat测试低的响应时间。那么,什么是确定容量的最好方法?结合两种负载类型的优点,并运行一系列的测试,就会产生最好的结果。例如,首先使用 ramp-up测试确定系统可以支持的用户范围。确定了范围之后,以该范围内不同的并发用户负载进行一系列的flat测试,更精确地确定系统的容量。渗入测试
渗入测试是一种比较简单的性能测试。渗入测试所需时间较长,它使用固定数目的并发用户测试系统的总体健壮性。这些测试将会通过内存泄漏 、 增加的垃圾收集(GC)或系统的其他问题,显示因长时间运行而出现的任何性能降低。测试运行的时间越久,您对系统就越了解。运行两次测试是一个好主意—— 一次使用较低的用户负载(要在系统容量之下,以便不会出现执行队列),一次使用较高的负载(以便出现积极的执行队列)。 测试应该运行几天的时间,以便真正了解应用程序的长期健康状况。要确保测试的应用程序尽可能接 近现实世界的情况,用户场景也要逼真(虚拟用户通过应用程序导航的方式要与现实世界一致),从而测试应用程序的全部特性。确保运行了所有必需的监控工具, 以便精确地监测并跟踪问题。峰谷测试
峰谷测试兼有容量规划ramp-up类型测试和渗入测试的特征。其目标是确定从高负载(例如系统高峰时间的负载)恢复、转为几乎空闲、然后再攀升到高负载、再降低的能力。 实现这种测试的最好方法就是,进行一系列的快速ramp-up测试,继之以一段时间的平稳状态 (取决于业务需求),然后急剧降低负载,此时可以令系统平息一下,然后再进行快速的ramp-up;反复重复这个过程。这样可以确定以下事项:第二次高峰 是否重现第一次的峰值?其后的每次高峰是等于还是大于第一次的峰值?在测试过程中,系统是否显示了内存或GC性能降低的有关迹象?测试运行(不停地重复 “峰值/空闲”周期)的时间越长,您对系统的长期健康状况就越了解。编辑本段 性能测试工具介绍
自动化测试工具介绍LR篇
HP LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。 |
编辑本段 结束语
本文介绍了进行性能测试的几种方法。取决于业务需求、开发周期和应用程序的生命周期,对于特定的企业,某些测试会比其他的更适合。但是,对于任何情况,在决定进行某一种测试前,都应该问自己一些基本问题。这些问题的答案将会决定哪种测试方法是最好的。 这些问题包括: 结果的可重复性需要有多高? 测试需要运行和重新运行几次? 您处于开放周期的哪个阶段? 您的业务需求是什么? 您的用户需求是什么? 您希望生产中的系统在维护停机时间中可以持续多久? 在一个正常的业务日,预期的用户负载是多少? 将这些问题的答案与上述性能测试类型相对照,应该就可以制定出测试应用程序的总体性能的完美计划。 性能测试是为描述测试对象与性能相关的特征并对其进行评价,而实施和执行的一类测试,如描述和评价计时配置文件、执行流、响应时间以及操作的可靠性和限制等特征。不同类型的性能测试侧重于不同的测试目标,这些性能测试的实施贯穿于整个软件开发 生 命周期 (Software Development Life Cycle, SDLC)。起初,在构架迭代中,性能测试侧重于确定和消除与构架有关的性能瓶颈。在构建迭代中还将实施和执行其他类型的性能测试,以调整软件和环境(优 化响应时间和资源),并核实应用程序和系统是否能够处理高负载和高强度的情况,如有大量事务、客户机和/或数据的情况。编辑本段 性能测试的测试类型
性能测试中包含以下测试类型: 基准测试 - 比较新的或未知测试对象与已知参照标准(如现有软件或评测标准)的性能。 争用测试: - 核实测试对象对于多个主角对相同资源(数据记录 、内存等)的请求的处理是否可以接受。 性能配置 - 核实在操作条件保持不变的情况下,测试对象在使用不同配置时其性能行为的可接受性。 负载测试 - 核实在保持配置不变的情况下,测试对象在不同操作条件(如不同用户数、事务数等)下性能行为的可接受性。 强度测试 - 核实测试对象性能行为在异常或极端条件(如资源减少或用户数过多)之下的可接受性。 容量测试 - 核实测试用户同时使用软件程序的最大数量。 性能评价 通常是和用户代表一起协作并且以多级方法执行的。 性能分析的第一级涉及单一主角/用例实例的结果评价和多个测试执行的结果比较。例如,在测试对 象上没有其他活动的情况下,记录单一主角执行单一用例的性能行为,并将结果与相同主角/用例的其他几个测试执行进行比较。第一级分析有助于确定可以表明系 统资源中存在争用的趋势,该趋势将影响从其他性能测试结果所得出的结论的有效性。 分析的第二级检查特定主角/用例执行的摘要统计信息 和实际数据值,以及测试对象的性能行为。摘要统计信息包括响应时间的标准偏差和百分位分布,这些信息显示了系统响应的变动情况,正如每个主角所见到的一样。 分析的第三级有助于理解性能问题的起因和加权值。该详细分析采用低级数据并且使用统计方法,帮助测试员从数据中得出正确的结论。详细分析为决策提供客观和定量的标准,但是它耗时较长,并且要求对统计学有基本的理解。 当性能行为差异确实存在,或是由于某些与测试数据收集 相关的随机事件引起时,详细分析使用统计加权值的概念来帮助理解。即认为在基本级上,任何事件都具有随机性。统计测试确定是否存在无法用随机事件解释的系统差异。
1. LoadRunner:支持多种常用协议多且个别协议支持的版本比较高;可以设置灵活的负载压力测试方案,
可视化的图形界面可以监控丰富的资源;报告可以导出到Word、Excel以及HTML格式。
2. WebLoad:webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;
webload通过模拟真实用户的操作,生成压力负载来测试web的性能用户创建的是基于javascript的测试脚本,称为议程agenda,
用它来模拟客户的行为,通过执行该脚本来衡量web应用程序在真实环境下的性能。
3. E-Test Suite:由Empirix公司开发的测试软件,能够和被测试应用软件无缝结合的Web应用测试工具。
工具包含e-Tester、e-Load和e- Monitor,这三种工具分别对应功能测试、压力测试以及应用监控,每一部分功能相互独立,
测试过程又可彼此协同。
4. QALoad:
(1).测试接口多;
(2)可预测系统性能;
(3)通过重复测试寻找瓶颈问题;
(4)从控制中心管理全局负载测试;
(5)可验证应用的扩展性;
(6)快速创建仿真的负载测试;
(7)性能价格比较高。
此外,QALoad不单单测试Web应用,还可以测试一些后台的东西,比如SQL Server等。只要它支持的协议,都可以测试。
5. Benchmark Factory: 首先它可以测试服务器群集的性能;其次,可以实施基准测试;最后,可以生成高级脚本。
6. JMeter:是开源测试工具,专门为运行和服务器负载测试而设计、100%的纯Java桌面运行程序。
原先它是为Web/HTTP测试而设计的,但是它已经扩展以支持各种各样的测试模块。
它和HTTP和SQL(使用JDBC)的模块一起运行。它可以用来测试静止或活动资料库中的服务器运行情况,
可以用来模拟服务器或网络系统在重负载下的运行情况。它也提供了一个可替换的界面用来定制数据显示,
测试同步及测试的创建和执行。
7. WAS:是Micro$oft提供的免费的Web负载压力测试工具,应用广泛。
WAS可以通过一台或者多台客户机模拟大量用户的活动。WAS支持身份验证、加密和Cookies,
也能够模拟各种浏览器和Modem速度,它的功能和性能可以与数万美元的产品媲美。
8. ACT:或称MSACT,它是微软的Visual Studio和Visual Studio.net带的一套进行程序压力测试的工具。
ACT不但可以记录程序运行的详细数据参数,用图表显示程序运行情况,而且安装和使用都比较简单,结果阅读方便,
是一套较理想的测试工具。
9. OpenSTA:它的全称是Open System Testing Architecture。
OpenST的特点是可以模拟很多用户来访问需要测试的网站,它是一个功能强大、自定义设置功能完备的软件。
但是,这些设置大部分需要通过Script来完成,因此在真正使用这个软件之前,必须学习好它的Script编写。
如果需要完成很复杂的功能,Script的要求还比较高。当然这也是它的优点,一些程序员不会在意编写Script的。
10. PureLoad:一个完全基于Java的测试工具,它的Script代码完全使用XML。所以,编写 Script很简单。
它的测试包含文字和图形并可以输出为HTML文件。由于是基于Java的软件,
因此PureLoad可以通过Java Beans API来增强软件功能。
软件测试工具大全
http://cindylu520.iteye.com/blog/738411
企业级自动化测试工具WinRunner
提名理由:Mercury Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。
工业标准级负载测试工具Loadrunner
提名理由:LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
全球测试管理系统testdirector
提名理由:TestDirector 是业界第一个基于Web的测试管理系统,它可以在您公司内部或外部进行全球范围内测试的管理。通过在一个整体的应用系统中集成了测试管理的各个部分,包括需求管理,测试计划,测试执行以及错误跟踪等功能,TestDirector极大地加速了测试过程。
功能测试工具Rational Robot
提名理由:IBM Rational Robot 是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。它集成在测试人员的桌面 IBM Rational TestManager 上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能是自动化测试的理想开始。
单元测试工具xUnit系列
提名理由:目前的最流行的单元测试工具是xUnit系列框架,常用的根据语言不同分为JUnit(java),CppUnit(C++),DUnit (Delphi ),NUnit(.net),PhpUnit(Php )等等。该测试框架的第一个和最杰出的应用就是由Erich Gamma (《设计模式》的作者)和Kent Beck(XP(Extreme Programming)的创始人 )提供的开放源代码的JUnit。
功能测试工具SilkTest
提名理由:Borland SilkTest 2006属于软件功能测试工具,是Borland公司所提出软件质量管理解决方案的套件之一。这个工具采用精灵设定与自动化执行测试,无论是程序设计新手或资深的专家都能快速建立功能测试,并分析功能错误。
性能测试工具WAS
提名理由:Microsoft Web Application Stress Tool 是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。透过这套功能强大的压力测试工具,您可以使用少量的Client端计算机仿真大量用户上线对网站服务所可能造成的影响。
自动化白盒测试工具Jtest
提名理由:Jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。parasoft同时出品的还有C++ test,是一款C/C++白盒测试工具。
功能和性能测试的工具JMeter
提名理由:JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。
性能测试和分析工具WEBLODE
提名理由:webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能。
功能自动化测试工具
厂商 工具名称
* Mercury Winrunner
备注:世界上最古老、经典的测试工具厂商Mercury Interactive公司(2004年改名Mercury)的绝对主打产品,于Loadrunner、Testdirector并称三雄,统治IT行业测试工具市场的20世纪末的10余年。然而它过时了,随着20世界末WEB应用技术的盛行,Winrunner显得力不从心。故2003年Mercury公司开发新产品QuickTest,而后Winrunner退居二线。2006年Mercury公司被HP全权收购,如今Winrunner已从HP产品家族中消失。一代巨星就这样陨落了;然而它的市场并未绝迹,目前国内外仍有众多公司使用它做自动化测试,它的C语言脚本也决定了它在IT系统底层及嵌入式领域的强大便利。
* HP Mercury Quicktest Professional
备注:原Mercury公司产品,Winrunner的子嗣。摒弃了Winrunner自身的缺陷而重新装配起来的新新产品,凭借Mercury公司在测试工具市场的绝对领导地位,这个后起之秀从04年诞生后二三年,就很快取代了Winrunner在全球的市场分额,至今HP QTP仍然是业内市场分额最大的测试工具,是目前HP Functional Testing Software的绝对主力。
* Compuware QARun
备注:Compuware公司长期以来也是业内一流的测试工具厂商之一,QARun是Compuware公司黑盒测试工具集QACenter里的功能自动化测试工具,使用与Winrunner非常类似。QACenter里绑定了QARun、QALoad、QADirector三款产品。Compuware与Mercury比较,除了黑盒测试工具产品,还有强大的白盒测试工具家族DevPartner系列。但是2009年英国Micro Focus公司收购了Compuware全部的质量保证解决方案与产品,QARun在Micro Focus产品中找不到位置,从此退出历史舞台。
* Micro Focus TestPartner
备注:原Compuware产品,QARun的升级版,支持VBA脚本,侧重于应用软件的业务逻辑测试,于Mercury早先提出的BPT测试非常类似,让非技术的业务人员进行偏向业务流层面的功能自动化测试。如今该产品也被Micro Focus公司所有。
* Micro Focus SilkTest
* Segue SilkTest International
备注:大名鼎鼎的Segue公司,是一个非常专注技术的测试工具厂商;其产品SilkTest、SilkPerformer完全可以和Mercury Winrunner、Loadrunner媲美,在国际市场分额也相当大。然而2006年4月Borland公司收购Segue公司,将Segue产品纳入Borland软件生命周期质量管理产品体系;2009年Borland公司又被Micro Focus全部收购。盛极一时的【宝兰帝国】从此消失。正所谓:钟南山下,活死人墓;宝兰帝国,绝迹江湖!就像飘渺的云烟,依稀湮没在历史的浩瀚长河里… 岁月的沉淀,沧桑的洗礼,我们能做的,就是把它记忆!但是SilkTest工具以其精致强悍的技术实现和丰富的4Test Language脚本语言,力压群雄!相信Micro Focus以它代替收购来的Compuware QARun也就不足为奇。SilkTest International是从前Segue公司推出的支持Unicode双字节字符集的SilkTest版本,现已消失。
* IBM Rational Robot
备注:在人类文明发展史中具有划时代意义的软件工程方法论——RUP(Rational Unified Process)的缔造者公司Rational,旗下有Rational Enterprise Studio这套面向软件工程各个阶级、各个环节的工具集。而Rational Robot工具是这套工具集里的元老级的自动化测试工具。其强就强在能做功能测试,也能和TestManager结合做性能测试,因此有SQABasic和VU二种脚本语言。20世纪末的自动化测试天下,呈现由Mercury Winrunner、Rational Robot和Segue SilkTest三足鼎立的局面。然而天下格局风云骤变,当人类文明进入21世纪,“分久必合、合久必分”的历史规律再次上演。2002年IBM宣布收购Rational公司,Rational全套产品与DB2、WebSphere、Lotus、Tivoli等并列为IBM软件几大产品家族(当然IBM后来又陆续收购其他IT公司)。如今Rational Robot虽然和Winrunner一样类似的老态龙钟,但是IBM依然对其销售,毕竟Robot有着Winrunner一样的悠久历史和广泛市场。然后RUP、UML这些时代的传奇、智慧的经典逐渐少人问津,在新生XP、Agile的光环下似乎变得黯然失色。另外,IBM Rational产品(包括其他家族产品)的一个典型优势就几乎所有的软件都是跨平台安装的,支持Windows、Unix、Linux等,这是其它多数厂商的产品不能及的。
* IBM Rational Visual Test
备注:Rational公司早期从Microsoft买过来的一款测试工具,针对Visual Studio开发的Windows应用程序做自动化功能测试,为VBS脚本。如今在IBM网站有下载,但是该工具用户已逐渐消失。
* IBM Rational Functional Tester
备注:在Rational的测试工具集里,除了Robot还有另外一款RobotJ,它是专门面向JAVA应用程序的功能自动化测试工具,脚本语言是Java。2003年IBM基于Eclipse平台重新开发了RobotJ的升级版Rational XDE Tester,它支持JAVA应用程序及WEB应用程序的自动化测试。然而它只是个过渡产品,2004年IBM开发出如今的IBM Rational Functional Tester,包括JAVA和.NET二个版本,支持JAVA和.NET开发的WEB应用程序和图形界面应用程序的自动化测试,目前还有针对SAP等插件。至此,IBM Rational Functional Tester已像QTP代替Winrunner那样取代了Robot的地位,成为IBM名副其实的主打测试工具产品。
* IBM Rational Service Tester for SOA
备注:IBM最新推出的针对Web Service进行自动化测试的工具,与Parasoft早期的SOATest非常类似。
* Parasoft WebKing
备注:Parasoft公司是业内专注于白盒测试工具产品的厂商,不过也有WebKing这款面向WEB应用程序的回归功能测试工具。它除了常规的录制、回放、数据驱动等技术,还可以方便的检查WEB页面元素的有效性,如链接、图片、JS、CSS等,支持AJAX。
* Oracle Empirix E-Tester
备注:Empirix是全球第四大软件质量解决方案供应商,主打产品是E-Test Suite工具套件,包括E-Tester、E-Load、E-Monitor三个组件,分别应用于WEB应用软件的自动化功能测试、性能测试和应用监控,三者可集成使用。E-Test Suite除支持典型的J2EE与.NET WEB应用外,还支持Web Service、Siebel、PeopleSoft应用。2008年E-Test Suite整套工具套件被Oracle收购,其它产品不详。
* RadView WebFT
备注:RadView公司是专注WEB应用程序性能测试的供应商,主打产品WebLoad Professional。2006年曾推出TestView工具套件,里边包括WebLoad,WebFT以及TestView Manager三个产品,如今TestView工具套件不再升级。其中WebFT是对WEB系统进行自动化功能测试的工具。
* AutomatedQA TestComplete
备注:AutomatedQA也是一个专注于测试技术的公司,主打产品TestComplete在早期是一款专门针对Delphi应用程序进行自动化测试的工具,脚本可以使用Delphi、VB、.NET等多种;如今这款工具以及升级成功能强大的主流自动化测试工具,全面支持Windows应用、WEB应用、.NET、JAVA、AJAX甚至Windows Moblie、Pocket PC、SmartPhone等。另外一个无与伦比的特性,TestComplete除了主要的功能测试外,完全可以做性能测试、压力测试等。一个如此小巧的工具,功能如此庞大,不得不赞叹AutomatedQA公司精炼的技术水平!而且它具有强大的API接口,非常易于扩展,本人在这里强烈推荐国内公司,因为它虽是商业工具,但是非常便宜。
* Seapine QA Wizard
备注:Seapine也是本人非常喜欢的软件工程服务供应商,7大主打产品涵盖了软件工程的需求管理、开发过程管理、缺陷管理、配置管理和自动化测试几个领域,彼此互相集成。QA Wizard Pro是Seapine的自动化测试工具产品,如今的版本功能已经非常强大,支持常规的Windows应用程序、WEB应用程序,开发技术包括C#、VB.NET、C++、Qt、AJAX、ActiveX、JS、JAVA、Delphi、WinForms等。本人写过早期版本的使用指南:http://www.51testing.com/html/04/n-8704.html
* RedStone EggPlant
备注:业内唯一的跨平台自动化测试工具由RedStone公司出品的EggPlant占据,它支持在Mac、Linux、Windows、Symbian、Solaris、Android、KVM Switches上的自动化测试;此外,该工具也有性能测试、压力测试的能力。
* Microsoft Visual Studio Test Edition
备注:微软公司怎么可能没有测试工具呢?诚然Microsoft长期以来都太关注测试工具这块市场,可能是技术太强了吧,呵呵!但是后来做了两手准备,一方面着手收购Mercury公司,后来没谈拢,反倒被HP收购去了;另一方面着手自行开发。如今几年Visual Studio已经有了测试版,基于微软的.NET平台,这个测试版软件可对.NET技术下的一切程序进行白盒功能测试、代码诊断测试、黑盒功能测试和系统性能测试,众集一身,强大无比。不过这款工具除了微软内部使用,未见商用。
* Minq PureTest
备注:Minq公司的PureTest,本是业内商业自动化测试工具之一,如今PureTest已经免费。它专注于对WEB应用程序进行功能自动化测试,并即时对WEB页面元素进行检测,对HTTP请求、响应进行诊断分析。
* WorkSoft Certify
备注:WorkSoft公司出品的专门针对SAP系统进行功能自动化测试的工具,既然专业,必然强大!
* 国产AutoRunner
* 国产TAR
备注:上海泽众软件公司自主研发的自动化测试工具AutoRunner,实现对WEB和Windows应用进行自动化功能测试的过程。脚本为JAVA。同意是泽众出品的TAR(Terminal AutoRunner)是面向终端系统进行自动化回归测试的工具,适用用VT100、VT220等标准应用,支持命令行和窗口模式,也支持脚本录制和回放,适合银行业务系统。
* AutoTester AutoTester
* AutoTester Web
备注:AutoTester 是世界上最早出品商业测试工具的公司,成立于1985年,工具基于MS-DOS。其产品有AutoTester、AutoTester ONE、AutoController等,AutoTester Web是跨浏览器的WEB功能测试工具。2007年6月该公司关门,7月网站关闭。
* Original Software TestBench400
备注:Original公司是面向IBM AS/400的软件测试服务供应商,TestBench400是AS/400测试解决方案的先驱和领导者。
* CenterLine QC/REPLAY
备注:CenterLine公司的QC/REPLAY是一款专门测试UNIX操作系统上图形界面应用程序的自动化测试工具。它以Widget为基本元,通过录制用户动作并回放的方式实现测试的过程。支持SUN OS、Solaris、HP UX、SVR4、UnixWare、Digital Unix、AIX等。
* Software Research eValid?? Web Testing & Analysis Suite
* Software Research TestWorks
备注:Software Research成立于1977年,位于旧金山,是全球嵌入式软件测试的先驱。eValid是其开发的面向WEB应用程序进行自动化测试的工具,TestWorks是面向传统CS应用软件的自动化测试工具,所有工具都是跨Windows与UNIX平台的,其中后者带有对JAVA和C++做代码诊断的功能。
* IBM Rational TTCN Suite
备注:原Telelogic公司Telelogic产品,2007年被IBM收购,划入Rational产品家族。适用于嵌入式系统的自动化测试。
* FanFare ITest
备注:Fanfare公司出品的专门针对网络设备做自动化测试的工具。
* AutoIT
备注:AutoIt3属于AutoHotKey的鼻祖,AutoHotKey是从AutoIt v2分裂而来;AutoIt v2之前一直open source,但在v3是对源码进行了一定控制。官网:http://www.autoitscript.com/autoit3/
* 免费Ruby + Watir
备注:Ruby+Watir组合是近年非常流行的全免费自动化测试框架,在国内使用也非常普遍;它通过Ruby脚本的强大编程能力,基于Watir的强大接口,可实现对WEB应用程序的自动化测试。
* 免费Selenium
备注:Selenium是另外一款全免费的自动化测试框架,由ThoughtWorks公司出品,支持Ruby、Java、Perl、Python等语言的脚本开发。如今在国内外日益普及,很有发展潜力。
* 免费Bromine
备注:Bromine是一个针对iPhone<!--wapdump begin-->(手机上网)<!--wapdump end--> Application的自动化测试工具, 它的灵感来自于Selenium和一篇文章Cocoa with love: Automated user interface testing on the iPhone, 它的基本思想是把你的application映射成一个XML结构,然后你可以用xpath访问里面的元素。
免费功能自动化测试工具在业内成千上万,这里只介绍这三款目前流行的自动化测试工具,其它更多免费工具另行说明。
内容导航
性能、负载测试工具
厂商 工具名称
* Mercury LoadRunner
备注:历史最悠久、行业地位最高、市场份额最大、使用最广泛,以及多少测试从业人员从没做测试工作开始就听说过、而又叫多少人爱恨交加的业内最强大、最专业的性能测试工具。从Mercury Interactive公司1989年诞生以来就是其主打产品,别不多言。
* Micro Focus QALoad
备注:原Compuware公司性能测试工具主打产品,如今被Micro Focus收购后仍然占有一席之地,是目前业内主流的大型性能测试工具之一。支持HTTP、HTTPS、SOAP、XML、Streaming Media、Winsock、JAVA、.NET、Citrix、Oracle Forms、SAP等多种协议技术。
* Micro Focus SilkPerformer
备注:原Segue公司性能测试工具主打产品,如今被Micro Focus收购后不影响它在全球性能测试工具市场排名第二的地位。它是仅次于Loadrunner的大型性能测试工具,支持的协议众多,而且突出增强了对Web Service性能测试的能力。它的性能瓶颈诊断与分析功能,在某些方面比Loadrunner还强大。可与原Segue SilkCentral TestManager和Borland StarTeam等集成。
* Segue Silkperformer Lite
备注:Silkperformer Lite是原Segue产品SilkPerformer的轻量级版,供非技术人员对中小型IT系统进行性能测试的工具。在Borland期间有所升级,但是到Micro Focus公司已经消失。
* IBM Rational Robot + TestManager
备注:这是早期Rational工具集进行性能测试的工具组合。Robot充当Loadrunner里VUGenerator的作用,开发业务逻辑脚本;TestManager充当Loadrunner里Controller和Analysis的作用,进行性能测试场景的设置和执行,并分析测试结果。时至今日,二者的组合已经寥寥无几。
* IBM Rational Performance Tester
备注:IBM收购Rational后,与Rational Functional Tester同时期开发的专业的性能测试工具产品,以弥补IBM没有大型性能测试工具的空白,从而可与当时的Mercury Loadrunner竞争。如今这款工具逐渐强大起来,在性能测试市场与HP、Microsoft、Micro Focus、RadView等独占鳌头。
* Oracle Empirix E-Load
备注:E-Test Suite套件里的性能测试工具,是目前业内主流性能测试工具之一,主要支持HTTP的WEB应用程序的性能测试和监控分析。目前属Oracle旗下产品。
* RadView WebLoad
备注:RadView公司的主打产品WebLoad Professional,如今功能已经非常强大,全面支持WEB应用程序的性能测试执行、监控、分析。全球有2000多家公司使用它做性能测试,参照:
* Minq PureLoad
备注:Minq公司的PureLoad,至今未免费。它专注于对WEB应用系统进行常规的压力、负载、稳定性测试。与PureAgent结合,可以诊断WEB服务器的响应时间、资源利用率等。
* Microsoft Web Application Stress Tool
备注:微软早期的小型性能测试工具,简称WAS,现已不升级,主要适合ASP、.NET开发的WEB应用系统进行性能测试。
* Microsoft Application Center Test
备注:微软以前Visual Studio开发环境内建的性能测试模块,简称ACT,如今的Microsoft Visual Studio Test Edition内性能测试功能仍然以它为主。
* Facilita ForeCast
备注:英国Facilita公司推出的ForeCast产品,是一款强大的主流性能测试工具,支持多种开发技术与网络协议,如WEB、JAVA、.NET、Citrix,并有一套辅助分析工具可对JAVA、主流数据库产品、网络进行分析和诊断。
* Quest BenchMark Factory for Database
备注:大名鼎鼎的Quest公司虽然有上百款对IT基础架构进行管理、监控、诊断的工具,但是也有BenchMark Factory for Database这款性能测试工具,当然它的性能测试偏向的是数据库,也是专门对数据库做性能测试和容量规划的工具。
* WorkSoft Certify Performance Test
备注:WorkSoft公司出品的专门针对SAP系统进行性能测试的工具,既然专业,必然强大!
* 免费 JMeter
备注:目前业内使用最广泛的性能测试工具,最初只是测试WEB应用,最近几年发展异常快速,到目前已经强大到支持HTTP/HTTPS、SOAP、JDBC、LDAP、JMS等,在国内也很普及。当然,这些免费工具的共性就是监控、分析功能不如商业工具。
* 免费 OpenSTA
备注:OpenSTA在JMeter之初使用普遍,后来被JMeter打败;如今它还是如最初一样仅支持WEB应用的性能测试。
* 免费 TestMaker
备注:TestMaker是PushToTest公司的免费产品,它的功能比商业工具有过之而无不及,可对HTTP, HTTPS, SOAP, XML-RPC, SMTP, POP3, IMAP下的JAVA应用程序做单元测试、集成测试、系统功能测试、系统性能测试等。脚本语言采用最新的Jython。由于是新产品,在国内外还不普及,但是它的前景相当广阔。
免费性能测试工具在业内也很多,这里只介绍这三款强大的工具,其它更多免费工具另行说明。
内容导航
白盒功能测试工具
厂商 工具名称
* Parasoft JTest
备注:Parasoft公司推出的业内最强大的针对JAVA技术的商业白盒测试工具。可对JAVA进行自动化的代码静态分析、代码评审,由于内建Junit,可实现自动化JAVA单元测试。可与目前主流的JAVA IDE如Eclipse、IBM RAD、Jbuilder集成。
* Parasoft C++Test
备注:Parasoft公司推出的业内最强大的针对C/C++技术的商业白盒测试工具。可对C/C++进行自动化的代码静态分析、代码评审,也可对C/C++实现自动化单元测试。可与目前主流的MS Visual Studio、Wind River Tornado等集成。
* Parasoft .TEST
备注:Parasoft公司推出的业内最强大的针对.NET技术的商业白盒测试工具。可对.NET框架下所有的语言如C#、VB.NET、ASP.NET、MC++等进行自动化的代码静态分析、代码评审、单元测试。可与目前主流的MS Visual Studio等集成。
* Parasoft SOA Test
备注:Parasoft公司推出的软件开发全生命周期测试平台。可对目前IT业内几乎所有的开发技术进行单元测试、集成测试、接口测试、安全性测试、负载测试、回归测试等。例如Web service、Java、C/C++、.NET、XML、SOAP、BPEL、UDDI、HTTP、TCP/IP、SMTP、IBM MQ、EJB、CORBA等。具体为何物,本人未知。
* Borland Agitator
备注:Borland Agitator是第三代JAVA单元测试工具,它是由JUnit之父、XP、TDD的创造者Kent Beck推出的新一代JAVA测试工具,真正实现了企业开发者测试的思想;它是理念是develop software with confidence!
* 国产VCTester
备注:VCTester由深圳市领测科技有限公司自主研发,是与Visual C++配套使用的新一代单元测试工具,分共享版与商用版两大系列,其主要功能包括:脚本化测试驱动(包括修改变量与调用函数)、脚本桩、支持持续集成测试、测试覆盖率统计(仅商用版本)、生成测试报告(仅商用版本)、测试消息编辑器(仅商用版本)等。
* 国产Visual Unit
备注:广州凯乐软件技术有限公司研发的VU是新一代单元测试工具,功能强大,使用简单,完全可视化,不需编写测试代码。VU的测试结果使程序行为一目了然,有助于整理编程思路和提高编程效率和正确性,并能快速排错;VU还增强调试器功能(如实现后退等功能),提高调试的效率;VU能达到空前的测试完整性,轻松实现语句覆盖、条件覆盖、分支覆盖、路径覆盖;VU提供详尽的测试报告,VU不仅是单元测试工具,更是一种使程序开发变得更高质更高效更舒适的工具。
内容导航
软件测试类工具大全第二部分,现列举如下,并非百分百全面,仅供测试同行参考:
白盒性能检测工具
厂商 工具名称
* Parasoft CodeWizard
备注:Parasoft公司推出的针对C++和JAVA代码进行检测和诊断的工具,分C++和JAVA二个版本。目前已不作为单独产品,已集成在JTest和C++Test里。
* Parasoft Insure++
备注:Parasoft公司推出的针对C和C++代码进行运行时内存检查和错误监测的工具。
* Parasoft DataRecon
备注:已失传。
* IBM Rational Software Analyzer
备注:这是IBM公司推出的专业工具,可对JAVA、C++等主流开发代码进行静态检查和分析。可与Rational Application Developer和Rational Software Architect集成使用。
* Micro Focus DevPartner
备注:DevPartner Studio系列工具最初是Numega公司产品,后被Compuware收购,如今又被Micro Focus收购后,主要侧重JAVA、.NET与C++几种主流技术;包括DevPartner Studio Server、DevPartner Studio Professional、DevPartner for Visual C++ BoundsChecker suite、DevPartner JAVA Edition几个组件。主要功能是对这些不同开发技术进行代码层面的错误检测、性能分析、安全扫描、内存泄漏检查、覆盖率分析等。
* Compuware SmartCheck
备注:该产品是早期Numega公司产品,主要对VB技术进行代码层面的错误检测、性能分析、安全扫描、内存泄漏检查、覆盖率分析等。被Compuware收购有所保留,但是到Micro Focus公司已经消失。
* Compuware DBPartner for Oracle
备注:Compuware公司对Oracle数据库进行SQL代码层面进行错误检测、性能分析的工具,至今不在Micro Focus公司产品里,下落不明。
* AutomatedQA AQTime
备注:AutomatedQA另外一款主打产品AQTime,是一款强大的代码级分析工具,支持.NET、Windows应用程序的代码内存泄漏检测、错误定位、效能分析等。
* QESat Java
备注:是北京航空航天大学软件工程研究所自主开发的代码分析、审查、排错工具,分JAVA和C++二个版本。
YourKit Java Profiler
Unitware Visual Unit
Gimpel Software PC-lint
Macabe Macabe
Borland Optimizeit Suite
Quest Software JProbe Suite
Quest Software Application Assurance Suite
Quest Software SQL Optimizer
EJ-Technologies JProfiler
Cyrano WorkBench
TeleLogic Logiscope
TeleLogic RuleCheck
Macabe Macabe
Segue SilkPerformer Component Test Edition
IBM Rational PurifyPlus
IBM Rational Rational Test Realtime
内容导航
IT系统监控、诊断工具
厂商 工具名称
* HP Business Process Insight/Monitor
备注:HP Business Availability Center平台的重要组成部分,实时从IT系统后台监控前台业务流程的操作情况,通过设定的性能阈值,对性能问题进行告警、诊断、定位。Business Availability Center平台为原Mercury产品,是Mercury BTO理念的技术实现平台,强大无比。
* HP Mercury Diagnostics
备注:该产品本是原Mercury Loadrunner的一个组件,如今是HP的单独产品,也可于Loadrunner Controller集成使用。它有对J2EE、.NET、SAP等很多版本,针对这些技术的软件进行代码级别性能诊断和分析,强大与否未知。如今也是HP Business Availability Center平台的重要组成部分。
* HP Mercury SiteScope
备注:原Mercury SiteScope,如今也是HP Business Availability Center平台的重要组成部分。可对IT系统的后台进行在线的性能监控和警告,包括硬件、服务器、中间件等,是产品上线后的强大监控工具。可与Loadrunner集成,也可单独使用。
* Segue SilkCentralTM Performance Manager
备注:原Segue产品,是一款对在线IT系统进行实时监控和性能诊断的工具。具有很强的功能,如Web图形用户界面、高效的根源分析工具和对整个测试周期的完整支持,这些功能能够让不同团队在部署前后实现密切协作,并快速确认问题,加快问题的解决。最终,实现了对上线应用的主动管理,减少了意外故障率,优化了上线应用的性能。它支持多种硬件、软件、中间件产品,不过自从被Borland收购后找不到升级。
* Oracle Empirix E-Monitor
备注:E-Test Suite套件产品,在线实时监控应用系统的性能与系统指标,允许使用者设置各种报警方式及时报告应用的问题,以便管理人员迅速做出反应。可以E-Load集成使用。
* Empirix OneSight Suite
备注:Empirix公司新产品;自E-Test Suite套件产品被Oracle收购后,公司专注于VOIP网络解决方案,OneSight系列产品是一套性能监控工具,包括针对Web Appliaction 、Contact Centers、Voice Quality Assurance、Voice Watch几套产品,可对Web应用系统的从代码到中间件到操作系统到硬件的实时监控功能。其他几款是对IP电话等语音信号系统进行监控或模拟的工具。
* Quest PerformaSure
* Quest Spotlight Suite
* Compuware Vantage
* Micro Focus DevPartner Java Edition
备注:原Compuware公司产品,除了对JAVA代码本身做性能分析、线程扫描、内存泄漏检查、覆盖率分析的质量评估外,还可以对J2EE应用进行系统级别的性能监控,并根据设置阈值报警。如JBoss、WebLogic、Websphere、Oracle、SQL Server、Windows、Unix、Linux等。
* CA Wily IntroScope
* ManageEngine ApplicationsManager
* NetIQ WebTrends Enterprise
* WebTrends Log Analyzer
安全性测试工具
厂商 工具名称
* HP QAInspect
* HP WebInspect
备注:HP自从收购Mercury后,基于原Mercury产品推出很多新的产品,这2款是HP开发的安全性测试工具,前者可于QC集成,后者是强大的Web应用系统安全扫描、分析工具,支持Web2.0。二者都是HP Assessment Management Platform的重要组成部分。
* IBM Rational APPScan
备注:APPScan是WatchFire公司的核心产品,2007年WatchFire公司被IBM收购,APPScan工具被升级为如今的IBM Rational APPScan,是目前业内强大的WEB应用程序的安全性测试专业工具。
* NetIQ Security Manager
* Application Security DbProtect/AppDetectivePro
内容导航
网络分析工具
厂商 工具名称
* HP Network Management Center
备注:HP在Network Management Center工具套件里,包含了HP NetFlow Collector、Network Node Manager、Performance Insight、Router Analytics等十余款工具,可对各种简单到复杂、局域到广域,包括各种网络厂商、网络产品、网络协议的分析和诊断的功能。
* Empirix Hammer Suite
备注:Empirix公司新产品,与OneSight Suite产品类似,Hammer Suite是业内首款针对VOIP网络进行测试和问题诊断、分析的工具。包括Hammer Call Analyzer、Hammer SIP Trunk Tester、Hammer XMS Service Assurance等是十余款具体工具,强大无比。
* NAI Sniffer Pro
备注:NAI公司出品的可能是目前最好的网络协议分析软件之一了,支持各种平台,性能优越,对于做性能测试的网络级别分析,肯定需要有这么一套好的网络协议分析软件。
* WildPackets OmniPeek
* NMap
备注:NMap(Network Mapper网络映射器) 是一款开放源的网络探测和安全审核的工具;它的设计目标是快速地扫描大型网络,当然用它扫描单个主机也没有问题。Nmap以新颖的方式使用原始IP报文来发现网络上有哪些主机,那些 主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息),它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能。虽然Nmap通常用于安全审核,许多系统管理员和网络管理员也用它来做一些日常的工作,比如查看整个网络的信息, 管理服务升级计划,以及监视主机和服务的运行。
* PRTG Network Monitor
备注:Paessler AG公司的PRTG Network Monitor提供一个先进易于使用的为您的整个网络监控解决方案。该软件的功能包括:停机监测,阻塞和使用监测,数据包嗅探,深入分析和简明的报告。一个用户友好的基于Web的界面,允许用户快速配置网络设备和传感器。PRTG网络监视器,包括30多个传感器类型为所有常用的网络服务(如PING, HTTP, SMTP, POP3, FTP等) ,使用户能够监测网络的速度和失败。停电发生时,透过电子邮件,SMS ,寻呼机的信息或其他手段发送警报。
其它测试小工具
工具名称
* Compuware WebCheck
备注:WebCheck是Compuware公司的小工具,可对WEB页面的链接、URL、站点地图进行扫描与分析的工具,与QACenter其他工具结合使用。目前该工具没有厂商支持,可能已经消失。
* LinkChecker
* XENU
* HttpWatch
* SoapUI
* Spoon Browser Sandbox
* IETester
内容导航
软件测试类工具大全第三部分,现列举如下,并非百分百全面,仅供测试同行参考:
测试管理工具
厂商 工具名称
* HP Quality Center (TestDirector)
备注:Mercury公司原主打产品TestDirector于2003年开始迁移到J2EE平台,重构了整个软件的开发,因融入了Mercury BTO理念,继而重新命名为Quality Center,它是Mercury BAC平台的重要组成部分。2006年后是HP Quality Center。时至今日,仍然为业内最强大、使用最广泛的测试管理工具之一,可与QTP、Winrunner、Loadrunner等集成,也与MS Office、IBM Rational等产品集成。
* IBM Rational TestManager
备注:原Rational产品中专业对软件测试资源进行管理的强大工具。包括测试用例管理、测试执行管理、测试脚本和报告管理等。另外可与Robot结合做性能测试,更可以和RFT、RFP、CC、CQ等集成使用。
* IBM Rational Quality Manager
备注:IBM2008年推出的新产品,是完全可以与HP Quality Center媲美的软件测试管理工具。包括测试计划、工作流、任务跟踪和统计分析等功能。
* Micro Focus QADirector
备注:原Compuware公司产品,是业内强大的软件测试资源和过程管理工具,虽然市场不大,但是可以和IBM Rational TestManager比较,与原Compuware产品集成紧密。
* Micro Focus SilkCentral Test Manager
备注:原Segue产品,被Borland收购后又被Micro Focus收购。是业内强大的软件测试资源和过程管理工具,可以和IBM Rational TestManager比较,与原Segue产品集成紧密。
* Parasoft ConcerTo
备注:Parasoft公司新出品的面向软件开发生命周期的管理工具。包括Policy Center、Process Center、Project Center、Test Center、Report Center五大模块,其中Test Center有对测试过程和测试资源的管理。
* Empirix E-Manager
备注:E-Manager 是原E-Test Suite套件里的测试管理工具,后单独抽取出来做成Enterprise版本,可与E-Tester、E-Load集成使用。目前归属问题不详。
* RadView TestView Manager
备注:RadView公司2006年推出的TestView工具套件,里边包括WebLoad,WebFT以及TestView Manager三个产品,如今TestView工具套件不再升级。其中TestView Manager是和WebFT、WebLoad集成的全方位测试管理平台。参照:
* Seapine TestTrack TCM
备注:Seapine公司出品的测试管理工具,它不像HP QualityCenter具有那么多的功能模块,而类似于IBM Rational TestManager,只侧重测试用例、测试执行、测试结果分析的功能。
* Seapine TestTrack Studio
备注:它是将TestTrack TCM和TestTrack Pro结合的集成环境。
* RedStone TestPlanet’s Integrated Test Appliance
备注:RedStone公司出品的测试管理工具,与EggPlant集成,实现对其测试用例和测试脚本的构建、存储、执行、分析等功能。
* AimWare Product Manager
备注:AimWare公司出品的项目管理软件,集需求规格定义、测试计划定义、测试进度跟踪、版本发布管理、文档报告管理等于一身的大型商业工具。
* T-Plan Professional
备注:英国T-Plan公司出品的测试过程管理工具T-Plan Professional,对软件测试过程的需求、计划、分析、用例、执行、缺陷报告、版本控制实现完全的管理,并符合V模型,将单元测试、集成测试、系统测试、验收测试四个阶段严格划分,是一款看上去神乎其神的大型商业测试平台。
* TechExcel DevTest Studio
备注:TechExcel公司推出的软件开发生命周期系列工具之一DevTest Studio,是一款测试管理工具,从测试用例的创建、计划到执行、到缺陷提交和跟踪的全过程统一起来。它由DevTrack、DevTest、 TestLink整合而成。另外TechExcel公司还有DevSuite这套开发过程管理和Project Studio这套项目管理、人员管理、任务管理的工作平台。
* 国产TestCenter
备注:上海泽众软件自主研发的一款功能强大的测试管理工具,它可以帮助您:实现测试用例的过程管理,对测试需求过程、测试用例设计过程、业务组件设计实现过程等整个测试过程进行管理。
* 免费TestLink
备注:这里只介绍这一款免费的TestLink,因其功能强大,使用广泛;可对测试需求跟踪、测试计划、测试用例、测试执行、缺陷报告等进行完整管理。
内容导航
缺陷管理工具
厂商 工具名称
* HP QualityCenter(TestDirector)
备注:由于HP QC可以单独使用Defect模块,也可单独申请Defect模块的License,它也是名副其实的缺陷管理工具。
* IBM Rational ClearQuest
备注:目前最专业最强大的商业缺陷管理工具,原Rational产品;如今它已集缺陷管理、变更管理于一身,贯穿到整个软件开发过程里。IBM Rational ClearQuest支持BS和CS两种模式。
* Seapine TestTrack Pro
备注:Seapine公司TestTrack Pro是目前业内仅次于IBM Rational ClearQuest的专业缺陷管理工具,支持BS和CS两种模式。它的扩展功能包括缺陷跟踪工作流的定制比HP QualityCenter还要强大。
* Compuware TrackRecord
备注:原Compuware公司缺陷管理工具TrackRecord,可与QACenter集里测试工具集成使用,现在没有升级,不知所踪。
* McCabe TrueTrack
备注:McCabe公司曾经推出的软件缺陷跟踪工具TRUETrack,本与TRUEChange并列,可惜目前没有升级,不知所踪。
* TechExcel DevTrack
备注:TechExcel公司推出的软件开发生命周期系列工具之一DevTrack,是一款领先的任务与缺陷跟踪工具。
* Serena TeamTrack
备注:Serena TeamTrack 是一个基于 Web 结构、安全且高度可配置的流程、变更和问题管理跟踪工具,是 Serena软件公司 PVCS Professional的变更管理组件,与PVCS Version Manger、Builder构成完整的软件生命周期的软件变更及配置管理解决方案。
* IBM Lotus Notes
备注:IBM软件家族Lotus Notes,凭借强大的Domino后台的工作流自定义功能,非常容易的实现缺陷跟踪过程,在IBM内部广泛使用。
* Segue SilkCentral Issue Manager
备注:原Segue产品,前身SilkRadar,被Borland收购有一定升级,是一款强大的缺陷跟踪工具,与SilkCentral Test Manager高度集成;Borland被Micro Focus收购后,该工具集成到SilkCentral Test Manager内部。
* Merant PVCS Tracker
备注:原Merant公司产品PVCS Tracker,是一款软件缺陷跟踪工具。如今该公司与Serena公司合并,形成最新PVCS Professional版本,集成了配置管理和缺陷跟踪的功能,PVCS Tracker工具从此消失。
* 国产Clarion
备注:原深圳深软软件测试技术有限公司自主开发的软件测试管理与缺陷跟踪系统Clarion,可能市场推广做的不好,公司不盈利,如今已倒闭。
* Hansky ButterFly
备注:汉星天Hansky公司推出的ButterFly是一个软件缺陷跟踪工具。
* ATLASSIAN JIRA
备注:ATLASSIAN公司的JIRA在最近几年也名声赫赫,它是为打败Bugzilla而生,本是免费软件,如今它的功能以及从单纯的缺陷跟踪升级为项目管理平台,包括缺陷跟踪、项目管理、Agile开发等强大功能模块,从此成为商业工具。
* 免费Bugzilla
备注:目前业内最成熟的开源免费缺陷管理工具Bugzilla,可与Perforce、CVS进行无缝集成。
* 免费Mantis
备注:另外一款PHP APACHE MYSQL开发的WEB缺陷管理工具,国内使用也较多。
* 免费BugFree
备注:和Mantis差不多,轻量级的WEB缺陷管理工具,支持中文和英文。
缺陷跟踪工具开源免费的相当多,网上甚至有些毕业生的毕业设计就是做的缺陷管理软件,比较好用的几个罗列在这里而已。
内容导航
配置管理工具
厂商 工具名称
* IBM Rational ClearCase
备注:原Rational产品,是业内最强大最著名的大型配置管理工具。根据RUP UCM原则开发,根据企业规模可分多种安装版本。可与Rational家族内很多工具集成。
* Borland StarTeam
备注:StarTeam与CaliberRM原属一个公司,2002年被Borland收购;是目前业内仅次于ClearCase的大型配置管理工具,是一个集合了版本控制和缺陷控制两种功能的软件。由于Borland被Micro Focus收购,至今StarTeam未定东家。
* AutomatedQA BuildStudio
备注:AutomatedQA公司三大主打产品第三个,严格来说它不是配置管理工具,主要实现对应用程序代码的自动构建、发布、部署功能;但同时具有版本控制的功能。
* Seapine Surround SCM
备注:Seapine公司推出的专业配置管理工具,功能上类似于IBM Rational ClearCase,非常强大。
* IBM Rational Synergy
备注:原Telelogic公司Synergy是一款强大的配置管理工具,如今归IBM所有;它以任务为驱动,把软件开发的发布、变更、部署集中起来的管理平台。
* Serena PVCS Version Manager
备注:原Merant公司产品PVCS,如今该公司与Serena公司合并,合并后的Serena主攻最为流行的Agile开发模式的系列工具产品;PVCS是Serena Agile体系里一款强大的版本管理工具。
* Computer Associates AllFusion Harvest Change Manager
备注:AllFusion Harvest Change Manager这个工具历史可谓曲折,它的早期版本CCC于1970年代为美国国防部而诞生,第一个商业版本CCC/Harvest被Softtool公司于1977年开发,最初只是做代码组件的管理;后来1995年Softtool公司被Platinum公司收购,而1999年Platinum又被如今的世界最著名的网络服务供应商CA公司收购。2002年CCC名称放弃,改为如今的Change Manager。
* MKS Integrity Platform
备注:MKS的Integrity Platform也是个厉害角色。它也是个大型的软件开发工作平台,集需求管理、配置管理、测试管理、发布管理、资产管理、工作流管理于一身,叫你不得不怕!这里说的每个管理方面都由Integrity Platform的具体模块实现,估计它的实体得N大!
* Perforce Software Configuration Management System
备注:Perforce公司就这一款产品,然而做的非常强大、精致,易用性、扩展性相当的好。支持Windows、Unix、Linux、 Macintosh安装,可与Microsoft Visual Studio、Eclipse、QualityCenter、JIRA、BuildForge、Office、PhotoShop、MAYA、 SmartBear、FishEye、VersionOne、ThoughtWorks Studio、CodeStriker、Fork Particle等几十种业界不同类型的工具集成使用。
* McCabe CM TRUEChange
备注:McCabe公司推出的配置管理工具TRUEChange,号称业界最灵活最方便的在整个软件开发生命周期里让开发、测试、配置管理人员进行选择性的、自由的进行变更控制和版本管理。
* Microsoft VSS
备注:如此经典的版本控制工具,微软的Visual SourceSafe,自然不必多谈,如今健在。
* 国产JBCM
备注:青鸟软件配置管理系统JBCM是北京大学软件工程国家工程研究中心、北京北大青鸟软件工程有限公司开发的一套通过执行版本控制等规则,来保证软件开发中配置项的完整性和可追溯性的三库分离型配置管理工具。
* Hansky FireFly
备注:汉星天Hansky公司推出的FireFly是一个软件配置管理工具。
* 免费CVS/SVN
备注:不必多说啥了吧,目前国内国外用的最最广泛的免费版本控制工具,小巧精悍,方便易用;不过仅仅是个版本控制工具而已。
* 免费SCCS
备注:Source Code Control System(SCCS)是UNIX世界里的版本控制工具,最初由贝尔实验室于1972年开发。
* 免费RCS
备注:开源组织GNU开发的免费版本控制工具RCS,国内用的不多。
内容导航
需求管理工具
厂商 工具名称
* IBM Rational RequisitePro
备注:原Rational产品,根据RUP需求管理原则对软件工程中的需求项、用例进行目标设定、进度跟踪、风险控制等管理,可与Rational家族内很多工具集成。IBM Rational RequisitePro支持BS和CS两种模式。
* Micro Focus CaliberRM
备注:原Borland CaliberRM,是业内一款强大的软件需求管理商业工具。自从被Micro Focus收购后,可以与原Segue产品、Compuware产品集成使用。
* Micro Focus Optimal Trace
备注:原Compuware公司的一款软件需求管理和跟踪工具。目前已经被Micro Focus收购。
* Micro TeamDefine
备注:原Borland TeamDefine是一款新式的软件需求管理工具,可以让非技术人员定义用户界面及工作流项目。然后可以和终端用户一起浏览,单击模拟按钮,就能产生 HTML和互动的界面。TeamDefine既可以独立管理所有的交互活动和模拟,也可以集成到需求管理工具CaliberRM中使用。
* Seapine TestTrack RM
备注:Seapine公司推出的需求管理工具,提供对需求的计划、工作流、跟踪、评审、变更控制及强大的报表支持。
* IBM Rational Doors
备注:原Telelogic公司产品Doors,业内一款强大的需求管理工具,如今被IBM收购纳入Rational产品族。
* Hansky DragonFly
备注:汉星天Hansky公司推出的DragonFly是一个软件需求跟踪工具。
* TechExcel DevSpec
备注:TechExcel公司推出的软件开发生命周期系列工具之一DevSpec,是一款领先的需求定义与跟踪工具。
Open STA
Charles test tool
charles-proxy-3_6_3.tar.gz.tar
web压力测试工具介绍--ZT
1. LoadRunner:支持多种常用协议多且个别协议支持的版本比较高;可以设置灵活的负载压力测试方案,
可视化的图形界面可以监控丰富的资源;报告可以导出到Word、Excel以及HTML格式。
2. WebLoad:webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;
webload通过模拟真实用户的操作,生成压力负载来测试web的性能用户创建的是基于javascript的测试脚本,称为议程agenda,
用它来模拟客户的行为,通过执行该脚本来衡量web应用程序在真实环境下的性能。
3. E-Test Suite:由Empirix公司开发的测试软件,能够和被测试应用软件无缝结合的Web应用测试工具。
工具包含e-Tester、e-Load和e- Monitor,这三种工具分别对应功能测试、压力测试以及应用监控,每一部分功能相互独立,
测试过程又可彼此协同。
4. QALoad:
(1).测试接口多;
(2)可预测系统性能;
(3)通过重复测试寻找瓶颈问题;
(4)从控制中心管理全局负载测试;
(5)可验证应用的扩展性;
(6)快速创建仿真的负载测试;
(7)性能价格比较高。
此外,QALoad不单单测试Web应用,还可以测试一些后台的东西,比如SQL Server等。只要它支持的协议,都可以测试。
5. Benchmark Factory: 首先它可以测试服务器群集的性能;其次,可以实施基准测试;最后,可以生成高级脚本。
6. JMeter:是开源测试工具,专门为运行和服务器负载测试而设计、100%的纯Java桌面运行程序。
原先它是为Web/HTTP测试而设计的,但是它已经扩展以支持各种各样的测试模块。
它和HTTP和SQL(使用JDBC)的模块一起运行。它可以用来测试静止或活动资料库中的服务器运行情况,
可以用来模拟服务器或网络系统在重负载下的运行情况。它也提供了一个可替换的界面用来定制数据显示,
测试同步及测试的创建和执行。
7. WAS:是Micro$oft提供的免费的Web负载压力测试工具,应用广泛。
WAS可以通过一台或者多台客户机模拟大量用户的活动。WAS支持身份验证、加密和Cookies,
也能够模拟各种浏览器和Modem速度,它的功能和性能可以与数万美元的产品媲美。
8. ACT:或称MSACT,它是微软的Visual Studio和Visual Studio.net带的一套进行程序压力测试的工具。
ACT不但可以记录程序运行的详细数据参数,用图表显示程序运行情况,而且安装和使用都比较简单,结果阅读方便,
是一套较理想的测试工具。
9. OpenSTA:它的全称是Open System Testing Architecture。
OpenST的特点是可以模拟很多用户来访问需要测试的网站,它是一个功能强大、自定义设置功能完备的软件。
但是,这些设置大部分需要通过Script来完成,因此在真正使用这个软件之前,必须学习好它的Script编写。
如果需要完成很复杂的功能,Script的要求还比较高。当然这也是它的优点,一些程序员不会在意编写Script的。
10. PureLoad:一个完全基于Java的测试工具,它的Script代码完全使用XML。所以,编写 Script很简单。
它的测试包含文字和图形并可以输出为HTML文件。由于是基于Java的软件,
因此PureLoad可以通过Java Beans API来增强软件功能。
开源性能测试工具Curl-Loader
http://yangzb.iteye.com/blog/604516
http://www.boobooke.com/v/bbk1809/
curl-loader 是一个用C语言 编写的Web 应用 测试和模拟负载 工具 ,可模拟成千上万的客户端 请求,并且每个请求来自不同的IP地址,支持用户 认证、登录等Web交换过程。
curl-loader下载地址:http://sourceforge.net/projects/curl-loader/files/
项目 主页: http://curl-loader.sourceforge.net/
文档 地址: http://curl-loader.sourceforge.net/doc/fast.html
下面是在网上找的视频地址,看了一下还是不错的..
在线观看: http://www.boobooke.com/v/bbk1809
安装:
#tar zxvf curl-loader-0.50.tar.gz
#cd curl-loader-0.50
#make
#cd conf-examples/
#cp 10K.conf mysimp.conf
#vi mysimp.conf 配置文件做如下解释:
########### GENERAL SECTION ################################
BATCH_NAME= 10K ==》 名称
CLIENTS_NUM_MAX=10000 ==》最大并发数
CLIENTS_NUM_START=100 ==》一开始的并发数
CLIENTS_RAMPUP_INC=50 ==》每秒并发数
INTERFACE =eth0 ==》选用的网卡
NETMASK=16
IP_ADDR_MIN= 192.168.1.1
IP_ADDR_MAX= 192.168.53.255 #Actually - this is for self-control
CYCLES_NUM= -1
URLS_NUM= 1
########### URL SECTION ####################################
URL=http://localhost/index.html 测试URL
#URL=http://localhost/ACE-INSTALL.html
URL_SHORT_NAME="local-index"
使用方法:
#../curl-loader -f mysimp.conf
测试结果如下:
服务器性能测试典型工具介绍
http://www.51testing.com/?uid-116228-action-viewspace-itemid-205571
网站压力性能免费在线测试:阿里云PTS,Load Impact,loader.io服务器负载能力测试
http://www.chinaz.com/web/2015/0813/433986.shtml
三、Load Impact国外优秀的网站压力测试服务可用于VPS
1、Load Impact官网:
官方网站:https://loadimpact.com/
2、Load Impact是国外一个优秀的老牌网站压力测试工具,部落之前在八个免费在线网站速度测试服务有讲到过利用Load Impact来测试网站的速度。Load Impact几经改进,现在已经支持VPS服务器性能监控了。
3、先到Load Impact注册一个账号,然后登录到Load Impact,输入你想要测试的网站域名。
四、loader.io压力测试最大支持10000连接
1、loader.io官网:
官方网 站:https://loader.io/
2、loader.io最大支持10000个连接,一个主域名,每次测试时最多同时可以对两个页面进行测试,每次测试时间限制为1分钟。使用前需要注册一个loader.io账号。
编号 | 工具名称 | 是否开源 | 是否支持集群部署 | 主要功能特点 | 开发语言 | 缺点 | 安装包大小 | 功能组件 | 备注 |
1 | LoadRunner | 否 | 是 | 1、录制、编辑脚本;支持多种协议、自定义函数;支持关联 2、测试过程实时查看各项指标 |
C++语言 | 1、商业,不开源 2、安装包太大,12.0>1G |
11.0-4GB 12.0-1GB |
VGEN Controler Analysis |
参照 |
2 | TCPCopy | 是 | |||||||
3 | Gatling | 是 | |||||||
4 | Jmeter | 是 | 是 | 1、支持使用badBoy录制脚本 2、不需要安装,支持自定义Java函数 |
Java语言 | 2.11-76MB | |||
5 | Grinder | 是 | |||||||
6 | Siege | 是 | |||||||
7 | OpenSTA | 是 | |||||||
8 | Pylot | 是 | |||||||
9 | WCAT | 是 | |||||||
10 | http_load | 是 | |||||||
11 | Web Polygraph | 是 | |||||||
12 | Jcrawler | 是 | |||||||
13 | fwptt | 是 |
http://gatling.io/docs/2.1.7/quickstart.html#quickstart
end
相关推荐
### Eclipse Test and Performance Tools Platform (TPTP) 知识点详述 #### 一、TPTP概览 **Eclipse Test and Performance Tools Platform**(简称TPTP)是Eclipse基金会旗下的顶级项目之一,它提供了一套全面且可...
《Profiling and Testing with Test and Performance Tools Platform》是一份由IBM Canada的Eugene Chan和Jonathan West共同撰写的文档,主要介绍了TPTP(Test and Performance Tools Platform)平台的配置步骤及其...
Learn how to test web pages and understand the results Determine if you have performance problems and how to diagnose them Use common performance tools such as Keynote and Gomez Explore web ...
Windows Server 2003 Resource Kit Tools 其中包括的工具有: Acctinfo.dll (documented in Readme.htm) Adlb.exe: Active Directory Load Balancing Tool,AD负载均衡 Admx.msi: ADM File Parser,ADM文件解析 ...
NGINX is one of the most common free, open ... You'll also discover various free open source tools to test and benchmark web server performance, allowing you to verify NGINX performance at every step.
您可以在 google-perftools 的网站 (http://code.google.com/p/google-perftools/downloads/list) 上下载最新版的安装包。为完成步骤 3 的工作,您还需要一个将剖析结果转化为程序员可读文档的工具,例如 gv...
Finally, by the end of the book, you'll be able to pinpoint JavaScript performance problems using appropriate tools, provide optimization techniques, and provide tools to develop fast applications ...
This book is intended for software quality assurance/testing professionals, software project managers, or software developers with prior experience in using Selenium and Java to test web-based ...
- **工具框架**:基于TPTP(Test and Performance Tools Platform),提供标准化的接口和数据模型。 - **完整的工具链**:集成了从录制到回放、监控再到分析的完整测试流程。 - **分布式录制与回放**:能够在多台...
Finally, by the end of the book, you'll be able to pinpoint JavaScript performance problems using appropriate tools, provide optimization techniques, and provide tools to develop fast applications ...
centos7 tfs部署笔记.txt...Linux localhost.localdomain 4.0.4-301.fc22.x86_64 #1 SMP Thu May 21 13:10:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux docker centos:CentOS Linux release 7.2.1511 (Core) 参考: ...
"PerformanceTool性能测试工具"是一款综合性的性能检测软件,它专为评估和优化应用程序的运行效率而设计。这款工具的独特之处在于它集成了多种功能,包括UI界面的性能监控、Monkey测试脚本的执行以及对CPU和内存使用...
Performance testing is a type of testing intended to determine the responsiveness, reliability, throughput, interoperability, and scalability of a system and/or application under a given workload. It ...
通过使用ABAP Development Tools(ADT)中的性能分析器,我们可以识别出代码中的瓶颈,比如过多的数据库调用、不必要的循环或计算。理解并应用Best Practices,例如减少选择屏幕的输入字段,避免使用SELECT *,以及...
Understand tools for the Clojure world and how they relate to Java tools and standards (such as Maven) Write simple multicore programs using Clojure's core concepts, such as atoms, agents, and refs ...
这个项目致力于整合来自其他Eclipse项目的通用Linux工具,比如CDT项目将被用于编译和调试,TPTP(Test & Performance Tools Platform)项目将用于跟踪和监控框架,DSDP(Device Software Development Platform)/TM...
In addition nmon questions should now be raised at the Performance Tools Forum Goto http://www.ibm.com/servers/eserver/pseries/community/ and take the Performance Tools Forum Link There are loads of ...
标题中的"APC_TestTools"很可能是指Advanced Performance Controller (APC) 的测试工具集,这通常与服务器电源管理、不间断电源(UPS)设备或者相关的硬件监控相关。在IT领域,APC是一个知名的电源管理解决方案提供商...