Testservices til legacy-software
Kvalitetssikring af systemer, der ikke tåler nedetid
Vedligehold din løsning og udrul rettelser uden frygt. Migrér med dokumentation, ikke håb. Samarbejd med eksperter i softwaretest, der har praktisk erfaring og dokumenterede resultater.

Fortune 500-virksomheder over hele verden har haft tillid til os siden 2011.

Det hjælper vi med
Vedligehold, forbedr, integrér eller migrér. Vi har din ryg.
Uanset hvilket stadie dit system er i, tilpasses testtilgangen målet – ikke omvendt.
Softwarevedligeholdelse
Hold det nuværende system stabilt og sikkert med regressionsdækning ved hver ændring.
Udvidelse med nye funktioner
Udrul nye funktioner på den eksisterende stack, verificeret mod alt det, der allerede virker.
Integration og interoperabilitet
Forbind legacy-systemer med moderne værktøjer og leverandører uden at forstyrre det, der allerede virker.
Migrering og modernisering
Flyt til en moderne teknologistack med dokumenteret bevis for, at intet går tabt undervejs.
Fortæl os om din stack.
Vi har sandsynligvis* arbejdet med den.
COBOL, Delphi, VB6, .NET Framework, AS400, Oracle Forms. Hvis det driver din forretning, eller du planlægger at migrere, kan vi hjælpe med QA-delen.
*Har vi ikke den erfaring, du har brug for, giver vi en tur på Starbucks.
Tekniske kompetencer
Sådan bygges kvalitet på en legacy-stack
De fire mål ovenfor hviler på seks tekniske kompetencer. Det er det tekniske lag: hvordan testdækning faktisk bygges op på en stack, der er ældre end de værktøjer, alle andre bruger.
Karakteriserings- og regressionstest
Det tekniske fundament i enhver legacy-opgave: at indfange den nuværende adfærd som specifikationen. Golden master- og snapshot-teknikker optager de reelle output (rapporter, filer, databasetilstande, API-svar) og markerer enhver afvigelse ved hver kørsel – koblet til automatiserede regressionssuiter også hvor der endnu ikke findes en CI-pipeline.
- Golden master / approval testing mod data med reel produktionsstruktur
- Risikobaseret kortlægning af testdækning: først de stier med mest trafik og størst omsætning
- Testafvikling integreret i legacy-buildsystemer (eller bygget fra bunden: Jenkins, planlagte runners, gates før release)

Migrering og verifikation af paritet
Det tekniske bevislag ved replatforming: at vise, sag for sag, at det nye system gengiver det gamles adfærd. Dækker migrering af teknologistack, migrering af miljø (on-premise til cloud, flytning af infrastruktur og hosting) og kombinerede scenarier.
- Suiter til adfærdsparitet: identiske input køres mod gammelt og nyt, og output sammenlignes automatisk
- Afstemning af datamigrering: rækketællinger, checksummer og sammenligninger på feltniveau på tværs af komplette datasæt, ikke stikprøver
- Validering ved parallelkørsel med automatisk rapportering af afvigelser; rollback-parathed verificeret før hver cutover-gate
- Kontrol af miljøparitet: konfigurationer, tidszoner, sprogindstillinger, OS-afhængigheder og performance-baselines på den nye infrastruktur

Specialbyggede testharnesses til ikke-understøttede stacks
Når Selenium, Playwright og selv AI-baserede værktøjer ikke kan følge med, må vi bygge noget specialtilpasset – og det har vi gjort siden 2011.
- Terminalemulering til green-screen-flows (AS400 / IBM i, 5250/3270-protokoller)
- UI-automatisering på desktop: WinForms, WPF, MFC, Delphi, VB6, Java Swing, PowerBuilder
- Test på protokolniveau: SOAP, WCF-bindinger, MSMQ / legacy JMS-køer, EDI, orkestrering af batchjob
- Generering og maskering af testdata til systemer, der kun har produktionsdatasæt

Eksekverbar dokumentation
Det biprodukt, der lever længere end samarbejdet. Hver karakteriseringstest er en læsbar beskrivelse af, hvad systemet gør. Forretningsregler, der er udtrukket af koden og valideret med dine domæneeksperter, bliver specifikationer, som forbliver korrekte, fordi de kører dagligt.
- Testbeskrivelser på adfærdsniveau, som ikke-udviklere kan læse
- Udtræk af forretningsregler fra stored procedures, batchlogik og kodestier
- Sporbarhed mellem regler, test og de moduler, der implementerer dem

