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

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

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

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

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


Legacy code — антиквариат разработчиков

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

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


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

Цель тура
Найти старый код в системе контроля версий, который:

— давно создан и больше не менялся;
— давно создан и недавно обновился.

И протестировать функциональность, заложенную в код.

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

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

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

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



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

PPS: статья сохранена на Testbase, чтобы не потерялась ссылка.

6 комментариев: