上海申思特自动化设备有限公司 >> 进入商铺
2017/11/29 14:55:05怎样才能测试BECKHOFF模块呢?
测试BECKHOFF模块需要做:
1、写两个模块Sd和Se分别代替D模块和E模块(函数名、返回值、传递的参数相同),这样B模块就可以通过编译了。Sd模块和Se模块就是桩模块。
2、写一个模块Da用来代替A模块,里面包含main函数,可以在main函数中调用B模块,让B模块运行起来。Da模块就是驱动模块。
知识点:
BECKHOFF模块的使命除了使得程序能够编译通过之外,还需要模拟返回被代替的模块的各种可能返回值(什么时候返回什么值需要根据测试用例的情况来决定)。
BECKHOFF模块的使命就是根据测试用例的设计去调用被测试模块,并且判断被测试模块的返回值是否与测试用例的预期结果相符。
在自动化技术领域有着里程碑式的历史意义,在传统控制行业,这些产品已被视作为高性能的解决方案,从而被广泛接受。EtherCAT-实时以太网解决方案-是一种具有前瞻性的技术,是前沿控制理念的新生代产物。
进口BECKHOFF模块和国产模块的概念和区别
BECKHOFF模块是用来模拟被测试模块的上一级模块,相当于被测模块的主程序。它接收数据,将相关数据传送给被测模块,启用被测模块,并打印出相应的结果。
BECKHOFF模块可以通过模拟一系列用户操作行为,比如选择用户界面上的某一个选项或者按下某个按钮等,自动调用被测试模块中的函数。驱动模块(Driver)设置,使对模块的测试不必与用户界面真正交互。
BECKHOFF模块是指模拟被测试的模块所调用的模块,而不是软件产品的组成的部分。主模块作为驱动模块,与之直接相连的模块用桩模块代替。在集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些测试用的“假”模块称为被测模块的桩模块。
如果被测试的单元模块需要调用其他模块中的功能或者函数(method),我们就应该设计一个和被调用模块名称相同的桩模块来模拟被调用模块。怎样才能测试BECKHOFF模块呢?这个桩模块本身不执行任何功能仅在被调用时返回静态值来模拟被调用模块的行为。举例说明:如果被测试单元中需要调用另一个模块customer的函数。
BECKHOFF计速模块产品简介:
位于德国威尔市的Beckhoff总部是公司核心部门的所在地。公司总部下属研发部、生产部、行政部、销售部、市场部、支持与服务部。随着公司的迅速发展,我们分别在奥地利、比利时、丹麦、芬兰、法国、意大利、立陶宛、
波兰、俄罗斯、西班牙、瑞典、瑞士以及澳大利亚、巴西、中国、加拿大、南非、美国设立有分公司,加上世界各地的合作伙伴,Beckhoff公司的业务已遍及 60 多个国家。 自 1980 年公司成立以来,Beckhoff 始终坚持基于 PC 的控制
技术,研发了大量的创新产品和解决方案,这正是 Beckhoff 得以持续发展的原因所在。如今,Beckhoff 早期提出的概念业已成为许多自动化技术的标准,且被成功引入市场。Beckhoff 基于 PC 控制技术的理念和 Lightbus 系统、总线端子模块以及 TwinCAT 自动化软件的推出。
BECKHOFF模块这个函数应该查询数据库后返回某一个客户的地址。我们设计的同名桩模块(Stub)中的同名函数并没有真正对数据库进行查询而仅模拟了这个行为,直接返回了一个静态的地址例如"123NewtonStreet"。桩模块的设置使得单元测试的进行成为一个相对独立且简单的过程。
总结:
桩模块的使命除了使得程序能够编译通过之外,还需要模拟返回被代替的模块的各种可能返回值(什么时候返回什么值需要根据测试用例的情况来决定)。
驱动模块的使命就是根据测试用例的设计去调用被测试模块,并且判断被测试模块的返回值是否与测试用例的预期结果相符。
BECKHOFF模块通过编译器的编译也是不可能的。怎样才能测试BECKHOFF模块呢?