В этой статье рассказываем, что должен уметь тестировщик, нужно ли ему знать программирование и с чего новичку лучше начать обучение тестированию.
- Кто такой тестировщик и чем он занимается
- Что должен знать тестировщик и какие хард скиллы ему нужны
- Нужно ли тестировщику знать программирование
- Какие софт скиллы нужны тестировщику
- С чего начать обучение тестировщика
Кто такой тестировщик и чем он занимается
Тестировщик — это специалист, который проверяет продукт на соответствие требованиям заказчиков или пользователей и обнаруживает его дефекты с помощью тестирования кода. Обязанности специалиста могут отличаться в зависимости от уровня и специализации, но в основном он выполняет эти задачи:
- Составление тестовой документации для тестирования новых функциональностей продукта
- Проведение ручного тестирования новых функциональностей — поиска дефектов с помощью имитации действий пользователя
- Проведение регрессионного ручного тестирования. С его помощью можно найти дефекты в уже протестированных участках продукта
- Ведение баг-репортов
- Составление отчетов по итогам тестирования
- Воспроизведение и заведение дефектов, обнаруженных на этапе эксплуатации
- Автоматизация регрессионного тестирования
- Общение с заказчиком, командой разработки и тестирования
Специализацию тестировщиков можно условно разделить по направлениям — тестирование юзабилити, производительности, безопасности, а также по способу исполнения тестов: ручное (мануальное) и автоматизированное тестирование.
- Смените профессию за 4 месяца — короткий путь в IT
- Познакомьтесь с этапами разработки и жизненным циклом ПО
- Узнайте всё о техниках тест-дизайна
- Разберитесь с системами управления тестированием и системами баг-трекинга
- Научитесь работать с API и базами данных
Что должен знать тестировщик и какие хард скиллы ему нужны
Тестировщику важно знать, что и как он будет тестировать, как проектировать свои тесты, чтобы они были эффективными, как сделать продукт лучше и удобнее для пользователя. Поговорим о том, что нужно знать тестировщику на техническом уровне.
Теория
Вне зависимости от специализации, тестировщику нужно иметь представление о техниках тест-дизайна, видах тестирования, способах локализации ошибок, методологиях разработки ПО. Все это помогает успешно проходить собеседования и эффективно тестировать продукт.
Читайте также: Как пройти собеседование на тестировщика: все этапы и вопросы
Инструменты тестирования
Инструменты тестирования — это программы, которые используют тестировщики при тестировании ПО.
Для разных задач подходят разные программы. Например, для тестирования веб-приложений отлично подходит Chrome DevTools, а для тестирования API — Postman. Для ведения тестовой документации также есть различные инструменты — Allure TestOps, Testlink, Testrail, TestIT и многие другие.
Логи
Логи — это хронология событий и действий, происходящих в ПО. Ее «ведет» программа для того, чтобы разработчикам и тестировщикам можно было понимать истинные причины возникновения багов. Это называется локализация дефекта.
Базы данных
У любого приложения есть своя база данных. В ней может храниться информация о пользователях, различные тексты, файлы — словом, все, что относится к продукту.
Иногда тестировщику приходится работать с базами данных. Для этого ему нужно знать SQL — с помощью этого языка тестировщик работает с самими данными, например, делает выборки.
Баг-репорты
Баг-репорт — это технический документ с информацией о баге, его причинах и локализации. По этому документу разработчик исправляет ошибки в коде, поэтому тестировщику важно грамотно описывать баги.
Шаблон баг-репорта
Что нужно знать тестировщику дополнительно
- Принципы тестирования API — оно позволяет мобильным и веб-приложениям обрабатывать информацию на серверах.
- Модель OSI — она помогает тестировщику определить уровень ошибки, провести диагностику сетей.
- Unix, Linux, Windows, командная строка. Это нужно не всем, но ценность тестировщика повышается, если он разбирается в серверах и умеет пользоваться консольными утилитами.
- Протоколы HTTP, JSON, XML, принципы клиент-серверного взаимодействия. Тестировщик должен понимать, как локализовать элементы страницы и работать с запросами.
- Система контроля версий Git — она хранит код в удаленных хранилищах, позволяет его редактировать и руководит доступом к нему. Знание того, как с ней работать, в основном, нужно автоматизированным тестировщикам.
Нужно ли тестировщику знать программирование
Тестировщику не обязательно уметь программировать. Если вы хотите заниматься ручным тестированием, то умение кодить не понадобится — вы будете составлять тест-кейсы и описывать последовательности.
Но если вы захотите повысить свою ценность как тестировщика и освоить автоматизированное тестирование, то здесь уже потребуется знание программирования. Оно нужно для того, чтобы писать автотесты. Чаще всего кодить придется на одном или нескольких популярных языках, вроде Python или Java.
Читайте также: Гид по профессии тестировщик: чем занимается специалист в сфере QA, сколько зарабатывает, что надо знать и где учиться
Какие софт скиллы нужны тестировщику
- Стопроцентное внимание и сосредоточенность. Некоторые работодатели считают это самым важным качеством, так как не ждут ошибок от специалиста, который их ищет. Это спорное мнение, тестировщики все же не роботы, и иногда могут упускать баги. Но внимательность в работе — это точно плюс.
- Любопытство. Тестировщик должен задавать много вопросов. Например, почему этот код работает так, а не иначе, для чего нужна конкретная фича в программе. Нелюбопытный специалист не сможет хорошо тестировать.
- Умение работать в команде. Каждый день тестировщик общается с командой разработки, иногда с менеджментом компании. Ему нужно уметь адекватно реагировать на критику, находить общий язык с коллегами и не провоцировать конфликты.
- Умение четко формулировать мысли. Это особенно полезно для составления баг-репортов — разработчикам должно быть понятно, что тестировщик попросил его исправить.
- Усидчивость. Тестировщик должен уметь выполнять монотонную работу, потому что она составляет большую часть его рабочих задач.
- Дисциплинированность. Тестировщик должен ответственно подходить к своей работе, и, например, писать тест-кейсы в срок, оформлять дефекты сразу после обнаружения, не забывать проводить повторное тестирование.
С чего начать обучение тестировщика
Изучите профессию
Читайте обучающие статьи на Хабре и Software-Testing.ru, следите за новостями из сферы, смотрите видеолекции на YouTube. Найдите комьюнити тестировщиков или присоединяйтесь к Хекслет Комьюнити, чтобы обсуждать тестирование и свой прогресс в обучении.
Пройдите курсы
Это один из самых эффективных способов структурировать знания и получить много практики. Мы на Хекслете запустили групповое обучение по профессии «Инженер по тестированию». Оно проходит в формате вебинаров с домашними заданиями с проверкой от наставника.
Читайте книги
Авторы книг дают базовые знания о профессии и делятся полезным опытом. Вот несколько интересных книг о тестировании:
- Святослав Куликов «Тестирование программного обеспечения. Базовый курс»
- Борис Бейзер «Тестирование черного ящика»
- Рекс Блэк «Ключевые процессы тестирования. Планирование, подготовка, проведение, совершенствование»
Практикуйтесь
Если вы начинающий тестировщик, то для вас есть одно хорошее упражнение. Попробуйте развить у себя мышление тестировщика: обдумайте, как бы вы тестировали окружающие вас предметы. Прокрутите в голове все варианты того, как можно, например, проверить прочность стола, какие у этого действия есть позитивные и негативные сценарии.
Если вы уже немного продвинулись в знаниях, погуглите сайты для тренировки тестировщиков. Обычно на таких сайтах есть много багов, которые молодые специалисты могут находить и описывать самостоятельно. Любая практика полезна.
- Смените профессию за 4 месяца — короткий путь в IT
- Познакомьтесь с этапами разработки и жизненным циклом ПО
- Узнайте всё о техниках тест-дизайна
- Разберитесь с системами управления тестированием и системами баг-трекинга
- Научитесь работать с API и базами данных