Naar inhoud springen

TPT (software)

Uit Wikipedia, de vrije encyclopedie
(Doorverwezen vanaf TPT (Software))
Time Partition Testing (TPT)
Logo
TPT
Ontwikkelaar(s) PikeTec GmbH
Recentste versie 19 (29 maart 2023)[1] Bewerken op Wikidata
Status Actief
Besturingssysteem Windows
Licentie(s) Propriëtaire software
Website (de) (en) Productpagina
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 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.

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.

TPT heeft volgende onderdelen:

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.

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.

[bewerken | brontekst bewerken]