Seminarium om testautomatisering, Göteborg 2012-04-11

Välkommen till ett seminarium om automatiserad testning

Plats: Centralhuset, Nils Ericssonplatsen 4, Göteborg (Centralstationen)
Tid: 2012-04-11, kl 9-12

Vi kommer att bjuda på två intressanta och förmodat givande föreläsningar. Den första föreläsningen beskriver hur man kan åstadkomma fantastiska resultat med automatisering om man gör det på rätt nivå, på rätt sätt och med rätt verktyg. Den andra behandlar just verktyg och vad vi kallar den tredje generationens testverktyg som automatiskt testar på samma sätt som en mänsklig testare.

Success Story: Automatiska funktionella tester av webbtjänster på en integrationsplattform

Martin Johansson, Inceptive

Agila team och snabba sprintar producerar mer och mer funktionalitet. Den snabba förändrings- och leveranstakten ställer ny krav på hur man testar sin produkt. Automatisering kan vara en av lösningarna och för en integrationsplattform med miljontals anrop i veckan blev just det lösningen som håller uppe kvaliteten.

Genom att kombinera SoapUI med en simulator paketerad till en webbtjänst reducerades regressionstiden från två veckor till en förmiddag.

Samtidigt integrerades testerna i CI-verktyget (Continus Integration) Jenkins tillsammans med Maven. Regressionstest av paketerade webbtjänster sker nu automatiskt så fort det sker förändringar i programkoden. Då all funktionalitet kontinuerligt testas i takt med att koden förändras kan både förvaltning och projekt hela tiden följa vilken påverkan på befintlig funktionalitet förändringen har. Detta har drastiskt minskat antalet återkommande fel och obehagliga överraskningar nära inpå releaser.

Tredje generationens testverktyg

Michel Nass, Inceptive

Utvecklingen mot allt mer komplexa system driver fram nya tekniker för att kvalitetssäkra dem. Att automatisera testning är en sådan teknik. Man bör automatisera tester på alla nivåer i ett system; enhetstester i lågnivålagret, systemtester i affärslagret och gränssnittstester i presentationslagret. Ett stort problem med det senare är att de traditionella verktygen för att automatisera GUI-interaktion bara klarar en delmängd av de tester man vill automatisera, är beroende av använd teknik och plattform och är dessutom känsliga för förändringar.

Den första generationens testautomatiseringsverktyg för gränssnittstester baserades på fasta koordinater. Man angav helt enkelt var någonstans på skärmen verktyget skulle klicka. Så länge gränssnittet inte förändrades fungerade den här metoden. Statiska gränssnitt under ett utvecklingsprojekt hör dock inte till vanligheten och därför var de inte praktiska för fönsterapplikationer då tid och kostnad för att underhålla testskripten sköt i höjden. Den första koordinatbaserade verktygsgenerationen ersattes därför med en andra generation av verktyg.

För att komma från koordinatberoendet så baserades den andra generationens verktyg på identiteter av grafiska komponenter. På det sättet blev man helt oberoende av var någonstans på skärmen t.ex. en knapp befann sig, man kunde under utvecklingen flytta runt dem så mycket man vill under förutsättning att dess identitet inte ändrades. Den här metoden fungerade dessvärre bara för standardkomponenter och inte alls för anpassade komponenter. Behovet av en ny revolution var uppenbart!

Den tredje generationens verktyg kan faktiskt se var markören ska flyttas. Tekniken baseras på bildigenkänning och verktygen resonerar därför på samma sätt som en mänsklig testare. Verktygen blir följaktligen helt teknikoberoende och kan automatisera testning på alla typer av gränssnitt och på alla plattformar.

Välkommen till en intressant och givande förmiddag i automatiseringens tecken!