Integrations- og interfacetest
Sømmene mellem gammelt og nyt rummer den største del af risikoen for hændelser: et moderne API antager, at legacy-kernen opfører sig på én måde, mens den i stilhed opfører sig anderledes. Test på kontraktniveau fastlægger begge sider.
- Kontrakttest mellem legacy-kerner og REST/GraphQL-lag
- Konsistenskontrol mellem SOAP/WCF og moderne services, inklusive fejl- og timeout-adfærd
- Verifikation fra batch til event-stream: rækkefølge, dubletter, idempotens, genkørsel
- Regressionstest af tredjepartsintegrationer på tværs af systemgrænser

Performance- og belastningstest på legacy-infrastruktur
Kapacitet som et målt tal, ikke et gæt. Belastningstest tilpasset lukkede, on-premise og protokolbegrænsede miljøer, hvor SaaS-baserede belastningsværktøjer ikke kan nå ind.
- Belastningsgenerering mod legacy-protokoller og desktop-/terminalsessioner, ikke kun HTTP
- Isolering af flaskehalse i aldrende databaser, middleware og batchvinduer
- Performance-baselines optaget før migrering og sammenlignet efter migrering

Processen
Sådan forløber et samarbejde
Det kræver reel tillid at overdrage et legacy-system. Her er præcis, hvad der sker i hvert trin, så intet kommer som en overraskelse.
- 1
Kortlægning
System, integrationer og risici kortlægges sammen med dit team. Et bredere udgangspunkt er muligt via QA-audit.
- 2
NDA og sikker adgang
ISO 9001 / 27001 / 22301-certificerede processer. Din kode læses af ingeniører under kontrakt og indsættes aldrig i en offentlig AI-chatbot.
- 3
Adfærdsmæssig baseline
Hvad systemet faktisk gør i dag, dokumenteret. Referencepunktet for hver ændring og migrering.
- 4
Opbygning af testdækning
De områder med højest risiko beskyttes først. Værdi fra den første sprint.
- 5
Sikkerhedsnet eller migreringsstøtte
Løbende beskyttelse mod regression eller fuld validering af migreringen. Uanset hvad er du dækket.
- 6
Løbende support
Omfanget tilpasses, når dine behov ændrer sig – fra stabil vedligeholdelse til en fremtidig migrering, uden at starte forfra.
Få en samarbejdspartner, der tager ansvar for QA-aktiviteterne
Vores opgave er at hjælpe dig med at sikre, at dit system kører, som det skal – uanset hvilke ændringer eller forbedringer du planlægger.
Teknologier
Legacy og aldrende teknologier, vi ved, hvordan man tester
»Legacy« er ikke kun mainframes. Det er også .NET-appen fra 2012, der behandler hver enkelt faktura, VB6-værktøjet, ingen har lyst til at røre, og AS400-systemet, der kører stille i baggrunden. Hvis det stadig udfører reelt arbejde, ved vi, hvordan det testes.
Microsoft-stack
.NET Framework (WebForms, WinForms, WPF, MVC 3–5) · WCF og SOAP · VB6 og VB.NET · Classic ASP · Silverlight · Stored-procedure-logik i SQL Server · COM/ActiveX
Sprog og platforme
COBOL · Delphi · PowerBuilder · Legacy-Java (6–8, EJB, Swing, Struts) · Perl · PHP 5.x · Python 2 · ColdFusion · FoxPro · Objective-C
Aldrende webframeworks
AngularJS · jQuery-frontends · Backbone.js · Knockout.js · GWT · Flash/Flex · Rails 2–4
Systemer og infrastruktur
AS400 / IBM i · Mainframes · Oracle Forms · On-premise-monolitter · MSMQ, gammel JMS
Grænseflader
Green-screen-terminaler · Desktopklienter (WinForms, MFC) · Batch-pipelines · EDI
Er din teknologistack ikke på listen? Lad os tale om det
Derfor vælger kunderne os
Grunde til at virksomheder betror os deres legacy-systemer
Test af legacy-software er ikke blot et sidetilbud – det er specialiseret arbejde med specialiseret dokumentation. Sådan ser det ud i praksis.
500+ ISTQB-certificerede ingeniører
Hver ingeniør, der arbejder på dit system, lever op til en internationalt anerkendt teststandard – ikke kun intern oplæring – og mange har konkret erfaring med ældre stacks, som de fleste nyansatte aldrig har rørt.
14+ år i branchen
Længe nok til at have testet systemer gennem flere platformsskift og regelændringer – og til at have bygget de specialbyggede værktøjer, der udfylder hullet, når Selenium, Playwright eller AI-baserede generatorer ikke kan nå en teknologi
5.000+ fysiske enheder og konfigurationer
For legacy-desktopklienter, der stadig kører på en blanding af OS-versioner og hardware i marken, foregår testen på fysiske maskiner – ikke i et enkelt rent miljø.
Menneskelig vurdering, hvor AI kommer til kort
AI-genererede test glider ud i fiktion på udokumenterede systemer, hvor der ikke findes en ren specifikation at træne mod. Vores ingeniører læser koden og verificerer adfærden direkte.
Viden, der akkumuleres
Jo længere vi arbejder med et system, jo mere værdi tilføjer vi. For legacy-software, hvor organisationens viden ofte er den største risiko, er det hele pointen.
Sikkerhed først i samarbejdet
ISO 27001-processer, gensidige NDA'er fra dag ét og erfaring inden for bank, telekommunikation og sundhedsvæsen – brancher, hvor legacy-systemer og compliancekrav typisk overlapper.
Brancher
Bygget til systemer, der ikke kan udskiftes fra den ene dag til den anden
Nogle systemer kan ikke bygges om uden alvorlig driftsrisiko. Her er de brancher, hvor det oftest gælder, og hvor testen skal arbejde omkring årtiers teknisk gæld i stedet for at ignorere den.
- Fintech og bank
- Sundhedsvæsen
- Stat og offentlig sektor
- Retail
- Forsikring
- Telekom
- Produktion
- Rejser og hospitality

