TPT (programvara) - TPT (software)

Time Partition Testing (TPT)
TPT Logo.png
TPT -modellerat testfall.png
Testväska modellerad med TPT
Utvecklare PikeTec GmbH
Stabil frisättning
17 /16 september 2021 ; 7 dagar sedan ( 2021-09-16 )
Operativ system Windows
Tillgänglig i engelsk
Typ Programvarutestning
Licens Proprietär
Hemsida www .piketec .com

TPT ( tid partition test ) är en systematisk provmetodik för automatiserad programvara test och verifiering av inbyggda styrsystem , cyberfysiska system och dataflödesprogram . TPT är specialiserat på testning och validering av inbäddade system vars in- och utgångar kan representeras som signaler och är en dedikerad metod för att testa systemets kontinuerliga beteende . De flesta styrsystem tillhör denna systemklass. Det enastående kännetecknet för styrsystem är det faktum att de samverkar nära sammanlänkade med en verklig världsmiljö. Kontrollanter måste observera sin miljö och reagera på motsvarande sätt på dess beteende. Systemet fungerar i en interaktionscykel med sin omgivning och är föremål för tidsbegränsningar. Att testa dessa system är att stimulera och kontrollera tidpunktens beteende. Traditionella funktionella testmetoder använder skript-TPT använder modellbaserade tester .

TPT kombinerar en systematisk och grafisk modelleringsteknik för testfall med en helautomatisk testkörning i olika miljöer och automatisk testutvärdering. TPT täcker följande fyra testaktiviteter:

Grafiska testfall

Image
Testbeskrivning med hybridautomat med varianter

I TPT modelleras tester grafiskt med hjälp av speciella tillståndsmaskiner och tidsdelning. Alla testfall för ett system som testas kan modelleras med en hybridautomat. Tester består ofta av en sekvens av logiska faser. De stater i finite-state machine representerar de logiska passager av ett test som är lika för alla tester. Utlösningsförhållanden modellerar övergångarna mellan testfaserna. Varje tillstånd och övergång för automaten kan ha olika varianter. Kombinationen av varianterna modellerar de enskilda testfallen.

Naturliga språktexter blir en del av grafiken och stöder den enkla och demonstrativa läsbarheten även för icke-programmerare. Betydande tekniker såsom parallella och hierarkiska förgreningstillståndsmaskiner , villkorlig förgrening, reaktivitet , signalbeskrivning, uppmätta signaler samt listor över enkla teststeg tillåter ett intuitivt och grafisk modellering även av komplexa testfall.

Testets komplexitet är dold bakom grafik. Beskrivningen av den lägsta nivån består av antingen teststegslistor eller så kallade direktdefinitioner.

Image
Exempel på teststeglista

Modellera enkla sekvenser: Test-Step List

Genom att använda teststegslistan kan man modellera enkla sekvenser av teststeg som inte behöver utföras parallellt, t.ex. och väntar (vänta). Begäran om förväntade testresultat kan göras inom testsekvensen för att utvärdera systemet som testas när det körs. Det är också möjligt att placera subautomater i listan med teststeg, som i sin tur innehåller automater och sekvenser, vilket resulterar i hierarkiska teststegslistor. Testsekvenserna kan också kombineras med andra modelleringsmetoder, vilket möjliggör mycket komplexitet (eller enkelhet) i ett test. Testsekvenser kan också kombineras och parallelliseras med andra modelleringsmetoder.

Image
Direkt definition av en signal

Direkt signaldefinition: Direkt definition

Inom Test-Step-List är det möjligt att implementera så kallade "Direct Definitions". Med denna typ av modellering kan man definiera signaler som en funktion av tiden, tidigare variabler/testhändelser och andra signaler. Det är också möjligt att definiera dessa signaler genom att skriva " C -Style" -kod samt importera mätdata och använda en manuell signalredigerare.

Funktioner

