時間分割測試

TPT（Time Partition Testing 分时段测试，以下简称 TPT）是一种采用分时段测试方法进行软件测试和软件验证的自动化工具软件，主要应用于嵌入式系统中基于模型或者代码的模块测试，集成测试，系统测试和回归测试。

TPT的主要功能：
 搭建测试模型和测试用例
 各种系统平台，如Matlab/Simulink, ASCET, Targetlink, C/Code，CAN, LIN，和各个开发阶段，如MiL， SiL, PiL, HiL 和 ViL的自动化测试运行
 自动化测试评估
 测试建档及归档（测试计划，测试规格，测试报告）
 测试管理
 测试用例及其相关测试需求的管理和追溯

 反馈测试 
TPT适用于测试具有连续行为的实时系统（实时系统，即在规定时间内对外部请求作出反应，交换物理数字数据和信号的系统，大部分开环控制系统和反馈控制系统均属于实时系统）。在使用TPT进行测试的过程中，每一个测试用例都能有针对性的对某类系统反馈作出反应。一方面测试信号随着系统状态的变化而发生改变，另一方面改变后的测试信号也会激发系统下一步的状态变化。

 图形化测试建模 
与通过脚本激励被测系统（System Under Test，SUT）的测试方法不同， TPT采用图形化测试用例建模进行测试。在TPT中，测试用例流程可以用专门的状态自动机建模。这种测试用例的建模方式非常适合嵌入式系统，因为这类系统的测试用例一般都由某时间点/段上的单个或多个且在时间上连续的步骤组成。由此生成的复杂测试用例，具有很强的可读性和复用性。

 系统化的测试用例 
具有连续反应行为的嵌入式实时系统一般比较复杂，对其进行完整测试需要大量的测试用例。TPT能自动且系统化生成一系列测试用例，不仅直观清晰，而且能针对被测试系统的薄弱位置运用有效的测试用例进行测试。TPT系统化测试的基本思想是，区分共性，强调异性，有针对性的产生测试用例。测试用例大多大同小异，具有类似或者重复性的测试流程，主要区别在于一些数量不多但是关键的细节。TPT充分利用这一点，搭建统一的测试架构，一方面可以避免不必要的冗余，另一方面，能迅速找出各个测试用例之间的差别，即各自的测试侧重点，增强了测试用例之间的可比较性。

测试用例除了具有系统化特点之外，还有等级性。通过测试用例的等级性，可将复杂的测试问题划分成几个子问题，不仅提高测试用例的可读性，而且细化测试问题，提高了测试的质量。

以上两种建模技巧有助于测试者找寻测试用例之间的相关性，避免冗余，将侧重点集中在测试用例间的异性上。

 测试运行  
生成的测试用例几乎可在所有系统平台上自动独立运行/复用，如Matlab/Simulink ，Targetlink, ASCET, CAN, LIN, AUTOSAR等。

TPT可以生成任意测试信号，所以它也可用作软件研发过程中的输入信号产生器，以检验模型的可执行性，提高研发质量。

 可编程的自动化测试评估 
通过TPT自带的基于Python编程语言编写评估脚本，不仅能严格地从量上对测试对象的时间行为和功能行为，并且能从质上进行自动有效的评估。

 运用范围 
TPT主要用于汽车业。最早是Daimler AG und Mercedes Benz为自身汽车研发所开发的软件，第一版本研自2000年。此后，PikeTec GmbH建立并独立发布TPT，并一直致力于对该软件的后续研发和迭代，使之更好的应用于汽车软件市场。TPT现在已经被大量的OEM，如Volkswagen，Audi，BMW，Daimler，PSA Group等，以及诸多Tier 1供应商和服务商，例如Bosch, Hella， Conti， Temic等应用在各个软件开发的测试环节中。

 外部链接 
  	Lehmann, TPT - Dissertation, 2003 
 PikeTec

 需求的可追踪性 
安全系统的国际标准IEC 61508, DO-178B, EN 50128 und ISO 26262需要需求和测试的可追踪性。TPT可以导入需求系统中（MS Excel，IBM DOORS，Siemens Polarion）的需求，链接对应的测试用例，并进行同步

 参考资料 

 Bringmann, Krämer: Systematic testing of the continuous behavior of automotive systems In: International Conference on Software Engineering: Proceedings of the 2006 international workshop on Software, Shanghai, China, 2006 
 Springer Berlin / Heidelberg
 Eckard Bringmann, Andreas Krämer. Model-Based Testing of Automotive Systems, In:  ICST, pp.485-493, 2008 International Conference on Software Testing, Verification, and Validation, 2008. 
 Grossmann, Müller: A Formal Behavioral Semantics for TestML
 Justyna Zander-Nowicka, Abel Marrero Pérez, Ina Schieferdecker, Zhen Ru Dai: Test Design Patterns for Embedded Systems, In: 10th International Conference on Quality Engineering in Software Technology, CONQUEST 2007, Potsdam, Germany, September 2007

Category:软件测试
Category:形式方法