单元测试工具Numega

发表于:2007-8-23 13:41

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

 作者:秋阳    来源:秋阳的软件测试专栏

1 前言

        我在本文中详细介绍了测试工具NuMega Devpartner(以下简称NuMega)的使用方法。

        NuMega是一个动态测试工具,主要应用于白盒测试。该工具的特点是学习简单、使用方便、功能有效。NuMega共有三个独立的子功能——BoundsCheckerTrueCoverage、TrueTimeBoundsChecker为代码检错工具,TrueCoverage为测试覆盖率统计工具,TrueTime为程序运行性能测试工具。

        本文挡通过三章对NuMega三个子功能的使用方法进行了介绍,各部分之间内容独立。如果你想了解NuMega的各项功能,建议阅读本文挡全部内容,如果你只想了解NuMega提供的某一个子功能的相关信息,按目录查看相应的章节即可。

        需要说明的一点是,本文挡中所介绍的测试工具NuMega,专指NuMega for Visual C++版,对于NuMega for Visual Basic版和NuMega for Delphi版的使用说明,不在本文挡的介绍范围之内,这一点请注意。

2安装

        NuMega的安装很简单。获得NuMega安装程序后,点击setup.exe进行安装即可。在安装过程中不需要什么特殊的设置。

        不过有一点需要说明,在安装NuMega之前,应该确保你的机器上已经安装好了Visual C++,因为只有这样才能使NuMega成功的集成到Visual C++开发环境中去。

        好了,下面我们分三个部分,分别介绍BoundsChecker、TrueCoverage、TrueTime的使用方法。

3 BoundsChecker

        BoundsChecker 是一个Run-Time错误检测工具,它主要定位程序在运行时期发生的各种错误。BoundsChecker能检测的错误包括:

1))1、指针操作和内存、资源泄露错误,比如:

内存泄露;

资源泄露;

对指针变量的错误操作。

22、内存操作方面的错误,比如:

? 内存读、写溢出;

? 使用未初始化的内存。

33、API函数使用错误

        BoundsChecker安装成功后,在你的VC++集成开发环境中,会多出了一个名为BoundsChecker的菜单,如下所示:

1.jpg

3-1 BoundsChecker在VC++集成开发环境中添加的菜单

        BoundsChecker 已经非常完好的集成到VC++集成开发环境中了。

        使用BoundsChecker对程序的运行时错误进行检测,有两种使用模式可供选择。一种模式叫做ActiveCheck,一种模式叫做FinalCheck。下面分别进行介绍。

3.1 ActiveCheck

        ActiveCheck是BoundsChecker提供的一种方便、快捷的错误检测模式,它能检测的错误种类有限,只包括:内存泄露错误、资源泄露错误、API函数使用错误。

        要想使用ActiveCheck模式来检测程序的运行时错误,只需在VC++集成开发环境中打开BoundsChecker功能,然后从调试状态运行程序即可。此时ActiveCheck会在后台自动运行,随时检测程序是否发生了错误。下面说一下具体的使用步骤。

3.1.1 用ActiveCheck来检测错误

        使用ActiveCheck的具体的操作步骤如下:

        首先,在VC++集成开发环境中打开你要对其进行测试的程序,同时保证项目处于Debug编译状态下。

        其次,确保VC++集成开发环境中[BoundsChecker/Integrated Debugging]菜单项和[BoundsChecker/Report Errors and Events]菜单项处于被选中的状态。只有这两项被选中,BoundsChecker才会在程序运行过程中发挥作用。

        最后,在VC++集成开发环境中选择[Build/ Start Debug/Go]菜单命令,在Debug状态下运行程序,ActiveCheck也在后台开始运行了。

        这时,就可以按照制定好的测试用例,对程序进行操作。凡是程序执行过的代码,如果存在错误,ActiveCheck就会记录下来。

        有一个地方要说一下,在[BoundsChecker]菜单中有一项[Report Errors Immediately],如下图所示:

2.jpg

3-2 关于[BoundsChecker / Report Errors Immediately] 菜单项

        该菜单项对于ActiveCheck 模式,以及下面就要介绍的FinalCheck模式的作用是一样的,即:如果不选中该项,则BoundsChecker会记录程序运行过程中发现的各种错误,直到程序结束后再进行报告;当选中该菜单项时,在程序的运行过程中,一旦BoundsChecker发现错误,会马上弹出如下的对话框进行提示:

3.jpg

3-3 错误报告对话框

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号