Testautomatisering av webbtjänster
Automatisering av tester har länge varit något man väldigt hett velat nå. Många gånger har man misslyckats då man försökt automatisera testerna av grafiska gränssnitt, tex. Webbgränssnitt. En stor anledning till att det misslyckas är att gränssnitten ändrar sig och kräver en stor del handpåläggning för att få de befintliga testscripten att fungera. Dessutom kräver det stor arbetsinsats att få bra testscript.
Testautomatisering av webbtjänster kan lyckas
När det gäller test av webbtjänster är dock det mycket enklare och mer effektivt att automatisera testerna. Arbetet som behöver läggas ner för att automatisera testen av en webbtjänst är relativt litet och eftersom det i slutändan ofta blir väldigt många tjänster som ska testas då man ska installera nya versioner är det kostnadseffektivt att göra dessa testautomatiseringar.
Låt funktionstester blir regressionstester
De testfall som skapas i SoapUI, eller motsvarande verktyg, under de manuella testerna kan sedan användas för att automatisera tester för regresssionstest. Då man skapar regressionstester ska man tänka på att det kommer att bli väldigt många testfall. För varje webbtjänst bör man skapa några positiva tester och några negativa tester. Dessa fylls med olika testdata. Det innebär att det kommer att bli många testfall i en SOA lösning med kanske flera hundra webbtjänster.
Separera testdata och testscript
För att det inte ska vara ett alltför stort arbete med att hålla testerna uppdaterade är det bra om man kan skilja testdata från anropet. Det är ett effektivt sätt att bygga på sina tester om det finns några få filer med testdata som man kan arbete med istället för att behöver gå in i testscripten och ändra i hårdkodade värden. Tänk också modulärt, dvs låt ett testfall användas av flera testsviter istället för att skapa nya flera gånger om. Det kan t.ex. vara bra att ha ett anrop som gör en fråga mot databasen för att verifiera att det gått att spara ner genom en webtjänst. Detta anrop kan användas av flera tester där liknande verifieringar behöver göras i samma databas (eller kanske i andra databaser om man parameteriserar databasanropet och databasfrågan).

