Associate Director – Technology, Intelligent Automation (IAT)
Testautomatiseringsparadigmet fortsätter att "utvecklas". Organisationer har bevittnat och varit en del av denna utveckling genom åren. Testteam är en del av "Been there, done that"-klubben när det kommer till konventionella testautomatiseringstekniker. En del av oss sitter bokstavligen på högen av automatiserade testskript, känner oss nervösa, osäkra på om projektgruppen har tillräcklig testtäckning. Automationsingenjörer har alltid automatiserat testfallen och uppdaterat skripten för ändringar i testfall, skapat nya testfall och tagit bort testskript som inte längre är giltiga. Team strävar efter att underhålla olika testfalls- och testskriptversioner; listan är oändlig.
Människor kämpar för att identifiera och schemalägga de tester som ska utföras och hantera den exponentiella ökningen av efterfrågan på testning mot olika miljöer. Sedan finns det en grupp som alltid säger: "Det är automatiserat... Varför inte köra allt!"
Idag är utmaningarna som testledare står inför inte nya utan blir kritiska i takt med att saker och ting förändras. Svarstiden blir pressad som aldrig, och alla kämpar för att få in innovation, AI i testautomatisering.
Under årens lopp har traditionella testautomatiseringsmetoder gett fördelar, men med den enorma initialkostnaden beroende på flera faktorer som infrastruktur, verktyg, teknologier, kompetensuppsättningar. Vi bevittnar ett skifte från konventionella testautomatiseringsmetoder som använder testfall/berättelser som bas för att skapa testautomatisering till ett "modellbaserat" testsätt.
Även om övergången inte är svår så finns det ett större behov av att ändra tankesätt och få en högre komfortnivå med modellbaserad testautomation. Testledare som är vana vid att underhålla stora uppsättningar och versioner av testfall kan bli lite obekväma av att se en modell och inga testfall alls!
Det finns redan tillgängliga verktyg för att skapa ett systems modell, och många av dem tillhandahåller en mekanism för att köra en modell som täcker olika vägar och verifieringspunkter. Med några iterationer och övning kan man skapa och köra modeller för att förstå hur och vilka typer av virtuella testfall som utvecklas och implementeras från modellen.
MBT är en testteknik när vi definierar en abstrakt modell som beskriver ett mjukvarubeteende och sedan använder denna modell för att testa den verkliga programvaran baserat på förutsägelser av vägar.
Den abstrakta testfärgen fungerar som en grund på vilken den körbara testsviten härleds. Den körbara testsviten (automatiseringsskript) som mappas med de abstrakta testfallen kan kommunicera direkt med SUT (System Under Test).
En modell är en grafisk representation av systemets beteende med stater och åtgärder. Modellen börjar med initiala villkor och slutar med utgångsförhållanden. Beteende kan beskrivas i termer av ingångssekvenser, åtgärder, villkor, utdata och dataflöde från input till output.
En modell tolkas som eller översätts till ett tillståndsövergångssystem eller finita-tillståndsautomation. Tillståndsövergångsdiagrammet representeras av applikationens modell, en riktad graf där noder representerar applikationens tillstånd och kanter representerar övergångarna .
En typisk modell kan representeras i olika former baserat på det valda verktyget. Några sådana exempel visas nedan:
Modellen visar bara användarscenarier av möjliga vägar baserat på initiala och utgångsförhållanden. Testvägar inkluderar alla möjliga permutationer och kombinationer av att gå genom de mellanliggande noderna mellan initiala och utgångsförhållanden. Till skillnad från den traditionella testautomatiseringsmetoden är testvägar inte villkorade av skriftliga testskript. Vägen som tas under exekveringen är slumpmässig och beror på exekveringsmotoralgoritmen, med hänsyn till olika kriterier som "täckningsprocent, "vikt" etc.
Med framväxten av modellbaserad testautomatisering vid horisonten började möjligheterna med futuristiska testautomatiseringsidéer att diskuteras. Några av våra kunder, produktföretagen, kunde omedelbart inse fördelarna med MBT i ständigt föränderliga miljöer.
MBT har hjälpt testhantering att drastiskt minska ansträngningarna för testfall, skriptgenerering, granskning och omarbetning. Ändå är en av de främsta fördelarna med att använda MBT testtäckning. Med den konventionella testautomatiseringsmetoden påverkas täckningen av antalet manuella tester som skapas eller antalet automatiserade testfall.
Det finns en risk att missa flera testscenarier när man skriver de manuella eller automatiserade testskripten. När det gäller modeller definierar en testingenjör eller affärsanalytiker alla möjliga tillstånd och åtgärder för ett skärm- eller användningsfallsscenario. Testtäckningsprocenten ökas drastiskt eftersom testerna genereras automatiskt för alla möjliga kombinationer av tillstånd och åtgärder mellan initial- och utgångstillstånd.
Det finns enorma möjligheter för ytterligare förbättringar av testtäckningen med modellbaserad testautomatisering med AI/ML.
Testfall följer fastställda procedurer i den konventionella testmetoden, där mänskligt omdöme är grunden. För att täcka olika vägar eller procedurer måste man skapa nya tester. Men i MBT är de flesta sökvägar härledda från modeller som är noggrant mappade med kraven och automatiskt genererade testskript eller sviter. Skillnaden är uppenbar om vi ser arbetsflödena nedan.
Det konventionella tillvägagångssättet kräver avsevärda ansträngningar för att testa automatisering, även för en liten förändring av affärskraven. Men uppdatering av respektive modellkomponent med MBT införlivar ändringarna snabbt. För testproffs är MBT en övertygande metod med följande fördelar:
Prenumerera för att hålla dig uppdaterad med den senaste branschutvecklingen, inklusive branschinsikter och innovativa lösningsmöjligheter