市场上常见的软件测试工具和软件工程工具综述
本综述按照生产Case工具的企业来组织。每种产品给予简单介绍。资料来源为互联网,其中缺少Sun公司和西门子公司测试工具的详细资料。1.迈捷莱博软件技术有限公司(迈捷实验室, 010-64897771 mailto:jactus@jactus.net.cn)
软件测试的缺陷管理系统(Defect Management System,简称DMS)。它是基于Lotus Notes平台上开发的数据库系统,主要包括测试案例、错误信息、修改错误及测试结果的管理,可以对数据进行统计分析,按照一定的检索条件对错误记录和修改记录进行查询,将错误的重要指标形成图表,如矩形图、饼图等。并根据分工和职能的不同,赋予不同的成员访问不同模块以相应的权限,从而保障了项目信息的安全性和统一性。 该系统可实现如下功能: 详细记录根据项目需求所编写的案例; 记录测试过程发现的问题,以错误报告的形式提交给开发人员; 跟踪问题的分析、解决和改正的过程;按照优先级和类型将问题分类进行查询; 按照不同的需要排序和检索数据库中的各类文档。该系统可以和客户的业务系统实现有机的结合,成功地实现数据的导入和导出以及其他多种功能。
测试管理工具是一个可以为企业商业系统提供全面的测试功能的综合测试管理解决方案。它会控制你所有的测试工作来确保一个有组织的、规范文档化的和全面的测试。为了适应数以百计的用户,测试管理工具别具特色之处是它有一个中心数据储存库,在这里所有的用户可以共享并存取主要的信息——测试脚本、缺陷及报告书。测试管理工具把测试计划、测试执行和缺陷跟踪三者有机地结合在一起,同时为了更多的灵活性还采用了开放式测试结构(Open Test Architecture ——OTA)。它利用Microsoft Access数据库缩小安装,并利用符合行业标准的关系数据库包括:Oracle、Microsoft SQL Server 和 Sybase来扩大安装测试管理工具。
性能测试工具QALoad。如今人们希望客户机/服务器系统在成百上千个同时发生的用户压力下能够可靠地执行。企业需要执行可重复的压力测试,测定系统最终的性能及其潜在的局限性。QALoad可以模仿真实的事务操作使系统产生压力,从而验证系统能够承受的服务水平。该工具支持采用如下技术的系统的测试:
l Database: DB2 UDB, Oracle, Sybase, SQL Server, ODBC
l Distributed: DCOM, CORBA, TUXEDO, Windows Sockets, MS Exchange
l ERP: Oracle, SAP R/3, PeopleSoft
l E-commerce: HTTP, SSL, Digital Certificates, IIOP, FTP
l Legacy: Telnet
负载测试工具LoadRunner,它可预测系统的行为和性能。通过仿真上千个用户来运行一个完整的企业结构,分离问题,优化性能,并加速分发配置。为了适应企业应用程序培植,LoadRunner支持产生各种虚拟用户,包括:GUI虚拟用户、数据库虚拟用户、网上虚拟用户、Java虚拟用户和远程终端仿真器(RTE)虚拟用户。LoadRunner仅用几台WindowsNT或UNIX就可以仿真上千个虚拟用户,帮助最大限度的降低测试所需的硬件资源。一个GUI虚拟用户仅是一个代理程序,它可发送、驱动和测量一个真实客户端应用的性能。
LoadRunner支持企业软件应用环境,包括:
l 自定义客户/服务器程序:
l 二层:Oracle,Sybase,Microsoft SQL Server,Informix,ODBC
l n层:DCOM,Java,TUXEDO,M3
l ERP:SAP,Oracle Application,Pepolesoft, Baan
l 电子商务:HTTP,HTTPS,
l Legacy系统:3270,5250,VT 100,VT 220,VT 420,VT 520,APPC(CS/400),X Windows。
企业功能测试工具QARun。QARun提供快速、有效地创建和执行测试脚本,验证测试并分析测试结果的功能。它能够通过加快运行周期来保持测试同步,提高测试投资回报和质量应用软件的最终用户及经营的期望值。该工具具有如下一些优点:创建测试和执行测试;测试验证;测试结果分析;可改进的数据函数; 广泛的支持;集中式知识库;网站分析; 智能化测试脚本;自动同步。
企业功能检测工具WinRunner。WinRunner是一个企业功能检测工具。WinRunner使功能测试得以自动化,从而保证了企业应用按预定的方式运行。它以测试脚本(Script)形式将业务的过程记录下来,并随着相应的应用程序的开发或更新来支持对脚本的改进。执行脚本及报告结果在整个的应用周期中,对脚本重复使用。WinRunner为你的企业应用提供了完整的功能测试方案。WinRunner支持的企业环境:
l Custom Client/Server:C/C++,PowerBuilder,Visual Basic,Oracle Developer 2000,Delphi,ActiveX,AWT,JFC,AFC,EWT,Java Toolkits。
l Legacy:Mainframe(3270 emulators),AS/400(5270 emulators),UNIX(VT100 emulators)。
l Web:Netscape,Microsoft Explorer,ERP,SAP,PeopleSoft,Baan,Oracle 应用程序。 2.Rational公司(Tel: (86-10) 65057428 - 323Fax: (86-10) 65057429email: hpan@rational.com)
Rational公司为客户开发出一套适用于Windows和UNIX操作系统完整的软件开发解决方案,专门提供最新软件开发技术用以简化复杂的软件开发环境。无论是程序设计、需求管理、面向对象分析/设计、程序编译系统、程序代码纠错、软件测试自动化和软件配置管理,Rational公司都有优秀的产品与之匹配,并提供技术咨询、教育培训及售后服务,可大幅提高软件开发团队的工作效率和生产力,缩短开发周期、提高软件品质。Rational公司所提供客户一系列的面向对象专业服务,皆以面向对象的理论和过程引导初学者进入面向对象软件工程领域,领略面向对象理论的优点。在软件开发实际工程中,会配合客户专业化的知识提供在软件架构设计(Architecture Design)和代码重用(Software Reuse)的技术咨询服务,使客户在实际软件工程中不仅有高品质的产品,而且能够大大地降低成本和风险。Rational公司主要提供如下Case工具产品,并在大陆地区设有代理商人。
需求管理工具(Rational RequisitePro)。使用户可以组织软件工程项目需求的可视化工具。它结合了微软Word和需求储存库(repository),使用户在实际软件工程项目生命周期内,能够轻松建立需求之间的关联(traceability),管理需求的变更。
可视化UML面向对象建模ional Rose2000)工具。是目前市场上最完善、占有率最高的UML可视化建模工具,支持企业流程分析、面向对象分析与设计及组件架构设计。
Ada95/83、C/C++ and Java集成开发环境(Rational Apex)套件。Rational Apex系列产品为一集成开发环境,使程序员能够设计、开发和维护复杂的C/C++或Ada系统。Apex除提供程序编译器、纠错器外,还具备版本控制(Version Control)、架构规划(Architecture Organizing)、发布管理(Release Management)等先进的软件工程能力。
软件架构管理工具(Rational ClearCase)。ClearCase为软件架构管理工具。针对软件发展过程中任何的软件项目产出物(artifact),包括程序模组、执行代码、程序库和各类软件项目文件等,提供版本控制的功能。并提供工作空间管理(Workspace Management)、系统构建管理(Build Management)、团队平行开发(Parallel Development)以及构建状况报告等完整的构建管理能力。
跨区域性构建管理工具(Rational MultiSite)。支持分布式的软件开发环境和可自动更新VOBs(Version Object Bases)的数据至目标VOBs,以维持数据的一致性。
变更管理工具(Rational ClearQuest)。变更管理工具(Rational ClearQuest)。以视窗或浏览器为界面的需求变更管理工具。提供项目成员追踪和管理软件开发过程中的任何的变更,包括常见的软件瑕疵追踪(Defect Tracking)。
团队功能测试工具(Rational TeamTest)。提供质量工程师执行全方位的软件测试,包括测试规划和准备、自动产生测试代码(Test Script)、自动测试执行、瑕疵追踪(Defect Tracking)与更正、测试报告、测试结果制图以及测试进度评估等重要功能及特色。
软件纠错工具(Rational Purify)。针对C/C++程序,使程序员在程序执行期间(run-time)纠正各类错误,例如记忆体错误等。
软件质量评估工具(Rational Visual Quantify)。针对C/C++、Visual Basic或Java程序,展开Calling Tree,使程序员快速地评估应用程序的执行性能,正确地指出性能瓶颈所在,以消除性能瓶颈。
测试覆盖评估工具(Rational Visual PureCoverage) 。针对C/C++、Visual Basic或Java程序,使程序员或软件测试工程师彻底地找出被测应用程序的涵盖测试统计信息,以利于辨别并指出尚未测试的程序代码。
系统性能测试工具(Rational Performance) 。针对大量使用的N-Tier的系统主从架构环境、ERP、网络应用或E-Commence环境,协助测试人员测试系统的质量、性能和可靠性。
可视化功能测试工具(Rational Visual Test) 。针对C/C++、Visual Basic、HTML或Dynamic HTML程序,让程序员或软件测试人员快速利用图形化界面产生测试脚本,以进行自动化回归测试,进而缩短测试时间。
软件文档自动生成工具(Rational SoDA-Software Documentation Automation) 。在软件发展过程中,诸如软件需求文件、软件设计文件、测试规划文件及变更报告文件等各类文档自动生成的辅助工具,可大幅缩短文档制作过程和成本。与Rational软件开发工具集成,可随时保持原始数据与文档的一致性。
实时应用程序可视化建模工具(Rational Rose Real Time)。实时系统一般在较短的时间内对输入事件作出一致性反应的系统,处理时间短,经常处理并发事件,处理单元可能是分布式的。而Rational Rose RealTime是支持软件生命周期的全过程的实时软件开发环境,从UML系统模型可以生成完整的的UNIX、Windows NT或实时操作系统上的C++实时应用程序,它利用UML模型调试器来监视和调试在宿主机或目标机上的运行的程序,并且可与配置管理工具集成以支持团队开发。
[ 本帖最后由 蓝柚 于 2006-9-25 16:38 编辑 ] 3.Sun公司
Sun公司的Java测试工具套件包括JavaStar,JavaScope和JavaSpec组件,能降低Java应用程序和applets测试的资源和成本,缩短开发周期,提高软件质量。 4. Pacific Software Inc.(Tel:(8610)83915108 Fax:(8610)83915120 E-mail:info@pts.com.cn)
QADirector。QADirector 是一个强大的、可扩展的测试管理工具,它可对分布式的、大规模应用的整个生命周期进行测试管理,其开放式的体系结构可与广泛多样的开发工具和各种进行彻底应用测试的自动测试工具集成。
TrackRecord。TrackRecord是企业范围的缺陷和变更需求跟踪工具,其提供支持团队的工作流。从检测问题到解决问题和确认结果,均实现对于软件缺陷的跟踪和通信,TrackRecord帮助企业组织建立一个系统管理的方法。
QARun。QARun是功能自动测试工具。它将手工测试中可重复的、耗时的步骤,包括建立测试脚本,验证测试和分析测试结果等,均实现自动化测试,从而改善测试生产力。
QALoad。QALoad是企业范围的负载测试工具,该工具支持的范围广,测试的内容多,可以帮助软件测试人员,开发人员和系统管理人员对于分布式的应用执行有效的负载测试。
WebCheck。WebCheck是快速强大的web站点质量分析工具。通过搜索整个web站点,检查在线的表格、超过50种类型的潜在web站点的错误和问题,以帮助有效地维护,测试,和组织Web站点,提供图形化详细的错误报告和性能信息分析报告。帮助有效地维护,测试,和组织Web站点,提供Web质量保证条件。
EcoTOOLS是EcoSYSTEM组件产品的基础--解决应用可用性中计划,管理,监控和报告的挑战。EcoTOOLS提供一个广泛范围的打包的Agent和Scenarios,可以立即在测试或生产环境中激活,计划和管理以商务为中心应用的可用性,EcoTOOLS支持一些主流成型的应用,SAP,PeopleSoft,Baan,Oracle,UNIFACE和LotusNotes,以及定制的应用。EcoTOOLS与QALoad集成为所有加载测试和计划项目需求能力提供全面的解决方案。
SmartCheck(Visual Basic)--自动的错误检查工具。SmartCheck对于Visual Basic来说是最好的 run-time调试工具,它自动检查和诊断Visual Basic run-time错误并转换含糊的错误信息到精确的问题描述。
CodeReview (Visual Basic) --自动的错误检查工具。CodeReview是最好的自动源代码分析系统,对应用组件、逻辑、Windows 和 Visual Basic 自身潜在数百个问题进行严格的源代码检查。
JCheck(Java) --自动的错误检查工具。Jcheck是一个可视的线程和事件分析器,它使开发者能够真实的分析一个程序并解决runtime问题,这是静态的调试器不能解决的。Jcheck能够促进开发并改善Java应用和组件的可靠性。JCheck采用的EventDebugging?技术使Java开发达到一个新层次。在程序运行时,Jcheck建立一个程序的图形模式并在线程、事件及同步对象提供丰富的,详细的信息
SoftICE --先进的Windows 调试器。通过提供强大的功能部件,SoftICE减少调试停机时间,功能部件的扩展超过传统的Windows SDK/DDK工具的限制。
TrueCoverage--自动的代码覆盖分析(VB、VC++、Java)。SmartCheck提供清楚的,详细的程序错误分析。用真正的解决方案和在线帮助,自动诊断和转换含糊的错误信息到精确的问题描述。用"Go to Source"用户能够无缝的在调试会话和源码间切换。
TrueTime--自动性能分析和优化工具。 TrueTime能使开发人员优化性能及Visual Basic, Visual C++ 及Java基于组件应用的可用性。它自动定位运行缓慢的代码,并提供详细的应用和组件性能的分析。使用TrueTime可以更快速分发企业级和Internet的组件和应用。
FailSafe --错误自动处理和恢复。在使用的软件中,FailSafe 能够自动捕捉和报告用于解决问题的紧急信息。当在此领域中一个已交付的应用产生问题时,FailSafe 将记录它是在那发生的,用户正在做什么以及程序和系统当时的转台如何。然后将信息反馈给开发者或桌面支持者以便于经济有效的定位和解决这些问题。 5.嵌入式软件测试工具
以下所列的测试工具国内均有代理商。
5.1 ATTOL TestWare公司
ATTOL TestWare(ATTOL TestWare公司)。自动生成测试代码的软件测试工具,特别适用于嵌入式实时应用软件单元和通信系统测试,在法国市场居领先位置。形式上分三个产品: (mailto:support@attol-testware.com法国)
· ATTOL UniTest:为实时嵌入式系统软件单元测试设计,通过测试脚本自动生成的测试软件,在开发主机、模拟器、仿真器和目标系统上都可运行。ATTOL UniTest通过源码(支持C, C++, CSQL (Oracle), Ada 83)分析自动生成测试脚本框架,并提供强大工具(如外部信号模拟器、标准测试类、联合数据测试)供用户完善测试脚本。通过测试脚本自动生成测试程序,进行自动测试,自动生成测试报告。支持衰退测试。可同ATTOL Coverage结合起来使用。
· ATTOL Coverage:可同ATTOL UniTest或ATTOL SystemTest结合起来使用。进行代码覆盖分析和测试结果分析。
· ATTOL SystemTest:系统综合测试工具,可同ATTOL Coverage结合起来使用。
Code Test(Applied MicroSystem Corp)。 CodeTEST包括三个产品(分别用于嵌入式软件系统开发的不同阶段的测试): (mailto:getinfo@amc.com)
· CodeTEST Native™:在主机上完成软件开发后的测试;
· CodeTEST Software-In-Circuit™:将软件植入目标系统通过以太网连接进行软件测试;
· CodeTEST Hardware-In-Circuit™:系统测试,如系统性能、产品质量等,需要软硬件配合测试。
CodeTEST测试软件特点:
§ 软件性能分析,可同时监视32000 函数,1000个任务。
§ 存储器分配分析,提供存储器分配分析功能,能够快速发现存储器分配时隐含及运行中出现的问题。
§ 代码覆盖率测试。
§ 代码跟踪,跟踪缓冲空间达到400K,可跟踪一百五十万行源代码,为大规模软件系统跟踪分析提供了简便高效的途径。
CodeTEST可同时进行软件性能、代码覆盖率、动态内存分配的分析。该工具套件非常适合嵌入式软件测试,其测试具有很高的可靠性。CodeTEST新推出的VME能帮助软件开发人员集中精力于软件代码设计,不必费神于硬件、目标系统的连接以及测试方案等。CodeTEST-VME测试卡采用VME总线连接工业标准,通过总线分析器提取目标板的详细信息,支持所有的CodeTEST功能,支持外界电源,96脚背板连接方式,单槽6U,160MM,以太网连接,AUI带适配器方式,板级测试时可支持自检,可远程控制。
5.2 TeleLogic公司
LOGISCOPE(TeleLogic公司),包括三个工具:
· Logiscope RuleChecker:根据工程中定义的编程规则自动检查软件代码错误,可直接定位错误。包含大量标准规则,用户也可定制创建规则。自动生成测试报告。
· Logiscope Audit:定位错误模块,可评估软件质量及复杂程度。提供代码的直观描述,自动生成软件文档。
· Logiscope TestChecker:测试覆盖分析,显示没有测试的代码路径,基于源码结构分析。直接反馈测试效率和测试进度,协助进行衰退测试。既可在主机上测试,也可在目标板上测试。支持不同的实时操作系统、支持多线程。可累积合并多次测试结果,自动鉴别低效测试和衰退测试。自动生成定制报告和文档。
5.3 Lyn Real Time system公司
LynxInsurance++(Lyn Real Time system公司)。LynxInsure++用于检测代码,目标系统可执行代码纠错,提供内存泄露探测和覆盖测试分析。目前只能应用于LynxOS系统的开发,包括3个部分:
· Insure++:同标准Lynx编译器一起运行的源码检测工具,可检查初级错误、API应用中的类型和参数错误、指针和数组错误、字符串操作错误。
· Inuse:执行于目标系统的内存检测工具,可查找内存漏洞、检查动态内存的分配、减少碎片。
· TCA——程序的覆盖检测,可提供完全的覆盖报告,检测因块和函数引起的断裂。
5.4 Elvior Ltd
Message Master(Elvior Ltd)。MessageMaster测试嵌入式系统时,认为被测试系统(SUT)是一个黑匣子,要求测试人员通过向SUT发送消息、检查输出消息并同期望值比较来模拟真实环境。SUB可以是单任务,子系统,或者是通过基于消息的接口与测试环境通信的被测试系统。MessageMaster提供工具,为SUT快速建立一个模拟环境。
5.5 Green Hill Software Inc.
Multi Run-Time Error Checkor(Green Hill Software Inc.)。MULTI* Run-Time Error Checker通过向程序插入特殊代码来查看、报告实时系统的错误。它检查的错误包括:
· 读写未分配的内存。
· 释放未分配内存。
· 未被任何程序指针应用的动态内存分配块。
· 超出定义范围的数组元素。
· 向变量或比特区存储超其容量大小的值。
· 用空指针访问内存。
· 用参数决定程序分支时,出现参数值没有对应分支的情况。
· 定义从未用过的局部变量。
· 访问指定内存地址错误。
· 从一个没有任何反馈的函数中退出。
5.6 Sillicn Valley Networks公司
Test Expert(Sillicn Valley Networks公司)。测试管理工具,能管理整个测试过程,从测试计划、测试例程、测试执行到测试报告。TestExpert特点:
· 图形界面。
· 数据库管理测试文档、测试结果、测试例程,支持标准SQL访问。
· 支持以Microsoft Word格式输入测试条件。
· 提供测试例程API,命令行接口,选项个性化定制。
· 支持高速多任务测试。
· 集成Rational ClearCase、Rational Purify、Rational PureCoverage、Rational Visual Test、Sun JavaStar等测试软件。
· 可按用户要求生成测试报告,支持HTTP协议测试报告传递。
5.7 T-VEC Techonology Inc.
Test Vector Generation System(T-VEC Techonology Inc.)。提供自动模型分析、测试生成、测试覆盖分析和测试执行的完整工具包,具有方便的用户接口和完备文档支持。既可用T-VEC模型语言进行模型分析,也可用第三方语言。
· 生成的测试向量包括测试输入、预计输出及跟踪需求描述。
· 覆盖分析自动捕获每个测试向量的测试描述。
· 自动测试驱动生成。
· 既提供图形用户接口,也提供console方式的命令行接口。
5.8 TestQuest Inc.
TestQuestPro(TestQuest Inc.)。非插入码式的自动操纵测试工具,提供一种高效的自动检测目标系统获取其输出性能的测试方法。TestQuest Pro运行时象一个“虚拟用户”,模拟测试人员的工作,一步步检验被测系统,同时自动记录测试结果。TestQuest Pro通过提供一系列模拟信号输入来导引对被测系统的测试过程,包括键盘操作、鼠标、或其它输入设备所产生的电信号。为了检验设备输出,TestQuest Pro自动捕获图形信号和通信数据,并同参考数据相比较。对被测系统的I/O连接模拟通过可御卸模块来提供。TestQuest Pro提供模拟输入的模块覆盖Pointing Devices、Touch Screens、Keyboards、Keypads、Serial Comm、Discretes、USB Devices、IR Devices等功能,提供VGA Capture、Digital LCD Capture、S-Video Capture、Serial Comm、Discretes等监视能力。TestQuest Pro还提供一个开发环境,用来进行测试脚本的开发、运行和调试,并提供测试信息管理系统将准备好的测试脚本加入测试套件中执行。 ..................... 希望各位继续补充……
关于CODETEST——VME
你好!看到你提供得信息很兴奋!因为CODETEST和目标板得连接问题把我折腾坏了,我现在采用手工直接在目标板上接线方式,因为走线错误已经使CODETEST坏了两次了,领导很不满意了,很郁闷!看到信息中提到得CODETEST-VME很高兴,就是不知道这个公司中国得代理商在那?怎么联系?知道得话给我发个邮件,还有有关CODETEST和目标板连接接头之类得知道得话也指点指点,我们公司现在急需买这样得工具!duxuanwei@hollysys.com,杜先生。谢谢! 谢谢楼主 请问楼主,哪些最常用 !!!!!!!!!!!C/C++单元测试工具Visual Unit
部分功能自动生成测试代码
可视化编辑测试用例,人工只需建立容易想到的测试用例
自动统计语句、条件、分支、路径覆盖
显示参数、成员变量、返回值等输入输出数据
显示每个用例实际执行的代码
自动画出逻辑结构图
显示逻辑结构图中任一语句块、分支、分支结构、路径的代码
逻辑结构图可自由裁剪,语句块、分支、分支结构、路径均可删除/恢复
测试用例设计器可轻松找出遗漏的测试用例,实现100%的语句、条件、分支、路径覆盖
程序行为一目了然,帮助整理、验证编程思路,提高编程效率
快速排除程序错误
提高调试效率
工作环境
操作系统:Windows2000, Windows XP, Windows Server 2003。
开发环境:VC6.0、VC.NET、VC.Net 2003、VC 2005、C++ Builder6.0。
开发语言:C/C++
功能演示Flash
Visual Unit简介
介绍VU的主要功能。
测试过程演示
用一个简单的程序演示测试一个函数的完整过程:测试基本功能,实现完整的白盒覆盖,并执行自动边界测试。
复杂的输入输出
演示如何高效灵活地处理复杂的输入输出。
复杂的程序逻辑之一
复杂的程序逻辑之二
演示在测试复杂的程序时如何轻松实现100%的语句、条件、分支、路径覆盖。
边开发边测试之一
边开发边测试之二
演示边开发边测试,VU不但能高效地测试,同时帮助程序员提高工作效率。
测试效果与测试效率
作为测试工具,功能可以归结为两点:测试效果、测试效率,测试效果就是能把绝大多数代码错误都找出来吗?测试效率就是要耗费多少时间?
测试效果通常用白盒覆盖率来衡量,VU可以完成的覆盖是:100%语句、条件、分支、路径覆盖,请注意,这里是说“完成”,而不是“统计”。
测试效率难于精确计量,一般来说,使用Visual Unit边开发边测试,在原来只用于编码的时间内可以完成编码和单元测试,也就是不需要额外的测试时间。
上述测试效果和效率让人难于置信,如何实现呢?总结起来就两条:
1. 用“三步法”完成彻底测试;
2. 帮助程序员大幅提高编码调试效率来抵消测试时间。
关于“三步法”:
1. 基本功能测试:自动生成测试驱动代码,用户只要在测试用例编辑器中填写输入输出数据即可建立测试用例;用拷贝/修改的方法快速建立其他测试用例,根据文档或代码需要实现的功能,基本测试用例通常是现成的。
2. 完成白盒覆盖:VU自动统计未覆盖的逻辑单位(语句、条件、分支、路径),并在代码窗口和逻辑结构图中标示,用户选中一个逻辑单位,打开测试用例设计器,VU自动从现有测试用例中计算出一个近似用例,并生成修改提示,依据修改提示对近似用例进行修改,即可覆盖该逻辑单位。不可覆盖的分支和路径可以在逻辑结构图中删除,经过已删除分支的所有路径会自动删除,从而减少路径数量。
3. 依据预先定义的边界值,自动生成测试用例进行测试,用于发现“编码时未考虑某些特殊输入”造成的错误,这类错误无法通过白盒覆盖来发现。
使用“三步法”,在实现100%语句、条件、分支、路径覆盖的基础上,还用自动边界测来捕捉“编码时未考虑某些特殊输入”造成的错误,这种测试完整性是空前的。需要多少时间呢?第1步只要在测试用例编辑器中填写或修改输入输出数据,第2步只要依据修改提示在测试用例设计器中修改输入输出数据, 第1步的测试用例基本是现成的,第2步是找出遗漏的测试用例,耗费时间都不多,第3步是完全自动的,可见,“三步法”需时很少。虽然需时很少,还是需要时间,如何“在原来只用于编码的时间内完成编码和单元测试”呢?通过提高编码调试效率来抵消测试时间!
提高编码效率:VU描述程序行为,帮助程序员整理编程思路和快速排除错误。什么是程序行为?无非就是执行了哪些代码,在某种输入下产生了什么输出。VU显示输入输出数据和相应的代码执行状况,使程序行为一目了然,这将帮助程序员快速判断“已有的代码对不对”和想清楚“接下来要怎么写”,在编写较复杂的代码时,这种功能可以成倍提高工作效率。
提高调试效率:快速选择调试输入,可在测试用例编辑器或主界面中选择输入,点击失败的测试也可以选择调试输入;无限制后退重复,跟踪过头或未找到错误可以随时后退或重来;调试过程中还可以切换输入 。
对于编程工作来说,时间消耗主要不在敲键盘,而在于编程思路和调试,Visual Unit从这两方面入手提高编程调试效率,所节约的时间完全可以抵消单元测试消耗的时间。
[ 本帖最后由 VisualUnit 于 2006-11-23 10:09 编辑 ]
页:
[1]