Skapa manuella testfall för webbtjänster
Varje operation i varje webbtjänst behöver ha testfall. Eftersom webbtjänster inte har ett GUI som kan se olika ut, eller med olika knappar som ska göra olika saker beroende på vilken knapp man trycker på (t.ex. Avbryt, Spara) så är det lämpligt att bygga testfallen på annat sätt än tex vanliga webbapplikationer. I webbtjänster är det en xml fil som ska skickas in (anropet) och sedan ska en annan xml fil komma tillbaka som svar (responsen). Det som skiljer sig mycket åt mellan varje anrop är datan som skickas in – ett anrop kan innehålla många olika parametrar och ett svar kan innehålla ånga olika olika parametrar. Det som alltså blir viktigt att hantera bra vid test av webbtjänster är testdatan.
Ett exempel är en tjänst som slår upp vädret på en viss ort. Låt oss säga att tjänsten tar emot följande inparametrar:
- Datum
- Tidpunkt
- Plats
- Prognosens längd (vill vi ha prognos för ett dygn, två dygn etc)
- Språk (vill vi ha svar på svenska, engelska, spanska etc.)
Det finns förstås många tänkbara parametrar men vi nöjer oss med detta. Vår testdata ska då hantera olika datum, olika klockalsag, olika lokationer/platser, olika längder på prognoserna och olika språk på svaret. Vår testdata ska också hantera negativa testfall då vi tex inte skickar in något datum, eller har fel format på datumet, eller inte anger en befintlig plats eller befintligt språk.
För att testa olika scenarier behöver då testdatan tas fram som anger både inparametrar samt förväntade svarsparametrar.
Exempel i mycket enkel form:
Anrop
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope "
soap:encodingStyle=" http://www.w3.org/2003/05/soap-encoding">
<soap:Body xmlns:m="http://www.dinsite.org/client">
<m:GetWeather>
<m:Location>Paris</m:Location>
<m:Date>2009-04-09</m:Date>
<m:Time>12:00</m:Time>
<m:Lenght>3</m:Length>
<m:Language>Sv</m:Language>
</m:GetWeather>
</soap:Body>
</soap:Envelope>
Svar
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope "
soap:encodingStyle=" http://www.w3.org/2003/05/soap-encoding">
<soap:Body xmlns:m="http://www.dinsite.org/client">
<m:GetWeatherResponse>
<m:Location>Paris</m:Location>
<m:Forecast>
<m:Day1>
<m:Date>2009-04-09<m:Date>
<m:Weather>Regn<m:Weather>
</m:Day1>
<m:Day2>
<m:Date>2009-04-10<m:Date>
<m:Weather>Supermycket regn<m:Weather>
</m:Day2>
<m:Day3>
<m:Date>2009-04-11<m:Date>
<m:Weather>Orkan och regn<m:Weather>
</m:Day3>
</m:Forecast>
</m:GetWeatherResponse>
</soap:Body>
</soap:Envelope>
Eftersom det inte är så överskådligt och lätt att arbeta med testdatan inne i xml filen så samlas den lämpligen i t.ex. excelark. Dessa ark kan sedan också användas som inparametrar i automatiserade regressionstester efter lite anpassning.

