基于模型的分时段软件测试工具TPTTPT是针对嵌入式系统的基于模型的测试工具,特别是针对控制系统的软件功能测试。
TPT支持所有的测试过程:包括测试建模、测试执行、测试评估以及测试报告的生成。
TPT软件由于首创地使用分时段测试(Time Partition Testing),使得控制系统的软件测试技术得以极大提升;同时由于TPT软件支持众多业内主流的工具平台和测试环境,能够更好地利用客户已有的投资,实现各种异构环境下的自动化测试;针对MATLAB/Simulink/Stateflow以及TargetLink,TPT提供了全方位的支持进行模型测试。
PikeTec公司是全球知名的基于模型的嵌入式系统测试工具TPT的软件供应商,总部位于德国柏林,其创始人均在戴姆勒公司拥有十多年的嵌入式软件开发经验。
TPT产品曾被评为2005年戴姆勒最佳创新软件,并在戴姆勒、大众、奥迪、保时捷、通用等汽车整车厂及多家零部件企业(如博世、大陆、海拉)中得到广泛应用,如戴姆勒的多个车型的混合动力车的动力总成、电池管理控制器的测试,博世的汽油机和柴油机控制系统测试等。
(请登录PikeTec的TPT产品了解更多产品详情。
)北汇信息作为PikeTec的中国合作伙伴,将帮助中国客户借助TPT提升嵌入式控制系统的开发效率。
分时段测试方法分时段测试(Time Partition Testing)是一种采用分时段对软件进行测试和验证的测试方法,主要被用于嵌入式系统中基于模型的模块测试、集成测试、系统测试和回归测试。
通常软件测试的一种分类是静态测试和动态测试。
静态测试是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。
静态方法通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。
静态测试结果可用于进一步的查错,并为测试用例选取提供指导。
例如QAC C/C++、Logiscope等软件都属于静态测试工具。
动态测试是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,这种方法由三部分组成:构造测试实例、执行程序、分析程序的输出结果。
例如:TestBed、Tessy、VectorCast等软件都属于动态测试工具、同时这些动态测试软件也包含了部分静态测试的功能。
按照动态测试和静态测试的划分,分时段测试软件TPT属于动态测试工具,它也是通过运行被测程序,检查运行结果和预期结果的差异来判断程序是否符合设计要求。
和我们常规的动态测试软件不同、TPT软件使用了分时段方法对软件进行测试、常规的动态测试软件一般在设计测试用例的时候,都是以测试点的方式出现,也就是说,如果以时间来衡量,测试的输入只是某一个时刻系统的输入,依次获得系统在某一个时刻的输出。
但是在嵌入式系统中,我们所见的都是基于时间的连续系统或者是带反馈的控制系统,例如变速箱控制、发动机控制等,衡量这些系统的行为是否符合设计要求的时候,往往不能依靠某一个时刻的系统输出来判定,而是需要对一个时间段的行为进行系统的分析,从而确定系统行为是否正确,这时如果采用常规的动态测试软件对这些系统进行动态功能测试,就无法完成相应的测试任务。
TPT软件测试工具采用分时段测试方法对软件进行测试,适用于测试具有连续行为的实时系统(实时系统,即在规定时间内对外部请求作出反应,交换物理数字数据和信号的系统,大部分开环控制系统和反馈控制系统均属于实时系统)。
在使用TPT进行测试的过程中,每一个测试用例都能有针对性的对某类系统行为作出反应。
一方面测试信号随着系统状态的变化而发生改变,另一方面改变后的测试信号也会激发系统下一步的状态变化,这样就可以解决实时系统功能测试时无法定义系统输入的问题。
TPT软件功能TPT软件是特别针对基于时间以及带反馈的嵌入式系统所开发的测试工具,这些系统往往需要大量的测试用例来保证系统的可靠性。
TPT的设计理念是寻找出大量的测试用例中的相似点和不同点,然后通过对测试用例分割、建模以及组合,减少测试用例中重复的部分、提高测试用例的构建效率和复用度,避免无用的冗余。
同时TPT软件通过丰富的测试环境平台接口,使得TPT构建的测试用例可以在产品开发的不同阶段被充分利用,而不是面临不同的阶段采用不同的测试工具,需要重新构建测试用例的情况。
TPT的主要功能包括:测试用例建模各种系统平台上的自动化测试运行,如Matlab/Simulink, ASCET, Targetlink, C Code,以及运用数据通讯协议CAN, LIN自动化测试评估测试文档(测试计划,测试规格,测试报告)测试管理测试用例和DOORS系统中测试需求的可追踪性TPT基本特性:•所有开发阶段的测试工具一致性:定义的测试项目可以用于产品开发的所有阶段(MiL、SiL、HiL),TPT可以被用于产品开发的各个阶段,无需更换测试工具、便于更早的发现错误•直观的测试定义:基于模型的测试定义,无需测试人员具备编程能力,使用者直接使用图形化测试建模方式对测试项目进行定义•支持多种平台的测试执行:TPT支持在多种平台的测试执行,例如MATLAB/Simulink、TargetLink Model、ASCET、Davinci、SystemDesk、CAN、LIN、INCA、LABCAR、HiL-Tests)•支持AUTOSAR组件测试:结合TPT测试软件以及执行平台DaVinci、SystemDesk or Messina,可以对AUTOSAR组件进行测试•实时测试:结合实时系统平台,可以实时执行测试•闭环测试:TPT支持对闭环系统的测试,也就是说在测试的过程中,可以对系统的行为作出反应。
•自动化测试结果评估:在测试运行结束后,可以对来源于TargetLink、Simulink所记录的数据、INCA或者CANape等工具的数据,通过GUI界面或者评估脚本进行分析,也就是说,可以通过全时段数据全面的分析系统的预期行为。
TPT提供了常用的分析功能:例如信号边界检查、与参考信号的比较、信号序列的正确性判断以及信号调理等•高效的自动化测试文档:系统可以自动生成可配置的HTML格式的测试文档•自动化测试过程:TPT具有高度的自动化能力,可以自动执行测试、对测试结果的评估、以及生成测试报告,针对不同的测试平台,这些过程都是一样的•需求跟踪:TPT支持测试用例与需求之间的关联Simulink模型测试针对MATLAB/Simulink/Stateflow以及TargetLink,TPT提供了全方位的支持;TPT针对MATLAB/Simulink/Stateflow以及TargetLink专门设计了完美的接口,我们通过MATLAB/Simulink/Stateflow以及TargetLink构建功能模型,然后在TPT中创建测试用例模型,通过TPT的MATLAB接口保证测试的高效率执行。
为了保证更加方面的创建测试模型以及保证复用性,TPT自动从Simulink的模型中获取所有的接口信息,并将其插入到测试模型中,这些接口信息以及信号由TPT自动进行处理,用户无需处理。
为了能够顺利的执行测试用例,TPT需要一个测试框架模型,该模型包含一个完整的输入输出定义模型以及特殊的TPT执行引擎,TPT自动生成该模型,用户也无需定义。
所有的测试执行管理都由TPT处理,测试的执行可以无人值守,也就是说,TPT可以远程控制MATLAB/Simulink,并且处理两个工具之间的数据交换特点:全面支持MATLAB/SIMULINK全面支持TargetLink自动化的接口分析自动化的测试框架模型生成参数的双向交换在MiL、SiL、PiL和HiL中测试用例的复用通过对M脚本的支持实现灵活配置从模型到硬件的测试执行TPT一个非常突出的特点就是它的灵活性,TPT可以在不同的环境中执行测试。
例如TPT 可以针对系统模型执行测试(MATLAB/Simulink),也可以对软件执行测试(C代码、AUTOSAR软件组件),同样也针对真实的ECU执行测试(HiL),尽管这些环境大不相同,但是对于TPT 工具而言,测试建模和测试工具都保持了一致性。
TPT支持的测试环境:•MATLAB/Simulink/TargetLink:TPT可以测试MATLAB/Simulink/Stateflow 模型,TargetLink模型以及定点模型(RTW 或者TargetLink)•ASCET: TPT可以测试ASCET模型•CAN/LIN:TPT可以测试通过CAN/LIN总线连接的控制器•C代码:T PT可以在PC上直接测试使用C代码开发的控制器程序•DaVinci CT:TPT可以通过Davinci CT测试AUTOSAR软件组件•SystemDesk:TPT可以联合SystemDesk测试AUTOSAR软件组件•I/O控制器:TPT可以测试通过基于PC的I/O进行连接的控制器•MCD3:TPT可以通过MCD3工具,例如INCA或者CANape测量信号以及标定参数•LABCAR:TPT可以联合LABCAR进行HIL测试针对基于PC机的测试环境,TPT还提供了一个联合仿真环境FUSION,利用FUSION,可以很轻松的创建和配置一个异构的包含不同组件的仿真环境,例如包含软件模块、CAN控制器、MCD3接口以及被控对象模型。
AUTOSAR的代码测试TPT可以用于AUTOSAR的测试,借助最新的特性“AUTOSAR-ponent testing support for FUSION”,客户可以在FUSION平台上直接测试AUTOSAR软件模块,而不需要借助其他的AUTOSAR工具。
当然,TPT可以与现有的标准工具如Davinci、Systemdesk进行联合使用,间接测试AUTOSAR模块。
TPT可以直接调用Davinci来完成AUTOSAR模块的测试;当使用Systemdesk 时,TPT-VM是Systemdesk的一部分,对AUTOSAR模块的测试是由Systemdesk中的TPT完成的,所有AUTOSAR的模块的配置是在Systemdesk中完成。
HIL测试TPT对于HIL测试硬件的支持,目前主要是LABCAR和dSPACE。
TPT-VM可以在HIL系统上实时运行。
关键的任务是如何将测试用例传输到TPT-VM上,以及如何把测试用例传输回PC主机。
另外一种实现方式时:TPT-VM也可以在PC主机上运行,把数据传输回HIL系统,但这种情况下不是实时的,依赖于HIL系统本身的情况。