Fallstudier

Fallstudie: Testinfrastruktur för felvägar med Application Verifier

Teknisk fallstudie om hur vi använde Application Verifier för att först bygga testinfrastruktur för felvägar och koppla den till förebyggande av upprepade fel.

Översikt över fallstudien

I stället för att avsluta med en enstaka felrättning använde vi i den här fallstudien Application Verifier för att bygga själva testinfrastrukturen för felfall. Målet var inte bara att ”hitta det aktuella felet”, utan också att i förväg skapa ett läge där nästa haveri också är lätt att följa.

Symptom

  • Enbart tester av normalfallet gjorde sällan att problem i felvägar kom upp till ytan
  • Problem vid låg resurstillgång och handle-fel syntes oftast bara under förhållanden som liknar skarp drift
  • Utredningsrutinerna blev lätt beroende av enskilda personer varje gång

Begränsningar

  • Att på riktigt tömma resurserna på en fysisk maskin är både dyrt och riskabelt
  • Vi ville tidigt få fram hur det går sönder vid gränsen mot native-kod och i Win32-anrop
  • Resultatet måste vara uppbyggt så att det kan återanvändas i nästa felutredning

Vad vi observerade

  • Verifier-inställningar som Handles, Heaps och Low Resource Simulation
  • Spår från felvägar, bland annat !htrace och page heap
  • Hur våra egna livscykelloggar motsvarar Verifier-stoppen

Hur vi avgränsade orsaken

Först skilde vi det som går att följa med vanliga loggar från det som inte syns utan Verifier. Därefter körde vi en testmiljö (harness) för körvägen under Verifier och riktade arbetet mot att synliggöra svåråterskapade fel tidigt.

Hur vi förbättrade läget

  • Vi byggde upp en testgrund som avsiktligt går igenom felvägarna
  • Vi gjorde det möjligt att observera handle- och heap-fel i kortare slingor
  • Vi ordnade observationspunkterna så att de enkelt kan föras tillbaka till senare designgranskningar och åtgärder mot upprepade fel

Tjänster som den här fallstudien hänger ihop med

Den här fallstudien hänger direkt ihop med felsökning och orsaksanalys, där man driver arbetet med att återskapa fel och identifiera orsaken. Det hänger också ihop med teknisk rådgivning och designgranskning, där man reder ut hur långt test av felfall och observationspunkter ska byggas in i designen.

Rådfråga oss här

Om den här sidan liknar den situation du står inför kan du rådfråga oss och beskriva nuläget och vilken typ av stöd du behöver.

Tillbaka till startsidan