Входит в «Туры по историческим районам», Tours Through the Historical District
Вольный перевод статьи Виттакера из книги “Exploratory Software testing”. Туры помогают искать баги, взглянув на систему по-новому. Тестировщик выбирает тур и следует его цели, не отвлекаясь ни на что другое. Словно турист в незнакомом городе, составил план и пошел!
Музеи с антиквариатом — любимое место туристов. Они собирают несколько тысяч посетителей в день. Антиквариат в коде заслуживает такого же количества внимания от тестировщика. В данном случае под антиквариатом мы понимаем legacy code («устаревший код», распространенное название, поэтому оставила без перевода).
Legacy code — антиквариат разработчиков
Нетронутый legacy code легко найти быстрым просмотром даты и времени создания в репозитории (место хранения кода). Многие репозитории также поддерживают изменение. Таким образом, тестировщик может сделать небольшое исследование, чтобы увидеть, какая часть старого кода недавно изменялась.
Старый код, измененный в новой сборке — плодотворная почва для поиска багов! Так как исходный разработчик мог уйти и документация обычно бедная, легаси код сложно изменять, сложно ревьюить, и разработчики уклоняются от покрытия его юнит-тестами, которые они обычно пишут для нового кода.
Если не верите — попробуйте вернуться к багам, которые написали год-два-три назад. Или тест-кейсам. А теперь представьте себе разработчика =) Даже если он писал этот код, он уже 10 раз забыл, что там написано и как, потому что теперь использует совершенно другие, новые, модные, менее бажные паттерны разработки.
Цель тура
— давно создан и больше не менялся;
— давно создан и недавно обновился.
И протестировать функциональность, заложенную в код.
Я стараюсь не тупо переводить туры из книжки, а находить собственные аналогии. Так интереснее читать мой перевод после книжки и наоборот, книжку после моего перевода.
Чтобы материал усвоился, я привожу пример прохождения тура на реальном проекте нашей компании.
В этот раз примера не будет по понятным причинам =)
Но по опыту могу сказать — даже если вы все документируете и покрываете автотестами, при использовании функции, которая написано давно и никогда доселе не юзалось — перепроверьте ее! Честное слово, очень полезно =)
PS: студентам моего курса по тестированию во время обучения эта статья не поможет, но вот выпускникам во время реальной работы — очень даже!
PPS: статья сохранена на Testbase, чтобы не потерялась ссылка.
PPS: статья сохранена на Testbase, чтобы не потерялась ссылка.
Опечатка: "плодотворная почТа"
ОтветитьУдалитьДа, спасибо, исправила)
УдалитьЗдравствуйте, плодотворная почТа для поиска багов
ОтветитьУдалитьнаверно имель ввиду почва)
Да, спасибо, исправила)
УдалитьОпечатка
ОтветитьУдалитьАнтиквариат в коде залуживает..
Исправила, спасибо)
Удалить