cout<
}
答:
①用RationalPurify进行检测的结果如图;
从四张大图可以看到在程序运行期间检测到的与内存有关的错误:
第3.4.9.10行,红色标注数组越界导致内存不可读(ABR)
第5.6行,黄色标注读未初始化内存(UMR)
第7行,红色标注读非法指针导致内存不可读(IPR)
第8行,红色标注数组越界导致内存不可写(ABW)
第11行,黄色标注堆内存没有被释放。
其中,ABW指明了错误类型,Errorlocation指出错误在源代码中的位置,Allocationlocation指出错误的内存分配位置。
在这里我主要讲一下ABW中Errorlocation的主要错误的位置,单击Errorlocation前面的“+”后,在单击main前面的“+”,出现如图所示:
cout<
strcpy(b,a);//ABWb空间不足,数组越界写
cout<
用RationalPureCoverage进行检测的结果如图;
红色代码表示尚未测试的代码行,
RationalPurify,RationalPurecoverage二个软件的使用体会:
在使用PureCoverage做一些软件开放时候,最好能动态使用。
因为方便修改输入和调试程序。
当然,如果要最后统计整个测试的覆盖率,最好保存为cfy文件。
在使用Purify做内存检查时也推荐使用动态使用,因为静态有时候想定位出错代码时会出现找不到源文件的情况。
这时要手动定位源文件位置,甚为麻烦。
有时候一些系统源文件连自己也找不到在哪儿。
这二个软件在评测中的作用和使用方法:
通过使用Purify可以实时地检查代码运行产生的一些内存错误。
如内存未初始化、数组越界、内存泄露、COM接口错误等等。
从windows“开始”菜单的“程序”中选择“RationalSuiteEnteprise”选中“Purify”,
然后选择“file”中的run后,出现对话框RunProgram。
在然后选择Programname中选择被测对象的路径后,点击Run,运行程序。
运行完程序后,会出现运行后的结果数据。
。
通过RationalPurecoverage你可以快速的了解到设计的软件执行后代码的覆盖情况,为软件的修正提供的有效的标准,从而快保证了代码路径的覆盖。
使用方法:
启动RationalPurecoverage
然后选择“file”中的run后,出现对话框RunProgram。
在然后选择Programname中选择被测对象的路径后,点击Run,运行程序。
2.写出使用Robot之前需要做的工作,并使用Robot对计算器进行功能测试,要求使用数据池或者是excel做数据源。
并对结果进行分析。
并根据此次检测的情况写出对Robot软件的使用体会,以及这个软件在评测中的作用和使用方法。
请写出数据选取的过程中你的心得体会以及做法。
代码如下:
附:
使用Excel做数据源的代码如下:
'$Include"sqautil.sbh"'datapool必须写的第一句话
SubMain
Dimbookasobject
dimexcelasobject
Dimname1asstring
dimpassasstring
dimcountasinteger
dimworksheetasobject
dimmasstring
dimnasstring
dimsumasvariant
StartApplication"c:
\windows\system32\calc.exe"
onerrorresumenext
setexcel=getobject("excel.application")
if(excelisnothing)then
setexcel=createobject("excel.application")
if(excelisnothing)then
msgbox"couldn'tfindexcel!
"
exitsub
endif
endif
setbook=excel.workbooks.open("c:
\aa.xls")
setworksheet=book.worksheets("sheet1")
forcount=1to5
m=worksheet.cells(count,1).value
n=worksheet.cells(count,2).value
sum=worksheet.cells(count,3).value
WindowSetContext,"Caption=计算器",""
InputKeysm&"{+}"&n&"{ENTER}"
msgboxm
msgboxn
msgboxsum
Result=EditBoxVP(CompareNumeric,"ObjectIndex=1","VP=Alphanumeric;Value="&sum&"")
WindowResetTestContext,"",""
nextcount
excel.quit
setexcel=nothing
EndSub
答:
检测的情况如图:
回放脚本成功结果
作用:
自动记录所有测试结果,并在测试日志查看器中对这些结果进行颜色编码,以便进行快速可视分析。
双击某一项,RationalRobot就直接带您进入测试脚本中对应的行,以便快速分析。
即使测试人员不熟悉高级脚本技术,也可以借助该工具进行成功的测试。
使用方法:
首先,我们打开RationalAdministrator
1.开始-所有程序--IBMRational--RationalAdministrator
2.新建一个项目:
File--NewProject
项目名称:
自己决定什么名字
项目路径:
自己决定
3.点击下一步,弹出如下窗体,点击OK继续,不用理会。
4.直接点击下一步,暂时务须输入任何密码。
5.点击完成。
6.配置项目
这里我们只对TestAssets做相关配置,其他请参考相关文档。
因为实验环境,所以选择MicrosoftAccess作为Robot数据库。
开始数据库的配置,请连续点击下一步。
点击完成。
TestDatastore成功创建。
点击OK。
RobotProject成功创建。
7.运行项目
打开Robot,因为前面这里的密码设置为空,所以这里不用输入任何密码,也可以在登陆进后在菜单里面进行密码的设置。
点击OK。
Robot启动界面如下,可以开始测试了。
在Robot中,点击File菜单下的New子菜单的Script菜单项;
、输入脚本名称(最多40字符),可以加入脚本描述;
.点击GUI;
、点击确认,Robot产生一个带主程序头的空脚本;
、开始GUI脚本编码。