用底层模拟解决单元测试中的内部输入

        底层模拟就是在用例中模拟、控制子函数的行为,使底层函数产生的数据像参数一样可以在用例中设置。

        底层模拟的特点

     1)在用例中用例设定子函数的输出,使子函数的输出可以与参数等输入放在一起,实现真正意义上的内部输入;

     2)无论子函数是否打桩,都可以使用底层模拟,即用户不需要考虑调用的是桩代码还是实际代码;

     3)对于一个子函数,如果某个用例使用了底层模拟,则输出设定的数据,如果未设定,则调用实际代码;

     4)多次调用同一子函数,可以设定不同值;

     5)用户不需要额外编写代码,也不需要维护桩代码,底层模拟的数据的维护与参数一致。

      底层模拟的实现是比较复杂的技术,需要工具的支持,这里不介绍它的实现原理。为了便于理解底层模拟,及进一步理解内部输入,下面用示例来介绍。使用的工具是Visual Unit 3.0(简称VU)。

      示例函数功能及代码如下图:

        点击,打开输入输出代码生成器,生成用例代码。预设的目标温度由成员变量mExpectTemperature保存,设为25(),假设环境温度为28度,那么参数*pWorkTime的值应为180(秒,温度差1度,运行60),返回值表示计算是否成功,设为1,表示成功。

        

        执行测试后,结果如下图:

       

            

        测试不能按预期进行,因为环境温度未正确取得。环境温度由GetTemperature()函数取得,这里调用的是实际代码,但由于取环境温度的硬件不存在,该函数未编写实现,总是返回0,表示取温度失败,并且不输出环境温度。如果GetTemperature()调用的是桩代码,将在内部输入位置显示:Call the Stub!

        如何让GetTemperature()返回1(表示取温度成功),并且输出我们需要的温度值28呢?可以用底层模拟器实现。如下图,在VU主界面左边的函数代码窗口,双击函数名,在弹出窗口的“模拟值”中填写1,点击“确定”,就可以让该函数返回1

       

   然后,双击参数,在弹出窗口的“模拟值”中填写28,点击“确定”,就可以让该函数出参的值设为28,如下图:

 

经过上述操作后,可以看到,用例代码的输入部分增加了SF_开头的两行代码,这就是底层模拟代码,如下图:

 

       底层模拟代码的第一个参数,分别是128,这就是我们刚才设定的模拟值。双击模拟值,如双击1,弹出的窗口可以修改模拟数据的缺省变量名,点击“确定”,就可以将该值移到表格中,然后可以像参数一样,在表格中设定各个用例的值,如下图。

  下图是设置了底层模拟后的测试结果:

 

