Micro Focus白盒测试解决方案
发布时间:2024-11-04
发布时间:2024-11-04
Micro Focus白盒测试解决方案
1.1 DevPartner Studio Professional Edition .NET代码级测试工具
DevPartner Studio Professional Edition(DevPartner Studio 专业版)是个功能广泛的套件,可用于Microsoft Visual Studio .NET、Microsoft Visual Basic和Microsoft Visual C++开发,能够提高开发人员工作效率。DevPartner Studio能够加快团队在企业和因特网使用的多语言组件与应用中的开发。无论是开发关键业务的分布式应用软件或因特网应用软件、DLL、GUI前端应用程序、游戏,还是开发内部使用或转售的组件,DevPartner Studio都能使开发人员迅速对各种错误进行检测、诊断和修复,最大限度地提高代码的运行性能,并确保优化代码的覆盖范围和测试。通过缩短查找和修复软件错误、性能瓶颈和测试问题所花费的时间,开发人员能迅速交付高质量应用软件产品。
1.1.1 优点
DevPartner Studio Professional Edition的优点包括以下方面,它能够:
通过缩短在复杂的Windows环境中查找、修复、调整和测试软件问题所花费的时间,降低软件开发成本,提高团队工作效率。这意味着他们将有更多的时间进行代码开发,开发工作的效率更高,并能按时交付软件产品。
优化在Visual Studio开发工具中的投资。DevPartner Studio是个具备Visual Studio .NET、Visual Basic和Visual C++开发特性的完整套件,可用于开发安装在当今Windows操作系统上的各种应用软件和组件。
提高软件可靠性。软件开发和测试期间,涉及内存错误、资源泄漏、VB功能、线程同步、代码性能、分布式应用软件的可靠性以及代码稳定性的各种问题有时会被人们所忽略,导致安装的软件运行不可靠。运用DevPartner Studio,在正常的开发和测试周期内,开发团队能够确定并纠正这些以及其他的一些问题。另外,它们能够确保软件测试达到标准水平,并在软件安装或发布前实现软件的稳定性。
使开发人员能够使用与开发任务相适应的编程语言,并且拥有一整套错误检测、分析和调试工具。
借助DevPartner Subscription Plus程序(只有购买DevPartner产品时才能获得),当能够获得DevPartner的新版本时,开发人员将能跟上DevPartner新版本发布自动交付的步伐。
能加快软件开发的解决方案
Compuware公司的错误检测和调试解决方案框架,对为开发企业和因特网使用的、基于组件的、分布式应用软件的开发人员来讲,能够满足他们的迫切需求。每个DevPartner特性都能适应某个特定的需要。当这些特性结合起来使用时,它们将能发现软件开发中出
现的所有问题,包括从GUI到系统最低层的问题,以及它们中间的所有组件和软件层中的问题。单个特性很容易学习掌握,这些特性提供了对软件错误、性能瓶颈和测试问题的重要描述和解决办法,能有效地提高开发人员的技能。DevPartner Studio能够提高开发人员的工作效率,缩短软件部署的时间。这些工具的强大组合有助于确保代码的一致性、质量保证和维护的简便性。
DevPartner Studio的功能不断增加,可用于.NET、Visual Basic和Visual C++ 的开发、调试、调优和测试。这些功能包括:
错误检测和诊断
性能分析
代码覆盖范围分析
内存分析
源代码检查
分布式应用软件分析
DevPartner Studio中的特性可以在整个开发周期中使用。当开发人员遇到一个问题时,他不用花费大量的时间来设法解决这个问题,而是用DevPartner Studio来自动隔离、确定和解释如何解决该问题。这个工具也可以在软件开发的重要时刻或间隔测试阶段使用,以确保软件没有任何错误并能稳定运行。
1.1.2 错误的检测和诊断
DevPartner Studio的错误检测特性(也可以作为CompuwareBoundsChecker来独立购买)能够实现调试进程的自动化,从而加快Visual C++开发速度并缩短软件产品的“上市时间”。C# 和Visual C++开发人员可以在Microsoft Visual Studio中使用DevPartner的错误检测特性,迅速而自动地查找和修复内存和资源泄漏、API错误和内存错误。
DevPartner Studio的错误检测特性能够确保在运行期间正确使用 9,000多个API和OLE方法,包括最新的Windows、ODBC、ActiveX、DirectX、COM和Internet API。它能找到发生错误的源代码行,对错误进行解释,并提出建议的解决方案和编码示例。DevPartner Studio的错误检测特性通常可以用于整个软件生命周期的编码、调试和测试阶段,直至全面检查应用软件的编程错误。它的优点包括以下方面,它能够:
迅速找到发生内存和资源泄漏以及静态存储器、堆栈存储器和堆阵存储器错误的出错代码行
对在被管理和未被管理的代码之间进行的调用数量实施监控,改进代码的总体运行性能
获取发生程序死锁的原因、何处发生和如何发生等情况的详细分析信息。这些信息将使用户能够迅速确定并解决已经发现的和潜在的线程死锁问题
能够非常容易地找到任何应用软件、组件、DLL或EXE中失败的API调用,并提供详细的分析结果
最大限度地提高开发人员的工作效率,而不改变开发进程
提供可定制的错误检测特性,允许开发人员选择哪些错误和代码需要检查、取消或忽略
检查第三方组件中出现的错误,甚至可以在没有源代码的情况下进行检查
采用兼容性检查的方法,校验跨Windows平台运行的代码
1.1.3 性能分析
使用DevPartner Studio的性能分析特性,采用Microsoft Visual Studio .NET、Visual Studio 6或者同时采用这两种软件的开发人员将能在一个直观用户界面中自动而准确地找到运行速度慢的代码,并且准确地报告应用软件和组件的运行性能,从而加快组件和应用软件的运行速度和可用性。
它的优点包括相应的各种功能,这些功能能够:
为应用软件、组件、类、方法、属性、源代码和各个代码行提供广泛的定时功能、统计信息和数据。通过显示广泛性能数据的多个视图,您可以获取各种详细的信息,以便作出正确的优化决定
提供关于被管理代码和未管理代码性能数据的单一但内容全面的视图。不必分开测定.NET和本机代码的运行性能,如果分开测定,可能使测量不准确
使用Compuware公司的专利产品Quantum上下文切换监控技术,测定操作系统运行除代码之外的任务所耗费的时间,以便提供准确且可复制的结果
提供便于使用的直观浏览功能,并且提供容易理解的性能数据。开发人员可以迅速而方便地确定应用软件、组件或系统的任何位置上运行速度慢的代码和性能瓶颈。只需要进行很少几次点击操作,就可以进行性能的分析和优化
每当应用软件或组件运行时,无论它如何运行,都可以收集各种性能信息。无论软件是Microsoft Internet Explorer之类的容器中使用的ActiveX控件,还是独立的应用软件,DevPartner Study的性能分析特性都能够准确报告它的性能,让开发人员能够在实际环境条件下测试代码
1.1.4 代码覆盖范围分析
DevPartner Study的代码覆盖范围分析特性能够自动定位Visual Studio和Visual Studio .NET应用软件和组件中未经测试的代码。使开发人员在开发过程中将软件的可靠性纳入软件之中。通过在软件开发期间测定并跟踪代码的执行情况和代码基础的稳定性,
运用代码覆盖范围的特性,可以节省开发团队的测试时间,提高代码的可靠性。
DevPartner Studio的代码覆盖范围分析特性提供了以下的几个功能:
自动定位未运行的代码,这些代码可能需要进行补充开发或测试
提供一个内容全面的视图,专门显示被管理代码和未被管理代码的代码覆盖范围数据情况。不需分开测定.NET和本机代码的覆盖范围,否则可能使测量不准确
节省开发时间,减少冗余测试,同时确保最佳的覆盖率
集成建模使用户在开发环境内部运行程序时,能非常容易地收集代码覆盖范围的数据
当应用软件和组件被实际使用时,用户可以在一个浏览器中对它们进行分析,或者在ActiveX容器中将它们作为一个独立的软件来进行分析
使用会话数据合并特性,可以为单个开发人员或整个项目团队积累代码覆盖范围、稳定性和易变性等信息。DevPartner Studio的代码覆盖范围分析特性提供整个项目范围的内容广泛的视图,包括整个开发周期中代码基础的稳定性和测试覆盖范围
提供多个编程语言的代码覆盖范围分析,确保用Visual Basic .NET,C#,Visual Basic 6,Visual C++,VBscript和Jscript的任何组合编写的应用软件和组件能够得到准确的结果
1.1.5 内存分析
DevPartner Studio的内存分析特性能够展示一个对象或类所占用的内存量,跟踪在内存中拥有一个对象的引用,并识别负责分配内存的某个方法中的源代码行。内存仿形程序能帮助您迅速定位无效代码,从而可以节省宝贵的软件开发时间,否则,如果人工查找无效代码,将需要花费几个小时或几天的时间。当运行内存分析特性时,你可以选择查看以下的潜在问题领域:
内存泄漏
临时对象的创建
RAM的总体覆盖区
DevPartner Studio的内存分析特性还能提供一系列的详细信息,它们包括:
实时图形: 这是一个实时动态视图,它在应用程序运行时显示内存使用情况。您可以查看应用程序代码、系统和其他外部应用软件代码各自使用了多少内存,以及将耗用的内存与为被管理的堆阵(内存)所保留的内存相比较的情况
类的动态列表: 用数据图表显示的类的列表,可进行实时更新,当应用程序运行时,能显示已经分配了内存的对象数量和每个类使用的字节数
详细的堆视图: 这是程序执行的任何时候有关被管理的堆(内存)的详细视图。视图中的数据可以用于深入分析内存出现的问题,使您能够查看应用软件如何使用内存,并最终识别使用内存最多的方法或代码行
1.1.6 源代码检查
这是一个内容广泛的规则数据库,里面存放了根据许多普遍接受的编码方法产生的和业界专家提出的规则,代码检查特性可用于Visual Basic、Visual Basic .NET、C#和http://源代码。代码检查特性能自动查找常见的编程问题,然后就它们是何问题以及如何才能解决这些问题提供支持信息。DevPartner Studio的代码检查特性能够严格检查源代码,以发现与下列对象相关的潜在问题:
应用软件组件
应用软件的性能
可移植性
可用性
数据库
国际化
MTS
MSMQ
Web类
设计时间属性
逻辑方法
Windows
语言的使用
是否符合编码标准
从Visual Basic向Visual Basic .NET进行移植
1.1.7 特性
能检查一个项目是否存在各种潜在的问题,节省开发人员大量的开发精力,减少耗时的调试工作
对于Visual Basic的开发人员来说,可以识别为移植到Visual Basic .NET所需要进行的代码修改
能够提供问题起因的详细信息,并显示可用的变通办法,帮助经验不够丰富的开发人员建立高质量、易于维护的代码
为可增加的用户和可扩展的团队提供支持,以便在整个组织中共同遵守和强制采用相应的编码标准
1.2 DevPartner Java Edition JAVA代码级测试工具
今天的许多企业必须比以往具有更高的生产效率,以实现各种具有挑战性的目标,这些目标包括开发新的产品功能,提高应用软件的质量和及时将产品推向市场,但是它们始终被如何开发应用软件这样一些老问题所困扰。Compuware公司的DevPartner Java Edition(DevPartner Java 版)产品是专门设计用来帮助企业面对这些挑战的,只需要进行有限的培训和投入非常低的实施成本,就可以使用该产品。
研究显示,开发人员将他们30% 至50%的时间花费在查找和修复编码错误上。DevPartner可以用来大幅度减少企业所需要的这种时间,从而为企业带来巨大的生产效率。DevPartner Java Edition具备的优点有以下三个主要方面:
生产效率: IT企业希望提高生产效率,但是查找编码错误常常是个极其累人的人工操作过程,通常需要进行大量的工作。此外,这种工作有相当一部分是由高级开发人员承担的,使他们无法进行他们应该提供的增值服务。Compuware公司的解决方案可以迅速地找出许多错误的类型,在某些情况下甚至能够自动找出,从而大大提高了软件开发的效率
质量:尽管最近业界非常重视质量问题,但是开发人员常常不能完成代码的基本测试,从而无法评价其运行性能或者确保其运行功能。Compuware公司提供了一些特定的度量,可以用来对质量和测试完整性的许多方面进行评估
上市时间:现代应用软件的复杂性和规模使得人们很难完成所有必要的开发任务以确保它的成功。Compuware公司的解决方案使软件开发项目完成得更快,达到更高的质量,从而降低了成本,减少了投入的开发力量。最终,可以缩短产品投入生产所需要的时间
DevPartner Java Edition能够产生立竿见影的效果和价值,不需要某些工具执行的“仪器测试”步骤,也不必改变开发过程或方法,就可以采用该软件产品。通过查看结果和报告,整个开发团队都能从中受益,而不需要本机安装的软件或许可证。DevPartner Java Edition是整个项目团队都可以使用的高效率工具,并不只针对少数专家。
通过易于使用的浏览器界面,DevPartner Java Edition提供功能强大的分析和数据
图表显示技术,可以在安装软件前帮助开发人员了解Java代码的运行性能。无论应用软件是在单个计算机上运行,还是在分布式环境中的多台计算机上运行,DevPartner Java Edition都能提供开发人员交付高质量的Java应用软件所需要的各种功能。
DevPartner Java Edition能使许多常见的开发任务实现自动化,这些任务包括:
确定内存问题和运行无效的问题
查找各个分布式Java应用软件中的性能瓶颈
在问题发生前确定线程死锁问题
找出未执行的代码和代码易变性
从一个控制台来分析分布式应用软件的运行环境,并同时查看多台计算机上的多个Java层的运行状况
1.2.1 优点
在为Java市场提供能提高开发人员工作效率的工具方面,Compuware公司是早期领先企业之一,而DevPartner Java Edition则从最初发布以来就成为了一个获奖产品。随着最近DevPartner Java Edition 3.3的发布,Compuware公司继承了产品要便于使用、要具备强大的数据收集功能,并且要致力于创新等优点的传统。
借助以下方面的特性,DevPartner Java Edition为软件开发人员提供广泛的支持:
1.2.2 识别和定位Java应用程序中的运行时错误
开发人员常常试图运用几十年前的技术来跟踪运行时错误,这些技术包括嵌入式输出语句和使用传统的调试程序逐行执行源代码。这些方法使用起来非常麻烦,对于分布式和多线程应用软件来说几乎不起作用。
运行时错误常常以许多不同的方式出现,主要的表现形式是运行性能差,应用软件锁定和应用软件运行失败等。许多类似的情况只有在实际测试环境中才被注意到,因此许多“传统的”调试技术无法充分发现错误,尽管使用这些方法花费了大量的时间,但仍然效果不明显。Compuware公司能够减轻这样的担心。
DevPartner Java Edition运用下列功能来确定和找出运行时错误,因此最大限度地减少了人工调试的工作量:
动态图形显示:图形可用来准确地表示运行时的数据,尤其是调用图形,它显示各个对象之间如何交互。这可以帮助了解运行时错误的因果关系。
多系统信息收集和比较:通过收集整个分布式系统中的信息,并在一台计算机上显示这些信息,DevPartner Java Edition显著减少了移动数据和人员以查找问题或对系统间的信息进行比较所浪费的时间。
基于浏览器的用户界面: DevPartner Java Edition提供一个非常简单的界面,它可以通过多个平台来运行,并且可以按照开发人员的特定需求进行数据分析。
1.2.3 准确查找内存的问题
该Java环境提供一些功能强大的特性,可以帮助管理Java应用软件中的内存使用,比如内存管理和无用单元回收等;然而,许多情况下低质量的编码也会侵害内存的使用,最终对系统产生不利的影响。
应用程序对内存的分配可能效率很低,也可能在给对象分配了内存后应用程序并不释放这些对象。如果知道分配内存的时间,分配了多少内存,以及向什么方法和代码行分配了内存,那么查找这些内存错误就会很容易。运用人工调试技术,这些信息实际上是不可能找到的。通过消除与内存问题相关的判断,DevPartner Java Edition能够迅速提供这些信息,同时又能提高内存运行的性能。
内存使用情况的图形显示:.图形是实时提供的,使开发人员能够查看内存是如何使用的,哪些对象正在使用内存。可以对内存的使用情况进行短期、中期和长期的评估。
堆阵存储器分析:代码运行时,DevPartner Java Edition将会观察堆阵存储器的使用情况,并提供对象的堆阵覆盖区和堆阵增长的详细信息。通过跟踪这些信息,DevPartner Java Edition能够确定可以优化的对象引用,以减少内存的使用量并最终提高内存的运行性能。
临时对象:临时对象很难跟踪,因为它们不会存在很长时间。DevPartner Java Edition允许开发人员观察这些对象以及它们所使用的资源。通过减少对临时对象的使用,应用软件的性能将会随着内存使用的减少以及创建和撤消这些对象所需要的处理操作的减少而得到提高。
对象的保留:随着对象保留分析特性的推出,DevPartner Java Edition 3.3使得内存分析成了一个可以重复进行的进程。对象的使用情况将被跟踪,内存中长期不用的对象很容易被发现。生产环境中难以减少的内存泄漏本来很难查找,而现在在软件开发期间就能非常容易地发现这些泄漏问题。
多系统信息的收集和比较:如上所述,通过收集分布式系统上的信息并在计算机上显示这些信息,DevPartner Java Edition能够大幅度减少移动数据和资源所浪费的时间,
1.2.4 性能分析
应用软件的性能本来就很难改进,因为大多数程序员缺乏定义最佳性能的基础并且很少得到指导。此外,究竟如何改进某种方法或算法,或者为什么应该重点关注单个部分的代码,这些问题往往很不明确。
DevPartner Java Edition并不负责解决性能问题,它只是提供关于运行最慢的和最不常用的代码部分的反馈信息。这两个衡量尺度能够提供足够的信息,以指导开发人员进
行应用软件的调试工作。如果一部分代码为每个事务执行100次,但是每次只花费四分之一秒的时间,那么进行性能的改进将是值得的。同样,如果一个事务每天只发生少数几次,但却要占用几分钟,那么就应该将重点放在其他地方。
对于开发人员来说,获取关于这种性能的信息是非常重要的,DevPartner Java Edition能够确定哪些代码行和方法运行得最慢,哪些代码行和方法调用得最频繁。开发人员可以得到他们所需要的答案,并在收集到这些答案后可以立即对它们排定先后次序,从而提供了人工手段几乎无法得到的情况。通过为开发人员提供下面这些重要的能力,DevPartner Java Edition提高了开发工作的效率:
确定运行速度最慢的方法和代码行:通过了解哪些方法和代码行的运行速度最慢和使用最频繁,并用图形来表示该代码产生的影响,开发人员就能了解应该将他们的时间重点放在什么地方,以改进代码的运行性能。
事务故障:借助DevPartner Java Edition 3.3,开发人员能够发现组成应用软件的各个模块的运行性能趋势。可以非常容易地获得应用软件的每个部分在故障形成过程中所起的作用;可以暴露所有存在问题的模块,而并非仅通过观察各个运行得最慢的代码行来对应用软件进行分析。对于每个事务来说,提供了在应用软件的每个不同层次中花费的时间。开发人员也可以自定义事务类别,并找出每个事务花费了多少时间。
检查整个平台:确定JVM中的应用软件性能是有益的,但是当查看相对于整个系统的性能时,则能够获得更多的附加价值。DevPartner Java Edition为非Java组件提供模块级的性能信息。
多系统信息的收集和比较:如上所述,DevPartner Java Edition能够收集分布式系统的信息并且在独立的计算机上显示这些信息。
1.2.5 评估代码覆盖范围和易变性
质量是通过度量来确定的。当涉及软件的质量时,必须了解一个应用软件有多少个性能已经做了评估,然后才能确定该软件对一般用途的适用性。同样,还必须测定有多少代码已经被修改,才能在推出应用软件前了解它所达到的成熟度。
与这里讨论的其他衡量尺度(内存/线程分析和性能)不同,对于开发人员和测试人员来说,代码覆盖范围和代码易变性都是非常重要的衡量尺度,因为它们可以用于衡量风险。例如,一个开发公司可以判定,一旦某个模块有80%已经做了测试,代码的易变性则小于5%并且越来越小,那么该模块就可以转入试运行。质量保证部门可能要求代码测试的覆盖范围要达到95%,易变性为0%,然后才能将产品销售给客户。值得指出的是,从长远来看,这些衡量尺度也是最有用的。长期以来呈下降趋势的代码易变性表现了代码基础的成熟度和稳定性。代码覆盖范围的稳定增加表示它在测试资源中的成熟度以及风险大幅度降低,以至交付的软件不会运行失败。
运用下列方法,DevPartner Java Edition能够帮助开发人员和测试人员了解代码基
础的成熟度和稳定性以及测试的完整性:
代码覆盖范围的跟踪:通过观察有多少代码已经执行和代码执行的频繁度,可以对测试过程进行精细的调整,从而测试代码的更多(或更少的)部分。长期以来始终一致的数据可以将合理的风险衡量尺度运用于整个应用程序或模块。
测定代码的易变性:当开发人员修改一个方法(代码)时,DevPartner Java Edition会捕获运行时的信息,然后将该信息与代码总数量进行比较,以提供一个易变性的衡量尺度。这样,质量小组就可以了解一个系统是否已经成熟,或者是否有大量的代码仍然正在被修改。
多系统信息的收集和比较:当应用软件跨越多台计算机运行时,本特性特别重要。
线程死锁的检测: DevPartner Java Edition包含一个死锁检测工具,它能够发现线程死锁和潜在的死锁。这可以大大降低系统中的死锁风险。
通过一个简单的用户界面,即HTML浏览器,可以收集并显示Java应用软件的所有层次上的这些信息。这个解决方案允许开发人员迅速访问开发结果,并能始终一致地衡量工作进度。