Тестировщик проверяет продукт на соответствие требованиям, ищет его дефекты
Ему важно знать, что и как он будет тестировать, как проектировать свои тесты, чтобы они были эффективными, как сделать продукт лучше и удобнее для пользователя.
Сегодня расскажем о hard skills в тестировании — тех самых умениях, в наличии которых будет заинтересован работодатель.
Hard skills — это профессиональные навыки, которые используются для выполнения рабочих обязанностей. Проверить наличие таких скиллов можно, проведя экзамен или просто задав вопросы по сопутствующей теме.
А что насчёт мягких навыков?
Тестировщику понадобятся креативность, коммуникабельность, умение формулировать выводы, дисциплина и азарт.
Теория тестирования
Неважно, ручное или автоматизированное тестирование, джун или сеньор — теорию нужно знать обязательно. Именно она становится отправной точкой на пути обучения. Но что конкретно относится к этому аспекту?
Понимание целей и областей тестирования
На первом этапе тестировщик научится определять, что ему нужно проверить, какую информацию учитывать и какие цели он преследует. Правильное определение областей тестирования поможет сосредоточиться на поставленных задачах и выполнить только необходимые проверки. Примерами целей тестирования являются:
- проверка соответствия предъявляемым требованиям;
- повышение уровня лояльности пользователей. Ведь программа, в которой много дефектов, вызовет недоверие;
- обнаружение дефектов на ранних этапах разработки. Такой подход поможет избежать проблем в будущем и сэкономить средства.
Знание техник тест-анализа и тест-дизайна
Тест-дизайн — это процесс проектирования и создания тест-кейсов. Тест-анализ — поиск и изучение информации, необходимой для тестирования. Используя эти техники, тестировщик сможет провести максимум проверок, приложив минимум усилий.
Ведение тестовой документации
Объединение описанных выше навыков поможет тестировщику при составлении тестовой документации. Тестовая документация — это стек документов, составляемых в процессе тестирования ПО. Эти документы определяют область покрытия, процесс выполнения тестов, содержат терминологию и другую полезную информацию. Наиболее частые примеры — это чеклисты, тест-кейсы, сценарии использования, планы тестирования и главное — баг-репорты.
Знание инструментов и особенностей предметной области
Попадая на должность инженера по тестированию, вы должны понимать, что тестирование мобильных приложений кардинально отличается от тестирования веб-приложений. Скорее всего, вам понадобится окунуться в специфику определённой области. Но есть и базовые навыки, необходимые каждому тестировщику.
Работа с баг-трекинговыми системами
Программное обеспечение для отслеживания ошибок помогает команде упростить ведение и процесс классификации багов, а также повысить эффективность. И первое, что от вас потребует потенциальный работодатель, — умение работать с баг-трекинговыми системами. Наиболее часто используемые системы — это Jira, Trello, Redmine, Kaiten.
Работа с системами контроля версий
Одно из частых требований рекрутера к тестировщику — это умение пользоваться системами контроля версий. Если тестировщик занимается автоматизацией, ему понадобится место, чтобы хранить свои автотесты и работать с ними. Но и мануальный тестировщик должен обладать этими знаниями. С их помощью он сможет смотреть код и заниматься код-ревью, отменять определённые изменения, выкатывать нужный билд и обновлять его и так далее. Обычно в вакансиях запрашивают Git, CVS, SVN, Bazaar.
Знание основ клиент-серверной архитектуры
Почти любой технический специалист сталкивается на собеседовании с вопросами, связанными с клиент-серверной архитектурой. Но что же это такое? Это сетевая архитектура, с помощью которой работают все интернет-сервисы. Частью этой архитектуры являются сетевые протоколы, с помощью которых клиент, сервер и база данных взаимодействуют между собой. Знание протоколов тоже важно для тестировщика, поэтому из базовых рекомендуем изучить IP, стек TCP/IP, HTTP/HTTPS, UDP и DNS.
Начальные знания языков программирования
Не всегда, но довольно часто от кандидата также требуют начальные знания какого-либо языка программирования. Ручному тестировщику это пригодится для анализа кода и поиска багов, прогона автотестов и изучения логов. Некоторые работодатели после трудоустройства переобучают мануальных тестировщиков на автоматизаторов. Тогда ваше знание языков программирования будет несомненным плюсом. Языки и фреймворки, которые могут быть полезны всем тестировщикам: Python, Ruby, SQL, PHP, Flutter, React Native, Kotlin Native. При тестировании веба обратите внимание на JS, а в связке с ним — на HTML и CSS. Для Android-тестировщиков: Java, Kotlin. Для iOS: SwiftUI, Objective-C.
Работа с API и снифферами трафика
Бэкенд, в частности, API — это важнейшие части проекта, и их тестированию стоит уделять особое внимание. На помощь приходят снифферы — программы, которые могут перехватывать и анализировать сетевой трафик. Благодаря этому вы сможете изменить параметры запросов и проверить поведение сервера. Тестировщику достаточно будет уметь пользоваться одной программой, например Charles, Burp Suite или Fiddler. Помимо этого, такие программы, как SoapUI или Postman, подойдут для проектирования, создания и тестирования API.
Работа с DevTools
Инструменты разработчика — это программы, которые помогают в создании, тестировании и отладке ПО. Практически в каждом современном браузере они встроенные. С их помощью мы можем просматривать и отлаживать код сайта, эмулировать iOS и Android-устройства, подменять User-Agent, геолокацию и много что ещё. Именно поэтому DevTools является must have инструментом для освоения тестировщиком.
Технический английский язык
Сегодня знание английского требуется практически в каждой профессии. Инженеру по тестированию он может пригодиться как для перевода документации и работы с различными программами, так и для понимания коллег. Рекомендуем изучать его вне зависимости от вашей сферы деятельности.
Само собой, возможно, вам не пригодятся все инструменты и навыки, описанные здесь: всё индивидуально и зависит напрямую от вакансии и работодателя. Однако изучая материалы из этой и других наших статей, вы повышаете свои шансы на успешное прохождение собеседования. Но помните, как бы много внимания вы бы ни уделили изучению теории — без практики она почти бесполезна.
В VK Testers у вас есть возможность отработать изученные скиллы на реальных сервисах, потренироваться в использовании новых программ и составлении баг-репортов. Так что добро пожаловать:)