【SQL开源代码栏目提醒】:网学会员,鉴于大家对SQL开源代码十分关注,论文会员在此为大家搜集整理了“常用软件测试工具的分析 - 分析评论”一文,供大家参考学习!
常用软件测试工具的分析 江苏省电子信息产品质量监督检验研究院 张影秋 随着软件测试的地位逐步提高,测试的重要性逐步显现,测试工具的应用已经成为了普遍的趋势。
目前用于测试的工具已经比较多了,测试工具的应用可以提高测试的质量、测试的效率、减少测试过程中的重复劳动、实现测试自动化,这些测试工具一般可分为白盒测试工具、黑盒测试工具、性能测试工具,另外还有用于测试管理的工具,本文对常用的测试工具作一个分析比较。
1、 白盒测试工具 白盒测试工具一般是针对
代码进行测试,测试中发现的缺陷可以定位到
代码级,根据测试工具原理的不同,又可以分为静态测试工具和动态测试工具。
静态测试工具直接对
代码进行分析,不需要运行
代码,也不需要对
代码编译链接,生成可执行文件。
静态测试工具一般是对
代码进行语法扫描,找出不符合编码规范的地方,根据某种质量模型评价
代码的质量,生成系统的调用关系图等;动态测试工具与静态测试工具不同,动态测试工具的一般采用“插桩”的方式,向
代码生成的可执行文件中插入一些监测
代码,用来统计程序运行时的数据。
其与静态测试工具最大的不同就是动态测试工具要求被测系统实际运行。
1 Jtest 是一个
代码分析和动态类、组件测试工具,是一个集成的、易于使用和自动化的 Java 单元测试工具。
它增强
代码的稳定性,防止软件错误。
2 Jcontract Jcontract 在系统级验证类/部件是否正确工作并被正确使用。
Jcontract 是个独立工具,在功能上是 Jtest 的补充。
可以用 Jcontract 插装按 DbC 注解的 Java
代码。
当您将类/部件组装成系统时,Jcontract 在运行时监视并报告错用和功能性问题。
Jcontract 帮助每个开发人员有效地考核类/部件的系统级行为。
3 C Test CTest 可以帮助开发人员防止软件错误,保证
代码的健全性、可靠性、可维护性和可移植性。
CTest 自动测试 C 和 C++类、函数或组件,而无需编写单个测试实例、测试驱动程序或桩调用。
4 CodeWizard CodeWizard
代码静态分析工具,先进的 C/C源
代码分析工具,使用超过 500 个编码规范自动化地标明危险的,但是编译器不能检查到的
代码结构。
5 Insure Insure是一个基于 C/C的自动化的内存错误、内存泄漏的精确检测工具。
Insure能够可视化实时内存操作准确检测出内存泄漏产生的根源。
Insure还能执行覆盖性分析清楚地指示那些
代码已经测试过。
6 .test .TEST 是专为.NET 开发而推出的使用方便的自动化单元级测试与静态分析工具。
使用超过 200 1条的工业标准
代码规则对所写
代码自动执行静态分析。
这些规则立即应用.NET 工业专家深入、全面的编程知识到你的
代码当中,迅速、彻底地防止错误的出现。
自动测试
代码构造与功能。
.TEST非常智能。
他能提取刚完成的
代码,对其进行读取,并提出如何对这些
代码进行单元测试,不需要任何的人为干涉。
所有由.TEST 产生的单元测试都是可以用户自定义的。
7 BoundsChecker BoundsChecker Visual C Edition 是针对 Visual C开发人员的首选的运行时的错误检测和调试工具。
它通过驻留在 Visual C 开发环境内部的自动调试处理程序来加速应用程序的开发,缩短产品发布的时间。
BoundsChecker 对于编程中的错误,大多数是 C中特有的提供了清晰的详细的分析。
它能够检测和诊断出在静态,堆栈内存中的错误以及内存和资源泄漏问题。
在运行状态下,BoundsChecker 验证超过 8700 APIs 和 OLE 方法,包括最新的 Windows APIs ODBCActiveX,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 JAVAVisual Basic 语言环境。
12 SmartCheck 2 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 3 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 软件针对各种测试目标提供了 MS
SQL QALoad 是 Compuware 公司开发的并发性能压力测试工具。
Server、 Oracle、ODBC、WWW、NetLoad、Winsock 等不同的测试接口(Session),应用范围相当广泛。
例如在测试基于 C/S 运行模式、客户端通过 DBLib 访问服务器端 SQLServer 数据库的系统时,QALoad 通过模拟客户端大数据量并发对服务器端进行查询、更新等操作,从而达到监控系统并 发性能和服务器端性能指标的目的。
10 Webload Webload 是 RadView 公司推出的一个性能测试和分析工具它让 web 应用程序开发者自动执行压力测试webload 通过模拟真实用户的操作生成压力负载来测试 web 的性能用户创建的是基于javascript 的测试脚本称为议程 agenda用它来模拟客户的行为通过执行该脚本来衡量 web 应用程序在真实环境下的性能。
4 webload 提供巡航控制器 cruise control 的功能利用巡航控制器可以预定义 web 应用程序应该满足的性能指标然后测试系统是否满足这些需求指标cruise control 能够自动把负载加到web 应用程序并将在此负荷下能够访问程序的客户数量生成报告,webload 能够在测试会话执行期间对监测的系统性能生成实时的报告这些测试结果通过一个易读的图形界面显示出来并可以导出到 excel 和其他文件里。
11 Silkperformer SilkPerformer 是业界最先进的企业级负载测试工具,和 Loadrunner 是同种类型的测试工具。
它能够模拟成千上万的用户在多协议和多种计算环境下工作。
SilkPerformer 可以让你在使用前,就能够预测企业电子商务环境的行为—不受电子商务应用规模和复杂性影响。
可视化的用户化、负载条件下可视化的内容校验、实时的性能监视和强大的管理报告可以帮助您迅速将问题隔离,这样,通过最小化测试周期、优化性能以及确保可伸缩性,加快了投入市场的时间,并保证了系统的可靠性。
12 OpenSTA OpenSTA 是专用于 B/S 构架的、免费的性能测试工具。
它的优点除了免费、源
代码开放的优点外,还能对录制的测试脚本进行按指定的语法进行编辑。
测试工程师在录制完测试脚本后,只需要了解该脚本语言的特定语法知识,就可以对测试脚本进行编辑,以便于再次执行性能测试时获得所需要的参数,之后进行特定的性能指标分析。
OpenSTA 以最简单的方式让大家对性能测试的原理有较深的了解,其较为丰富的图形化测试结果大大提高了测试报告的可阅读性。
3、其他测试工具 除了上述的测试工具外,还有一些专用的测试工具,例如,针对数据库测试的 TestBytes,对应用性能进行优化的 EcoScope 等工具。
4、测试管理工具 测试管理工具用于对测试进行管理。
一般而言,测试管理工具对测试计划、测试用例、测试实施进行管理,并且,测试管理工具还包括对缺陷的跟踪管理。
5
上一篇:
IntelliJ IDEA快捷键列表
下一篇:
第1章 现在完成时和现在完成进行时