”
? 名称可根据不同的测试项目及测试标准命名,这里为默认命名“执行测试用
例”
? 点击“静态”,取消勾选“启动静态分析”
? 点击“执行”,勾选“启动测试执行”, 插桩模式默认为“带有行覆盖的完
全运行时“,可修改此项以查看其它覆盖率,点击右边“编辑”选项,勾选覆盖率指标,如下图所示:
? 其他选项暂不考虑,点击Apply>Close完成测试配置
6.2 执行测试用例
? 可对整个项目执行自动生成测试用例,也可根据需要对某个.c文件单独执行
自动生成测试用例,不同的测试要选中测试目标,如对某一个.c测试一定要选中这个.c文件(左键点击该.c文件即可)。 ? 点击工具栏中的“生成”选项>“生成解决方案”。
? 执行自动生成测试用例,点击右三角右边的下拉菜单,选中“自动生成测试
用例”,如下图所示:
6.3 查看测试报告
点击“测试进度”窗口左下角Proceed查看测试报告,也可点击Configure修改生成报告的路径,如图所示:
6.4 查看生成的测试用例
在工具菜单中选择“Parasoft”>“显示图示”>“测试用例浏览器”如下图所示,双击测试用例可查看测试用例源码。
到此为止分步骤完成了单元测试,也可在测试配置中依次选择“静态分析” “生成测试用例”“执行测试用例”自动化完成单元测试,程序源代码显示:
绿色部分为执行到测试代码,红色部分为未执行到的代码,为保证测试完整性,可通过建立桩函数或者自定义(修改)测试用例提高测试覆盖率,以满足测试覆盖率的要求,这样能有效的提高测试质量,避免设计无效用例。 6.5 查看覆盖率
在工具菜单中选择“Parasoft”>“显示图示”>“覆盖率”如下图所示:
7. 桩函数 7.1 桩函数概述
桩函数主要实现替代原函数的功能,使得单元测试过程中能将被测功能与外部依赖隔离。桩函数是单元测试的常用技术,它主要目的有二:
一是将不可控的、费时的实际系统隔离,例如访问网络、数据库、硬件等;二是将复杂的底层系统隔离,采用相对简单的模拟系统来代替。当被调函数不会影响当前测试函数的功能行为的时候,桩函数能够被使用,以使得单元测试的效率更高。
自定义桩函数可以带来的好处在于:调用原函数可能其返回值为一个固定值,不能返回一个期望值,以使得测试不同的代码分支。而桩函数的返回值,可由用户自由控制,因而具备更大的灵活性。这里有对桩函数较详细的解释
http://wenku.http://www.wodefanwen.com//link?url=J_RF4p5MXSfmS1tsJgd5dj3EqntIAtEAiVRZFnSa61SkWgzFZghjxE6mPZ3nzx-qPwZT7ndp_kUZcoG8zB_YVmw9QpQrCv4Ca6uL7zi-rTC
桩函数可自动生成,也可用户自定义,自动生成的桩函数与自定义的桩函数其主要差别在于:自定义的桩函数调用优先级别高于原函数,原函数的优先级别高于自动生成的桩函数。 7.2 自动生成桩函数
? 选中要生成桩函数的源文件,右键>Parasoft>测试执行>内建>Unit Testing>File Scope>Generate stub(file Scope)
? 选中要生成桩函数的源文件,右键>Parasoft>测试执行>内建>Unit Testing>File
Scope> Collect stub Information(file Scope) ? 在工程目录下我们可以看到自动生成的桩函数:
? 点击工具栏的Parasoft选项>显示图示>桩函数,可以看到:
7.3 用户自定义桩函数
如下图所示,在需要建立用户桩函数的函数上右键,选择“创建用户桩函数”
给用户桩函数命名之后点击完成。这个时候在工程目录下我们可以看到: