在此窗口中会显示函数的基本信息,可不用关注,直接点击按钮”Continue”向下进行,这样一个用例创建完成,可在用例管理窗口”Test Case View”中显示已经创建的用例,以数字编号用例,在”Variable I/O View”窗口中会显示此函数的输入输出参数。
六、 测试用例的输入输出参数IO值设定
测试用例的输入输出参数值的设定是测试的核心,在这一步决定了有什么样的输入和用例运行之后应该有什么样的输出(预期输出),从而实现了函数功能的验证。对于函数的输入输出不只有函数的参数,还包含函数内部使用的全局变量。
在”Variable I/O View”窗口中工具会显示出函数的参数和内部使用的全局变量,并会显示每个参数是输入还是输出,用户给每个参数赋值即可,注意输入以”I”标示的,输出是以”O”标示的,此处的输出是指预期的输出值。
对于标示为”I”的变量一定要有一个确定的值,要不让用例无法执行。
七、 测试用例中桩的设定
桩-----使用一个函数原型相同的空函数来代替原函数 如果被测函数中调用了其他函数,则被调用函数会被打桩,如果被调用函数的返回值影响了被测函数的分支流程,或被调用函数的动作影响了被测函数的分支流程,则需要对桩进行设置,一般设置桩的返回值即可满足。
在Tbrun的”Variable I/O View”中,双击”M Double-click to access”图标即可打开桩的属性设置其返回值等
6
在桩函数右键,弹出菜单,选择”Set Return Value On Exit”,弹出返回值设定窗口
在途中的”Value”设定返回值,点击”OK”。
八、 测试用例的执行
测试用例的IO设置和桩的设定之后,此用例就算构造完成了,接下来要做的就是执行用例,有两种运行方式,操作方法如下:
a. 一键式运行用例;在测试用例管理窗口中的空白处右键可弹出菜单,点击”Run Test
7
Case Driver”即可运行用例。
b. 分步式执行用例;在测试用例管理窗口中的空白处右键可弹出菜单,按顺序点击
“Generate Driver”、”Build Driver”、”Execute Driver”、(“Split Regression Driver Output”)、”Process Regression Driver Output”,每执行一步如果执行成功则会在旁边以“√”提示,如果不成功则没有“√”,请排查原因。
九、 测试结果的查看
单元测试其测试结果由两部分构成:函数功能验证和函数覆盖率信息;
函数功能的验证是通过用例的执行之后的用例确认对话框中的Pass/Fail结果反映的。
8
函数的覆盖率信息可通过动态覆盖率分析报告来查看,在Tbrun的菜单Result?Dynamic Coverage Analysis Report点击即可,此报告中包含整个文件中所有函数的语句、分支MC/DC覆盖率信息。还有一种图形化的方式显示函数的覆盖率信息,在Tbrun的用例管理窗口,选中用例然后右键在弹出的菜单中选择”View Flowgraph”即可打开覆盖率图形化显示窗体,图中绿色的代表已经覆盖了的,红色的代码未覆盖的
在弹出窗体中可通过菜单选择为图形添加分支跳转条件注释
9
十、 测试用例的保存
通过设计多个测试用例执行,函数的功能全部验证通过,并且覆盖率的值也达到了测试规范中的要求的值,此函数的测试就可以结束了,以便于以后对此函数进行回归测试,需要用户把用例保存起来,保存的操作如下:
在Tbrun的菜单Sequense?Exprot Test Case(TCF)点击,通过文件浏览窗体选择一个目录来保存对应的TCF文件。
至此单元测试的主要操作流程结束,下面介绍在测试用例创建过程中会常用到的几个重要的操作处理。
十一、 测试用例中增加用户全局变量
单元测试每次通过Testbed来选择一个文件,而我们每个用例是针对一个函数的,所以在编译的时候只编译用户代码中的一个函数,如果此函数中使用了全局变量,且恰好此变量是用”extern”声明的,即全局变量身体的声明(定义)不在此文件内部,就需要用户自己在Tbrun中添加此全局变量的声明(定义)。操作如下:
在Tbrun的菜单Global Variables?Create User Global点击即可弹出用户全局变量定义窗口,在窗口中添入”Name”和”Declaration Type”点击finish即可。
10