TPT (software)

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
Time Partition Testing (TPT)
TPT (software)
Ontwikkelaar PikeTec GmbH
Recentste versie
(5/2016)
Status Actief
Licentie Proprietary
Website http://piketec.com/
Portaal  Portaalicoon   Informatica

TPT (Time Partition Testing) is een methode en een software-tool ontwikkeld door het bedrijf PikeTec om geautomatiseerde software van continue en reactieve ingebedde systemen te testen of te verifiëren. Vooral de automobielindustrie maakt van TPT gebruik. In TPT worden testcases grafisch gemodelleerd in plaats van het schrijven van testscripts. Deze grafisch gemodelleerde testcases kunnen voor het testen van controlesystemen en systemen met continue gedrag gebruikt worden.

Geschiedenis[bewerken]

Het idee voor TPT ontstond in het kader van de automobielontwikkeling door Daimler en Mercedes-Benz.[1]. De eerste versies van het testtool werden al in 2000 ingezet. Ondertussen werken ook andere automobielbedrijven met TPT, bijvoorbeeld General Motors, Volkswagen, Audi, Porsche, BMW, en ook toeleveranciers uit de automobielindustrie zoals Bosch, Hella, TRW en Continental [2][3]. Daimler heeft over meerdere jaren de ontwikkeling van TPT gecoördineerd en TPT speciaal voor de automobielsectoor geoptimeerd.

Onderdelen[bewerken]

TPT heeft volgende onderdelen:

Reactive tests[bewerken]

Een test gelt als reactief als hij tijdens het uitvoeren in een testomgeving op het gedrag van het systeem reageert. Zo kan de reactieve test op het moment dat een gespecifieerde toestand wordt bereikt zijn gedrag veranderen, bijvoorbeeld meer testrelevante systeemtoestanden stimuleren. De reactiviteit maakt het samen met de real-time verwerking mogelijk dynamische systemen in discrete tijd te programmeren. Zo kunnen bijvoorbeeld filter functies en regelalgoritmes in TPT worden geïmplementeerd.

Grafische testmodellering[bewerken]

Testcases worden in TPT met speciale state machines of met toestandsdiagrammen grafisch gemodelleerd. De grafische testmodellering is een voor de hand liggende keuze wat ingebedde systemen betreft omdat hier testcases altijd uit opeenvolgende stappen opgebouwd zijn. Het voordeel van de grafische benadering is dat de testcases intuïtief leesbaar zijn, zelfs als ze zeer complex zijn.

Functies[bewerken]

Naast het grafische modelleren is het mogelijk functies te definiëren die als client of server ageren. Clientfuncties worden door TPT in het te testende systeem opgeroepen; serverfuncties kunnen in TPT als geïmplementeerde stub-functies vanuit het te testende systeem of ook direct worden opgeroepen.

Systematische testcases[bewerken]

Middels systematische testcases kunnen zwakpunten in het te testende systeem ontdekt worden. De meeste testcases lijken op elkaar en hebben amper, maar juist essentiële details die schelen. Daarom worden in TPT gezamenlijke structuren tezamen gemodelleerd en gebruikt. Redundancies worden zo vermeden en verschillen tussen de testgevallen zijn beter te herkennen.

Automatische testcasegeneratie[bewerken]

TPT biedt verschillende mogelijkheden om testcases automatisch te genereren:

  • testcases op basis van equivalentieklassen
  • testcases door analyse van MATLAB/Simulink- en TargetLinkmodellen [4]
  • testcases door het creëren van sequenties op de basis van toestands- en transitievarianten van het testmodel
  • testcases door het opnemen van interacties van gebruikers met het te testende systeem via een grafisch gebruikersinterface (Dashboard)

Testuitvoering[bewerken]