Det är möjligt att definiera funktioner som kan fungera som klienter eller servrar . Klientfunktioner anropas från TPT i systemet som testas, där serverfunktioner implementerade i TPT kan kallas som " stubfunktioner " från systemet som testas. TPT själv kan också anropa serverfunktionerna.

Systematiska testfall

TPT utvecklades specifikt för testning av kontinuerliga och reaktiva beteenden hos inbäddade system. TPT kan ses som en förlängning av klassificeringsträdsmetoden när det gäller tidsbeteende. På grund av sitt systematiska tillvägagångssätt vid generering av testfall, håller TPT även reda på mycket komplexa system vars grundliga testning kräver ett stort antal testfall, vilket gör det möjligt att hitta fel i systemet som testas med ett idealiskt antal testfall.

Den bakomliggande idén med TPT: s systematiska är skillnaden mellan likheter och skillnader mellan testfallen: de flesta testfall är väldigt lika i sin strukturella process och kan ”bara” differentieras i några få, men avgörande detaljer. TPT utnyttjar detta faktum genom att gemensamt modellera och använda fogkonstruktioner. Å ena sidan undviks således uppsägningar. Å andra sidan görs det mycket tydligt vad testfallen egentligen skiljer sig åt - dvs. vilken specifik aspekt de respektive testar. Jämförbarheten mellan testfall och därmed överblick förbättras i detta tillvägagångssätt och testarens uppmärksamhet är inriktad på det väsentliga - de olika egenskaperna hos testfallen.

Testhierarkens hierarkiska struktur gör det möjligt att bryta ner komplexa testproblem i delproblem och därmed också förbättra tydligheten och-som ett resultat-testets kvalitet.

Dessa modelleringstekniker hjälper testaren att hitta de faktiskt relevanta fallen, undvika uppsägningar och hålla reda på även ett stort antal testfall.

Automatisk generering av testfodral

TPT har flera möjligheter att automatiskt generera testfall:

Image
Interaktiv manuell testning med TPT-instrumentpanel
  • testfall från ekvivalensklasser
  • testa fall för täckning av Simulink- modeller med hjälp av statisk analys och en sökbaserad metod
  • testfall genom att bygga sekvens från varianter av tillstånd och övergångar av en testmodell
  • testfall genom att transformera inspelningar av användarinteraktioner med systemet som testas via ett grafiskt användargränssnitt (instrumentpanel)

Reaktiva tester

Med TPT kan varje testfall specifikt reagera på systemets beteende under testprocessen i realtid-till exempel att reagera på systemet exakt när ett visst systemtillstånd uppstår eller en sensorsignal överskrider ett visst tröskelvärde. Om exempelvis ett sensorfel för en motorstyrenhet ska simuleras när motorns tomgångshastighet överskrids, måste det vara möjligt att reagera på händelsen "motoromdrejningshastighet överskriden" i beskrivningen av testfallet.

Testkörning

TPT -testfall görs oberoende av dess utförande. Testfallen kan köras i nästan vilken miljö som helst på grund av det så kallade virtuella maskinen (VM) -konceptet även i realtidsmiljöer . Exempel är MATLAB / Simulink , TargetLink , ASCET, C-kod , CAN , AUTOSAR , SystemDesk, DaVinci CT, LABCAR, INCA, Software-in-the-Loop (SiL) och HiL . Således är TPT ett integrerat verktyg som ska användas i alla testfaser av utvecklingen som enhetstestning , integrationstestning , systemtestning och regressionstestning .

För analys och mätning av kodtäckning kan TPT interagera med täckning verktyg som Testwell CTC ++ för C-kod .

Ett konfigurerbart grafiskt användargränssnitt (instrumentpanel), baserat på GUI -widgets , kan användas för att interagera med tester.

TPT virtuell maskin

