Studiu de caz
Studiu de caz: infrastructură de testare a căilor de eșec cu Application Verifier
Studiu de caz tehnic despre utilizarea Application Verifier pentru a pregăti mai întâi infrastructura de testare a căilor de eșec și a preveni reapariția defectelor.
Prezentarea studiului de caz
Este un studiu de caz în care nu ne-am oprit la remedierea punctuală a unui defect, ci am pus la punct, cu Application Verifier, chiar infrastructura de testare a scenariilor de eroare. Scopul nu a fost doar „să găsim defectul actual”, ci și „să pregătim din timp o situație în care, la următoarea defecțiune, cauza să poată fi urmărită ușor”.
Simptome
- Testele pe scenariul normal scot greu la iveală problemele de pe căile de eșec (failure path).
- Problemele la resurse reduse și erorile de handle apar de obicei numai în condiții apropiate de cele din producție.
- La fiecare investigație, procedura ajunge să depindă de persoana care o execută.
Constrângeri
- Epuizarea reală a resurselor pe echipamentul real este costisitoare și riscantă.
- Voiam să scoatem la iveală mai devreme felul în care se strică lucrurile la limita cu codul nativ și în zona Win32.
- Soluția trebuia pregătită într-o formă reutilizabilă la următoarea investigație a unui defect.
Ce am observat
- Setările Verifier precum
Handles,HeapsșiLow Resource Simulation - Urmele căilor de eșec, inclusiv
!htraceși page heap - Corespondența dintre propriile jurnale ale ciclului de viață și informațiile de oprire din Verifier
Cum am izolat cauza
Mai întâi am separat ce se poate urmări doar cu jurnalele obișnuite de ce nu devine vizibil fără Application Verifier. Apoi am aplicat Verifier pe un traseu de execuție adus într-un cadru de testare (harness) și am adoptat abordarea de a aduce la suprafață mai devreme anomaliile greu de reprodus.
Ce am îmbunătățit
- Am pregătit o infrastructură de testare care parcurge în mod deliberat căile de eșec.
- Am făcut posibilă observarea erorilor de handle și de heap în bucle mai scurte.
- Am organizat punctele de observare astfel încât rezultatele să poată fi preluate ușor în revizuirile ulterioare ale designului și în măsurile de prevenire a reapariției.
Serviciile legate de acest caz
Acest studiu de caz se leagă direct de investigarea defectelor și analiza cauzei principale, adică de reproducerea defectului și identificarea cauzei. Se leagă și de consultanța tehnică și revizuirea designului, unde stabilim în ce măsură testele pentru scenarii de eroare și punctele de observare trebuie integrate în design.
Solicitați o consultație
Dacă această pagină se apropie de situația cu care vă confruntați, solicitați o consultație și descrieți-ne contextul actual și tipul de sprijin de care aveți nevoie.