Tapaustutkimus

Tapaustutkimus: virhepolkujen testausperusta Application Verifierilla

Tekninen tapaustutkimus siitä, miten Application Verifierilla rakennettiin ensin virhepolkujen testausperusta ja miten se liitettiin ongelmien toistumisen ehkäisyyn.

Tapauksen yhteenveto

Tapauksessa ei tyydytty yksittäiseen virhekorjaukseen, vaan Application Verifierin avulla rakennettiin itse virhepolkujen testausperusta. Tavoitteena ei ollut pelkästään ”löytää nykyinen vika”, vaan myös luoda etukäteen tila, jossa seuraavakin vika on helppo jäljittää.

Oire

  • Pelkät normaalipolkujen testit tuovat virhepolkujen ongelmat harvoin esiin
  • Vähäisten resurssien tilanteet ja kahva-anomaliat näkyvät helpoimmin vain tuotantokäyttöä lähellä olevissa olosuhteissa
  • Selvitystyön vaiheet riippuvat helposti kulloisestakin tekijästä

Rajoitteet

  • Resurssien todellinen ehdyttäminen oikealla laitteella on kallista ja riskialtista
  • Haluttiin tuoda esiin natiivirajapintojen ja Win32:n ympäristön vikaantumistavat jo etukäteen
  • Ympäristö oli rakennettava niin, että sitä voi käyttää uudelleen seuraavassa vianetsinnässä

Mitä havainnoimme

  • Verifier-asetukset, kuten Handles, Heaps ja Low Resource Simulation
  • Virhepolkujen jäljet, mukaan lukien !htrace ja page heap
  • Omien elinkaarilokien ja Verifierin pysäytystietojen vastaavuus

Miten rajasimme ongelman

Erottelimme ensin sen, mikä oli jäljitettävissä pelkillä tavallisilla lokeilla, ja sen, mikä ei näkynyt ilman Verifieria. Sen jälkeen otimme Verifierin käyttöön testikehikkoon viedyllä suorituspolulla ja siirsimme painopisteen toimintatapaan, jossa vaikeasti toistettavat poikkeamat tuodaan esiin etukäteen.

Miten tilannetta parannettiin

  • Rakennettiin testausperusta, joka ajaa virhepolkuja tarkoituksella
  • Kahva- ja keko-poikkeamat saatiin havaittaviin lyhyemmissä testisilmukoissa
  • Havaintopisteet jäsenneltiin niin, että ne on helppo palauttaa myöhempiin suunnittelukatselmointeihin ja toistumisen ehkäisyn toimenpiteisiin

Palvelut, joihin tapaus liittyy

Tapaus liittyy suoraan palveluun Vianetsintä ja juurisyyanalyysi, jossa viat toistetaan ja syyt tunnistetaan. Se liittyy myös palveluun Tekninen konsultointi ja suunnittelukatselmointi, jossa jäsennetään, kuinka pitkälle virhepolkujen testit ja havaintopisteet kannattaa sisällyttää suunnitteluun.

Neuvottele kanssamme

Jos tämä sivu vastaa ongelmaa, jonka parissa työskentelette, pyytäkää meiltä neuvoa kertomalla nykyinen tilanne ja millaista tukea tarvitsette.

Takaisin etusivulle