电子说
最近了解到了Tessy这款测试软件,尝试一下使用它来测试AUTOSAR应用层软件。
模型开发
首先来实现一个非常基础的功能,分步骤实现4个数的加和,y1 = x1 + x2, y2 = x3 + x4, z1 = y1 + y2。用模型实现就是如下所示:
通过AUTOSAR Component工具箱提供的Quick Start能够快速为一个模型配置AUTOSAR元素。
生成代码后整理为如下结构:
├─include
│ │ Add1.h
│ │ Add1_private.h
│ │ Add1_types.h
│ │ Add2.h
│ │ Add2_private.h
│ │ Add2_types.h
│ │ Rte_Add1.h
│ │ Rte_Add2.h
│ │
│ └─common
│ Compiler.h
│ Platform_Types.h
│ Rte.h
│ Rte_Type.h
│ rtwtypes.h
│ Std_Types.h
│
└─src
Add1.c
Add2.c
Rte.c
其中src是模型生成的函数实现代码,include下是模型相关的头文件,common是公用头文件, Compiler .h Platform_Types .h Std_Types .h是AUTOSAR工具箱内置的, rtwtypes .h Rte_Type .h是模型编译时生成的, Rte .h Rte .c 是计划用来存放RTE的全局变量中间值(在本例中不是必须的,在Tessy中同样可以配置)。
Tessy使用
创建一个Tessy工程,选择组件测试而不是单元测试。
指定源文件和头文件。
点击分析工程后,Tessy可以自动识别出工程中接口对象,包括函数和全局变量等。
新增全局变量,模拟RTE,为数据流提供读写的存储基础。
这里按照SWC Port的名字命名了以下全局变量。这些全局变量的IN/OUT/INOUT属性,将会影响到它们在测试用例中输入值和期望值的位置。
可以看到,SR接口被识别为外部函数,因为它们此时并无实现,右键为其添加桩函数。
因为这里桩函数的读写确实会影响到代码逻辑,因此不能简单补充一个假实现通过编译即可,而是要为它们补充读写全局变量中间值的逻辑。这里就补充了SR接口的具体读写操作。
完成上述工作之后,整个测试工程就处于测试就绪状态。接下来就可以编辑测试场景了。
首先需要针对某一个Test Project新建一个Test Case。对于组件测试来说,要使用SCE(Scenario Editor)来编辑测试用例。
通过拖拽的方式,可以为某个时刻添加一个函数调用的请求,这一点非常地方便。
如果是周期性任务,还可以将函数配置为Work Task,并配置运行周期和偏置。此时就不需要再拖拽该函数到每一个时刻了。
针对关注的时刻,设计输入值和期望值。这里注意几种Tessy的状态指示符,一般来说,绿色代表通过,黄色代表就绪,灰色代表部分就绪,而白色就代表未就绪。
点击运行测试,就可以看到运行结果了。通过的测试点会显示绿色。完成测试后,可以查看覆盖率以及导出测试报告。
总结
使用下来的总体感觉是方便易用,简单快捷,节省了大量的测试人员用于写测试代码的过程。其他高级用法持续体验中。
全部0条评论
快来发表一下你的评论吧 !