Skatteetaten : Rike Syntetiske Testdata
Skatteetaten forvalter store mengder sensitiv informasjon om innbyggere og bedrifter i Norge, og har en stor IT organisasjon som utvikler og administrerer en rekke datasystemer som håndterer denne informasjonen. All utviklingsaktiviteten skaper et stort behov for testing, og dermed gode testdata. Tidligere har Skatteetaten basert seg primært på anonymiserte data fra produksjon, men dette har begrensninger både med tanke på personvern (GDPR) og teknisk egnethet.
-
Kunde:
Skatteetaten
-
Prosjektfakta
Prosjektet Rike Syntetiske Testdata (RST) ble startet for å dekke etatens testdatabehov med høykvalitets syntetiske testdata. “Rike” testdata i denne sammenhengen betyr at dataene dekker et bredt spekter av informasjonstyper og ivaretar logiske sammenhenger på tvers av datakilder.
Det er flere fordeler med syntetiske testdata.
- De er 100% personvern-vennlige, det betyr at de kan deles ubegrenset både internt i organisasjonen og eksternt.
- De kan genereres til å være representative for den faktiske befolkningen, eller for å dekke spekteret av mulige verdier og datatyper, alt etter behov.
- De kan spisses mot et spesifikt testcase, så testerne ikke trenger lete etter data som dekker sære tilfeller.
RST prosjektet løste oppgaven ved å utvikle en testdatagenerator hvor testere, utviklere og andre med behov for testdata selv kunne spesifisere hvilke data de ville ha i et enkelt og fleksibelt domenespesifikt språk. Brukeren kunne spesifisere personer, inntekter, skattemeldinger og andre dokumenter og datatyper, testdatageneratoren opprettet så automatisk de bestilte dataene og plasserte dem i relevante databaser. Brukerne kan spesifisere eksakte verdier for inntekter, osv. eller bare spesifisere datatyper og la testdatageneratoren fylle inn med passende verdier. Testdatageneratoren støtter også batch-innsendinger for å automatisk opprette større sammenhengende datasett.
Testdatageneratoren er implementert med en velprøvd tech-stack; Java med Spring Boot, en React frontend og Oracle database. Alt kjørende på Docker containere i Skatteetatens OpenShift cluster. Det domenespesifikke språket Skatteetatens Spesifikasjonsspråk for Testdata (SST) er implementert som en Kotlin DSL [https://www.baeldung.com/kotlin/dsl]. I praksis betyr det at brukeren skriver en spesifikasjon på et JSON-liknende format, men under panseret er spesifikasjonen kode til et lite Kotlin program som genererer fullstendige data-objekter når det kjøres med Java ScriptEngine.
Rolle.
JPros konsulent hadde rolle som arkitekt og seniorutvikler på prosjektet, med overordnet ansvar for å evaluere og bestemme tekniske løsninger, og sikre at systemet var teknisk egnet til formålet, alt innenfor rammene som var satt av Skatteetatens arkitekturretningslinjer. Konsulenten hadde også en viktig rolle som veileder for andre utviklere på prosjektet, både på junior og senior nivå, og utviklet også personlig mange av de sentrale og teknisk kompliserte komponentene i systemet.
Testdatageneratoren ble raskt et viktig verktøy for Skatteetatens IT tjenester, den gjør arbeidsdagen enklere og mer effektiv for hundrevis av IT-medarbeidere i etaten, og hjelper dermed Skatteetaten i å løse sitt samfunnsoppdrag.
Lignende prosjekter
Vil du vite mer?
Kontakt oss
Vi tar gjerne en prat for å avdekke dine behov og snakke om hvordan vi kan løse dine utfordringer.
T: 906 83 146
T: 934 45 707