TPT (software)
Time Partition Testing (TPT) | ||||
---|---|---|---|---|
Ontwikkelaar(s) | PikeTec GmbH | |||
Recentste versie | 19 (29 maart 2023)[1] | |||
Status | Actief | |||
Besturingssysteem | Microsoft Windows | |||
Licentie(s) | Propriëtaire software | |||
Website | (de) (en) Productpagina | |||
|
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 er gebruik van. 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 continu gedrag gebruikt worden.
Geschiedenis
[bewerken | brontekst bewerken]Het idee voor TPT ontstond in het kader van de automobielontwikkeling door Daimler en Mercedes-Benz.[2] De eerste versies van de testtool werden 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.[3][4] Daimler heeft meerdere jaren de ontwikkeling van TPT gecoördineerd. Sinds 2007 wordt TPT ontwikkelt en verkocht door het Berlijnse bedrijf PikeTec GmbH.
Onderdelen
[bewerken | brontekst bewerken]TPT heeft volgende onderdelen:
- modellering van testcases (handmatig of geautomatiseerd)
- uitvoering van tests in verschillende testomgevingen zoals MATLAB/Simulink, ASCET, TargetLink, HiL (Hardware-in-the-Loop), en C-Code, of via communicatiestandaards zoals CAN (Controller Area Network) en LIN (Local Interconnect Network) (geautomatiseerd)
- testevalutie (geautomatiseerd)
- testdocumentatie (geautomatiseerd)
- testadministratie
- traceren van requirements in verbinding met andere Requirements Management Tools
Reactieve tests
[bewerken | brontekst bewerken]Een test geldt 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 realtime verwerking mogelijk dynamische systemen in discrete tijd te programmeren. Zo kunnen bijvoorbeeld filter functies en regelalgoritmes in TPT worden geïmplementeerd.
Grafische testmodellering
[bewerken | brontekst 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 | brontekst 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 | brontekst 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 | brontekst bewerken]TPT biedt verschillende mogelijkheden om testcases automatisch te genereren:
- testcases op basis van equivalentieklassen
- testcases door analyse van MATLAB/Simulink- en TargetLinkmodellen[5]
- 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 | brontekst bewerken]Testcases worden in TPT met behulp van een zogenaamd virtuele machine (TPT-VM) aan de testomgeving overgebracht, dit kan ook in realtime 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, of AUTOSAR-componenties,[6] INCA, of LABCAR. Om meetgrootheden van electronic control units (ECU) tijdens de testuitvoering te controleren, is een speciale application programming interface (API) nodig, i.e. de MCD-3-API van ASAM. Met behulp van die API kunnen ook tools zoals INCA en CANape gebruikt worden.[7]
Geprogrammeerde testevaluatie
[bewerken | brontekst bewerken]Testresultaten moeten worden geëvalueerd; dat betekent dat qualitatieve stellingen zoals "waar", "verkeerd" of "onduidelijk" alsook 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 testen 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, alsook gegevens van andere meetinstrumenten kunnen automatisch ter testevaluatie worden gebruikt.
Testmanagement
[bewerken | brontekst 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 | brontekst bewerken]Internationale standaarden 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.
Externe links
[bewerken | brontekst bewerken]- Lehmann, TPT - Dissertation, 2003
- PikeTec
- IX-Studie zu modellbasierten Testwerkzeugen
- Modell- und Softwareverifikation vereinfacht. Elektronik Automotive, Heft 4.2009 (pdf)
- ↑ latest version of TPT 19 here.Release date: 29 March 2023 (29 maart 2023). Geraadpleegd op 13 april 2023.
- ↑ Modellbasierte Entwicklung eingebetteter Fahrzeugsoftware bei DaimlerChrysler In: Informatik - Forschung und Entwicklung Volume 20, Numbers 1-2 (2005), 3-10; Springer Berlin / Heidelberg. Springerlink.com (9 juli 2001). Geraadpleegd op 8 augustus 2013.
- ↑ Hauser Automotive Website. Geraadpleegd op 8 december 2015
- ↑ 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
- ↑ Benjamin Wilmes: Hybrides Testverfahren für Simulink/TargetLink-Modelle, Dissertation, TU-Berlin, Germany, 2015. [1]
- ↑ Jens Lüdemann: AUTOSAR-Komponententest mit TPT, In: 2. Elektronik automotive congress in Ludwigsburg, Germany, 2010. Pdf-artikel
- ↑ Jens Lüdemann: Automatic ASAM MCD-3 supported Test, In: Open Technology Forum at the Testing Expo in Stuttgart, Germany, 2009. Pdf-artikel