Привет, Хабр! Меня зовут Кристина. Я работаю в Яндекс Практикуме ревьюером на курсе «Инженер по тестированию», ментором тестировщиков в Мастерской программирования и руководителем соревновательных видов (багатонов, хакатонов и кейс-чемпионатов) в IT-практике .
В этой статье я поделюсь полезными материалами для QA-инженеров. Некоторые из них помогут освоить профессию тестировщика с нуля, а другие — расширить знания в начале карьеры.
Знакомство с профессией
Новая профессия — словно неизведанная страна, и, прежде чем посетить её, стоит изучить историю, культуру и язык. В нашем случае — разобраться, что такое тестирование, чем занимаются QA-инженеры и какова цель их работы.
Вот с чего можно начать:
→ «Фундаментальная теория тестирования» — автор статьи логично раскрывает основные понятия и подробно рассказывает, что такое тестирование, для чего оно нужно и из каких этапов состоит.
→ «Виды и типы тестирования» — а этот материал поможет определиться, каким именно тестировщиком вы хотите стать: ручным, автотестером или фулстек-специалистом. Ручной тестировщик почти не работает с кодом, проверяя работу ПО вручную. Автотестер пишет код, чтобы автоматизировать однотипные проверки. А фулстек — умеет и то и другое.
Тестовая документация
Все QA-инженеры, вне зависимости от выбранного типа тестирования, составляют тестовую документацию — набор документов, создаваемых перед и в процессе тестирования. Предлагаю рассмотреть полезные материалы для каждого вида документов отдельно.
План тестирования (или тест-план)
Чтобы тестирование было эффективным, его планируют: формулируют цель, разбивают её на небольшие задачи, подбирают методы и способы реализации этих задач. Всё это фиксируется в тест-плане.
→ «[Новичкам] Фреймворк для создания QA тест-плана»
→ «Как составить стратегию тестирования: версия настоящих инженеров»
Тест-кейс
Тест-кейс — это пошаговая инструкция проверки. Кейс состоит из ID (уникального идентификационного номера), заголовка, отражающего суть проверки, предусловий («нулевых шагов»), шагов с конкретными вводимыми тестовыми данными, описанием ожидаемого результата, статусом проверки и ссылкой на баг-репорт.
→ «С чего начинается тестирование: что такое тест‑кейс, зачем он нужен и как его писать»
→ «Как писать тест-кейсы: полное руководство»
→ «Пишем максимально эффективный тест-кейс»
Чек-лист
Чек-лист пригодится, если что-то нужно протестировать быстро. Он похож на тест-кейс, но без шагов.
→ «Как составить чек-листы для эффективного тестирования продуктов: простые шаги и примеры»
Баг-репорт
Баг-репорт — это отчёт о найденной ошибке. Он состоит из ID, заголовка, статуса, приоритета, степени серьёзности, шагов, описания ожидаемого и фактического результатов, а также приложений в виде скриншотов и скринкастов. В отличие от тест-кейсов и чек-листов, баг-репорт составляется не до, а после тестирования в случае нахождения бага. Репорт служит для фиксации и воспроизведения бага.
→ «Тот ещё жук: как начинающему тестировщику составить хороший баг‑репорт»
Отчёт о тестировании
Иногда тестировщики составляют отчёт не только об одном найденном дефекте, а обо всех обнаруженных багах. Такой отчёт можно красиво оформить в виде набора таблиц и диаграмм, показать лиду или даже заказчику.
→ «Создание понятных отчётов о тестировании»
Веб- и мобильное тестирование
Тестирования для десктопных и мобильных приложений в чём-то схожи, но имеют определённые различия. Чтобы проверить работу приложения, необходимо запустить его на разных актуальных платформах и браузерах. Если на руках нет необходимого мобильного устройства, QA-инженеры используют эмуляторы.
Что можно почитать:
→ «Различия в тестировании мобильных и веб-приложений»
→ «Тестирование мобильных приложений: инструкция для начинающих»
→ «Как пользоваться Android Studio»
API
API (Application Programming Interface) — это набор правил для взаимодействия программ между собой. API помогает программам обмениваться информацией, запрашивать данные или выполнять определённые задачи.
По этой теме есть много полезных материалов:
→ «Как тестировщики проверяют работу API: принципы, инструменты и реальные примеры»
→ «OpenAPI и Swagger Editor — своё описание REST API с нуля» (видео: 17 минут)
→ «Документирование API-сервисов с помощью Swagger на примере фреймворков Express.js и Gin»
→ «Что такое Swagger и OpenAPI за 3 минуты» (видео: 4 минуты)
Тестирование баз данных
Тестирование будет неполным, если не протестировать бэкенд. Тестирование баз данных не касается пользовательского интерфейса и направлено на проверку внутренних процессов, в частности работы с данными.
Чтобы протестировать базы данных, необходимо знать язык программирования SQL. Он используется для проверки реляционных баз данных и помогает QA-инженерам обнаруживать проблемы, связанные с данными, которые могут быть пропущены другими методами тестирования.
Что можно почитать:
→ «Тестирование баз данных — гайд»
Автоматизация тестирования
При автоматизированном тестировании QA-инженер пишет специальные программы — автотесты, которые помогают быстрее найти и пофиксить баги в API, веб- и мобильных приложениях. Чтобы освоить это направление, тестировщик должен выбрать язык программирования, освоить его на базовом уровне, а также научиться пользоваться дополнительными библиотеками и инструментами.
Что поможет познакомиться с автотестами:
→ «Что такое автоматизированное тестирование? Гайд по основам»
→ «Как перейти из ручного тестирования в автоматизированное»
Git
Тестировщики проверяют продукт на соответствие требованиям не сами по себе, а вместе с разработчиками, дизайнерами и менеджерами. Чтобы работать в такой команде, QA-инженеру понадобится Git — система контроля версий, которая помогает хранить данные о программе на разных итерациях. С её помощью можно отслеживать изменения в коде и при необходимости быстро возвращать его к одному из предыдущих состояний.
Несколько ссылок, которые помогут освоить Git:
→ «Основы работы с Git» (16-часовой курс)
→ Книга Скотта Чакона и Бена Страуба «Git для профессионального программиста»
Что ещё почитать и на что подписаться
Надеюсь, эта подборка поможет вам самостоятельно познакомиться с основами профессии тестировщика. А вот что можно попробовать потом — эти книги, материалы, телеграм-каналы и другие ресурсы помогут развиваться в профессии как в начале карьеры, так и в будущем.
Добавить в закладки
→ Код — журнал Яндекс Практикума, материалы которого могут быть интересны как новичкам, так и продвинутым тестировщикам. Медиа рассказывает о программировании простым языком и с юмором.
→ Test Engineer — сайт, посвящённый основным вопросам тестирования.
Почитать
→ «Тестирование программного обеспечения. Базовый курс», Святослав Куликов — бесплатное издание для новичков. Автор рассказал почти о всех видах тестирования, чек-листах, наборах кейсов, отчётах о тестировании и даже затронул тему автотестов — в книге изложены команды, уже готовые к применению.
→ «Ключевые процессы тестирования», Рекс Блэк — книга для тех, кто не ищет лёгких путей. Автор рассматривает планирование, подготовку, проведение и совершенствование процесса тестирования на основе проекта «Суматра», который ведёт один тест-менеджер.
Попрактиковаться
→ Leetcode — сайт с задачами на знание кода, который поможет при подготовке к техническому собеседованию в крупные IT-компании.
Развить навык постановки задач и управления проектами
→ «Agile in IT: 8 методов декомпозиции задач» — статья, которая будет полезна при декомпозиции требований и поможет ничего не упустить при составлении тестовой документации.
→ «Scrum. Революционный метод управления проектами. Книга за 15 минут» — краткое изложение книги о Scrum, одном из методов в методологии Agile, который заключается в разделении больших задач на маленькие подзадачи. Такой метод используется при разработке многих IT-продуктов.
Подписаться в Telegram
→ IT-практика — группа для тестировщиков-джуниоров и программистов без опыта.
→ QA juniors, QA Juniors?☠️ — чаты и группы поддержки для начинающих тестировщиков.
→ QARocks. Тестировщик Рулит ?, Тестировщик от бога, Серьезный тестировщик ?, QApedia | Тестирование, Библиотека тестировщика, Книги по тестированию, ?? Уютное сообщество тестировщиков — каналы с туториалами, книгами по QA, тестами, полезными подборками и другими материалами.
→ Тестировщики нужны — канал Станислава Яковлева, QA Lead в «Тинькофф».
→ Yet another QA — канал Анастасии Шариковой, ex-Technical Lead в Bookmate.
→ QA Mentors — группа для поиска менторов в QA.
→ QA - Bad Company! — чат, в котором тестировщики делятся впечатлениями о работодателях и пройденных курсах.
→ Вакансии по QA — тестирование, manual testing, autotests — вакансии для тестировщиков.
→ QA - Резюме — канал с резюме тестировщиков.
→ Postman | Community — чат для обсуждения работы с Postman и тестирования API.
→ Automation QA | IT — канал с материалами, посвящёнными автоматизированному тестированию.
PatakinVVV
Спасибо! Ссылок достаточно много, некоторые материалы очень понравились, продолжу читать на досуге.