关闭

使用 IBM Rational PurifyPlus

发表于:2007-11-29 13:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Poonam Chitale    来源:网络转载

        IBM® Rational® PurifyPlus™是一套测试工具集合,拥有三个工具-- PureCoverage、 Quantifyis 和 Purify,您可以用这套工具完成对代码覆盖率、性能和内存分析的运行时分析。它可以加强自动化测试工作,改善产品性能和质量。
引言

        随着质量工程变得要求越来越高,能够使用更新的工具和方法对任何软件进行测试已经成为当务之急。

        对很多团队来说,测试自动化已经成为他们的测试工作的核心。然而,即使在存在稳定的自动化测试时,您仍然需要对它进行维护:增加新的测试、修改现有的测试以及调整测试脚本以跟上产品的变更。但是对于寻找如何能够得到更好的回报来说,所有这些努力是值得的。

        软件系统的规模和复杂性在持续增加,测试自动化也有相同的趋势。测试装备也要变得更大,能够进行更多的维护工作和更密切的监视工作,以便能够进行快速、可靠和更精确的测试。为了做到这些,您需要正确的工具。

        IBM Rational PurifyPlus 是三种工具:IBM Rational PureCoverage®、IBM Rational Quantify®和 IBM Rational Purify®的集合。这些产品非常适合测试人员(和开发人员)在软件测试期间使用。

不只是测试自动化

        只完成测试自动化工作是不能下产品可以发布的结论的,您仍然需要在测试装备的设计、评审和维护方面进行合适的投资,否则您的客户仍然会找到那些漏到产品中的难以发现的缺陷。

        当给您(作为测试人员或者质量管理人员)安排一个测试任务时,您最好问自己以下的问题,以便更好地理解测试任务。

  • 我在这里做什么工作?
  • 有什么可用资源可以帮助我完成这个任务?
  • 如果我运行了所有针对应用程序计划的测试以后,则个任务是否就算完成了?
  • 自动化的测试是否包括了大多数的应用?
  • 有什么东西能够帮助我更彻底地测试,以便我能完成测试任务?

        理解应用程序在测试时的行为,以及收集有关自动化测试运行时的有价值的信息,能够极大地改善测试的效率。这也有助于减少遗漏到您的用户手里的缺陷的数量。

        在进行测试时,您应该集中在寻找最多的缺陷以便提高产品质量,而仅仅是完成测试任务。

        这就是运行时分析:分析运行的程序并收集数据,用来帮助您理解软件的行为和软件不同部件之间的关系。

运行时分析

        在软件开发期间可以把运行时分析作为一项高级调试和测试技术来考虑。

        在运行应用程序期间,您可以收集和研究以下运行时数据:

  • 代码覆盖率
  • 性能瓶颈
  • 线程问题
  • 执行路径
  • 运行时跟踪
  • 内存错误和内存泄漏
  • 不正确的内存使用

        下面是有关 PurifyPlus 的组件是如何设计以帮助您的一些细节:

  • PureCoverage 用来进行代码覆盖率分析:它测量在所有测试用例中多少代码运行了,多少代码没有运行
  • Quantify 用来进行性能分析:它帮助分析应用程序的性能瓶颈
  • Purify 用来进行内存分析:它帮助寻找应用程序的内存泄漏和错误的内存使用,这些有可能导致应用程序崩溃。

        PurifyPlus for Microsoft? Windows? 可以用来分析 C++、Java?或者托管代码。它也可以集成在 Microsoft? Visual Studio? .NET IDE 中。

        PurifyPlus for Linux? 和 UNIX? 可以用来分析 C/C++ 和 Java 应用程序,这些程序构建在 Red Hat、SUSE、Solaris?、HP-UX 和 AIX 平台。但是本文只介绍 Windows 平台的测试自动化和分析。

代码覆盖率分析

        假设您已经为需求规格说明书中的每个功能点写了测试用例,并在一个稳定的自动化环境中运行了这些用例,结果是令人鼓舞的。然而,用户仍然报告出测试用例中没有发现的问题。这时代码覆盖率分析就有用了,它可以扩展您的视野。代码覆盖率分析可以针对您的测试用例的有效性给出有价值的反馈。

没有测试的代码

        即使有大量的自动化测试,总会有测试不到的代码路径。这就产生了用户发现问题的危险,而您却很容易地发现有问题的部分已经在测试中"覆盖"到了。这在引入了一些没有合适文档化、从而没有建立测试用例的特性时是有可能的。另一个可能性是新的代码可能引入了一些行为变更。

        进行代码覆盖率分析的主要步骤为:

  1. 自动化运行由 PureCoverage 处理过的应用程序
  2. 收集覆盖率数据
  3. 分析数据,找到哪些代码没有运行
  4. 增加测试用例,尽可能地覆盖没有运行的代码
  5. 运行增加了测试用例的自动化测试
  6. 确认增加的用例改善了您的覆盖率

        这里有一个使用 PureCoverage 运行 Java 自动化测试的例子。ClassicsJava 是一个示例程序,功能是对数据库中的音乐 CD 进行排序。这个程序是 IBM Rational Functional Tester 中的一个示例程序。首先使用以下命令由 PureCoverage 对程序进行处理:

Coverage/java java.exe –jar ClassicsJavaA.jar

        然后运行这个程序的自动化测试脚本。完成排序后,中止程序。在图1中,被覆盖的方法加上了Hit标签,没有覆盖的则加上Missed标签。


图1:PureCoverage 显示自动化测试程序的 hits 和 misses
Module View tab with coverage and calls

31/3123>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • tuchaxiu
    2007-12-04 12:58:28

    还有另外两个怎么没讲?

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号