Casestudie

Casestudie: testinfrastruktur for feilbaner med Application Verifier

Teknisk casestudie om hvordan vi brukte Application Verifier til å bygge testinfrastruktur for feilbaner først og koble den til forebygging av gjentakelse.

Oversikt over casen

Dette er en casestudie der vi ikke stoppet ved en enkeltstående feilretting, men brukte Application Verifier til å bygge selve testinfrastrukturen for feilbaner. Målet var ikke bare å finne den aktuelle feilen, men også å gjøre det på forhånd lett å spore neste feil.

Symptom

  • Tester av normale kjøringer alene avslørte sjelden problemer i feilbanene
  • Lite ressurser og feil på håndtak viste seg ofte bare under forhold som lignet produksjon
  • Undersøkelsene ble lett avhengige av enkeltpersoner

Begrensninger

  • Å tømme ressursene på en reell maskin er både kostbart og risikabelt
  • Vi ville tidlig avdekke hvordan ting går i stykker ved grensen mot native kode og rundt Win32
  • Resultatet måtte settes opp slik at det kunne gjenbrukes i neste feilundersøkelse

Hva vi observerte

  • Verifier-innstillinger som Handles, Heaps og Low Resource Simulation
  • Spor etter feilbaner, blant annet !htrace og page heap
  • Sammenhengen mellom våre egne livssykluslogger og stoppinformasjonen fra Verifier

Slik avgrenset vi årsaken

Først skilte vi mellom det som kunne følges med vanlige logger alene, og det som ikke kunne ses uten Verifier. Deretter la vi Verifier på en kjøringsvei som var pakket inn i en testharness, og vendte tilnærmingen mot å bringe vanskelig reproduserbare feil frem tidlig.

Slik forbedret vi situasjonen

  • Vi bygde en testinfrastruktur som bevisst går gjennom feilbanene
  • Vi gjorde feil på håndtak og heap observerbare i kortere sløyfer
  • Vi ordnet observasjonspunktene slik at de lett kan føres tilbake til senere designgjennomganger og tiltak mot gjentakelse

Tjenester denne casen henger sammen med

Denne casen henger direkte sammen med Feilsøking og rotårsaksanalyse, som driver arbeidet med å gjenskape feil og finne årsaken. Den henger også sammen med Teknisk rådgivning og designgjennomgang, som avklarer hvor mye av testene av feilbaner og observasjonspunktene som bør bygges inn i designet.

Rådfør deg med oss her

Hvis du har en utfordring som ligger nær innholdet på denne siden, kan du rådføre deg med oss og legge ved en beskrivelse av dagens situasjon og hva slags støtte du trenger.

Tilbake til hjem