Denne artikkelen er produsert og finansiert av Høyskolen Kristiania - les mer.
Derfor kan flybilletten din havne i limbo
Bookingsystemer, betaling og bekreftelser er avhengige av at mange digitale systemer samarbeider samtidig. Ny forskning viser hvordan små feil i slike koblinger kan oppdages før du som bruker, blir rammet.
Du har sikkert opplevd det: Du bestiller flybilletter, velger avgang, fyller i alle detaljene med antall kolli, setenummer, bankkort. Trykker «betal».
Så står skjermen stille. Du venter. Prøver igjen.
Så begynner du å lure: Er billettene bestilt eller ikke? Nå må du også inn i bankappen og sjekke om du er trukket dobbelt.
– Det ser ut som én tjeneste. Det er det ikke
Vi bruker apper og digitale tjenester til å betale, bestille og organisere livene våre. Når noe henger seg opp, vet vi sjelden hva som faktisk har skjedd.
– Noen ganger ligger feilen et helt annet sted enn der du opplever den, sier Susruthan Seran ved Høyskolen Kristiania.
Han har forsket i skjæringsfeltet mellom cybersikkerhet, kunstig intelligens og programvareutvikling.
Han har studert hvordan man kan teste og avdekke feil i komplekse digitale systemer.
– Når du bestiller flybilletter, ser du én løsning. Men i praksis er det mange systemer som jobber sammen, sier Seran.
Han forklarer at en flybestilling involverer flere ledd:
– Det kan være bookingsystemet, betalingsløsningen, banken din og systemer som håndterer seter og bekreftelser. Alle må fungere samtidig.
– Det er koblingene som svikter
Når noe går galt, er det ikke nødvendigvis én del som ikke funker.
– Ofte er det samspillet mellom systemene som ikke fungerer som det skal, sier Seran.
Han peker på at selv små avvik kan få konsekvenser.
– En tjeneste kan svare litt annerledes enn forventet. Noe kan mangle. Eller det kan ta litt for lang tid. Da stopper hele prosessen opp.
Du som appbruker sitter igjen med usikkerheten: Ble bestillingen gjennomført eller ikke?
Tester ikke alle deler av et komplekst system
Programvare testes før den tas i bruk. Likevel oppstår slike situasjoner.
– Utfordringen er at utviklere ikke kontrollerer alle systemene løsningen er koblet til, sier Seran.
Eksterne tjenester kan endre seg eller oppføre seg uforutsigbart.
– Derfor lager vi ofte forenklede versjoner av dem i test. Men de oppfører seg ikke alltid som virkeligheten.
– Vi lar testverktøyet finne ut av det selv
Seran har i sin forskning utviklet metoder som skal håndtere dette.
– I stedet for at utviklere må bygge testmiljøer manuelt, lar vi testverktøyet analysere systemet, sier han.
Verktøyet finner ut:
hvilke systemer som er involvert
hvordan de kommuniserer
hva slags svar som brukes
Deretter lager det egne simuleringer.
– Det gir en mer realistisk test av hvordan systemet faktisk fungerer, sier forskeren.
Tester også det som ikke skal skje
En viktig del av forskningen er å teste situasjoner som ikke er perfekte.
– Tradisjonelt tester vi det som vi tror kommer til å skje. Med dette verktøyet tester vi også det som kan gå galt, sier Seran.
Det kan være:
manglende informasjon
feil i data
forsinkelser
uventede kombinasjoner
Det er ofte der feilene skjuler seg.
Seran peker på en annen utfordring.
– Moderne systemer må håndtere svært kompleks informasjon. Hvis testdataene er for enkle, får vi ikke testet alle situasjoner hvor noe kan gå galt, sier han.
Da får man bare testet på overflaten.
– Derfor har vi utviklet metoder for å lage slike datastrukturer automatisk, sier han.
Samme metode kan avsløre sikkerhetshull
Metodene kan også brukes til sikkerhetstesting.
– Når systemer er koblet til andre tjenester, kan de også angripes gjennom disse koblingene, sier Seran.
Ved å simulere manipulerte svar, kan forskerne teste hvordan systemet reagerer.
– Det gjør det mulig å oppdage sårbarheter før de blir utnyttet av hackere.
Ifølge Seran gjelder dette langt flere tjenester enn mange er klar over.
– De fleste digitale løsningene vi bruker i dag, er bygget på denne måten, sier han.
Det gjelder blant annet:
reise og bestilling
bank og betaling
helsetjenester
offentlige løsninger
– Målet er at du skal kunne trykke én gang
For appbrukeren er forventningen enkel: Du trykker én gang, og så skal det fungere. Billetten skal være bestilt. Og betalt bare én gang.
Derfor må det komplekse samspillet som ligger i bakgrunnen, testes automatisk.
– Ved å bruke avansert, automatisert testing for å finne feil, kan vi gjøre systemene mer robuste, sier Seran.
Referanser:
Susruthan Seran mfl.: Handling web service interactions in fuzzing with search-based mock-generation. ACM Transactions on Software Engineering and Methodology, 2026. Doi.org/10.1145/373155
Andrea Arcuri, Susruthan Seran mfl.: Tool report: EvoMaster—black and white box search-based fuzzing for REST. GraphQL and RPC APIs. Automated Software Engineering, 2025. Doi.org/10.1007/s10515-024-00478-1
Susruthan Seran mfl.: Multi-phase taint analysis for JSON inference in search-based fuzzing. In Proceedings of the 2025 IEEE/ACM International Workshop on Search-Based and Fuzz Testing (SBFT). IEEE, 2025. DOI: 10.1109/SBFT66712.2025.00015
Susruthan Seran mfl.: Detecting server-side request forgery (SSRF) vulnerabilities in REST API fuzz testing. In Search-Based Automated Mocking for System-Level Testing and Vulnerability Detection for RESTful APIs, 2025.
Susruthan Seran: Search-based automated mocking for system-level testing and vulnerability detection for RESTful APIs. Doktorgradsavhandling, Kristiania University of Applied Sciences, 2026.
Les også disse sakene fra Høyskolen Kristiania:
-
Antibiotika-resistens: Ny metode kan oppdage farlige infeksjoner før legene gjør det
-
Slik lærer studenter å styre systemene som holder samfunnet i gang
-
Hva om du kunne «gå opp i level» underveis i prøven?
-
Dette gjør at du tror på en historie
-
Frivillige aktivitetsledere får ikke nok anerkjennelse og støtte
-
VR-teknologi gjør at flere kan delta på konsert