使用Tessy对AUTOSAR应用层软件进行SIL测试

电子说

1.3w人已加入

描述

AUTOSAR

最近了解到了Tessy这款测试软件,尝试一下使用它来测试AUTOSAR应用层软件。

模型开发

首先来实现一个非常基础的功能,分步骤实现4个数的加和,y1 = x1 + x2, y2 = x3 + x4, z1 = y1 + y2。用模型实现就是如下所示:

AUTOSAR

AUTOSAR

通过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工程,选择组件测试而不是单元测试。

AUTOSAR

指定源文件和头文件。

AUTOSAR

点击分析工程后,Tessy可以自动识别出工程中接口对象,包括函数和全局变量等。

AUTOSAR

新增全局变量,模拟RTE,为数据流提供读写的存储基础。

AUTOSAR

这里按照SWC Port的名字命名了以下全局变量。这些全局变量的IN/OUT/INOUT属性,将会影响到它们在测试用例中输入值和期望值的位置。

AUTOSAR

可以看到,SR接口被识别为外部函数,因为它们此时并无实现,右键为其添加桩函数。

AUTOSAR

因为这里桩函数的读写确实会影响到代码逻辑,因此不能简单补充一个假实现通过编译即可,而是要为它们补充读写全局变量中间值的逻辑。这里就补充了SR接口的具体读写操作。

AUTOSAR

完成上述工作之后,整个测试工程就处于测试就绪状态。接下来就可以编辑测试场景了。

首先需要针对某一个Test Project新建一个Test Case。对于组件测试来说,要使用SCE(Scenario Editor)来编辑测试用例。

AUTOSAR

通过拖拽的方式,可以为某个时刻添加一个函数调用的请求,这一点非常地方便。

AUTOSAR

如果是周期性任务,还可以将函数配置为Work Task,并配置运行周期和偏置。此时就不需要再拖拽该函数到每一个时刻了。

AUTOSAR

针对关注的时刻,设计输入值和期望值。这里注意几种Tessy的状态指示符,一般来说,绿色代表通过,黄色代表就绪,灰色代表部分就绪,而白色就代表未就绪。

AUTOSAR

点击运行测试,就可以看到运行结果了。通过的测试点会显示绿色。完成测试后,可以查看覆盖率以及导出测试报告。

AUTOSAR

总结

使用下来的总体感觉是方便易用,简单快捷,节省了大量的测试人员用于写测试代码的过程。其他高级用法持续体验中。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分