雨田单元测试系统是一款专业国产测试软件。软件的主要功能是对c文件进行单元测试和集成测试。软件以被测单元为纽带,可以根据实际需要查阅黑盒测试涉及用例的执行情况及白盒测试涉及的相关覆盖率,还可以大幅度提高对C语言测试效率,从而提高软件质量。软件界面美观简洁、使用方便,速度快,质量高,对于用户来说是一款很不错的软件,小编这里推荐大家使用这款软件! 雨田单元测试系统软件特点 1、功能强大。在文件解析、手工创建用例、执行用例以及生成相关报告等功能的基础上,开创性的研发了“用例统一录入界面”、“自动生成用例”以及“各次测试有机关联”等多项创新且实用的功能,最大化地降低用户进行单元测试的工作量。 2、通用性强。首先,通过应用新研发的用例模型,在不编写任何代码的前提下,可以对c语言语法允许的各种复杂的输入、输出数据快捷准确的创建用例并进行测试。其次,类c语言的脚本的引入,令系统模型能够描述数据之间各种复杂的约束关系,从而实现了“自动生成的用例”功能的适用范围的全覆盖。另外,基于先进的词法及语法分析技术,能够正确解析通过编译的各种复杂的c文件。 3、易用性好。雨田单元测试系统主要设计目标之一即是降低测试人员工作复杂度,因此,在充分了解测试人员的工作特点的基础上,系统提供的各项功能简单、实用且符合测试人员的工作习惯。 4、使用灵活。用户可以根据需要定制测试报告包括的内容;可以根据实际情况增删输入及输出项,可以选择特定输入数据的获取方式以及是否使用缺省值;可以选择录入或者从自动生成的下拉列表选择枚举数据;可以通过手工创建、复制、导入、自动生成等多种方式创建用例;用例模板既可以设置数据的取值区间,也可以设置单独数值;数组模板既可以为所有元素赋值,也可以以特定元素作为模板元素,其它元素以模板节点的实例的形式创建;既可以给队列的所有节点赋值,也可以指定特定节点为模板节点,其它节点以模板节点实例的形式自动生成……。雨天单元测试系统2.1提供众多能够灵活使用的功能以降低测试人员的工作量,从而提高测试的效率与质量。 雨田单元测试系统 v2.2.2 更新日志 1 增加了对象声明缺省定值的处理 2 增加了从.dsp 和.wsp工程文件添加文件的功能 3 解决函数调用实参分析存在的问题 4 处理了构造函数变量应用 5 解决路径搜索算法存在的处理循环的错误 6 更新了continue数据 雨田单元测试系统截图
雨田单元测试系统2.0是拥有独立知识产权的国产测试软件,能够对c文件进行单元测试和集成测试。它以被测单元为纽带,将首次测试以及后续的回归测试有机的关联起来,使测试人员在充分利用历史用例的基础上,集精力对真正需要测试的单元进行测试。雨田单元测试系统2.0不但实现了“统一的用例数据录入界面”、“自动生成用例”等多项测试技术的突破,朝着自动化测试迈进了重要的一步,而且极大地推动了单元测试的效率与质量。依托领先的技术、完善的功能,安全可靠的系统,雨田单元测试系统2.0能够为航空、航天、船舶、兵器及其它重要领域的软件可靠性做出坚实的支撑。 技术特点  功能强大 雨田单元测试系统V2.0 为用户进行单元测试和集成测试提供全方位的支持,在文件解 析、手工创建用例、执行用例以及生成相关报告等功能的基础上,开创性的研发了“用例统一录入界面”、“自动生成用例”以及“各次测试有机关联”等多项创新且实用的功能,最大化地降低用户进行单元测试的工作量。  通用性强 首先,通过应用新研发的用例模型,在不编写任何代码的前提下,可以对c语言语法允 许的各种复杂的输入、输出数据快捷准确的创建用例并进行测试。其次,类c语言的脚本的引入,令系统模型能够描述数据之间各种复杂的约束关系,从而实现了“自动生成的用例”功能的适用范围的全覆盖。另外,基于先进的词法及语法分析技术,能够正确解析通过编译的各种复杂的c文件。  易用性好 雨田单元测试系统主要设计目标之一即是降低测试人员工作复杂度,因此,在充 分了解测试人员的工作特点的基础上,系统提供的各项功能简单、实用且符合测试人员的工作习惯。  使用灵活 用户可以根据需要定制测试报告包括的内容;可以根据实际情况增删输入及输出项, 可以选择特定输入数据的获取方式以及是否使用缺省值;可以选择录入或者从自动生成的下拉列表选择枚举数据;可以通过手工创建、复制、导入、自动生成等多种方式创建用例;用例模板既可以设置数据的取值区间,也可以设置单独数值;数组模板既可以为所有元素赋值,也可以以特定元素作为模板元素,其它元素以模板节点的实例的形式创建;既可以给队列的所有节点赋值,也可以指定特定节点为模板节点,其它节点以模板节点实例的形式自动生成……。雨天单元测试系统2.0提供众多能够灵活使用的功能以降低测试人员的工作量,从而提高测试的效率与质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值