Таисия Филимонова

Тяжела и неказиста жизнь без парня-программиста. А как же тестировщик?

Таисия Филимонова, IT-рекрутер Spice IT Recruitment, рассказывает, в чем заключается работа тестировщика и почему она не такая скучная, как считается.


Тестирование: все не так просто

Принято считать, что тестирование — это поиск ошибок. Так вот, все не так просто. У тестировщика может быть больше власти над релизом, чем у разработчика, особенно если иметь в виду, что весь процесс состоит из нескольких этапов: разработка продукта, внедрение и поддержка.

Искренняя радость при нахождении бага, который перекочевал из головы разработчика в его код — стереотип. Ошибки чаще всего одинаковые, их поиск не является уникальным квестом, а кроме самого обнаружения нужна еще корректировка, и затем снова тестирование.


 


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

Тестировщик выполняет ряд ответственных задач, без которых никак не обойтись. Если его нет, тестирование все равно будет выполняться разработчиками, аналитиками или первыми пользователями. Скорее всего это будут топорные действия слабо разбирающихся в предмете людей. Недовольство, которое вследствие этого появится у пользователей, подпортит как настроение команды, так и репутацию продукта в целом.

К сожалению, в университетах пока нет тестирования как отдельной специальности. Потребность же в тестировщиках у компаний есть, причем задачи для них разные как по функционалу, так и по масштабам. Встает вопрос, как определить талант к профессии. Навыки тестирования — это не врожденный дар, как музыкальный слух, а тестирование — не работа-мечта миллионов, как у рок-звезд. Ведь даже сравнительно увлекательные книги о профессии, такие как «Тестирование Дот Ком» Романа Савина, надо читать с пониманием практической пользы от материала.

Единственный талант, который можно воспринять как знак — это умение видеть ошибки. Или же невероятная удача, которая позволяет их находить. В системах, в приложениях, в интерфейсах, в игровых механиках… и во всем, что нас окружает в реальной жизни. Внимание к деталям, не переходящее в перфекционизм.


Юзабилити — это то, что заставляет людей вас не ненавидеть


Приведем пример: возьмем профессора, который занимается проверкой курсовых и научных работ. Если в них есть стилистические, грамматические или пунктуационные ошибки — не беда, на восприятие самой идеи это не влияет. Но если нарушена логика, то повествование становится бессмысленным или кажется вырванным из контекста. Наш профессор находит такие нарушения и исправляет их. Также и в тестировании.

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


В какие тестировщики податься?

Существуют ручное и автоматизированное тестирование. Для первого нужна голова, руки и терпение, для второго — еще и знание Python/Java/С# и специализированного ПО (Selenium, TestComplete/Ranorex/UFT/RFT, SoapUI, Jmeter, AppIum). Ручное может быть функциональным (проверка рабочей области ПО) и не функциональным (производительность, совместимость, проверка на безопасность системы).

Автоматизированное тестирование включает прогонку тестов по функционалу как таковому и нагрузочные тесты, имитирующие определенное количество пользователей для оценки работоспособности, производительности, настройки серверов. Это далеко не все виды и цели тестирования, так что больше фундаментальной теории ищите здесь.

Масштабы проекта влияют лишь на то, что в крупной ритейловой компании или в банке будет сидеть двадцать тестировщиков по несколько на каждый модуль внедряемого ПО, а в стартапе будет всего один тестировщик, так как задач для двоих может и не найтись. В случае невероятно высокой загрузки всегда можно взять специалистов на аутсорс.

Есть смысл разделять тестирование при разработке и при внедрении, а также тестирование на ПК и мобильное тестирование. В случае с разработкой заинтересовать может то, на каком этапе компания готова будет включить тесты в список задач. От этого зависит, будет ли тестировщик обвешивать код, корректировать реализацию «хотелок» заказчика или миллион раз нажимать на кнопки и смотреть, как сходятся интерфейсы. При внедрении задача специалиста в том, чтобы все работало слажено. Никому не нужно изобретать велосипед.


Тестировщики  —  «застывшая» профессия?

Если вы думаете, что вся работа заключается в простой проверке неисправностей в корпоративных системах или на сайтах и пути вперед не будет никогда, то вы не правы. Тестирование развивается и изменяется вместе со всей ИТ-индустрией.

