基于模型的分时段软件测试工具TPT
- 格式:doc
- 大小:708.00 KB
- 文档页数:10
基于模型的分时段软件测试工具TPTTPT是针对嵌入式系统的基于模型的测试工具,特别是针对控制系统的软件功能测试。
TPT支持所有的测试过程:包括测试建模、测试执行、测试评估以及测试报告的生成。
TPT软件由于首创地使用分时段测试(Time Partiti on Testing),使得控制系统的软件测试技术得以极大提升;同时由于TPT软件支持众多业内主流的工具平台和测试环境,能够更好地利用客户已有的投资,实现各种异构环境下的自动化测试;针对MA TLA B/Simulink/Statefl ow以及Ta rgetLi nk,TPT提供了全方位的支持进行模型测试。
PikeTec公司是全球知名的基于模型的嵌入式系统测试工具TPT的软件供应商,总部位于德国柏林,其创始人均在戴姆勒公司拥有十多年的嵌入式软件开发经验。
TPT产品曾被评为2005年戴姆勒最佳创新软件,并在戴姆勒、大众、奥迪、保时捷、通用等汽车整车厂及多家零部件企业(如博世、大陆、海拉)中得到广泛应用,如戴姆勒的多个车型的混合动力车的动力总成、电池管理控制器的测试,博世的汽油机和柴油机控制系统测试等。
(请登录PikeTec的TPT产品了解更多产品详情。
)北汇信息作为P i keTec的中国合作伙伴,将帮助中国客户借助TPT提升嵌入式控制系统的开发效率。
分时段测试方法分时段测试(Time Partiti on Testing)是一种采用分时段对软件进行测试和验证的测试方法,主要被用于嵌入式系统中基于模型的模块测试、集成测试、系统测试和回归测试。
通常软件测试的一种分类是静态测试和动态测试。
静态测试是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。
常⽤的软件测试⼯具⼤全开源⼯具开源测试管理⼯具:Bugfree、Bugzilla、TestLink、mantis开源功能⾃动化测试⼯具:Watir、Selenium、MaxQ、WebInject开源性能⾃动化测试⼯具:Jmeter、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator[TestDirector]:企业级测试管理⼯具,也是业界第⼀个基于Web的测试管理系统。
[Quality Center]:基于Web的测试管理⼯具,可以组织和管理应⽤程序测试流程的所有阶段,包括指定测试需求、计划测试、执⾏测试和跟踪缺陷。
[QuickTest Professional]:⽤于创建功能和回归测试。
[LoadRunner]:预测系统⾏为和性能的负载测试⼯具。
其他⼯具与⾃动化测试框架:Rational Functional Tester、Borland Silk系列⼯具、WinRunner、Robot等。
国内免费软件测试⼯具有:AutoRunner和TestCenter。
1.Winrunner 最主要的功能是⾃动重复执⾏某⼀固定的测试过程,它以脚本的形式记录下⼿⼯测试的⼀系列操作,在环境相同的情况下重放,检查其在相同的环境中有⽆异常的现象或与预期结果不符的地⽅。
可以减少由于⼈为因素造成结果错误,同时也可以节省测试⼈员⼤量测试时间和精⼒来做别的事情。
功能模块主要包括:GUI map、检查点、TSL 脚本编程、批量测试、数据驱动等⼏部分。
2.LoadRunner® 是⼀种预测系统⾏为和性能的⼯业标准级负载测试⼯具。
通过以模拟上千万⽤户实施并发负载及实时性能监测的⽅式来确认和查找问题,LoadRunner 能够对整个企业架构进⾏测试。
通过使LoadRunner ,企业能最⼤限度地缩短测试时间,优化性能和加速应⽤系统的发布周期。
LoadRunner 是⼀种适⽤于各种体系架构的⾃动负载测试⼯具,它能预测系统⾏为并优化系统性能。
如何完成符合ISO 26262要求的基于模型设计(MBD)的测试北汇信息-李东昇背景介绍随着汽车行业的迅速发展,汽车的复杂程度不断增加,越来越多的汽车电子控制系统具有与安全相关的功能,因此对ECU的安全要求也越来越高。
复杂的软件功能,将会带来大量的软件风险问题,如何保证软件的安全,保证软件做正确的事情,已经成为汽车行业迫切需要解决的问题。
ISO 26262(道路车辆功能安全标准)是以IEC 61508(电气/电子/可编程电子安全系统功能安全标准)为基础,为满足道路车辆上电子电气系统的特定需求而编写,发布于2011年。
ISO 26262能够在管理、开发(软、硬件)、生产、运行、服务、报废等阶段,保证整个生命周期内的安全性。
与此同时,ISO 26262也在不断地完善和发展。
2018年12月,第二版的ISO 26262也已经对外发布,覆盖范围也已经从3.5吨以下的乘用车扩展到所有的车型,包括商用车和摩托车。
GB/T 34590(道路车辆功能安全国家标准)修改采用ISO 26262,适用于道路车辆上由电子、电气和软件组件组成的安全相关系统在安全生命周期内的所有活动,发布于2017年。
目前,功能安全在中国已经得到普遍认可,并逐步进入大规模使用阶段。
本文旨在说明,如何使用TPT完成符合ISO 26262要求的基于模型设计(MBD,Model based Design)的测试。
TPT可以支持主流的MBD开发工具Simulink、Targetlink、ASCET。
基于需求的测试按照ISO 26262推荐的测试方法,基于需求的测试是ASIL-A到ASIL-D高度推荐的测试方法。
并且在软件测试阶段,需要实现测试和需求的双向追溯。
TPT-Requirement能够通过简单的操作完成需求、测试用例、测试评估之间的追溯,并能够在报告中体现。
目前TPT-Requirement支持IBM DOORS、Polarion、EXCEL等需求工具。
软件测试工具包括哪些软件测试工具是软件测试行业的必备知识,一位优秀的软件工程师必须掌握全面的软件测试工具,才能适应各种项目的软件测试工作,取得长久的职业发展。
软件测试的课程体系中包括各种类型的工具,足够学员们工作使用。
北大青鸟贵州大数据学院的软件测试工具主要包括四种类型,下面为大家详细介绍:第一种软件测试工具、功能测试工具QTP QTP的课程内容是基本使用流程,使用QTP录制应用程序及Web程序,QTP的测试对象管理机制、对象仓库的使用,标准检查点、文本检查点、文本域检查点、图像检查点、数据库检查点、其他检查点,脚本参数化,使用模拟录制模式、使用低级录制模式、使用QTP进行回归测试,VBScript基本语法结构。
通过本门课程的学习,帮助学员熟练掌握功能测试自动化工具QTP,学会编写测试脚本,提高测试效率。
作为高级软件测试工程师,不仅仅要有夯实的测试基础,更需要具备进行自动化测试的能力,能够编写测试脚本,完成较为复杂的测试任务。
第二种软件测试工具、性能测试工具LoadRunner LoadRunner的课程内容是自动化工具分类,性能测试简介,Loadrunner概述;负载/压力测试计划的编写;开发脚本VuGenerator;设计和运行场景---Controller;分析结果Analysis,LoadRunner数据池技术剖析;HTTP的报文结构,Correlation 技术,Web_reg_save_param函数,LoadRunner中文件下载,网页细分图,LR浏览器模拟设置,LR监视的性能计数器,LR 中资源分析实;通过本门课程的学习,帮助学员掌握性能测试计划的编写,LoadRunner 的使用、结果文件的分析,查找系统性能瓶颈,进行系统调优。
第三种软件测试工具、测试管理工具Quality Center的课程目标Quality Center概述,Quality Center产品框架;Quality Center的站点管理;Quality Center的项目管理;Quality Center测试管理。
TestStand简介提升测试效率的工具介绍TestStand是一款由National Instruments开发的自动化测试执行框架。
它旨在提供一套完整的工具和功能,帮助测试工程师快速高效地开发、执行和管理测试过程。
本文将对TestStand进行详细介绍,探讨其如何提升测试效率。
一、TestStand的基本概述TestStand是一种基于模块化思想的测试开发框架。
它提供了一套灵活的环境,使得测试工程师可以将测试过程分解为不同的模块,并通过模块化的方式进行组装。
这种模块化的测试开发方法,使得测试工程师可以轻松地复用测试代码,减少开发时间和工作量。
二、TestStand的功能特点1. 测试序列管理:TestStand提供了一种结构化的方式来管理测试序列。
测试工程师可以通过定义序列的方式,按照特定的顺序执行一系列的测试步骤。
这种方式可以极大地简化测试流程的控制和管理。
2. 多平台支持:TestStand支持多种硬件平台和操作系统,包括Windows、Linux、嵌入式系统等。
这意味着测试工程师可以在不同的环境下使用同一套测试代码,充分利用现有的资源,提高测试的灵活性和可移植性。
3. 自定义报告生成:TestStand提供了丰富的报表生成功能,测试工程师可以根据需要自定义报表的格式和内容,以便于测试结果的分析和归档。
这种灵活的报表生成方式能够满足不同项目的需求,提高测试结果的可读性和可视化程度。
4. 并行测试支持:TestStand支持同时执行多个测试任务,可以充分利用硬件资源,提高测试效率。
测试工程师可以通过配置并行测试的方式,快速完成大量的测试任务,缩短测试时间,提高测试效率。
5. 扩展性和定制性:TestStand提供了丰富的扩展和定制接口,测试工程师可以根据具体需求进行二次开发。
他们可以根据需要添加新的测试模块、修改现有模块的行为,实现灵活的定制化测试流程。
三、TestStand的应用领域TestStand被广泛应用于各个行业的自动化测试领域。
如何使用TPT进行基于需求的模型测试?基于需求的测试,是在汽车电控单元软件测试中的基本要求,也是ISO26262中的动态测试的强烈推荐的测试方法。
为了保证整个测试过程的正确高效,需要对测试需求和测试用例进行有效管理,例如能够从需求管理工具中将需求导入,再将测试用例和需求链接起来,并且实现数据的双向同步等。
汽车行业常用需求管理工具中,主流的产品包括DOORS及Reqtify等,对产品整个生命周期进行需求管理。
借助需求管理工具DOORS/Reqtify,TPT可以实现对测试需求导入、测试用例创建、测试需求与测试用例链接,实现整个测试过程追踪追溯,以满足ISO26262的要求。
德国PIKETEC公司的TPT软件作为汽车行业著名的针对嵌入式系统基于模型的测试工具,几乎包含了所有常见嵌入式软件的支持平台,适用于整个电控开发测试过程,可以实现测试用例的复用,并且实现了测试执行、测试评估和测试报告生成的整个过程自动化。
针对MATLAB/Simulink/Stateflow、ASCET以及TargetLink等,TPT提供了全方位的支持进行模型测试。
北汇信息作为PKETEC公司的合作伙伴,将为客户提供相应的产品支持和测试服务。
TPT对需求管理的支持•支持创建和管理需求与测试用例之间的关联•支持需求变更后的冲突分析•支持在TPT中对需求进行浏览•支持IBM Rational DOORS、Reqtify•支持从需求管理工具导入测试需求•支持测试用例导出到需求管理工具•支持从需求管理工具导入测试用例•支持在需求管理工具和TPT之间同步测试用例•支持需求覆盖报告下面以DOORS为例,来介绍TPT对需求管理的支持。
从DOORS导入测试需求TPT可以很好地实现与需求管理工具DOORS的交互。
在TPT安装目录下,带有与DOORS 交互的接口程序,将该程序拷贝到DOORS的安装目录相对应的文件夹下,即可在DOORS 的菜单栏下找到TPT选项。
实时系统中的仿真与测试环境搭建近年来,随着科技的迅猛发展,实时系统在各个行业中的应用越来越广泛。
然而,为了确保实时系统的性能和可靠性,我们必须在实际应用之前进行仿真和测试。
本文将探讨实时系统中的仿真与测试环境搭建的重要性以及相关的方法和工具。
一、仿真与测试环境搭建的重要性为什么我们需要在实时系统中进行仿真与测试环境的搭建呢?这是因为实时系统的特殊性决定了我们不能在真实环境中直接进行测试,因此要通过仿真环境来模拟实际应用场景,评估系统的性能、可靠性和安全性。
而且,仿真与测试环境搭建还能够帮助我们在系统设计和开发的早期发现和解决问题,减少后期的成本和风险。
通过在仿真环境中对系统进行测试,我们可以尽早发现和修复潜在的错误和缺陷,提高系统的稳定性和可维护性。
二、仿真与测试环境的搭建方法下面将介绍几种常见的实时系统仿真和测试环境的搭建方法。
1. 仿真软件利用仿真软件是实现实时系统仿真和测试环境的一种常见方法。
仿真软件可以模拟实际系统的功能和行为,并提供各种工具和功能,帮助开发者进行系统测试和验证。
例如,MATLAB/Simulink是一种常用的仿真软件,在实时系统中有着广泛的应用。
它可以通过建立模型来模拟系统的行为,提供实时仿真和测试的功能,帮助开发者进行系统性能和稳定性的评估。
2. 虚拟化技术虚拟化技术也是一种常见的实现实时系统仿真和测试环境的方法。
通过虚拟化技术,我们可以在一台物理机器上创建多个虚拟机,并在每个虚拟机中运行不同的操作系统和应用程序。
这种方式可以模拟多样的应用场景和系统配置,帮助我们评估系统在不同条件下的性能和可靠性。
同时,虚拟化技术还能够提供更好的资源利用率和管理灵活性,降低环境搭建和维护的成本。
3. 硬件仿真平台对于一些需要对硬件进行测试的实时系统,硬件仿真平台是一个理想的选择。
硬件仿真平台可以通过模拟电路、芯片和设备的工作原理,模拟真实硬件环境。
这种方法能够更加真实地模拟实际应用场景,帮助开发者进行硬件的测试和验证。
TPT 中脚本评估正确打开方式(上):强大的内置函数库前言TPT 作为一款功能强大的嵌入式软件测试工具,覆盖MiL 、SiL 、PiL 、HiL 、ViL 等全阶段的测试过程,将测试执行到测试报告生成的所有步骤实现自动化,大大提高我们做软件测试的效率。
TPT 之所以在嵌入式测试中如此高效,少不了其脚本评估这个特色功能的支撑,今天我就带领大家来了解一下TPT 中脚本这个特性。
您将在本文及后续文章了解到的: • 通过TPT 脚本对任意时间的信号行为进行检查的方法 • TPT 脚本中对信号进行处理以及读写的方法 • 通过TPT 脚本对测试需求、测试报告等内容进行管理的方法 • TPT 脚本与Python 标准库、扩展库、MATLAB 、以及其它外部软件的交互方案 • TPT 脚本的封装、集成以及团队管理方案TPT 脚本评估的语法构成「PT ■脚本评估TPT 中的脚本由三个方面组成,分别是Python 基本语法、TPT 内置函数以及MATLAB 等其它程序的接口。
首先TPT 脚本的语法框架是基于Python2.7的,所以我们可以在TPT 中使用Python2.7中的绝大部分语法特性,比如说Python 中的选择语句、循环语句等流程控制语法,列表、元组、字典等数据结构,甚至我们还可以使用Python 中的函数、类等语法结构。
如下图所示,我们使用上述语法,对信号状态进行判断,同时建立了一个对信号图像进行设置的函数。
TPT 内置函数TPjK-et.;JLT.jH I section I er-BI?hic«T?TR€p ort.$ienalGr 型h"G f«sipial in sigju.1-5:班jiphiu 水H )apliic)除了基础的Python 语法框架,TPT 针对嵌入式软件测试的特点,提供了一套强大的函数库,覆盖到测试的方方面面。
从评估区间查找到信号行为检查,从测试需求管理到测试报告设置,我们都可以通过调用一两个函数去完成。
基于模型的分时段软件测试工具TPTTPT是针对嵌入式系统的基于模型的测试工具,特别是针对控制系统的软件功能测试。
TPT支持所有的测试过程:包括测试建模、测试执行、测试评估以及测试报告的生成。
TPT软件由于首创地使用分时段测试(Time Partition Testing),使得控制系统的软件测试技术得以极大提升;同时由于TPT软件支持众多业内主流的工具平台和测试环境,能够更好地利用客户已有的投资,实现各种异构环境下的自动化测试;针对MATLAB/Simulink/Stateflow以及TargetLink,TPT提供了全方位的支持进行模型测试。
PikeTec公司是全球知名的基于模型的嵌入式系统测试工具TPT的软件供应商,总部位于德国柏林,其创始人均在戴姆勒公司拥有十多年的嵌入式软件开发经验。
TPT产品曾被评为2005年戴姆勒最佳创新软件,并在戴姆勒、大众、奥迪、保时捷、通用等汽车整车厂及多家零部件企业(如博世、大陆、海拉)中得到广泛应用,如戴姆勒的多个车型的混合动力车的动力总成、电池管理控制器的测试,博世的汽油机和柴油机控制系统测试等。
(请登录PikeTec的TPT产品了解更多产品详情。
)北汇信息作为PikeTec的中国合作伙伴,将帮助中国客户借助TPT提升嵌入式控制系统的开发效率。
分时段测试方法分时段测试(Time Partition Testing)是一种采用分时段对软件进行测试和验证的测试方法,主要被用于嵌入式系统中基于模型的模块测试、集成测试、系统测试和回归测试。
通常软件测试的一种分类是静态测试和动态测试。
静态测试是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。
静态方法通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。
基于TPT的PIL测试在嵌入式行业,为了测试硬件是否能满足程序的正常运行以及是否实现相应的功能,通常需要PIL测试(Processor-in-the-Loop-Testing)来验证。
PIL测试是汽车行业嵌入式软件开发过程中的一个阶段测试,从模型的开发开始,被测系统(SUT)依次将经历MIL、SIL、PIL、HIL以及实车测试。
德国PikeTec公司提供的嵌入式系统测试工具TPT可以与PLS公司的调试软件UDE (Universal Debug Engine)集成来提供PIL测试功能。
那么PIL测试是什么概念呢?基于TPT又是如何进行PIL测试的呢?PIL测试(Processor-in-the-Loop-Testing)PIL测试发生在SIL测试之后,在HIL测试之前。
类似于SIL测试,PIL测试为了验证软件代码在仿真的非实时控制系统中的正确性。
此情况下,程序是在实际的嵌入式处理器或指令集仿真器上执行的。
因此,可以通过PIL测试来验证嵌入式对象代码的功能行为。
通过PIL测试,不仅可以评估不同的硬件、编译器组合情况下处理数据的方式有何区别,还可以测试模型环境无法测试出的一些行为(如硬件优化代码的使用)。
同时也可以读写程序中的变量,获取输入控制流。
PIL测试原理图如图1所示。
图1 PIL测试图示基于TPT的PIL测试可以测试什么?TPT通过PLS UDE作为媒介工具来自动测试硬件处理器上的软件代码。
支持多种处理器的测试以及调试AURIX Tricore, Power Architecture, Cortex, ARM, XE166/XC2000, XScale, SH-2A, C166, XilinX SoCs, Freescale MPC family和更多其他处理器以及同样支持多核处理器。
支持直接访问多种变量和数据类型可以访问目标变量(以符号和地址为主)可以访问函数的局部变量可以访问数据位和寄存器可以访问多维数组、结构体、曲线支持的控制流TPT需要与UDE中设置断点同步支持独立的功能和代码测试可以直接访问控制流可以调用及使用宏变量支持多核目标处理基于TPT的PIL测试案例在编译器中编译需要测试的软件代码,生成elf文件(或者其他类型可执行文件),在UDE 中导入elf文件,可根据需要设置几个断点,可进行调试工作,如图2所示。
基于模型的动态测试工具——TPTTPT特性TPT作为针对嵌入式系统的基于模型的动态测试工具,支持众多业内主流的工具平台和测试环境,可应用于整个嵌入式软件开发周期,实现各种异构环境下的自动化测试。
无论是在测试建模,测试环境还是测试评估,测试报告方面,都占据强大优势。
TPT自动化测试过程1、测试用例建模TPT是针对嵌入式系统开发的测试验证工具,图形化建立测试用例的方式易于阅读维护,针对MATLAB/Simulink/Stateflow、TargetLink及ASCET模型支持自动生成测试用例。
1)手动搭建测试用例•列表型测试用例:并行结构、条件语句、循环语句、Excel导入、信号预览等。
•适合于复杂模型的图形化状态机型测试用例列表型测试用例状态机型测试用例2)自动生成测试用例•独立测试平台Dashboard:对被测系统创建用户界面,以执行手动测试和观测系统,同时记录交互内容,自动生成测试用例。
•TASMO工具箱:基于CC/DC原则自动搜索Simulink/Stateflow和TargetLink模型进行结构分析,生成最少的测试用例,实现最全面的结构覆盖。
•基于等价类自动生成测试用例:将输入信号分成若干等价区间,并在各等价区间随机取值,自动生成测试用例,遍历测试场景。
•基于变种自动生成测试用例:用户指定或自动选择状态机模型中states、transitions和path组合生成测试用例,自动覆盖所有测试场景,极大的提高测试建模效率。
•基于数值范围自动生成测试用例:将所有输出信号取值排列批量生成测试用例,支持自定义信号最值及步长,TPT专门设计的默认代表值模式适用于边界值测试。
•外部测试数据导入生成测试用例:支持多个测量文件同时导入、背靠背测试与回归测试。
Dashboard测试界面TASMO工具箱2、测试评估与报告生成•支持使用GUI评估函数自动评估测试用例,如Trigger Rule,、Min/Max、Signal Comparison、Script、Condition Tree、Sequence check、Equivalence classes check。
TPT对车辆模型软件的支持随着基于模型的开发方法的普及,汽车电子领域的ECU测试阶段也从HiL逐步前移到MiL 阶段,更好地降低了测试成本,提高了测试效率。
TPT是德国PikeTec公司研发的针对嵌入式系统基于模型的测试工具,特别是针对控制系统的软件功能测试,支持业内主流的工具平台和测试工具,适用于整个电控开发测试过程。
TPT可以完美支持MATLAB/Simulink,支持多种常用的车辆动力学模型(如TESIS公司的DYNA4、IPG公司的CarMaker、MSC公司的Adams/Car),从而提供包含控制模型和被控对象模型在内的闭环测试环境。
北汇信息作为PikeTec在中国的独家合作伙伴,将为客户提供全方位的支持和高效的测试解决方案。
下面以DYNA4为例,实现TPT与Simulink-DYNA4的联合仿真。
1.DYNA4-Simulink与TPT建立通信,实现闭环测试首先打开DYNA4,在DYNA4中打开MATLAB,完成MATLAB与DYNA4之间的通信。
TPT安装目录下,带有与MATLAB的集成程序,通过在上述打开的MATLAB命令行窗口调用该程序,完成MATLAB与TPT的通信。
这样便实现了TPT与Simulink-DYNA4之间的通信。
在Simulink Library里边,便可以找到DYNA4和TPT的模块。
完成上述配置之后,便可以在TPT中建立工程,选择Simulink Platform,加载测试对象模型,模型包含Simulink控制模型和DYNA4搭建的被控对象模型。
TPT可以自动生成如下的测试框架。
生成测试框架之后,便可以在TPT中搭建测试用例,激励被测模型,完成测试评估和报告生成。
整个过程如下图所示。
2.TPT搭建测试用例,布置测试场景TPT可以分析模型的输入、输出接口,导入模型参数,以便在TPT中搭建测试用例。
TPT 可以通过对相同的测试用例,配置不同的模型参数,实现不同测试场景的测试用例。
嵌入式软件PIL自动化测试技术研究发布时间:2021-10-15T05:31:32.518Z 来源:《探索科学》2021年9月上17期作者:孙畅唯[导读] 近年来,随着信息化在现代生活中发挥着越来越重要的作用,应用软件在各行各业得到了大规模推广。
但是,软件开发面临着需求复杂多变、软件系统变得越来越庞大和复杂,传统的软件开发方式已不适应对软件快速多变的要求。
基于模型驱动的低代码量开发,通过编写少量代码或者不需要编码就能快速生成应用系统,降低开发成本,这种开发模式能够满足软件开发的需要,但对这些快速定制的应用系统的可靠性、稳定性、易用性等提出了更高的需求,好的测试方法和技术是保障这些应用软件高质量、高可靠性的重要手段。
鞍山市先进装备制造和新材料产业发展中心孙畅唯 114000摘要:近年来,随着信息化在现代生活中发挥着越来越重要的作用,应用软件在各行各业得到了大规模推广。
但是,软件开发面临着需求复杂多变、软件系统变得越来越庞大和复杂,传统的软件开发方式已不适应对软件快速多变的要求。
基于模型驱动的低代码量开发,通过编写少量代码或者不需要编码就能快速生成应用系统,降低开发成本,这种开发模式能够满足软件开发的需要,但对这些快速定制的应用系统的可靠性、稳定性、易用性等提出了更高的需求,好的测试方法和技术是保障这些应用软件高质量、高可靠性的重要手段。
关键词:TPT;PIL测试;自动化引言21世纪是互联网迅速发展的新世纪,互联网产品普及到所有家庭,软件产品为人类带来了巨大的帮助。
这也是为什么市场对软件的需求增加到软件市场日益赤字的原因,这大大增加了软件测试所需的时间成本。
为了减少手动测试的时间成本,软件的自动化软件测试工具已成为市场上的产品。
1 PIL测试原理PIL测试(Processor-in-the-Loop-Testing)是发生在SIL测试之后,在HIL测试之前。
类似SIL测试,PIL测试是为了验证软件代码在仿真的非实时控制系统中的正确性。
TPT概念什么是TPT?TPT(Tested/Production/Tested)是一种软件开发和部署流程模式,旨在确保软件的稳定性和质量。
TPT模式通过在开发和部署过程中引入多个测试环节,以及在生产环境中对软件进行多轮测试来实现这一目标。
在TPT模式中,软件经历了一系列的测试阶段,直到在生产环境中经过全面的测试后才能投入使用。
TPT模式旨在降低软件故障和缺陷的风险,并确保软件在部署后能够稳定运行。
TPT的流程TPT模式通常包括以下步骤:1. 测试环境在TPT模式中,首先需要建立一个测试环境。
这个环境可以是一个独立的服务器、虚拟机或者开发人员机器。
在这个环境中,开发人员可以进行开发和测试,并确保软件在发布之前是可靠的和稳定的。
2. 单元测试单元测试是TPT模式中的第一阶段。
在这个阶段中,开发人员对软件的各个模块进行独立的测试,以验证每个模块的正确性。
单元测试通常由开发人员自己完成,并使用适当的测试工具和框架。
3. 集成测试集成测试是TPT模式的第二个阶段。
在这个阶段中,开发人员将各个模块进行整合,并对整体系统进行测试。
集成测试旨在验证各个模块之间的协作和数据传递是否正确。
4. 系统测试系统测试是TPT模式的第三个阶段。
在这个阶段中,测试团队会对整个系统进行广泛的测试,以确保系统在各种情况下的表现和响应。
系统测试通常包括对功能、性能、安全性和可用性的测试。
5. 用户验收测试用户验收测试是TPT模式的第四个阶段。
在这个阶段中,最终用户或代表用户的人员将对系统进行测试,并评估系统是否满足他们的需求和期望。
用户验收测试为用户提供了参与软件开发过程的机会,并确保软件在发布之前符合他们的期望。
6. 生产环境生产环境是TPT模式的最后一个阶段。
在这个阶段中,经过多轮测试的软件将被部署到生产环境中,并供用户使用。
在生产环境中,软件将被监控和维护,以确保其稳定运行和高可用性。
为什么要使用TPT?使用TPT模式有以下几个好处:1.减少故障和缺陷的风险:通过引入多轮测试,TPT模式可以显著降低软件故障和缺陷的风险。
符合ISO26262标准的软件测试解决方案随着汽车行业的迅速发展,汽车电子电器E/E系统在汽车中的作用不断提高,ECU开发所占用的时间和成本也越来越高.与此同时,越来越多的电子控制系统(例如车身稳定控制系统ESP,防抱死制动系统ABS,自适应前照明系统AFS等)具有与安全相关的功能,因此对ECU的安全要求也越来越高。
为了减少产品的开发时间和成本,降低由于安全问题而导致的维护甚至召回的风险,越来越多的整车厂和供应商开始重视汽车领域的功能安全问题,ECU软件功能安全的问题也成为汽车行业迫切需要解决的问题,车辆功能安全标准ISO 26262就在这样的环境和需求下应运而生,并于2011年11月正式发布第一版本,该标准是当前汽车业中最流行、最复杂、也是最重要的一份标准。
ISO 26262的目标是通过避免汽车E/E 系统故障行为可能导致的危害来提高E/E系统的功能安全。
ISO 26262采用车辆安全完整性等级(ASIL)来判断系统的功能安全程度,ASIL由ASIL A(最低)、ASIL B、ASIL C及ASIL D(最高)四个等级组成,ASIL等级越高表示系统的功能安全评估越严格,相应的表示系统正确执行安全功能,或者说的避免该功能出错的概率越高,即系统的安全可靠性越高。
ISO 26262标准的组成架构由十个规范和信息指导文件组成,其中ISO 26262—4/5/6阐述的是系统级/硬件级/软件级的产品开发,使用嵌套的V模型定义了每个开发阶段的过程以及相应的工作产品。
本解决方案主要阐明了在软件级产品开发阶段如何去理解ISO 26262的要求,并且指出了在实际的软件开发过程中如何结合ISO 26262的软件测试生命周期,通过包括软件测试工作的执行以及过程控制等方面来确保ECU 软件质量满足ISO 26262软件级功能安全相应等级的要求。
基于V模式的ISO26262软件测试生命周期如图所示,基于V模式的ISO 26262-6软件测试生命周期可以划分为五个阶段:静态分析需求和功能需求:在软件级产品开发初始化阶段和软件安全需求规范制定阶段确定了一些基本的嵌入式软件静态分析需求和功能需求,这部分内容是以后设计和测试的基础;架构验证:在软件架构设计阶段,我们可以使用人工分析的方式来验证和测试软件架构层的内容,但是有条件的话最好使用合适的架构设计工具,在设计的过程中同时进行架构验证;静态测试:在软件单元设计和实现阶段同时进行静态测试,可以使用开发辅助工具来进行静态测试,这样不必因为静态测试的活动而改变开发流程.动态测试:在软件单元测试阶段以及软件集成和测试阶段,使用合适的动态测试工具进行动态单元和集成测试,功能验证:在软件安全需求验证阶段,要根据ISO 26262—6的要求进行功能验证,包括进行ECU网络环境测试和实车测试,必要的时候进行HIL测试。
基于模型的分时段软件测试工具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系统本身的情况。