С днем тестировщика!
Ходят слухи, что разработчики и тестировщики — заклятые враги и, как великие дома в «Игре престолов», всегда противоборствуют друг другу. Но это все миф. Сегодня мы взяли небольшое блиц-интервью у нашего коллеги Дмитрия Сергиенко, старшего тестировщика в Яндекс.Деньгах: он успел поработать как разработчиком, так и автотестером. Узнали, что же объединяет эти две профессии и какие знания и лайфхаки могут быть полезны для ИТ-специалиста.
— Что общего между разработчиком и тестировщиком?
В разработке и тестировании так или иначе приходится писать код. Плюс, когда разрабатываешь инструменты тестирования, это вполне себе программирование.
Про качества, которые нужны и разработчику, и тестировщику, — это в первую очередь знание своего проекта в деталях. Понимание его тонкостей и слабых мест. И процессы на начальном этапе (декомпозиция, планирование) — общие для этих двух профессий.
— Что тебе нравилось в разработке, а что сейчас нравится в тестировании?
В разработке у меня были более интересные, при этом более сложные задачи. Интересные с точки зрения, что тебе надо придумать, как реализовать ту или иную задачу. И есть ощущение, что ты добавил в этот мир что-то новое.
В тестировании мне очень нравится, что у меня есть возможность посмотреть по сторонам и попытаться улучшить свое окружение (инструменты, процессы). В разработке особо не было возможности поднять голову. В тестировании есть какой-то азарт, ты должен знать отлично свой проект, чтобы быть уверенным, что все работает, и при этом должен найти какие-то тонкие места, которые мог пропустить разработчик. Плюс, на мой взгляд, ответственность за качество продукта в большинстве случаев лежит на тестировании. После того как прошло тестирование, заказчик должен быть уверен, что продукт можно показывать пользователям.
— Какие знания разработчика тебе пригождаются в работе тестировщика?
Как говорил выше, периодически приходится править инструменты разработки, а это вполне себе программирование. Плюс знание языка позволяет понять, как та или иная функциональность реализована и какие проблемы могут быть в этих местах.
— Какие лайфхаки тестировщика могут быть полезны разработчику — и наоборот?
Не забывай писать тесты. Если есть возможность, автоматизируй это. Не забывай проверять негативные кейсы. Даже если какое-то действие кажется нелогичным, обязательно найдется пользователь, который поступит именно так.
Из негативного, лично для меня: не обязательно создавать сложное, но идеальное решение. Важно понять, стоит ли оно затраченных сил и времени. Иногда лучше решить проблему простым и быстрым способом. Тестировщику всегда хочется, чтобы все было идеально.
— Какие советы ты можешь дать, чтобы определиться молодому (начинающему) специалисту, какой путь в ИТ ему выбрать: разработку или тестирование?
Сложный вопрос. На мой взгляд, программирование сложнее. Если ты любишь выискивать слабые места, если тебе не спокойно, когда ты видишь проблемы в функциональности, если ты знаешь, как все должно работать на самом деле, тебе лучше идти в тестирование.
Если больше любишь создавать новое, если не боишься трудностей, если отлично знаешь языки программирования, тебе лучше пойти в разработку. Хотя и в тестировании тебе будет прекрасно.