ATLANT ♆
Администратор
- Регистрация
- 09.05.21
- Сообщения
- 45.008
- Реакции
- 117.395
Последние темы автора:
[Анастасия Сафина, Нино Пипия] Легкие роды. Все, что нужно знать будущей маме
[Елизавета Буданова] Королевская осанка и молодость лица (2022)
[Анна Дерусова] [sovanna.nails] Скорость без потери качества
[Mers academy] Мастер класс по диагностике и чип тюнингу
[Кристина Бегашева] Дети. Тариф Самостоятельный
[Елизавета Буданова] Королевская осанка и молодость лица (2022)
[Анна Дерусова] [sovanna.nails] Скорость без потери качества
[Mers academy] Мастер класс по диагностике и чип тюнингу
[Кристина Бегашева] Дети. Тариф Самостоятельный
Автор: Ольга Назина
Название: Техники локализации плавающих дефектов (2019)
Ох уж эти мистические «плавающие ошибки». Сколько вокруг них мифов! Но, когда причина найдена, всегда оказывается, что нет плавающих багов, а есть недолокализованные.
Поэтому мы будем учиться локализовывать баги, которые «не воспроизводятся». Учиться искать причину проблемы без помощи разработчика. Учиться смотреть в код и искать причину снаружи. Делить бисекционно и читать логи. В общем, всё, что нужно для воспроизведения!
Воспроизведение ошибки
Если вы не можете вопроизвести ошибку, то:
Прочитайте логи — если есть доступ к логам, всегда в первую очередь смотрим туда! Если у нас веб-приложение, проверьте, что ушло с клиента на сервер.
Проверьте граничные значения — баги часто тусят на границах.
Попробуйте пойти «от обратного» — подумать, как получить саму проблему. Этот метод хорошо работает для багов с кэшом
Составьте таблицу отличий — у вас то все работает. Что отличает ваш кейс от падающего?
Что записывать в таблицу отличий:
Состояние объекта.
Действия, которые с ним выполняли.
Устройство, на котором воспроизводится.
Время выполнения sliv-info.com действия (какой релиз?).
Способ воспроизведения (GUI, API).
Количество открытых вкладок в браузере.
В отлове багов помогает понимание того, где копятся баги и какого рода: как влияет на работу системы concurrency, миграция данных, перетипизация переменной внутри кода… Зная последствия, вы будете понимать, что именно записать в таблицу отличий.
Локализация ошибки
Если вы можете воспроизвести баг, но не можете локализовать (слишком много шагов воспроизведения / слишком большой файл, внутри которого есть ошибка), то:
Посмотрите код — возможно, это будет самым быстрым решением.
Используйте бисекционное деление.
Придумайте теорию (на баг влияет то и то) — подтвердите ее, а потом попробуйте опровергнуть.
Выкиньте лишнее из шагов — возможно, именно это сбивает вас с толку
На курсе мы будем рассматривать каждую из техник. Вы сможете сразу применить ее на практике на специально подобранных домашних заданиях, которые показывают именно данную технику или конкретную проблему (миграции данных, стыка интеграции и т.д.)
Скачать:
Название: Техники локализации плавающих дефектов (2019)
Ох уж эти мистические «плавающие ошибки». Сколько вокруг них мифов! Но, когда причина найдена, всегда оказывается, что нет плавающих багов, а есть недолокализованные.
Поэтому мы будем учиться локализовывать баги, которые «не воспроизводятся». Учиться искать причину проблемы без помощи разработчика. Учиться смотреть в код и искать причину снаружи. Делить бисекционно и читать логи. В общем, всё, что нужно для воспроизведения!
Воспроизведение ошибки
Если вы не можете вопроизвести ошибку, то:
Прочитайте логи — если есть доступ к логам, всегда в первую очередь смотрим туда! Если у нас веб-приложение, проверьте, что ушло с клиента на сервер.
Проверьте граничные значения — баги часто тусят на границах.
Попробуйте пойти «от обратного» — подумать, как получить саму проблему. Этот метод хорошо работает для багов с кэшом
Составьте таблицу отличий — у вас то все работает. Что отличает ваш кейс от падающего?
Что записывать в таблицу отличий:
Состояние объекта.
Действия, которые с ним выполняли.
Устройство, на котором воспроизводится.
Время выполнения sliv-info.com действия (какой релиз?).
Способ воспроизведения (GUI, API).
Количество открытых вкладок в браузере.
В отлове багов помогает понимание того, где копятся баги и какого рода: как влияет на работу системы concurrency, миграция данных, перетипизация переменной внутри кода… Зная последствия, вы будете понимать, что именно записать в таблицу отличий.
Локализация ошибки
Если вы можете воспроизвести баг, но не можете локализовать (слишком много шагов воспроизведения / слишком большой файл, внутри которого есть ошибка), то:
Посмотрите код — возможно, это будет самым быстрым решением.
Используйте бисекционное деление.
Придумайте теорию (на баг влияет то и то) — подтвердите ее, а потом попробуйте опровергнуть.
Выкиньте лишнее из шагов — возможно, именно это сбивает вас с толку
На курсе мы будем рассматривать каждую из техник. Вы сможете сразу применить ее на практике на специально подобранных домашних заданиях, которые показывают именно данную технику или конкретную проблему (миграции данных, стыка интеграции и т.д.)
Скачать:
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
Последнее редактирование модератором: