2.12.2020
Doktorsavhandling om testning av prestanda hos mjukvarusystem
M.Sc. Tanwir Ahmads doktorsavhandling i datateknik/programvaruproduktion framläggs till offentlig granskning måndag 7.12.2020 vid fakulteten för naturvetenskaper och teknik vid Åbo Akademi.
Avhandlingen heter Performance Exploration and Testing of Web-based Software Systems.
Dagens samhälle är starkt beroende av många olika slags sammankopplade mjukvarusystem för hantering av marknader, energidistribution, telekommunikation och logistik. Tidsåldern för kontrollerad kommunikation i slutna nätverk för begränsade syften har gått mot sitt slut. I och med introduktionen av internet har nästan alla finans- och myndighets- och välfärdssektorer blivit beroende av webbaserade informationssystem. Dessa system bör vara snabba och pålitliga och bör kunna hantera ett stort antal samtidiga användare.
I denna avhandling föreslår vi ett antal tillvägagångssätt för att testa och utforska prestanda hos mjukvarusystem som erbjuder webbaserade tjänster. Även om metoderna är avsedda för webbaserade mjukvarusystem kan de lätt anpassas till andra typer av mjukvarusystem. Våra bidrag kan indelas i två kategorier: Tillvägagångssätt för modellbaserad prestandatestning och tillvägagångssätt för utforskning av black-box-system med stora indatarymder.
Från den första kategorin, som ett första bidrag, tillhandhåller vi modellbaserad prestandatestning, där vi genererar realistiska arbetsbelastningar med Probabilistic Timed Automata (PTA). Under genereringen av arbetsbelastningen övervakar vi Key Performance Indicators (KPIs), såsom svarstid, genomströmning, minnesanvändning, processoranvändning och användning av lagringsmedia. Dessa KPIs används för att jämföra prestandan för systemet under test (SUT). Som en utökning av det första bidraget tillhandahåller vi en metod för att extrahera arbetsbelastningsmodellerna från en servers loggfiler, som ett alternativ till att skapa dem manuellt utgående från testarens erfarenhet.
I den andra kategorin är vi intresserade av att utforska prestandan för black-box-mjukvarusystem med stora indatarymder utan att ha förkunskaper om mjukvarusystemets applikationsdomän. Vi föreslår olika metoder för testning av prestanda, för att identifiera, inte bara det värsta tänkbara användarscenariot med avseende på en given arbetsbelastningsmodell, men också vilken kombination av indata som orsakar prestandaproblem genom att kraftigt försämra prestandan av mjukvaruintensiva system.
Vårt första bidrag i denna kategori, är ett tillvägagångssätt för att utforska användarscenariorymden slumpmässigt med fördefinierade mutationsoperatörer för att hitta det värsta möjliga användarscenariot. Som ett andra bidrag utvidgar vi det tidigare arbetet för att tillhandahålla ett exakt tillvägagångssätt som använder grafsökningsalgoritmer som garanterat kan hitta det värsta tänkbara användarscenariot. En nackdel med det tillvägagångssättet är att det inte lämpar sig för stora arbetsbelastningsmodeller som innehåller många loopar.
Vårt tredje bidrag är att ta i tu med det andra bidragets brist i att inte kunna hantera stora arbetsbelastningsmodeller. Vi löser detta problem genom att använda oss av genetiska algoritmer för att identifiera användarscenarier som är nära det värsta tänkbara. Som det sista bidraget tillhandahåller vi en utforskande prestandatestmetod där vi använder förstärkningsinlärning för att utforska en stor indatarymd för att kunna identifiera de indatakombinationer som utlöser prestandaproblem i SUT. Detta bidrag motiveras av rapporter som visar att uppemot två tredjedelar av prestandaproblemen kan detekteras från specifika indatakombinationer.
Alla tillvägagångssätt som diskuteras i denna avhandling åtföljs av verktygsstöd för att automatisera de tråkiga och långdragna uppgifterna. Tillvägagångssätten har jämförts mot olika fallstudier för webbapplikationer, men de kan anpassas för att kunna testa och utforska prestandan av mjukvaruintensiva system i andra domäner genom att justera indataartefakter som till exempel arbetsbelastningsmodeller och indatarymder.
Tanwir Ahmad disputerar vid Åbo Akademi måndagen den 7 december 2020 kl. 13. Opponent är Senior Researcher Mehrdad Saadatmand, RISE Research Institutes of Sweden, Sverige och kustos är docent Dragos Truscan, Åbo Akademi.
Publiken är välkommen att följa disputationen på distans, klicka här för att delta. Se nedan för praktiska anvisningar.
Tanwir Ahmad är född 4.1.1986 i Lahore, Pakistan. Han avlade studentexamen 2003 vid BISE, Lahore och Master of Science in Computer Science-examen 2011 vid Government College University, Lahore samt Master of Science in Software Engineering-examen 2014 vid Åbo Akademi.
Tanwir Ahmad kan vid behov nås per telefon 040 5854 8644 eller e-post tanwir.ahmad@abo.fi.
Avhandlingen finns elektroniskt i Doria.
Klicka på bilden för att få fram en tryckduglig version.
Bilden får fritt användas av medierna.
Praktiska anvisningar för att följa med disputationen på distans
För att följa med disputationen behövs programvaran Zoom eller webbläsaren Google Chrome. Du behöver inte skapa ett Zoom-konto för att kunna följa med disputationen. Om du installerar appen deltar du genom att klicka på möteslänken varefter du bör tillåta att länken öppnas i Zoom-appen.
I slutet av tillställningen är det möjligt att ställa frågor. Har du en fråga kan du visa det genom funktionen ”Raise Hand”. Förbered dig gärna genom att ha en mikrofon installerad på din dator eller genom att ha frågan färdigt formulerad i ett textdokument på datorn därifrån du sedan kopierar in den i Zooms chattfunktion då du får tillstånd att ställa din fråga.