Programvarutestning

Bild 1 av 1
Testing Frontpage

Vårt samhälle är uppbyggt av mjukvara. Mjukvara som driver våra hem, hanterar vår privata information, styr våra bilar, automatiserar våra fabriker och till och med reglerar våra kroppar. Det är oerhört viktigt att de system vi konstruerar är robusta och operativa, särskilt med tanke på den växande efterfrågan på komplexa funktioner, de begränsade utvecklingsbudgetarna och snäva tidsramar.

Programvarutestning innebär att dynamiskt testa mjukvara under olika scenarier och driftsförhållanden. Dessa testkörningar övervakas och resultaten jämförs med utvecklingsteamets förväntningar. Testning är den vanligaste – och ofta mest effektiva – metoden för att bedöma om komplexa system uppfyller de krav på korrekthet, prestanda och kvalitet som ställs på dem.

Programvarutestning är en viktig, kostsam och felbenägen process. Forskarna inom vår avdelning försöker besvara frågor som:

  • Vilka av det nästan oändliga antal scenarier som skulle kunna uppstå bör testas för att bäst kunna bedöma om det system som testas uppfyller målen, eller för att kunna identifiera fel i systemet under testet?
  • Vilka test ska utföras under vilken utvecklingsversion av programmet för att hålla utvecklingstiden så kort som möjligt och få tillräckligt med tid för återkoppling?
  • Hur kan testning av icke-funktionella egenskaper, t.ex. programvarans prestanda, integreras effektivt när man arbetar med kontinuerlig integrering och kontinuerlig leverans (även kallat CI/CD)?
  • Hur ska förväntat beteende specificeras, särskilt när ett system beter sig på ett icke-deterministiskt sätt?
  • Hur ska testsviter utvecklas under utvecklingscykeln?
  • Hur kan det mänskliga arbetet med testning underlättas genom automatisering och AI-baserade stödverktyg?

Det behövs nya och förbättrade testverktyg, tekniker och metoder för dagens komplexa system – särskilt i och med den ökade användningen av maskininlärning och distribuerade arkitekturer. Forskarna på vår avdelning har decennier av erfarenhet som pionjärer inom testområdet, särskilt när det gäller testautomatisering och automatisk generering av //test/testfall.

Forskningsområden

  • Automatisering av test och automatisk generering av testfall
  • Testning av AI-, maskininlärnings- och autonoma system
  • Testning av inbyggda system och fordonssystem
  • Prestandatester
  • Mutations- och felbaserade tester

Mer information om forskningsprojekt, publikationer, kurser och lista över anställda hittar du på vår engelska sida


Data- och informationsteknik, en gemensam institution vid Chalmers tekniska högskola och Göteborgs universitet.