Тестировщик как он есть

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

Бытует мнение, что стать тестировщиком – это один из простейших способов попасть в айти, и способен на это каждый: начиная от тракториста и заканчивая выпускником старшей школы. Но конечно, все далеко не так просто. Для освоения данной профессии нужна техническая подготовка и конкретный набор soft и hard скиллов. Какая она, работа тестировщика, и на что бы мы советовали обратить внимание желающих добиться успеха на данном поприще – читайте дальше.

Портрет тестировщика

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

Тестировщик должен уметь корректно описать неадекватное поведение системы.

Способы тестирования

Мы не станем говорить о теории тестирования, но отметим, что знания ее очень важны, и не стоит обманывать себя ожиданиями, будто можно обойтись и без них.  

Вместо этого, мы составили свой список лучших способов отыскать ошибку в проверяемом продукте:

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

Самое важное – это вопросы

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

Список примерных (частых) уточнений:

  1. уточнение непонятных терминов в документации;
  2. прояснение неявно прописанной логики работы системы;
  3. прояснение явно непрописанной (недостающей) логики работы системы;
  4. прояснение противоречиво прописанной логики работы системы;
  5. уточнение, является ли замеченное поведение системы багом, фичей или же мелкой неточностью, на которую в сегодняшних реалиях можно не обращать внимания;
  6. уточнение, было ли ранее где-то описано обнаруженное неадекватное поведение системы (заведен ли по этому поводу дефект, либо задача на доработку, либо отмечено ли оно в техдокументации как допустимое поведение);
  7. уточнение, с кем конкретно можно решить появившийся у тестировщика вопрос;
  8. уточнение, кто именно ответственен за решение проблемы и как передать соответствующую информацию данным лицам, и какую именно информацию следует им передавать.

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

Системный подход к тестированию

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

На следующем этапе мы тестируем функционал который связан воедино, проходим путь тестирования. Данный этап помогает определить готовность приложения.

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

Любопытство и внимание к деталям

Важная черта, которая необходима любому тестировщику – это любопытство. Тот, кто не обладает этим качеством, не сможет в полной мере протестировать ни одну систему.

Он сможет проходить написанные кем-то другим тест-кейсы и заводить дефекты, которые на его месте мог бы выявить кто угодно. Помимо прохождения, очень важно отклоняться от четких и продуманных сценариев: чаще всего именно там, в ходе Ad hoc тестирования, где никто не ожидает, появляются злополучные баги. По сути разработчики сами склонны проверять свою работу, так вот именно они проходят по стандартным сценариям, а тестировщикам необходимо также  выходить за рамки, думать иначе, и всегда держать в голове вопрос : “А что если…?” Это добавит немало продуктивности вашей работе. Главное верить и знать, что ошибки есть везде, и что ИМЕННО ТЫ сможешь предотвратить злополучный “КРЭШ”, и выполнить свою большую маленькую миссию.

И напоследок

Нужно быть веселым молодцом, который будет стараться улучшить жизнь человечества, как бы банально и громко это не звучало.

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

Помимо внимательности к деталям, необходимо обладать чувством юмора и иметь огромную стрессоустойчивость к периодическому недовольству в свой адрес (как и в любой другой профессии IT отрасли), и отстаивать свою точку зрения посредством аргументов, понятных собеседнику.