NB !!!! Denne side skal opdateres med en 2024 beskrivelse af testdata og miljøer.
I 2019 arbejdede Testindsatsen på at kortlægge og beskrive det testmiljø, som bruges til aftestning af integrationer.
Heidbra Jonsdottir udarbejdede et diagram over Miljøet
I 2019 arbejdede Testindsatsen på at kortlægge og beskrive det Store Integrerede Testmiljø.
Det resulterede blandt andet i denne Beskrivelse af testmiljøet.
Første afsnit i den beskrivelse er:
1.1 Integrations-tests for komponenter udviklet af AUITs udviklere.
1.2 System-test og system-integrations-test mellem nyudviklede og allerede eksisterende services op mod nye eller eksisterende systemer.
1.3 SKAL-opdateringer ved rettelser af produktionsfejl.
Proceduren er Først i udviklingsmiljø, så i Testmiljø og derefter i Produktion.
2.1 Deployment-test af nye systemer med nye services - inden produktions-deployment .
2.2 Test af patchninger og funktionsrettelser af systemer i forvaltning.
2.3 Test af data-initialisering af nye data-mapninger og til nye systemer.
2.4 Performancetest.
2.5 Forretningens brugertest, usecase-tests og user-acceptancetest.
2.6 Forretningens slutbruger-test og -undervisning.
2.7 Ad hoc Testmiljø for komponenter/applikationer - når nu miljøet er til stede …
2.8 Deployment-test af versionsopgraderinger af systemer.
2.9 Udviklings-Testmiljø for AUIT-webudviklere - fordi deres værktøj pt. ikke er funktionsdygtigt i Udviklingsmiljøet.
Denne version blev godkendt af møde med Kristine Stougaard og Martin Smith, e 21.feb. 2020.
As-Is beskrivelse af Det store integrerede Testmiljø, AUIT (2019( | |||
Noter, spørgsmål og forslag til Continuous improvement til ejerne af AUITs Testindsats | |||
Formål med Testmiljø | Der er flere formål med miljøet. Hovedformålene er, nu hvor dette skrives i dec. 2019: 1.1 Integrations-tests for komponenter udviklet af AUITs udviklere. 1.2 System-test og system-integrations-test mellem nyudviklede og allerede eksisterende services op mod nye eller eksisterende systemer. 1.3 SKAL-opdateringer ved rettelser af produktionsfejl. 2.1 Deployment-test af nye systemer med nye services - inden produktions-deployment . 2.2 Test af patchninger og funktionsrettelser af systemer i forvaltning. 2.3 Test af data-initialisering af nye data-mapninger og til nye systemer. 2.4 Performancetest. 2.5 Forretningens brugertest, usecase-tests og user-acceptancetest. 2.6 Forretningens slutbruger-test og -undervisning. 2.7 Ad hoc Testmiljø for komponenter/applikationer - når nu miljøet er til stede … 2.8 Deployment-test af versionsopgraderinger af systemer. 2.9 Udviklings-Testmiljø for AUIT-webudviklere - fordi deres værktøj pt. ikke er funktionsdygtigt i Udviklingsmiljøet. | Testmiljøet bruges, som man kan se, til mange forskellige formål. Og antal test-aktiviteter er stigende. Dermed er antal af perioder med konkurrerende aktiviteter stigende. Bare i 2020 skal vi i gang med de nye Studiesystem, LMS, og DigiEksamen samt en ny Auhra. Se nærmere om risici i afsnit neden for. Under udarbejdelsen af indeværende beskrivelse udviklede vi et Diagram over det store miljø. Der mangler måske en ansvarlig for at holde miljøet integreret. Under udarbejdelsen opstod der også ideen om eventuelt at oprette yderligere testmiljøer, således at testniveauerne kunne få 'renere' miljøer at udføres i. Testindsatsen har lavet en sammenstilling af udviklernes Testniveauer og niveauernes placering i Testmiljø i et særligt dokument. Her ses bl.a. de 3 hovedtyper af testaktiviteter, der nu foregår i Testmiljøet. Det er i øvrigt en vurdering (se Gartners A Litmus Test for Business Applications), at behovet for et integreret testmiljø øges generelt.
…
| |
Aftale om miljøets levetid | Miljøet holdes kontinuerligt kørende. Det er nødvendigt for AUITs testaktiviteter. Og i det samarbejde om udvikling, som AU har med eksterne leverandører i f.eks. fremmede lande, så bliver behovet for miljøet egentlig en oppetid 24-7. | Hele miljøet tages enkelte gange ned - til repopulering af miljøet med data fra produktion. Enkelte systemer og dermed dele af miljøet tages ned ved forvaltning, patchning og deployment. Disse aktiviteter indvirker forstyrrende på testaktiviteter. Man kunne måske indføre Servicevinduer til den slags aktiviteter. | |
Governance | |||
Noter, spørgsmål og forslag til Continuous improvement til ejerne af AUITs Testindsats | |||
For det Integrerede testmiljø | |||
Testmiljøejer | AUIT drift eller udvikling. Der er ikke én ejer men et samspil med ejere/ansvarlige af de testmiljøer der indgår i Det store integrerede testmiljø. | Er der behov for at udpege et egentligt ejerskab over den samlede systemopsætning, der kaldes Det Integrerede Testmiljø? Findes der f.eks. en Integrations-ejer, der har ansvar for de samlede integrationer? | |
Testmiljø driftsansvarlig | Der er ingen én person udpeget. Systemforvaltning for de enkelte miljøer er principielt ansvarlig for systemets testudgave. De systemansvarlige er også ansvarlige for systemet i testmiljøet. | Martin Smith har beskrevet det som, Ledelsen bør overveje, om det er en udfordring, at der ikke er nogen, der har driftsansvar for det samlede integrations miljø. | |
Testmiljø datasamlingsansvarlig Hvem giver adgang til miljøet. | Samme forbehold som oven for. Systemforvaltning for de enkelte miljøer er principielt ansvarlig også for test-adgang til data. | AUIT har i 2018 udarbejdet retningslinjer for, hvordan Sikker udvikling og sikker håndtering af testdata skal foregå. Idet testmiljøet i høj grad indeholder kopi af produktionsdata, så medfører det, at oprettede testbrugere i de forskellige systemer kan have adgang til de aktuelle produktionsdata, som det testsystem de arbejder med giver adgang til. På den side ses også hvilke krav systemforvaltningen skal opfylde. Herunder står der, at testdata skal registreres og der er beskrevet en procedure til det. Det bliver Testindsatsen og/eller AUIT-drift, der må følge op på, om disse retningslinjer bliver overholdt. | |
For hvert af de systemer, der indgår i testmiljøet : | |||
Testansvarlig for systemejer og produktet (jvf SLA og RFC) (både testsystemets funktionalitet og produktets testdata) | Dette bør indgå i Systemforvaltnings-dokumentation for hvert system. | Skabelonen for Systemforvaltning har længe indeholdt forslag til et afsnit om testmiljøer og testbehov. Men der er brug for at styrke udfyldelsen af afsnittet. Testindsatsen har programsat en besøgsrunde til systemforvaltninger med diskussion af testforvaltning. | |
Testansvarlig for ekstern leverandør | Dette bør indgå i Systemforvaltnings-dokumentation for hvert relevant system. | ||
Testansvarlig for integrationsleverancer hos AUIT (jvf SLA og RFC) (både leverede services og integrerede testdata) | Dette bør indgå i Systemforvaltnings-dokumentation for hvert system. | ||
Ændringsstyring | |||
SLA for testmiljø de ansvarlige er interessenter til en SLA, | Der er når dette skives ingen systemforvaltningsaftale eller SLA omkring miljøet. Miljøet vedligeholdes Det forventes, at udviklere, testere, projektansvarlige og systemansvarlige indbyrdes aftaler, når der skal ske justeringer og ændringer, der involvere større dele af testmiljøet. | Se ovenfor om systemforvaltning. Pt er der kun en sporadisk koordinering af brugen af (og dermed af ændringerne i) systemet. Pt er der en vis kalenderstyring af miljøet. Forslag: Hvis en testaktivitet booker miljøet i en periode, så er den ansvarlige person samtidig et kontaktpunkt for øvrige rekvirenter med henblik på at give akut eller kortvarig adgang til miljøet alligevel. | |
RFC for Testmiljø For både kodeændringer, dataændringer men også for deployment: | Der udarbejdes pt ikke dokumentation for effekten på miljøet af kommende ændring i kode eller data. Interessenterne aftaler indbyrdes efter bedste evne og erfaring. Udmelding om større changes foregår via Systemchef-Forum. | I løbet af 2019 er der fremkommet en række forslag til mulige initiativer angående changes:
Det er op til AUIT-ledelsen og evt. fremtidige projekter at overveje, hvordan der kan findes tid og ressourcer til sådanne tiltag. | |
Beskrivelse af Datasamling: Repopulering kan bestå af en blanding af
| Data i de systemer, der indgår i det integrerede Testmiljø forsøges holdt således at:
Testdata repopuleres i ny og næ med data, der svarer til data i produktion. Seneste repopuleringer blev foretaget: | I løbet af 2019 er der fremkommet en række forslag til mulige initiativer angående changes:
Det er op til AUIT-ledelsen og evt. fremtidige projekter at overveje, hvordan der kan findes tid og ressourcer til sådanne tiltag. | |
Produktets system(er) og AUIT-leverancer i dette Testmiljø, som dette system er ejer af | |||
Samling af systemer | Det integrerede Testmiljø er en samling af Se beskrivelse i de næste linjer for hver samling. | Under udarbejdelsen af indeværende beskrivelse udviklede vi et Diagram over det store miljø. Mange samtaler med mange involverede personer tog udgangspunkt i dette diagram - og dets opdeling af testmiljøet i 'Hjertet af intetgrationerne', 'De tættest tilknyttede systemer' og 'de afhængige systemer'. (se mere i de kommende afsnit). I de fleste af samtalerne skulle folk lige tænke sig om, inden de accepterede Heidbras tanker om ÉT samlet miljø. De enkelte udviklere og testansvarlige arbejder typisk i en mindre del af miljøet. Man véd godt, at de andre systemer også er der, men man tænker måske ikke altid over, hvor tæt integreret vi har behov for, at miljøet faktisk er. | |
Hjertet i integrationsmekanikken | SOA-systemet, med konfigurationer og egne data samt service-'kontrakter' mellem systemer. IDM-systemet, med drivere, Userapps og workflows op mod diverse systemer samt data om personer, roller og organisation. Dele af Aros datasamlingen (hjælpetabeller, mellemtabeller ol). Datasamlinger og hjælpetabeller i Auhra og Stads. | ||
De tættest integrerede systemer | Auhra (med egne frontends) | ||
Aftagersystemer - med løsere/enklere integrationer | Listen er lang - og der kommer hele tiden nye til. Her kan som eksempel nævnes: | I Heidbras diagram over tilknyttede systemer, så indgår der ca. 15 aftagersystemer. Det er de systemer, som blev involveret i repopuleringen i feb. 2019. På AUs Reolen, i listen over integrerede systemer, indgår der cirka 50 systemer. | |
Evt. eksterne leverandører og samspil med deres installation eller data. | Der er eksterne leverandører til stort set alle systemer i testmiljøet. Herunder driftes nogle af systemerne (og deres testmiljøer) af den eksterne leverandør. I alle disse tilfælde er det vigtigt, at samspil og ansvarsdeling er beskrevet i:
| AUIT er leverandør af rigtig mange af de services, drivere, scripts og koder i øvrigt, der binder systemerne sammen i den ønskede integration. Men der er også eksterne leverandører, der har services kørende 'i deres ende af systemet', som er afhængige af at kunne kalde eller aktivere services i vores ende af miljøet. I hvor høj grad skal disse situationer beskrives i indeværende dokument? | |
Testmiljøets relation til tilsvarende installation i produktion versionering | Systemerne i testmiljøet er ofte men ikke altid af samme version som i produktion. Nogle gange har systemansvarlig ikke fået opdateret testudgaven til nyeste version. Nogle gange er de services og andre integrationskoder, som AUIT leverer, af en nyere version end i produktionsmiljøet - og disse er nogle gange fejlbehæftede, netop fordi de er under aftestning. Systemer i testmiljøet holdes så vidt muligt konfigureret på samme måde som i produktion. Data i systemer i testmiljøet afspejler til en vis grad data i produktion. | Jeg kender ikke hvilke forbehold der givet vis findes her. | |
Applikation(er) | Mange af systemerne kommer med egne frontends og applikationer. Udviklere har gennem deres udviklingsværktøjer adgang til metoder for at initiere og følge databevægelser. Se retningslinjer i førnævnte Sikker udvikling og sikker håndtering af testdata. | ||
Egne datasamlinger(r) Prod-kopi af data og/eller nye testdata til testcases | Se afsnit oven for. | ||
Data: initiering - repopulering - backup | Se afsnit oven for. | ||
Adgangsstyring | Systemforvaltning for de enkelte miljøer er principielt ansvarlige også for test-adgang til data. I testmiljøet er der særligt behov for adgangsstyring af testere - fra udvikling, drift og forretningsbrugere. Der bruges flere metoder til at vedligeholde disse lister. Det er i høj grad udviklere og projektansvarlige, der vedligeholder disse grupperinger af testfolk. AUIT har i 2018 udarbejdet retningslinjer for, hvordan Sikker udvikling og sikker håndtering af testdata skal foregå. | Det er en kendt udfordring, at testadgange sjældent slettes. Adgangsstyring er derfor et særligt issue i forhold til 'forvaltning af det samlede testmiljø'. Måske skulle vi indføre en form for logning af, at der kan sikres sporbarhed af adgangen til de systemer, der indgår i miljøet. | |
Risiko | Mulige tiltag | ||
Forstyrrelse i og mellem systemer ved brug af det aktuelle miljø | |||
AUIT-kode til den ene integrationstest kan udsættes for ustabilitet pga. kodeudskiftning af en integration man er afhængig af i en anden integrationstest. | Skab større kendskab til sammenhængen i det samlede miljø. Skab større viden i det hele taget om, hvilke testforløb skal eller skal ikke udføres i det integrerede miljø. Genopbyg udviklings-testmiljøet for webudviklerne. Skab kommunikationsforum for meddelelser om ændringer mellem de testansvarlige. Vejled vores systemansvarlige i, hvordan de skal håndtere 'brugerhenvendelser' om fejl i testmiljøet. | ||
Data-sammenhæng mellem integrerede systemer kan brydes hvis: Et udviklingsforløb aftester nye datastrukturer og -mapninger, der indvirker på omliggende systemer. | Som ovenfor. | ||
Data-sammenhæng mellem integrerede systemer kan brydes hvis: Det ene testforløb indsætter egne testdata, der ikke integreres som håbet til omliggende systemer. | Som ovenfor. Desuden: Integrations-brud af data kan ikke undgås, så længe miljøet bruges til så tidlig kode-test som nævnt i formålsbeskrivelsen (pkt 1.1, 1.2, 2.2, 2.3, 2.7, 2.9). Så længe vi ikke har metoder til at 'rulle test-inddateringer' tilage, så må vi nok leve med det. Men på sigt ville det være godt med en 'repopulering af de ønskede testdata'. | ||
Data-sammenhæng mellem integrerede systemer kan brydes hvis: Det ene testforløb ændrer i testdata således, at testdata i andre systemer forstyrres. | Som ovenfor | ||
Der er ikke tid/plads i kalenderen til min testaktivitet. | Gør ejer af aktuel kalenderreservation ansvarlig for at forhandle med øvrige rekvirenter om at give plads i kalenderen. Vejled alle interesserede i, hvordan kalender-reservationerne skal håndteres. En første udgave af disse vejledninger udformes i feb. 2020 og skal derefter udbredes til de rette parter. | ||
Forstyrrelse af forretningstest- og undervisnings-forløb | |||
Forretningens accept-test kan forstyrres, hvis der samtidig foretages integrations- og systemtest samt fejlretning i forbindelse med de integrationer, frontends og applikationer, som forretningstesteren skal bruge. | Under udviklingsforløb skal testmanager/testere lave klare aftaler om, hvilke typer af tests og fejlrettelser, der kan ske samtidig. Selv når det drejer sig om skal-opdateringer eller små-rettelser fra andre systemer, så skal disse orientere sig om, hvorvidt der er reservationer af afhængige systemer i kalenderen. I givet fald skal der forhandles med den kalenderansvarlige, hvornår der kan gives kalenderplads til rettelserne. | ||
Forretningens bruger-undervisning kan forstyrres, hvis der samtidig foretages systemtest og fejlretning i forbindelse med de integrationer, frontends og applikationer, som slutbrugeren skal præsenteres for. | Som ovenfor. | ||
Forstyrrelser i aktuelt miljø ved systemforvaltning i miljøet. | |||
Test sættes i stå, når de tættest integrerede systemer skal vedligeholdes. | Man kunne måske indføre Servicevinduer til den slags aktiviteter. Og som tidligere nævnt: Gør ejer af aktuel kalenderreservation ansvarlig for at forhandle med øvrige rekvirenter om at give plads i kalenderen. Vejled alle interesserede i, hvordan kalender-reservationerne skal håndteres. Både når man 'ejer' miljøet i kalenderen og når man ønsker adgang til miljøet. | ||
Test sættes i stå, når der sker repopulering fra produktion af data. | Man annoncerer Servicevinduer til repopuleringen. Men den kan komme ubelejligt for visse testforløb. | ||
Performancetest. De kan være så performance-krævende, at de sætter øvrige integrationsprocesser i stå. | Den bedste løsning ville være at indføre et staging-miljø. Se skitsen til forslag i dette dokument for 'de 4 niveauer af testmiljøer'. Det næstbedste er at performance-tests koordineres i god tid med den aktuelle kalenderejer af miljøet. | ||
Persondata & GDPR | |||
Begrænsning af dataudvalg | Fordi dette er Det Integrerede TestMiljø, så er det vigtigt, at data-objekterne hænger sammen på tværs af systemer. Derfor bør alderen/versionen af testdata i det ene system svare til alderen/versionen i det andet system. | AUIT og systemforvaltningen har ikke en metodik til at sikre dette på anden vis, end ved at kopiere alle data fra produktion over i alle systemerne i testmiljøet. | |
Anonymisering | Fordi det er så vigtigt, at data-objekterne hænger sammen på tværs af systemer, så skal identiteter og andre nøgle-referencer mellem systemerne svare til og kunne knytte sig til hinanden. | AUIT og systemforvaltningen har ikke en metodik til at sikre dette på anden vis, end ved at kopiere disse identiteter og nøgle-referencer fra produktion over i alle systemerne i testmiljøet. AUIT-Sikkerhed har tidligere godkendt denne procedure. Men man ER klar over, at den fulde produktions-kopi ER problematisk. Og med nye sikkerhedsforordninger som f.eks. GDPR stilles der større krav til sporbarhed, retten til at blive glemt ol. Og i det hele taget er det et problem, at oprettelsen og manglen af nedlæggelse af testbrugere er så ukontrolleret. Oprettede testbrugere har adgang til de aktuelle produktionsdata, som det testsystem de arbejder med giver adgang til. | |
Databehandleraftaler | Systemforvaltningen bag hvert system og/eller projektledelsen for et nyt system har ansvaret for at udarbejde databehandleraftaler inden for dét system. Forvaltere af de tættest integrerede systemer skal være særlig opmærksomme på, at der kan opstå indirekte integrations-effekter ved indførsel af nye systemer. Alle data-interessenter skal inddrages hver gang. | ||
Ang GDPR og DPO | Et muligt spørgsmål til DPO kunne være: | AUIT-sikkerhed har det generelle ansvar for at påpege IT/System-ricisi. AU's DPO (Data Protection Officer) har friheden og pligten til at påtale omstændigheder omkring perondata. Loven siger: |
Reservation af testmiljøer foregår ved booking i Outlook på testmiljø-’mailkontoerne’.
I Outlook er der således oprettet flg. kalendere til brug for reservation af relevante dele af det integrerede testmiljø:
Alle kan reservere et testmiljø i kalenderen. Lav reservationen i egen kalender og inviter de relevante testmiljø kalendere med. Kontrollér at aftalen er markeret som ”Free/Ledig”, så den ikke er blokerende i egen kalender.
Det er muligt at lave dobbelt reservationer, således at flere kan benytte sig af testmiljøerne på samme tid. Hvis et testmiljø er reserveret i forvejen, og man ønsker at lave en samtidig reservation, aftales indbyrdes om det er ok, og hvordan reglerne for brug at testmiljøet skal være.
Hvis man ønsker at tilkendegive, at der ikke må laves dobbelt reservationer, markeres reservationen som ”FROZEN” ved at angive ”FROZEN” i subject-linien/titel. Det henstilles, at frozen-reservationer ikke blokerer mere end højst nødvendigt.
Hvis andre systemejere/systemansvarlige ønsker en testmiljøkalender for deres System, så bestilles disse via FA IT supporten. Kontakt testenheden for at få testmiljøkalenderen med på denne oversigt - se kontaktoplysninger her Kontakt testenheden: