专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »软件测试 » 白盒测试:Purify在白盒测试中的应用 »正文

白盒测试:Purify在白盒测试中的应用

来源: 发布时间:星期四, 2009年2月12日 浏览:16次 评论:0


Pury是主要针对开发阶段白盒测试是综合性检测运行时工具并可以和其他复合应用(包括多线程和多进程)工作Pury检查每个内存操作定位发生地点并提供尽可能详细信息帮助员分析发生原因

它可以发现主要有:(摘自pury在线帮助html/getstarted_pplus/2-pury.html)

· Reading or writing beyond the bounds of an .gif' />

读写越界

· Using uninitialized memory

使用未内存

· Reading or writing freed memory

读写未分配内存

· Reading or writing beyond the stack poer

栈指针读写越界

· Reading or writing through null poers

读写空指针

· Leaking memory and file descriptors

内存和文件描述符泄漏

Pury还检查些其他参数

由于pury对内存分析和记录是在运行完成以后才显示如果需要在运行时观测就很不方便所以Pury也提供外接API帮助在运行时显示内存状况以调试它提供接口介绍说明请参见我篇有关Pury文档puryAPI和提示信息代号

Pury使用及注意事项:

1. 对于编译执行如gcc –g testpury.c –o tpury命令如果需要对testpury使用pury进行调试那么只要在命令前加入pury即可如:pury gcc –g testpury.c –o tpury这样当运行testpury即会自动弹出pury观察器界面如图1(命令行模式下只是列出pury对运行统计信息):

\" border=0>

图1

pury不能用于动态链接库编译命令如下使用方法是:
pury –shared –fpic libtest.c –o libtest.so

注意:如果在安装pury时是指定pury license server模式进行安装(在安装中输入是证书服务器地址[email protected])那么在加入pury命令进行编译网络必须能连接到指定证书服务器否则无法使用pury

2. 如果了共享库那么如果修改了共享库后需要使用pury命令对了共享库进行重新编译才能体现修改[Page]

3. pury能够对发现直接在源文件中进行定位如图2中在旁边显示[hello_world.c:25]:

\" border=0>

图2

可以在pury中直接对定位进行修改点击图标或者下边铅笔符号即可弹出如图3编辑框: 注意:如果发生行号没有在观察器中显示请检查你在编译时是否指定了-g参数
\" border=0>

图3

4. 注意到图2中有个ABR字母缩写它表示Pury有很多描述字母缩写请参加文档<<puryAPI和提示信息代号.doc>>

5. 现在介绍下pury工具栏:

\" border=0>

(1)(2)按钮是用于在pury观察器中导航将最近有或标志行高亮显示
按钮(3)用于将有标志项展开按钮(4)用于将有标志项收缩
按钮(5)是用于打开编辑器
按钮(6)(7)(8)是使用cleartool工具(没有安装)
按钮(9)用于设置哪些信息不进行展开以节省视图关注更重要信息
按钮(10)是帮助
按钮(11)是下个内存泄漏提示标记
按钮(12)是PureCovery
按钮(13)是ClearQuest工具



在项目开发测试中适用pury领域有:

1. 使用pury提供API运行必要环节在观察器中显示需要获得内存状况或打印消息

2. 对于运行环境要求简单如可以在自己虚拟机上运行单机可以使用pury进行白盒测试查找内存泄漏等运行时
而对硬件有要求则不大可能使用pury比如对嵌入式平台我们无法使用pury

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: