热度 4
2022-11-3 10:28
853 次阅读|
0 个评论
作为一名测试工程师,在做MiL测试时,编写测试用例的效率影响整个测试项目的进度,如何有效提升编写测试用例的效率,是大家都关心的问题。 TPT作为一款自动化测试工具,提供了很多提高搭建测试用例效率的方法,比如自动生成测试用例。除此以外, TPT还提供了Testlet L ibrary,可以复用T estlet ,以及将一个工程的测试用例复用到另外一个工程。 应用场景一:单元 测试的用例复用 到集成测试 按照功能安全的要求,单元测试之后要进行集成测试,那单元的测试用例能够一定程度上复用到集成测试吗?在 TPT 中引入了T estlet Library 的概念。 T estlet Library 是一个 TPT 项目文件,它可以包含一个完整的 TPT 项目,或者包含或不包含s ub-testlets 的单个t estlet 。 Testlet Library 可以同时在多个项目中使用。简言之,Test let Library 可以引用另外一个TPT工程,或者某个testlet。 借由Test let Library ,可以将单元测试的用例复用到集成测试,减少重复搭建相同用例的时间,提高测试效率。 D emo模型如下图所示,该模型有两个subsystem,已完成单元测试,将要进行集成测试。 图 1 集成级模型 1 . 激活Testlet Libraries 在菜单栏Incubation中选择Enable Testlet Libraries,将该功能激活。 图 2 激活Test Libraries 2. 状态机的搭建 集成测试工程的状态机,以单元工程的名称命名,每个单元测试的工程,都建立对应的状态机。 图 3 建立对单元工程的状态机 3 . 设置为 L ibrary testlet 在上一步建好的状态机上右键,选择Delete Content,将其Content删除,在弹出的窗口中,选择Library,并点击O pen… 选择要参考的工程的路径。 图 4 将状态机设置为Library 转换完成的状态机右下角带有蓝色小箭头表示,此时TPT会打开参考的Library工程。 图 8 转换完的Testlet 4. 信号mapping 将信号做好mapping,把单元测试和集成测试的接口参数等互相匹配。对于Vehicle这个单元,在单元测试阶段eng_trq是Input,在集成测试时变成不可赋值的Local,需要在声明编辑器中添加一个相对的local量,以便该单元测试工程的用例可以运行。 图6 信号mapping 5 . 组合测试用例 将Vehicle也按照第四步中方法建立好对应的状态机后,就可以在集成测试工程的状态机上选择单元工程的测试用例。例如,CruiseCo ntrol 选择s tatus_cc_3 ,Vehicle选择ramp。 图 7 集成测试复用单元测试的测试用例 这样就可以将单元测试的测试用例复用到集成测试,大大节省重复编写相同测试用例所需的时间,大家快来试试吧! 应用场景二: 高度 重复的测试步骤 编写测试用例时,大家往往会遇到一些典型的场景,他们需要多步才能完成,却在多个工程中会使用,比如调度模块。 在TPT中模拟调度信号(调度周期为2 0 ms),需要这样几步操作。 图 8 TPT模拟调度周期为2 0 ms的调度信号 同一个ECU中可能包含多个调度周期为2 0 ms的subsystem,在做单元测试时,每个测试工程都需要编辑这部分状态机,此时T estlet Library 就可以大大减少这部分重复工作所需的时间。下面我来介绍TPT如何使用该功能复用测试用例。 1 . 搭建状态机 将调度模块的状态机搭建好,编辑好其Variants。 图 9 搭建Library状态机 2 . 将状态机封装为Testlet Library 在刚刚编辑好的状态机上右键,选择convert to Testlet Library,将其转换为Testlet Library,选择保存的位置并命名, 图 10 将状态机转换为Testlet Library并保存 3 . 在其它工程中使用Testlet Library 在另一个工程中新建空白状态机,右键,选择Delete Content,将其Content删除,在弹出的窗口中,选择Library,并选择上一步中生成的T estlet Library 路径。 图 11 将状态机设置为Library 转换完成的状态机右下角带有蓝色小箭头表示,此时TPT会打开参考的Library工程。 图 12 转换完的Testlet 在当前工程的状态机上右键,选择“Channel/ Parameter Map ”进行当前工程和Library的信号mapping,到此已经完成。 图 13 信号mapping 完成之后即可在新的测试工程中完整复用该状态机及其变种,提高我们编写测试用例的效率。感兴趣的大伙快来试试吧! 图 14 复用Test let Library 的状态机 总结 本文主要介绍了Test let Library 的两种应用场景: 1. 单元测试的用例复用到集成测试; 2. 高度重复的测试步骤。 除此以外,测试评估也可以一定程度上从单元测试复用到集成测试,敬请期待下篇:评估篇!