Cases
Virksomheder i regulerede brancher med de højeste indsatser har tillid til os
Migreringer skaber risiko. Det gør det også at miste de mennesker, der forstod systemet. Sådan håndterede vi begge dele, uden at nogen af dem blev et problem.
Udfordringen: Efter at INDEXOs banksystem var gået i luften, migrerede virksomheden senere til ny infrastruktur – en ændring, der risikerede at introducere performanceregressioner i et system i drift.

TestDevLab kørte de samme belastningstestscenarier som før lanceringen igen og bekræftede, at migreringen ikke havde forringet performance eller introduceret nye problemer.
INDEXO flyttede til ny infrastruktur med verificeret tryghed.
Udfordringen: i-Hubs test hvilede udelukkende på manuelle processer. Da deres eksisterende manuelle testteam senere forlod projektet, var risikoen ikke kun et hul i testen – det var tabet af den akkumulerede viden om, hvordan systemet faktisk opførte sig.

TestDevLab etablerede automatiseringsframeworket og dokumentationen tidligt i projektet, så viden blev indfanget fra starten. Da kundens QA-team senere blev udskiftet, fortsatte projektet uden afbrydelse.
En testproces designet til at overleve forandring.
FAQ
Spørgsmål, folk stiller, før de går i gang med test af legacy-software
Ja, og det er størstedelen af arbejdet. Karakteriseringstest indfanger, hvad jeres system faktisk gør i dag, og bruger dets reelle adfærd som specifikation – uanset om den adfærd nogensinde er blevet skrevet ned.
Nej. Kortlægning, baselinetest og opbygning af testdækning er designet til at kunne køre uden at forstyrre systemet i drift. Hvis en ændring kræver et servicevindue, planlægger vi det med jer i forvejen – aldrig som en overraskelse.
Med risikoen, ikke med alt på én gang. Vi kortlægger først de stier med mest trafik og størst omsætning, så de områder, der mest sandsynligt kan gøre reel skade, bliver beskyttet først.
Når standardværktøjer ikke kan nå en teknologi, bygger vi et specialbygget harness, der kan. Terminalemulering, UI-automatisering på desktop, test på protokolniveau – det har været et speciale siden 2011.
Test af adfærdsparitet: identiske input køres mod begge systemer, og output sammenlignes automatisk. Kombineret med dataafstemning og kontrol af miljøet, så intet ændrer sig i stilhed under flytningen.
Adgang er styret af gensidige NDA'er og ISO-certificerede processer fra dag ét. Jeres kode og data håndteres af ingeniører under kontrakt og inden for jeres eksisterende sikkerhedskrav.
Den viden bliver indfanget, ikke tabt. Eksekverbar dokumentation og karakteriseringstest registrerer, hvad systemet faktisk gør, så organisationens viden lever længere end nogen enkelt persons ansættelse.
Klar til at teste det system, der i virkeligheden driver din forretning?
Uanset om du lapper, integrerer eller planlægger en fuld migrering, kan vi kortlægge risikoen, før den bliver et problem.


