Жизненный путь бага Джеймс Уиттакер
Жизненный путь бага
Джеймс Уиттакер
Баги напоминают детей, излишне опекаемых родителями. Они получают много внимания. Они рождаются в тиши IDE на машине разработчика, но как только они выходят в большой мир, их жизнь наполняют фанфары.
Если тестировщик нашел баг, дальше его путь выглядит так: тестировщик выделяет минуту-другую, чтобы насладиться находкой. Серьезно, это важный этап, его нельзя пропускать. Это не только дает нам возможность порадоваться плодам наших трудов, но и помогает понять неочевидные нюансы и обстоятельства возникновения бага. Лежит ли он на пути, по которому ходят пользователи? Насколько такой путь вероятен? Есть ли другие пути, которые приведут к нему? Есть ли побочные эффекты, которые могут повлиять на данные или другие приложения? Это может повысить критичность. Какие последствия для конфиденциальности, безопасности, производительности или доступности? Тестировщик чувствует себя как родитель, который, услышав легкий кашель своего ребенка, с ходу представляет самые опасные болезни.
Как и родитель, который звонит другу или родственнику, чтобы обсудить тревожный кашель, тестировщик должен пригласить коллегу и продемонстрировать ему больного. Поинтересоваться его мнением, поделиться своим мнением о баге — его критичности, приоритете и побочных эффектах. Ясность часто рождается в подобных обсуждениях. Родитель избавляется от ненужного вызова неотложки, а тестировщик обнаруживает, что баг, который он относил к категории P0, на самом деле тривиален и панику можно отставить.
А теперь пора заняться составлением баг-репорта. Как родитель, который тянется за градусником, тестировщик расчехляет свои инструменты. Родитель хочет точно диагностировать болезнь. Мать хочет убедить доктора в серьезности болезни ее ребенка. Тестировщик тоже хочет повлиять на критичность, но что еще важнее — он хочет, чтобы баг легко было исправить. Снимки экрана, записи нажатий клавиш, данные трассировки стека, дампы DOM — все это пригодится для документирования бага. Чем больше информации будет у разработчика, тем легче будет найти причину и тем выше вероятность ее исправления.
Отчет о баге начинается с рассылки по электронной почте всем заинтересованным лицам, и для исправления создается список изменений кода. Он ставится в очередь на рецензирование, а после утверждения отправляется в очередь на сборку. Это лекарство от багов, и подобно тому, как родители наблюдают за реакцией своего ребенка на антибиотики, тестировщик получает по электронной почте оповещения о готовности новой тестовой сборки. Он устанавливает сборку и заново запускает проблемный тест-кейс.
Этот тест становится частью регрессионного пакета приложения. Его стремятся автоматизировать, чтобы проще было ловить регрессионные баги. Или, как минимум, создают ручной тест-кейс и заносят в систему управления тестами. Так формируется иммунитет системы к будущим заражениям — подобно тому, как ребенок получает иммунитет к тому виду бактерий, от которого он когда-то заболел.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
12.1.1. Жизненный цикл сигнала
12.1.1. Жизненный цикл сигнала Сигналы имеют четко определенный жизненный цикл: они создаются, сохраняются до тех пор, пока ядро не выполнит определенное действие на основе сигнала, а затем вызывают совершение этого действия. Создание сигнала называют по-разному: поднятие
Догнать и удержать: жизненный цикл клиента в SEO — агентстве
Догнать и удержать: жизненный цикл клиента в SEO — агентстве С насыщением клиентского сегмента SEO — рынка перед любым агентством, словно тени забытых предков, встают вопросы проектного менеджмента и комплексной продажи услуг. Да так высоко встают, что грозят бросить тень
Жизненный путь процесса
Жизненный путь процесса Процесс в UNIX создается системным вызовом fork(2). Процесс, сделавший вызов fork(2) называется родительским, а вновь созданный процесс — дочерним. Новый процесс является точной копией породившего его процесса. Как это ни удивительно, но новый процесс
3.2. Жизненный цикл программы
3.2. Жизненный цикл программы Специфика программ как произведений не в том, что они «функциональны»3 и даже не в том, что пользование ими системно, а системы, образуемые программами при их сочетании между собой и оборудованием – динамичны4. Но если для прочих произведений
3.3. Жизненный цикл экземпляра программы и «общая стоимость владения» им
3.3. Жизненный цикл экземпляра программы и «общая стоимость владения» им Жизненный цикл отдельного экземпляра программы, находящегося в эксплуатации, вообще говоря, не совпадает с жизненным циклом самой программы как произведения5.В простейшем, вырожденном случае
Краудсорсинг Джеймс Уиттакер
Краудсорсинг Джеймс Уиттакер Краудсорсинг— это новое явление в тестировании. Если тестировщиков не хватает, а их ресурсы ограничены, то краудсорс-тестирование спешит на помощь! Пользователей с разными наборами устройств и программных конфигураций намного больше, чем
Управление «пиратским кораблем» для чайников Джеймс Арбон
Управление «пиратским кораблем» для чайников Джеймс Арбон «Пиратский корабль» — метафора, которую мы используем, когда говорим про управление командами тестирования в Google. Наше тестирование — это мир, в котором инженеры по природе своей постоянно задают вопросы,
Слияние BITE с RPF Джеймс Арбон
Слияние BITE с RPF Джеймс Арбон В первые дни тестирования Chrome OS мы обнаружили, что главное качество платформы — безопасность — сильно осложняет тестирование. Тестируемость часто конфликтует с безопасностью, а ведь в Chrome OS очень большой упор сделан именно на безопасность.В
Инновации и эксперименты в тестировании Джеймс Арбон
Инновации и эксперименты в тестировании Джеймс Арбон Мы в Google за любые эксперименты, поэтому у нас и создается множество инноваций. Ну и куча неудачных экспериментов заодно. Даже если уже есть хорошее решение, мы не запрещаем инженерам пытаться придумать еще лучше.
«Путь Ruby»
«Путь Ruby» Что мы имеем и виду, творя о Пути Ruby? Я полагаю, что тут есть два взаимосвязанных аспекта: философия проектирования Ruby и философия использования этого языка. Естественно, что дизайн и применение связаны друг с другом, будь то программное или аппаратное
Джеймс Кэмерон: космическая одиссея Юрий Ильин
Джеймс Кэмерон: космическая одиссея Юрий Ильин Опубликовано 19 августа 2010 года Джеймс Кэмерон собрался на Марс. Впрочем, пожалуй, это слишком «жёлтое» начало, ибо речь идёт о весьма серьёзных научных разработках, которые Кэмерон ведёт совместно с
Конференция D8: Стив Джобс, Марк Цукерберг и Джеймс Кэмерон Павел Борисов
Конференция D8: Стив Джобс, Марк Цукерберг и Джеймс Кэмерон? Павел Борисов Опубликовано 03 июня 2010 года Раз в год журналисты The Wall Street Journal Уолтер Моссберг и Кара Свишер зовут главных людей ИТ-индустрии и безо всякого заготовленного сценария
Жизненный цикл сертификатов и ключей
Жизненный цикл сертификатов и ключей Политикой применения сертификатов должно быть четко определено, в какой момент времени сертификаты и ключи становятся валидными и как долго сохраняют свой статус, а также когда необходимо их заменять или восстанавливать.Важнейшим
Глава 21. Жизненный цикл идеального ХР-проекта
Глава 21. Жизненный цикл идеального ХР-проекта Идеальный проект ХР проходит сквозь короткую стадию начальной разработки, за которой следуют годы поддержки эксплуатации системы на производстве и одновременно пересмотра и переделки. Наконец, когда проект теряет