Кейс
Кейс: інфраструктура тэставання сцэнарыяў збою на аснове Application Verifier
Тэхнічны кейс: з дапамогай Application Verifier мы спачатку стварылі інфраструктуру тэставання сцэнарыяў збою і звязалі яе з прадухіленнем паўторных збояў.
Агляд кейса
У гэтым кейсе мы не абмежаваліся аднаразовым выпраўленнем дэфекту, а з дапамогай Application Verifier стварылі саму аснову для тэставання сцэнарыяў збою. Мэта была не толькі ў тым, каб знайсці бягучую няспраўнасць, але і ў тым, каб загадзя падрыхтаваць умовы, у якіх і пры наступным збоі прычыну будзе лёгка прасачыць.
Сімптомы
- Тэсты асноўных сцэнарыяў дрэнна выяўляюць праблемы ў сцэнарыях збою (failure path)
- Праблемы з недахопам рэсурсаў і збоі з дэскрыптарамі лягчэй за ўсё заўважыць толькі ва ўмовах, блізкіх да баявых
- Парадак расследавання кожны раз лёгка робіцца залежным ад асобных людзей
Абмежаванні
- Рэальна вычэрпваць рэсурсы на рэальных прыладах дорага і рызыкоўна
- Хацелася выявіць, як ломіцца натыўная мяжа і код вакол Win32, загадзя
- Вынік трэба было аформіць так, каб яго можна было выкарыстаць і пры наступным расследаванні збою
Што мы назіралі
- Налады Verifier, такія як
Handles,HeapsіLow Resource Simulation - Сляды сцэнарыяў збою, уключаючы
!htraceі page heap - Адпаведнасць паміж уласным журналам жыццёвага цыклу (lifecycle log) і звесткамі пра прыпынкі Verifier
Як мы лакалізавалі прычыну
Спачатку мы падзялілі тое, што можна прасачыць толькі па звычайных журналах, і тое, што не відаць без Verifier. Пасля гэтага мы падключылі Verifier да выканальнага шляху, які быў абгорнуты ў тэставы каркас (harness), і абралі падыход, пры якім дэфекты, што цяжка ўзнавіць, выяўляюцца заўчасна.
Што мы палепшылі
- Стварылі тэставую інфраструктуру, якая наўмысна праводзіць выкананне праз сцэнарыі збою
- Зрабілі так, каб збоі з дэскрыптарамі і з кучай (heap) можна было назіраць у больш кароткіх цыклах
- Упарадкавалі кропкі назірання так, каб да іх было лёгка вярнуцца пры наступным рэцэнзаванні праектных рашэнняў і ў мерах па прадухіленні паўторных збояў
З якімі паслугамі звязаны гэты кейс
Гэты кейс непасрэдна звязаны з расследаваннем дэфектаў і аналізам першапрычын, дзе ўзнаўляюцца збоі і вызначаецца іх прычына. Ён таксама звязаны з тэхнічнымі кансультацыямі і рэцэнзаваннем праектных рашэнняў, дзе высвятляецца, наколькі глыбока тэсты сцэнарыяў збою і кропкі назірання трэба закладваць у праектнае рашэнне.
Звярніцеся па кансультацыю
Калі ў вас ёсць праблема, блізкая да зместу гэтай старонкі, параіцеся з намі і напішыце, у якім вы цяпер становішчы і якая падтрымка вам патрэбна.