Tilbake til søkeresultatene

NAERINGSPH-Nærings-phd

Model based testing to support dynamic generation of complex test data

Alternativ tittel: Modellbasert, dynamisk generering av komplekse testdata

Tildelt: kr 1,6 mill.

Tradisjonelt har programvareutviklingsteam i mange bransjer brukt kopier av produksjonsdatabaser eller deres maskerte, anonymiserte versjoner for testing. Imidlertid har Personvernforordningen (General Data Protection Regulation - GDPR) nyligforbudt slike praksiser. Da oppstår ofte behovet for å generere produksjonslike testdata, det vil si testdata som er statistisk representativt for produksjonsdataene og overholder domenets forretningsregler for å støtte programvaretestakt- iviteter. I denne avhandlingen adresseres dette behovet ved å presentere en ny tilnærming for å generere produksjonslike testdata ved hjelp av dype maskinlæringsteknikker og studerer den praktiske effektiviteten av vår foreslåtte tilnærming i industrielle miljøer. Vi la grunnlaget for forskningen ved å gjennomføre en case-studie med vår industrielle samarbeidspartner, Det norske folkeregisteret (NPR), for å identifisere testdatabehovene i tverrorganisatorisk integrasjonstesting mellom NPR og andre organisasjoner i norsk offentlig og privat sektor. Deretter foreslo vi en løsning for å generere produksjonsliknende testdata som imøtekom de identifiserte testdatabehovene. I denne løsningen berammet vi problemet med å generere produksjonsliknende testdata som et språkmodelleringsproblem og benyttet maskinlæring basert på språkmodelleringsteknikker for å bygge statistiske modeller fra produksjonsdata; den statistiske modellen ble deretter integrert med nedstrømskomponenter for å generere produksjonslike testdata. Videre, basert på de identifiserte testdatabehovene, foreslo vi et evalueringsrammeverk for å måle kvaliteten på genererte data. Dette evalueringsrammeverket ble også benyttet for å vurdere språkmodellens ytelse og effektiviteten av hele løsningen. For å evaluere den industrielle anvendbarheten av vår løsning, brukte vi den til integrasjonstesting hos vår industrielle samarbeidspartner, NPR. I NPR-konteksten eksperimenterte vi med tre av de mest vellykkede dyp læringsalgoritmene for språkmodeller- ing, dvs rekurrente nevrale nettverk (RNN), variational autoencoders og generative adversarial networks (GANs), for å trene språkmodeller fra NPR-produksjonsdata. Vi evaluerte og sammenlignet ytelsen til språkmodellene for de tre algoritmene ved hjelp av det foreslåtte evalueringsrammeverket. Resultatene fra eksperimentene våre viste at vår løsning kan generere testdata som er statistisk representative for produksjonsdataene og overholder forretningsreglene i domenet. Videre kunne RNN-modellen generere syntaktisk og semantisk gyldige data som er sterkt representativ for de virkelige NPR-dataene; den overgikk språkmodellene fra de to andre algoritmene. For å videre forbedre løsningen vår, foreslo vi en tilnærming for å utforme et domenespesifikt språk (DSL) for å oppnå høyere uttrykksfullhet og informasjonskapasitet. Et DSL designet med denne tilnærmingen tillater oss å bedre utnytte maskinlæringsteknologien og generere enda rikere og mer produksjonslike testdata. Ved å anvende denne tilnærmingen til NPR-domenet, eksperimenterte vi med det nye DSL-et og RNN-algoritmen for å trene en ny språkmodell fra produksjonsdata og evaluerte modellens ytelse med det foreslåtte evalueringsrammeverket. Eksperimentresultatene viste at til tross for høyere informasjonskapasitet og forbedret uttrykksfullhet, opprettholdt den nye språkmodellen den høye ytelsen til den forrige modellen, og sikret kontinuerlig kvalitet på genereringen av data, selv med en rimelig og overkommelig økning i beregningskostnadene. Avslutningsvis, denne avhandlingen presenterer en innovativ løsning for generering av produksjonslike testdata. Gjennom et storskala, industrielt studie har vi avansert forståelsen om anvendbarheten av datadrevne, maskinlæringsbaserte tilnærminger som en ny teknikk for å generere rike og høykvalitets testdata som kan brukes til pålitelig testing av store og komplekse systemer. Videre bekrefter våre praktiske industrielle evalueringer løsningens effektivitet og understreker dens anvendbarhet i virkelige, komplekse miljøer.

Prosjektet introduserer en innovativ metode som utnytter kraften i dyp læring og kunstig intelligens for å skape testdata som speiler virkelige scenarioer uten å kompromittere personvern eller regelverkets etterlevelse. I nært samarbeid med Det norske folkeregisteret, dykket vi ned i de intrikate behovene for tverrorganisatorisk integrasjonstesting. Denne forskningen ledet oss til å foreslå en løsning som revolusjonerer genereringen av produksjonsliknende testdata. Vi formulerte utfordringen som et språkmodelleringsproblem og brukte dyp læringsteknikker for å bygge statistiske modeller fra produksjonsdata. Disse modellene ble deretter integrert i vår løsning, og genererte testdata som ikke bare møtte de komplekse begrensningene i domenet, men som også gjennomgikk en grundig evaluering for kvalitet og etterlevelse. For å validere vår tilnærming, satte vi den på prøve i den virkelige verden hos Folkeregisteret, og eksperimenterte med avanserte dyp læring algoritmer. Våre resultater viser at vår løsning er i stand til å produsere data som ikke bare reflekterer statistisk nøyaktighet, men som også matcher de intrikate reglene i Folkeregisterets domene. Videre foreslo vi en forbedret metode ved bruk av et domenespesifikt språk (DSL), som tillater enda rikere og mer uttrykksfull datagenerering. Til tross for økt kompleksitet, viste våre eksperimenter at denne nye modellen opprettholdt høy ytelse, og sikret datagenerering av topp kvalitet til en rimelig beregningskostnad. Avslutningsvis, denne avhandlingen presenterer en innovativ løsning for å generere realistiske testdata ved bruk av dyp læring med praktiske anvendelser som opprettholder personvernregelverket. Ved å utvide grensene for datadrevne maskinlæringsmetoder, har vi åpnet nye dører for pålitelig testing av store og komplekse systemer i diverse bransjer. Vår suksess i industrielle innstillinger bekrefter den praktiske gjennomførbarheten og effektiviteten av denne løsningen.

Based on our current understanding of state of practice from our consultancy on software testing in the public sector, we have seen a tremendous need for better test data in order to support more systematic and complete software testing. Current many companies are using production data for testing purposes, however, this is problematic both because that this is illegal (according to EU regulations), and because that it does not support automated testing. Challenges: Our hypothesis is that current tools and methods for model based test data generation have in large part developed on the basis of small toy examples and thus can not scale up to meet the practical need for software testing in large scale complex software systems. This hypothesis will be verified on the basis of our systematic review of the current state of the art, combined with our observatory case studies on both the current state of practice and actual needs identified in the public sector. Our main challenge is thus to propose practical solutions to the very hard problem of generating sufficiently complex test data that will meed the actual requirements of our case study partners. Our solution approach is to iterative prototyping combined with cost benefit analysis of applying the prototypes on testing challenges faced by our case study partners. Use of findings: This aim of this project is to provide increased knowledge and prototype tools that can be further developed into industry strength tools that will help the industry and public sector to obtain sufficiently rich test data.

Budsjettformål:

NAERINGSPH-Nærings-phd