Testcases worden in TPT met behulp van een zogenaamd virtuele machine (TPT-VM) aan de testomgeving overgebracht, dit kan ook in real-time gebeuren. Door het gebruik van een virtuele machine is TPT flexibel wat betreft testomgevingen. Zo kunnen tests gecreëerd worden voor Model-in-the-Loop (MiL), Software-in-the-Loop (SiL), Processor-in-the-Loop (PiL) en Hardware-in-the-Loop (HiL). Uitgevoerd worden dergelijke testcases in verschillende testomgevingen of middels applicaties zoals MATLAB/Simulink, TargetLink, ASCET, C-programmen, CAN, LIN met rest-bus simulatie, of AUTOSAR-componenties[5], INCA, of LABCAR. Om meetgrootheden van electronic control units (ECU) tijdens de testuitvoering te controleren, is een speciale API (appliation programming interface) nodig, i.e. de MCD-3-API van ASAM. Met behulp van die API kunnen ook tools zoals INCA en CANape gebruikt worden[6].

Geprogrammeerde testevaluatie[bewerken]

Testresultaten moeten worden geëvalueerd, dat betekent dat qualitatieve stellingen zoals "waar", "verkeerd" of "onduidelijk" als ook afwijkingen van de nominale waarde moeten worden geprotocolleerd.

Naast het manuele evalueren en het vergelijken van testresultaten met referentiegegevens (regressietest) kunnen met TPT ook testresultaten automatisch op basis van zelfgekozen evaluatiegegevens worden beoordeeld. Het tijdelijke en functionale gedrag van het te testende systeem kan dus niet alleen quantitatief maar ook qualitatief worden beoordeeld. Visuele inspecties na elke testuitvoering worden zo onnodig.

Er zijn grafische gebruikersinterfaces voor de gangbaare en eenvoudige testevaluaties zoals:

  • controle van de drempelwaarden van signalen (Min/Max-vergelijking)
  • fouttolerante vergelijking van signalen met referentiegegevens
  • controle van discrete signaalsequenties
  • controle op basis van tijdelijke triggercondities
  • integratie van MATLAB-scripts

Diepergaande evaluaties kunnen met een programmeertaal die op Python gebaseerd is, worden toegepast. Meetresultaten van andere bronnen kunnen tevens worden geevalueerd. Meetgegevens van model-interne TargetLink- of Simulinksignalen, als ook gegevens van andere meetinstrumenten kunnen automatisch ter testevaluatie worden gebruikt.

Testmanagement[bewerken]

TPT is geen testmanagement tool maar ondersteunt wel sommige aspecten van het testmanagement zoals:

  • modelleren van testcases
  • plannen van tests
  • documenteren van tests
  • voortgangsmeldingen wat betreft software releases
  • traceerbaarheid van requirements, testcases, testuitvoeringen en testresultaten

Traceren van requirements[bewerken]

Internationale standaards voor veiligheidsgerelateerde systemen, bijvoorbeeld IEC 61508, DO-178B, of ISO 26262 vergen dat requirements en tests getraceerd worden. Met TPT kunnen requirements onder uit externe Requirements Management Tools zoals Rational DOORS geïmporteerd, aan testcases gekoppeld en de gegevens gesynchroniseerd worden. Analyses van de dekkingsgraad en traceerbaarheid zijn mogelijk.

Literatur[bewerken]

  1. Modellbasierte Entwicklung eingebetteter Fahrzeugsoftware bei DaimlerChrysler In: Informatik - Forschung und Entwicklung Volume 20, Numbers 1-2 (2005), 3-10; Springer Berlin / Heidelberg. Springerlink.com (2001-07-09) Geraadpleegd op 2013-08-08
  2. Hauser Automotive Website. Geraadpleegd op 2015-12-08 [1]
  3. Kevin Rouebuck: Autosar - Automotive Open System Architecture: High-Impact Strategies - What You Need to Know: Definitions, Adoptions, Impact, Benefits, Maturity, Vendors, 2012 by Emereo Publishing
  4. Benjamin Wilmes: Hybrides Testverfahren für Simulink/TargetLink-Modelle, Dissertation, TU-Berlin, Germany, 2015. [2]
  5. Jens Lüdemann: AUTOSAR-Komponententest mit TPT, In: 2. Elektronik automotive congress in Ludwigsburg, Germany, 2010. PDF-Artikel
  6. Jens Lüdemann: Automatic ASAM MCD-3 supported Test, In: Open Technology Forum at the Testing Expo in Stuttgart, Germany, 2009. PDF-Artikel

Weblinks[bewerken]