Кейс

Інфраструктура тестування помилкових сценаріїв на основі Application Verifier: кейс

Технічний кейс про те, як за допомогою Application Verifier спершу створили інфраструктуру тестування помилкових сценаріїв і пов’язали її із запобіганням повторенню збоїв.

Огляд кейсу

Це кейс про те, як замість разового виправлення дефекту ми за допомогою Application Verifier створили саму інфраструктуру тестування помилкових сценаріїв. Мета полягала не лише в тому, щоб «знайти поточний збій», а й у тому, щоб заздалегідь створити такі умови, за яких і наступний збій буде легко простежити.

Симптоми

  • Лише за тестів звичайних сценаріїв проблеми у сценаріях відмов майже не виявлялися
  • Нестача ресурсів і аномалії дескрипторів помітні здебільшого за умов, наближених до робочих
  • Процедура розслідування легко стає залежною від окремих виконавців

Обмеження

  • Справді вичерпувати ресурси на реальному обладнанні — дорого й ризиковано
  • Потрібно було заздалегідь виявляти, як ламаються межі з нативним кодом і ділянки навколо Win32
  • Рішення мало бути придатним до повторного використання під час наступного розслідування збою

Що ми спостерігали

  • Параметри Verifier, зокрема Handles, Heaps і Low Resource Simulation
  • Сліди сценаріїв відмов, зокрема !htrace і page heap
  • Відповідність між власними журналами життєвого циклу та інформацією про зупинки Verifier

Як ми локалізували проблему

Спершу ми розділили те, що можна простежити за звичайними журналами, і те, що видно лише із застосуванням Verifier. Після цього ми застосували Verifier до виконавчого шляху, оформленого як тестова обв’язка, і зробили основний акцент на тому, щоб виявляти заздалегідь аномалії, які важко відтворити.

Що ми покращили

  • Створили тестову інфраструктуру, яка навмисно проходить сценарії відмов
  • Зробили так, щоб аномалії дескрипторів і купи можна було спостерігати в коротших циклах
  • Упорядкували точки спостереження так, щоб результати легко поверталися до подальших рев’ю проєктних рішень і заходів із запобігання повторенню

Послуги, з якими пов’язаний цей кейс

Цей кейс безпосередньо пов’язаний із розслідуванням дефектів і аналізом першопричин, що охоплює відтворення збою та виявлення причини. Він також стосується технічних консультацій і рев’ю проєктних рішень, у межах яких визначається, якою мірою тести помилкових сценаріїв і точки спостереження варто закладати в проєктні рішення.

Звернутися за консультацією

Якщо у вас є проблема, близька до змісту цієї сторінки, проконсультуйтеся з нами: розкажіть про поточний стан і про те, яка підтримка вам потрібна.

Повернутися на головну