SOCO har en fast serie av møter kalt «fagkrydder», hvor vi lærer noe nytt og får nye perspektiver. Denne uken hadde vi besøk av Hager Debech fra Testify. Hun ga en innføring i modell-basert testing og hvordan komme i gang med verktøyet ecFeed.
Fordelene med modellbasert testing
Modellbasert testing er en type testing som bruker en matematisk modell for å generere testdata og utføre tester på systemet som skal testes. Gjennom å sette opp beskrivelser av systemene vi skal teste kan vi visualisere forretningsprosesser, beskrive tilstander eller vise hvordan data håndteres og behandles. For å nevne noen fordeler:
- høyere testdekning på kortere tid
- tidligere oppdagelse av feil
- enklere vedlikehold av testkode
- bedre forståelse mellom forretning og utviklere
På denne ukens workshop fikk SOCO-gjengen en innføring i hvordan komme i gang med både teknikk og verktøy.
Modellbasert testing vil bli brukt mye mer fremover
Hager Debech, Testify
Enklere å lage modeller og testtilfeller
Hager tok utgangspunkt i verktøyet ecFeed, og hvordan en kunde kjøper klær via en nettside. Med mange valgmuligheter av klesplagg, størrelser, farger, betalingsmåter med mer, vil de fleste testere kjenne seg igjen i følelsen av at dette blir komplekst å teste. Kanskje overser vi noe? Hvordan kan modell-basert testing bistå oss i denne situasjonen med mange parametre og flere tusen potensielle testtilfeller?
Først og fremst pekte Hager på at vi må identifisere modellen, altså hvilke parametre står vi overfor og hvordan de henger sammen:
«Du utarbeider et klassifikasjonstre i verktøyet, hvor du også setter opp hvilke ekvivalensklasser vi deler inn i. Her setter vi også opp betingelsene: Er det for eksempel ikke lov å kjøpe en grønn t-skjorte, så setter man opp det som en kombinasjon som ikke er tillatt. Deretter vil ecFeed velge ut hvilke som er de mest relevante testtilfellene, og siden verktøyet også støtter kombinatorisk testing har vi redusert antall tester som må kjøres ganske drastisk.»
Hager viste også hvordan verktøyet støtter flere modellerings- og programmeringsspråk, og påpekte hvordan det kan skape felles forståelse innad i teamet. Utviklerne kan bruke det på enhetstestnivå, mens forretning kan supplere testtilfellene med å endre i modellen. Hun pekte også på egne erfaringer hvor hele utviklingen sentreres rundt modellene, og dermed skape en helhetlig tilnærmelse.
Takk for en svært interessant workshop, Hager – det er liten tvil om at dette var nyttig!