功能概要:SilkTest 是面向Web应用、Java应用和传统的C/S应用,进行自动化的功能测试和回归测试的工具。它提供了用于测试的创建和定制的工作流设置、测试计划和管理、直接的数据库访问及校验等功能,使用户能够高效率地进行软件自动化测试。为提高测试效率,SilkTest提供多种手段来提高测试的自动化程度,包括:从测试脚本的生成、测试数据的组织、测试过程的自动化、测试结果的分析等方面。在测试脚本的生成过程中,SilkTest通过动态录制技术,录制用户的操作过程,快速生成测试脚本。在测试过程中,SilkTest还提供了独有的恢复系统(Recovery System),允许测试可在24×7×365全天候无人看管条件下运行。在测试过程中一些错误导致被测应用崩溃时,错误可被发现并记录下来,之后,被测应用可以被恢复到它原来的基本状态,以便进行下一个测试用例的测试。
功能概要:SilkPlan Pro 是一个完整的测试管理软件,用于测试的计划管理、文档管理和各种测试行为的管理,能够跨越应用的全部生命周期,从早期的计划阶段直至测试设计都自动安排和执行。它包括需求的检查及确认,测试执行的安排和产品是否具备发布条件的评估的报告功能。此外,还提供了基于Web的自动测试功能。在软件开发的过程中,SilkPlan Pro可以使测试过程自动化。 SilkPlan Pro 为所有的自动化测试用例提供了基于Web的管理。
功能概要:SilkPerformer 是一种在工业领域最高级的企业级负载测试工具。它可以模仿成千上万的用户工作在多协议和多计算的环境下。利用SilkPerformer 可以在企业电子商务应用部署前预测它的性能,不管它的大小和复杂性。可视的用户化界面、实时的性能监控和强大的管理报告可以帮助用户迅速地解决问题。SilkPerformer 提供了在广泛的、多样的状况下对电子商务应用进行弹性负载测试的能力,通过TrueScale 技术,SilkPerformer 可以从一台单独的电脑上模拟成千上万的并发用户,在使用最小限度的硬件资源的情况下,提供所需的可视化结果确认的功能。在独立的负载测试中,SilkPerformer 允许用户在多协议多计算环境下工作,并可以精确地模拟浏览器与Web应用的交互作用。 SilkPerformer 的TrueLog 技术提供了完全可视化的原因分析技术。通过这种技术可以对测试过程中用户产生和接收的数据进行可视化处理,包括全部嵌入的对象和协议头信息,从而进行可视化分析,甚至在应用出现错误时都可以进行问题定位与分析。
功能概要:提供基于活动的变更和缺陷跟踪。以灵活的工作流管理所有类型的变更要求,包括缺陷、改进、问题和文档变更。能够方便地定制缺陷和变更请求的字段、流程、用户界面、查询、图表和报告。开箱即用特性提供了预定义的配置和自动电子邮件通知和提交。 与 Rational ClearCase 一起提供完整的 SCM 解决方案。提供基于活动的变更和缺陷跟踪。 以灵活的工作流管理所有类型的变更要求,包括缺陷、改进、问题和文档变更。 能够方便地定制缺陷和变更请求的字段、流程、用户界面、查询、图表和报告。 开箱即用特性提供了预定义的配置和自动电子邮件通知和提交。 与 Rational ClearCase 一起提供完整的 SCM 解决方案。 拥有“设计一次,到处部署”的能力,从而可以自动改变任何客户端界面(Windows、Linux、UNIX 和 Web)。 可与 IBM WebSphereStudio、Eclipse 和 Microsoft .NET IDE 进行紧密集成,从而可以即时访问变更信息。 支持统一变更管理,以提供经过验证的变更管理过程支持。 易于扩展,因此无论开发项目的团队规模、地点和平台如何,均可提供良好支持。
随着软件测试的地位逐步提高,测试的重要性逐步显现,测试工具的应用已经成为了普遍的趋势。目前用于测试的工具已经比较多了,测试工具的应用可以提高测试的质量、测试的效率、减少测试过程中的重复劳动、实现测试自动化,这些测试工具一般可分为白盒测试工具、黑盒测试工具、性能测试工具,另外还有用于测试管理的工具,本文对常用的测试工具作一个分析比较。
白盒测试工具一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级,根据测试工具原理的不同,又可以分为静态测试工具和动态测试工具。静态测试工具直接对代码进行分析,不需要运行代码,也不需要对代码编译链接,生成可执行文件。静态测试工具一般是对代码进行语法扫描,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等;动态测试工具与静态测试工具不同,动态测试工具的一般采用“插桩”的方式,向代码生成的可执行文件中插入一些监测代码,用来统计程序运行时的数据。其与静态测试工具最大的不同就是动态测试工具要求被测系统实际运行。
Jcontract在系统级验证类/部件是否正确工作并被正确使用。Jcontract 是个独立工具,在功能上是Jtest 的补充。可以用Jcontract插装按DbC注解的Java代码。当您将类/部件组装成系统时,Jcontract 在运行时监视并报告错用和功能性问题。Jcontract 帮助每个开发人员有效地考核类/部件的系统级行为。
C++Test可以帮助开发人员防止软件错误,保证代码的健全性、可靠性、可维护性和可移植性。 C++Test自动测试C和C++类、函数或组件,而无需编写单个测试实例、测试驱动程序或桩调用。 (4) CodeWizard
Insure++是一个基于C/C++的自动化的内存错误、内存泄漏的精确检测工具。 Insure++能够可视化实时内存操作,准确检测出内存泄漏产生的根源。Insure++还能执行覆盖性分析,清楚地指示那些代码已经测试过。
(6) .test .TEST是专为.NET开发而推出的使用方便的自动化单元级测试与静态分析工具。使用超过2002条的工业标准代码规则对所写代码自动执行静态分析。这些规则立即应用.NET 工业专家深入、全面的编程知识到你的代码当中,迅速、彻底地防止错误的出现。自动测试代码构造与功能。 .TEST非常智能。他能提取刚完成的代码,对其进行读取,并提出如何对这些代码进行单元测试,不需要任何的人为干涉。所有由.TEST产生的单元测试都
(7) BoundsChecker
BoundsChecker Visual C++ Edition 是针对 Visual C++开发人员的首选的运行时的错误检测和调试工具。它通过驻留在 Visual C++ 开发环境内部的自动调试处理程序来加速应用程序的开发,缩短产品发布的时间。BoundsChecker 对于编程中的错误,大多数是 C++中特有的提供了清晰的详细的分析。它能够检测和诊断出在静态,堆栈内存中的错误以及内存和资源泄漏问题。在运行状态下,BoundsChecker 验证超过 8,700 APIs 和 OLE 方法,包括最新的 Windows APIs, ODBC, ActiveX,DirectX, COM 和 Internet APIs。
(8) TrueTime
代码运行缓慢是开发过程中一个重要问题。一个应用程序运行速度较慢,程序员不容易找到 到底是在哪里出现了问题,如果不能解决应用程序的性能将降低并极大的影响应用程序的质量,于是查找和修改性能瓶颈是调整整个代码性能的关键。如何快速的查找性能瓶颈呢?TrueTime 的出现就使这个问题变得很容易了。当我们在测试程序时,每完成一次应用话路,TrueTime 都能提供这次对话中函数的调用时间,提供详细的应用程序和组件性能的分析,并自动定位到运行缓慢的代码。这样就能帮助程序员尽快地调整应用程序的性能。TrueTime 支持C++, JAVA, Visual Basic语言环境。
(9) FailSafe FailSafe
是Visual Basic语言环境下的自动错误处理和恢复工具,FailSafe将插入额外的代码对你的程序进行插装,当程序执行时,FailSafe通过这些插装的代码捕获、记录错误信息。
(10) Jcheck Jcheck
是DevPartner Studio开发调试工具的一个组件,他使用事件调试技术,可以收集Java程序运行中准确的实时信息。我们在Java程序中经常要使用线程,而关于线程的常见错误有死锁、系统崩溃、同步问题等。JCheck 通过监视和分析当前内存中所有线程的运行状况,找到出错的根源,并且可以定位到具体是程序中的哪个方法出错,错误位于程序的哪一行。
(11) TrueCoverage
TrueCoverage是一个代码覆盖率统计工具,在开发过程中,对一个应用程序通过手工测试,总会有一部分代码功能没有被检测到,或者说逐个检测每一个函数的调用是相当费时间的;未被检测的代码我们不能保证它的可靠性,以后程序的失败可能往往就是由这部分未检测的代码造成的。 现在我们可以用TrueCoverage 来帮助我们解决这些问题,我们在测试程序时,每完成一次应用话路,TrueCoverage 就能够列出在这次对话中所有函数被调用次数、所占比率等,并可以直接定位到源代码,当然我们也可以合并多个应用话路来进行检测。所以说TrueCoverage 能通过衡量和跟踪代码执行及代码稳定性,帮助开发团队节省时间和改善代码可靠性。TrueCoverage支持C++, JAVA,Visual Basic语言环境。
(12) SmartCheck
SmartCheck 是针对 Visual Basic的主要的自动错误检测和调试工具。它能够自动检测和诊断 VB运行时的错误,并将一些表达不清楚的错误信息转换为确切的错误描述。它的EventDebugging 特性为 Visual Basic开发小组和独立的开发人员解决最棘手的问题提供了简便的方法。它可以进行致命错误的分析、兼容性检查、定位到源代码。 不是 Visual Basic 中所有的问题都是运行时或系统的错误。许多的问题来自于未预期的程序流程的结果。如果没有 EventDebugging,将问题分离出来是相当困难,甚至不可能的。当简单的动作比如设置控件的属性发生时,会触发一些编程人员想象不到的事件的发生,从而使的错误检测和调试边的更加复杂。SmartCheck 显示使用时的属性,方法和事件以便于将这些事件驱动的问题隔离出来。SmartCheck EventDebugging 跟踪事件以简化错误的定位。举个例子,SmartCheck 在事件被设置或只读时将其方法和属性全部显示,连同由这些事件触发的形式。
(13) CodeReview
对于Visual Basic开发人员来说,CodeReview是最好的自动源代码分析工具,它对应用程序的组件、逻辑、Windows和Vb自身潜在的数百个问题进行严格地源代码检查。CodeReview分析的类型包括Y2K 问题,逻辑错误,应用程序性能和可用性问题,Windows API调用和标准一致性问题等。可以检测整个的VB工程或指定的模块,并能定制检错的种类;对检测的结果有详细的说明,提供帮助和推荐解决方案,而且能够直接的链接到源代码。CodeReview 系统还提供了两个子模块,一个是Metrics:通过对VB工程(vbp)的执行,计算出代码的长度、复杂度、理解度、语言的使用等级、出错的可能性等数据;另一个是Namer:它调用一个VB工程,自动并规则地对其中的对象重新命名,并备份原来没有规则命名的工程文件,使开发人员对程序能够有条理地管理。
2、黑盒测试工具
黑盒测试工具适用于黑盒测试的场合,黑盒测试工具包括功能测试工具和性能测试工具。黑盒测试工具的一般原理是利用脚本的录制(Record)/回放(Playback),模拟用户的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。黑盒测试工具可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。
(1) WinRunner
Mercury Interactive 公司的WinRunner 是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。 企业级应用可能包括Web 应用系统,ERP 系统,CRM 系统等等。这些系统在发布之前,升级之后都要经过测试,确保所有功能都能正常运行,没有任何错误。如何有效地测试不断升级更新且不同环境的应用系统,是每个公司都会面临的问题。如果时间或资源有限,这个问题会更加棘手。人工测试的工作量太大,还要额外的时间来培训新的测试人员等等。为了确保那些复杂的企业级应用在不同环境下都能正常可靠地运行,你需要一个能简单操作的测试工具来自动完成应用程序的功能性测试,WinRunner能够做到这点。
(2) Astra Quicktest 4
(3) Robot Robot是IBM Rational公司的功能测试工具,通过Script 自动模拟输入输出。
(4) QARun QARun
Compuware 公司的软件功能测试工具,为客户/服务器、电子商务到企业资源_____计划提供重要的商务功能测试。通过将耗时的测试脚本开发和执行任务自动化,QARun 帮助测试人员和QA管理人员更有效地工作,以加速应用开发,它提供快速、有效地创建和执行测试脚本,验证测试并分析测试结果的功能。它能够通过加快运行周期来保持测试同步,提高测试投资回报和质量,该工具的功能有:创建测试和执行测试、测试验证、测试结果分析、可改进的数据函数、广泛的支持、集中式知识库、网站分析、智能化测试脚本、自动同步。
(5) SilkTest SilkTest International
Segue公司的标准的、面向多语种企业级应用的功能和回归测试工具。让用户能跨语种、跨平台和跨Web浏览器,高效率地进行各种类型的应用可靠性测试。
(6) e-Test e-Test 是Empirix公司的软件功能测试工具,功能很强大,由于不是采用Post URL的方式回放脚本,所以可以支持多内码的测试数据(当然要程序支持)。基本上可以应付大部分的Web Site。
(7) WAS Microsoft的Web Application Stress Tool(WAS,Web应用负载测试工具)是Microsoft的可以免费下载的软件性能测试工具。WAS要求Windows NT 4.0 SP4或者更高,或者Windows 2000。 为了对网站进行负载测试,WAS 可以通过一台或者多台客户机模拟大量用户的活动。WAS 支持身份验证、加密和Cookies,也能够模拟各种浏览器类型和Modem速度,它的功能和性能可以与数万美元的产品相媲美。WAS 只能用于B/S构架的软件性能测试。
(8) LoadRunner
LoadRunner是MI公司的预测系统行为和性能的负载测试工具,它通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题,LoadRunner 能支持广范的协议和技术。
(9) Qaload
QALoad是Compuware公司开发的并发性能压力测试工具。软件针对各种测试目标提供了MS SQLServer、 Oracle、ODBC、WWW、NetLoad、Winsock 等不同的测试接口(Session),应用范围相当广泛。例如在测试基于C/S运行模式、客户端通过DBLib访问服务器端SQLServer数据库的系统时,QALoad 通过模拟客户端大数据量并发对服务器端进行查询、更新等操作,从而达到监控系统并 发性能和服务器端性能指标的目的。
(10) Webload
Webload 是RadView 公司推出的一个性能测试和分析工具,它让web 应用程序开发者自动执行压力测试;webload 通过模拟真实用户的操作,生成压力负载来测试web 的性能用户创建的是基于javascript的测试脚本,称为议程agenda,用它来模拟客户的行为,通过执行该脚本来衡量web应用程序在真实环境下的性能。 5webload 提供巡航控制器cruise control的功能,利用巡航控制器,可以预定义web 应用程序应该满足的性能指标,然后测试系统是否满足这些需求指标;cruise control 能够自动把负载加到web应用程序,并将在此负荷下能够访问程序的客户数量生成报告,webload能够在测试会话执行期间对监测的系统性能生成实时的报告,这些测试结果通过一个易读的图形界面显示出来,并可以导出到excel和其他文件里。
(11) Silkperformer
SilkPerformer 是业界最先进的企业级负载测试工具,和Loadrunner 是同种类型的测试工具。它能够模拟成千上万的用户在多协议和多种计算环境下工作。SilkPerformer 可以让你在使用前,就能够预测企业电子商务环境的行为—不受电子商务应用规模和复杂性影响。可视化的用户化、负载条件下可视化的内容校验、实时的性能监视和强大的管理报告可以帮助您迅速将问题隔离,这样,通过最小化测试周期、优化性能以及确保可伸缩性,加快了投入市场的时间,并保证了系统的可靠性。
(12) OpenSTA
OpenSTA 是专用于B/S 构架的、免费的性能测试工具。它的优点除了免费、源代码开放的优点外,还能对录制的测试脚本进行,按指定的语法进行编辑。测试工程师在录制完测试脚本后,只需要了解该脚本语言的特定语法知识,就可以对测试脚本进行编辑,以便于再次执行性能测试时获得所需要的参数,之后进行特定的性能指标分析。OpenSTA以最简单的方式让大家对性能测试的原理有较深的了解,其较为丰富的图形化测试结果大大提高了测试报告的可阅读性。
3、其他测试工具
除了上述的测试工具外,还有一些专用的测试工具,例如,针对数据库测试的TestBytes,对应用性能进行优化的EcoScope等工具。
4、测试管理工具
测试管理工具用于对测试进行管理。一般而言,测试管理工具对测试计划、测试用例、测试实施进行管理,并且,测试管理工具还包括对缺陷的跟踪管理。