Cucumber och SiteSeeker

I utvecklingen av SiteSeeker jobbar vi sedan en tid med att introducera verktyget Cucumber i arbetet med krav och test. Cucumber är ett exempel på ett verktyg som ger möjlighet till dialog kring krav med kollegor i hela företaget. Grundprincipen är att man (utöver en user story som bakgrund) jobbar med konkreta exempel på önskvärd funktion, och uttrycker sig i vanlig mänsklig text.

Exempel på krav

Givet att jag besöker siteseeker.se
När jag söker efter Support
Så skall den första sökträffen vara "Hur kontaktar jag Eurolings support?"

Ovanstående exempel verkar rimligt, och förhoppningsvis tydligt för alla inblandade. När man väl har kommit igång med ett första exempel blir det också enkelt för alla att hjälpa till med fler exempel, som:

Givet att jag besöker siteseeker.se
När jag söker efter "support Björn"
Så skall den första sökträffen innehålla "bjorn.blomberg@euroling.se"

Med eller utan verktyg ger denna enkla form av exempel, Givet-När-Så, en bra struktur för dialog kring hur systemet skall fungera.

Tester

Tyvärr är ett vanligt problem inom systemutveckling att det ofta blir ett glapp mellan krav och test. Med separata dokument för krav- och testplaner, och kanske utöver det automatiserade tester uttryckta i källkod, eller inspelade i ett verktyg, blir det svårt att veta vilken bild av systemet som är den rätta. Ytterligare ett problem i automatisering av test är att testerna kan behöva uppdateras av flera olika anledningar. Antingen för att vi lärt oss något nytt om kraven, eller för att systemet ändrat någon detalj i hur kraven uppfylls. Men om vi med formatet Givet-När-Så lyckas fånga vad korrekt beteende är för systemet, utan tekniska detaljer, har vi ju redan börjat bryta isär dessa olika vinklar på testerna. Tänk om det nu skulle gå att på ett enkelt sätt bygga ett abstraktionslager för de tekniska detaljerna i systemet, som ändras bara när tekniken förändras, och som gör det möjligt att använda våra krav-exempel som tester!

Rätt använt ger oss Cucumber den möjligheten. Med kopplingar för många olika tekniska plattformar kan man driva automatiserade tester med Selenium, Ruby, C#, C++, Java, eller nästan vilken plattform som helst från de exempel som man tillsammans diskuterat fram inom företaget. En testrapport blir en snygg html-sida med grönmarkerade exempel. Eller rödmarkerade exempel med en screenshot på problemet. Och diskussioner kring utökning av funktionaliteten börjar naturligt med att lägga till ett nytt exempel.

På torsdag pratar vi mer om hur vi jobbar med Cucumber och SiteSeeker. Välkommen att anmäla dig om du inte redan gjort det!

Detta inlägg postades i kategorin Event, SiteSeeker, Teknik

Skriv en kommentar

Din epostadress delas eller publiceras aldrig Obligatoriska fält är markerade med *

*
*

Du kan använda dessa HTML-taggar och attribut: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>