Automatisert og modellbasert testing med ecFeed

Vi har hatt en rekke både operative og rådgivende roller i NAV. Den siste tiden har vi primært bidratt med å innføre modellbasert testing for mer effektiv design av testcases og automatisert generering av testdata.

Testify har hatt ansvar for innføring og kompetansebygging  innen modellbasert testing med Java-verktøyet ecFeed for utviklere, testledere og testutviklere i NAV.

Her har vi demonstrert hvordan blant annet enhetstester, komponenttester og frontendtester kan implementeres mer effektivt og med bedre testdekning enn før ved bruk av ecFeed-verktøyet vårt. Vi har holdt en rekke kompetansebyggende kurs og workshops, og bidratt med å etablere en plan for videre utvidelser og forbedring av testingen per team i samarbeid med testleder og utviklere i teamene.

ecFeed blir brukt til å modellere systemene under test og generere testtilfeller med ønsket testdekning. Modellene ble også brukt til å genere testdata som brukes under testingen. Frontendtestene ble implementert i Java hvor ecFeed genererte inputdata til Selenium for å teste skjermbilder.

Til komponenttestene ble Spring framework og ecFeed brukt til å teste isolerte programvarekomponenter ved å mocke ut de andre komponentene. Vi genererte også testdata i form av XML-dokumenter basert på XSD ved hjelp av JAXB-rammeverket. Blant oppgavene vi gjennomførte med svært positive resultater var analyse og omskriving av gamle Fitnesse-tester, som var vanskelige å vedlikeholde og heller ikke hadde tilstrekkelig testdekning.

Konklusjonen av analysen ble at modellbasert, automatisert, kombinatorisk testgenerering (med ecFeed) egnet seg godt for å redusere vedlikeholdsarbeidet.