Из-за растущей популярности смартфонов запросы на специалистов в мобильном тестировании растут. Цикл создания приложений короче, формирование требований более гибкое, поэтому тестирования смещается с финальных стадий проверки качества к началу процесса разработки. Взаимодействие с программистами становится более тесным, поэтому внимание уделяется не только исполнительности и техническим навыкам тестировщика, но и умению общаться, аргументировать свою точку зрения и важность изменений в системе. Эта тенденция наблюдается и в веб-разработке, и в более крупных системах, если они переходят на Agile.


Так кто же такой настоящий тестировщик?

Учитывая важность и ответственность этапа тестирования во всем процессе создания системы, тестировщику для успеха нужно понимать:

  • что делает продукт;
  • как он это делает;
  • на чем он будет работать.

Бывают исключения. Например, требуется тестировать крохотный кусок, который не дает представления ни о чем, кроме конкретного модуля. В этом случае тестировщик не задумывается о перечисленных выше вопросах. Он просто делает свою работу.

Кроме самого поиска ошибок важно их исправление, так что тестировщику, какой бы направленной на процессы и цифры не казалась профессия, нужно общаться много и по делу.

Коммуникация с разработчиками должна быть постоянной. Осуществляется она напрямую или нет, зависит от размеров команды, уровней иерархии, бюрократии и комфорта в принятии решений. В устном общении тестировщику без уверенности в себе не обойтись, это раз. Прокачать навык манипуляций тоже стоит, это два.



Из всех этапов процесса тестирования можно выделить написание планов, чек-листов и отчетности. Они нужны не только для того, чтобы не потерять только что найденную ошибку, но и чтобы в дальнейшем согласовывать изменения в уже работающей программе, а также использовать как стандарт для других проектов. Для этого понадобится тикет в JIRA, а также подробное описание ошибки, условий ее возникновения, воспроизведения, описание внесенных исправлений. Все — с учетом методологий и пожеланий заказчиков. Много-много-много текста, определенно больше, чем в этой статье.

Получается, идеальный тестировщик обладает:

  • аналитическим мышлением для отслеживания всего функционала и взаимосвязей;
  • критическим отношением к своему и к чужому труду;
  • высокими коммуникативными навыками, чтобы успешно общаться с разработчиками и заказчиками;
  • знанием и навыками работы в разных системах, на разных платформах;
  • владением одним или несколькими языками разработки для того, чтобы заниматься автоматизированным тестированием.

Как стать тестировщиком?

В идеале — помимо мотивации нужно иметь за плечами специализированные курсы или самообразование в виде книг и практического некоммерческого применения знаний.

Было бы неправильно говорить, что ручное тестирование проще или не так увлекательно: каждому свое. Все зависит от того, что вы хотите тестировать и где. Если очевидных предпочтений нет, и душа не лежит к конкретной индустрии — идите в системный интегратор. У компании может быть возможность обучить вас на крупном проекте «с нуля», а затем перевести на другой проект, возможно, в другой предметной области. Так вы поймете, что вам нравится, а что нет.

Если есть представление о том, чем конкретным хотелось бы заниматься в рамках определенной отрасли (ритейл, банк, e-commerce, что-то еще), попробуйте постучаться на внутренний проект подходящей компании или найти разработчика, занимающегося развитием нового корпоративного ПО или приложения.

Как и во многих профессиях, хороших специалистов по тестированию отличает мотивация, широкий кругозор и готовность к основанной на процессах рутинной работе в течение дня и проекта.

Вас когда-нибудь спрашивали на собеседовании, креативный ли вы человек? Конечно, можно начать рассказывать о том, как вы тяготеете к творчеству и что от работы ждете только новых свершений и побед. Огромное количество вчерашних студентов именно так и отвечает. В действительности же любая работа включает в себя монотонные действия, которые повторяются изо дня в день, и к этому нужно быть морально подготовленным.

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


Материалы по теме:

Когда на собеседовании просят «рассказать о себе» – это очень плохо?

Иннополис бесплатно обучит IT-специальностям

«Оказалось, что я нужен. Как лидер, как аналитик, как человек». Что мы поняли, развивая бирюзовую компанию

«ВКонтакте» запустила конкурс для тестировщиков с iPhone 7 в качестве приза

Пословицы и поговорки из мира IT


comments powered by Disqus

Подпишитесь на рассылку RUSBASE

Мы будем вам писать только тогда, когда это действительно очень важно