Testdata og maskering i praksis Tord Søfteland 22.03.17
Kundetype KundetypeID Kundetype Område Ordre OrdreID Ordrebeskrivelse Ordredato Ordrebehandler KundeID (FK) Kunde KundeID Fødselsnummer Fornavn Etternavn Postboksadresse Gateadresse Telefon Epost Leveringstype KundetypeID (FK) Postnr (FK) Ord relinje OrdrelinjeID Linjenr Antall OrdreID (FK) ProduktID (FK) Poststed Postnr Poststed Område Applikasjonsintegritet Referensiell integritet Produkt ProduktID Produktnavn Vekt Pris
Kundetype KundetypeID Kundetype Område Kunde KundeID Fødselsnummer Fornavn Etternavn Postboksadresse Gateadresse Telefon Epost Leveringstype KundetypeID (FK) Postnr (FK) 01010112345 13057312345 02010112345 28115838336 01028923456 Poststed Postnr Poststed Område Vertikalt Subset Driver Drivertype Verdi 13057312345 28115838336 01028923456 03010112345 268 347 1934 348 566 683 833 Ordre OrdreID Ordrebeskrivelse Ordredato Ordrebehandler KundeID (FK) > 01.01.2010 Ord relinje 2774 4322 4323 OrdrelinjeID5813 (Horisontalt Subset) 8555 Linjenr Antall OrdreID (FK) ProduktID (FK) Produkt ProduktID Produktnavn Vekt Pris
28115838336 15115842918 15115842918 28115838336 De-identifisering Tord Søfteland John Singh Anonymisering
348 01010112345 Ben Hur Jspog Pseoords 12345678 ab@cd.com Post 58 5200 Kunde KundeID (aut. generated) Kundetype KundetypeID Kundetype Område Fødselsnummer Fornavn Etternavn Postboksadresse Gateadresse Telefon Epost Leveringstype KundetypeID (FK) Postnr (FK) Rule generator Random first name seedlist Random last name seedlist Random text, 10-80 Random number 8 Generates random email Implements function (app. integrity) Poststed Postnr Poststed Område Function of Leveringstype, variation and other criterias Random variation 673 Lspnmgklkjas 01.02.2016 AB 348 674 Knqwertypo 02.02.2016 CD 348 Ordre OrdreID Ordrebeskrivelse Ordredato Ordrebehandler KundeID (FK) 1023 1 1 673 1234 1024 2 10 673 4321 1025 1 4 674 3456 Ord relinje OrdrelinjeID Linjenr Antall OrdreID (FK) ProduktID (FK) Produkt ProduktID Produktnavn Vekt Pris
X-ref Hash LUV 28115838336 Funksjon A Funksjon B Tord Søfteland Tord Søfteland 28115838336 15115842918 Tord John Søfteland Singh Rec Play Proxy Maskering
Kundetype KundetypeID Kundetype Område Kunde KundeID Fødselsnummer Fornavn Etternavn Postboksadresse Gateadresse Telefon Epost Leveringstype KundetypeID (FK) Postnr (FK) Poststed Postnr Poststed Område Applikasjon Generere syntetiske data Forespørsel ForespørselID Verdi KundetypeID (FK) Service Proxy Svar SvarID Verdi KundetypeID (FK)
1.1 1.2 1.3 1.4
IT TDM TDM tjeneste (shared service): Compliance / juridisk Dataeier (forretning) Sikkerhet Verktøy og metoder Dev 1 Dev 2 Dev 3
Kontrakt Arkitektur Krav Design/Kode Det er her mange av de ikke-funksjonelle test case blir til. Her vil også krav til verdikjeder være. Akseptansetest Testdata: Hvilke data trengs for Systemintegrasjonstest sikkerhetstester Hvilke mengder data trengs for ytelsestester Systemtest Hvilke verdikjedetester skal denne applikasjonen ha Integrasjon/Enhetstest
Kontrakt Arkitektur Krav Design/Kode Det er her de funksjonelle Akseptansetest test case blir til, og 80% av feilene oppstår. Systemintegrasjonstest Testdata: Hvilke data som gir oss grenseverdier Systemtest Hvilke data som gir oss negative tester Integrasjon/Enhetstest Hva vi trenger av data for å teste nok i ST (ihht testplan)
Gjenbrukbare testdata Kontrakt Akseptansetest Arkitektur Systemintegrasjonstest Krav Systemtest Design/Kode Integrasjon/Enhetstest
TDM Governance TDM tjenesten og DBA(ene) har ansvar for repository. DBA Repository DB Prod TDM verktøy
Før subset kan produseres, må man lage overordnede Test Case. Test Analytiker har ansvar for dette. TDM Governance Test analytiker DBA Test case DB Prod Repository TDM verktøy DB DB Test Test
Den som utvikler tjenestene, er også best egnet til å vedlikeholde virtualiseringen. TDM Governance Test analytiker Utvikler DBA Test case Service proxy Kode Repository DB Prod TDM verktøy DB DB Test Test API manager
Stikkord TDM Governance = suksess eller katastrofe Integrere prosesser for test og testdata tettere i SDLC Fokusere på testdata i hele prosessen, alle trenger det Vedlikehold nær kompetanse, MYE kompetanse Ikke prøv å maskere «alt» for å tilfredsstille GDPR = katastrofe Ved bruk av syntetiske data har man ingen krav til compliance og det er lettere å generere riktige testdata Mye verktøyene ikke løser: prosesser, metoder, scripting, programmering etc. Finnes flere open source verktøy, men husk å bidra!