|
基于设计的测试与验证工具介绍
设计模型用于描述系统如何构建以实现系统所需功能,市面上有各种用于描述系统如何实现的建模工具,一旦能够精确地描述系统或软件的实现,就有可能通过分析识别系统或软件的设计错误,并且自动生成测试向量,此种方法是基于设计模型而非需求模型,因此可以验证系统的行为是否与设计一致。
Simulink TesterTM是基于Mathworks公司Simulink设计模型的自动测试与验证工具集,包含下列三个模块:
-
Simulink模型转换器(SL2TVEC
Translator);
-
测试向量生成器TVGS(T-VEC
Test Vector Generation System);
-
测试驱动生成器TDGS(Test
Driver Generation System);
随着产品中软件规模和复杂度的不断增加,产品的开发成本也不断提高;虽然有很多工具支持软件系统的设计,但是却很少有工具支持验证、确认和测试,而这部分工作占到整个开发工作量的40%-70%。在很多组织中软件验证和测试是采用手工方式进行的。
T-VEC通过十几年的时间发展和完善了包括Simulink
Tester在内的工具使其满足复杂的、使命苛刻型飞行器软件系统的需求。这些工具已经被FAA和FDA这些权威机构用来进行软件认证。虽然该技术最初是用来满足对质量有极端要求的系统,但也被用在包括医疗器械,通信系统,信息系统等在内的工业领域,用来提高软件质量。
T-VEC针对Simulink的测试生成系统(Simulink
Tester)提供包括模型分析、自动测试生成、测试执行和结果分析在内的一套集成解决方案。Simulink
Tester分析模型层次中的每个路径并且生成测试向量来测试每个路径的边界;模型中会导致产生死代码的不可达路径会被标识出来,并且以超链接的方式链接到Simulink模型中的相关部分。该测试过程可以选择生成单元、集成或者系统级测试向量,以便更有效的发现逻辑方面的判断错误,
-
基于Simulink模型,系统、全面的生成测试;
-
单元、集成和系统级测试;
-
针对动态系统测试的测试序列;
-
模型缺陷验证;
-
针对任何平台的测试驱动;
-
项目进度追踪的度量报告和状态报告;
-
高级别的测试覆盖分析:
-
路径覆盖
-
决策覆盖
-
MC/DC覆盖
-
全面的层次覆盖
-
输入范围压力测试
-
边界值压力测试
-
缩短开发时间和开发费用来提升竞争优势;
-
提高质量和可靠性;
-
提高测试覆盖率;
-
尽早的发现设计缺陷;
-
减少预算和开发进度方面的风险;
-
项目状态,缺陷和测试覆盖可度量;
-
减少开发和维护的费用;
-
可测试的模型;
Simulink Tester模型分析和测试自动化
开发工程师使用Simulink进行建模并且通过仿真对模型进行验证;随后基于模型自动生成代码或者通过手工方式编码。工程师通过和MATLAB集成的Simulink
TesterTM图形用户界面进行:
-
测试生成配置
-
添加信号范围信息
-
方便的配置测试序列生成
-
将Simulink的模型导出到T-VEC
随后在T-VEC测试向量生成系统中,工程师进行:
-
分析模型缺陷
-
生成测试向量
-
生成测试驱动
-
通过代码或者在Simulink中执行测试
-
生成测试结果报告
Simulink TesterTM基于Simulink模型生成T-VEC的测试需求,并且通过分析该需求来生成最佳的测试向量集合。
在这个过程中T-VEC会分析识别出诸如矛盾和不一致等会引起不良结果的模型错误。测试序列向量支持系统动态测试;测试驱动生成器能够生成和Real-time
Workshop GRT和ERT生成的代码相兼容的测试向量驱动。将测试向量驱动和源代码在同一个环境下编译生成测试程序;该测试程序在目标环境下执行,并且在测试驱动执行的时候每个测试执行的结果被存储起来和预期结果进行比较。最后,T-VEC工具比较测试执行的实际结果和预期结果从而来验证模型的正确性。

1)RAVE™基于需求的测试与验证工具---介绍... |