De modellerade testfallen i TPT sammanställs och under testkörningen tolkas av den så kallade virtuella maskinen (VM). VM är samma för alla plattformar och alla tester. Endast en plattform adapter inser signalmappning för den enskilda tillämpningen. TPT-VM är implementerat i ANSI C och kräver ett minne på bara några kilobyte och kan helt klara sig utan en dynamisk minnesallokering, så att den kan tillämpas i minimalistiska och miljöer med få resurser också. Det finns också API: er för C och .NET .

TPT: s virtuella maskin kan bearbeta tester i realtid med definierat svarsbeteende. Svarstiderna för TPT -testfall ges normalt inom mikrosekunder - beroende på komplexitet och testhårdvara.

Programmerad testbedömning

Det förväntade systembeteendet för enskilda testfall bör också testas automatiskt för att säkerställa effektiva testprocesser. TPT erbjuder möjlighet att beräkna egenskaperna för det förväntade beteendet online (under testkörning) och offline (efter testkörning). Medan onlinevaluering använder samma modelleringsteknik som testmodellering, erbjuder offline-utvärdering avgjort mer långtgående möjligheter för mer komplexa utvärderingar, inklusive operationer som jämförelser med externa referensdata, gränsvärdesövervakning, signalfilter, analyser av tillståndssekvenser och tid betingelser.

Offline -utvärderingen är tekniskt sett baserad på Python -skriptspråket, som har utökats med specifika syntaktiska språkelement och ett specialiserat utvärderingsbibliotek för att ge optimalt stöd för testutvärderingen. Användningen av ett skriptspråk säkerställer en hög grad av flexibilitet vid testutvärderingen: åtkomst till referensdata, kommunikation med andra verktyg och utveckling av egna domänspecifika bibliotek för testutvärdering stöds. Förutom det manusbaserade testresultatet utvärderar användargränssnitten enkel åtkomst till testbedömningarna och hjälper icke-programmerare att undvika skript.

Mätdata från andra källor som TargetLink och Simulink signalloggning eller MCD-3 mätdata kan bedömas automatiskt. Dessa data kan vara oberoende av testkörningen.

Testdokumentation

TPT -testdokumentation enligt IEEE 829 presenterar resultatet av testutvärderingen för testaren i en HTML -rapport, där inte bara den rena informationen "framgång", "misslyckad" eller "okänd" kan avbildas som testresultat för varje testfall, men också detaljer som karakteristiska parametrar eller signaler som har observerats i testkörningen eller beräknats i testutvärderingen. Eftersom testbedömningen ger korrekt information om tidpunkten och det kontrollerade beteendet kan denna information göras tillgänglig i rapporten. Testdokumentationens innehåll såväl som dokumentets struktur kan fritt konfigureras med hjälp av en mall.

Testhantering

TPT stöder testledning av TPT testprojekt med följande aktiviteter:

  • Testfallutveckling i ett testprojekt
  • Testplanering genom testuppsättningskonfiguration och konfiguration av testkörning
  • Automatisk testkörning och utvärdering (utvärdering) i en testkampanj
  • Testrapportering (detaljerad för en individuell testkörning)
  • Test sammanfattande rapportering över olika släppcykler och
  • Krav, tester, testkörningar, testresultat

Kravspårning

Branschnormer som IEC 61508 , DO-178B , EN 50128 och ISO 26262 kräver spårbarhet av krav och tester . TPT erbjuder ett gränssnitt till krav verktyg som Telelogic DOORS för att stödja dessa aktiviteter.

Ansökan

TPT är en modellbaserad testning verktyg och tillämpas främst inom fordons controller utveckling och har ursprungligen utvecklats inom Daimler AG för sin egen utveckling. Daimler samordnade utvecklingen av testverktyget i flera år. Sedan 2007 fortsätter PikeTec utvecklingen av verktyget. TPT används av många olika biltillverkare som BMW , Volkswagen , Audi , Porsche och General Motors samt leverantörer som Robert Bosch GmbH , Continental och Hella .

Referenser

externa länkar