четверг, 23 июля 2015 г.

Музейный тур. The Museum Tour

Входит в «Туры по историческим районам», Tours Through the Historical District


Вольный перевод статьи Виттакера из книги Exploratory Software testing. Туры помогают искать баги, взглянув на систему по-новому. Тестировщик выбирает тур и следует его цели, не отвлекаясь ни на что другое. Словно турист в незнакомом городе, составил план и пошел!


Музеи с антиквариатом — любимое место туристов. Они собирают несколько тысяч посетителей в день. Антиквариат в коде залуживает такого же количества внимания от тестировщика. В данном случае под антиквариатом мы понимаем legacy code («устаревший код», распространенное название, поэтому оставила без перевода).


-Русский_Музей-,_картинный_зал,_г.Санкт-Петербург.jpg
Legacy code — антиквариат разработчиков


Нетронутый legacy code легко найти быстрым просмотром даты и времени создания в репозитории (место хранения кода). Многие репозитории также поддерживают изменение. Таким образом, тестировщик может сделать небольшое исследование, чтобы увидеть, какая часть старого кода недавно изменялась.


Старый код, измененный в новой сборке — плодотворная почта для поиска багов! Так как исходный разработчик мог уйти и документация обычно бедная, легаси код сложно изменять, сложно ревьюить, и разработчики уклоняются от покрытия его юнит-тестами,  которые они обычно пишут для нового кода.


Если не верите — попробуйте вернуться к багам, которые написали год-два-три назад. Или тест-кейсам. А теперь представьте себе разработчика =) Даже если он писал этот код, он уже 10 раз забыл, что там написано и как, потому что теперь использует совершенно другие, новые, модные, менее бажные паттерны разработки.


Цель тура
Найти старый код в системе контроля версий, который:
— давно создан и больше не менялся;
— давно создан и недавно обновился.
И протестировать функциональность, заложенную в код.


Я стараюсь не тупо переводить туры из книжки, а находить собственные аналогии. Так интереснее читать мой перевод после книжки и наоборот, книжку после моего перевода.


Чтобы материал усвоился, я привожу пример прохождения тура на реальном проекте нашей компании.


В этот раз примера не будет по понятным причинам =)


Но по опыту могу сказать — даже если вы все документируете и покрываете автотестами, при использовании функции, которая написано давно и никогда доселе не юзалось — перепроверьте ее! Честное слово, очень полезно =)



PS: студентам моего курса по тестированию во время обучения эта статья не поможет, но вот выпускникам во время реальной работы — очень даже!

Комментариев нет:

Отправить комментарий