2024
Актуальная карта развития для тестировщика
Как попасть в профессию с нуля
Меня зовут Роман Сакутин - я программист, разработчик игр с 10 летним опытом работы. Успел поработать в США в составе Dusk Games над проектом Frostfall, а сейчас владею своей студией - AGAVA, которая раньше делала мобильные и браузерные игры. А сейчас работает с крупными заказчиками на аутсорс разработке и копит деньги на игру мечты.

А ещё я веду блог про разработку игр на YouTube и у меня 270 000 подписчиков, которых я очень сильно люблю. Спасибо вам за вашу поддержку!
От чего ОТКАЗАЛСЯ Костя
Простой но эффективный путь
Уже 5 лет я занимаюсь своей школой IT профессий ЯЮниор. С самом начала у нас был простой принцип: менторство, практика и только самый нужный материал.

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

Я же всегда делал всё наоборот. Минимум материала и огромная команда для поддержки учеников из-за чего прибыли меньше, но зато тысячи довольных и трудоустроенных ребят.

Для Кости я прочертил путь который напитан этими принципами.

Что такое профессия тестировщик?

Тестировщик - это член команды разработки.

Может показаться, что он обычная обезьянка. Что-то типа уборщика в офисе.

Но это совсем не так!

Запомните. Тестировщик не обслуживают команду. Он ЧАСТЬ команды.

Когда делается компьютерная программа есть несколько проблемных точек:
  1. Несколько программистов делают разные части системы, и потом их соединяют. Кто проверит, что всё в итоге работает корректно?
  2. Программист делает задачу и сдаёт решение. Кто проверит правильно ли он всё понял и всё сделал как ожидалось?
  3. В программе очень много функций, программист добавил новую. Кто проверит, что в результате не сломались старые?

Можно отдать эту задачу программистам. Но тогда они не будут успевать писать код.

Да и правильное тестирование это отдельный навык.

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

Правильно искать и фиксировать баги.

Автоматизировать рутинную работу.

Работать со специальными программами отладки.

Это всё огромное количество умений которым нужно научиться. И по этому за это достойно платят.
Тестирование бывает двух видов
Ручное тестирование - это буквально когда у вас есть допустим сайт и специальные инструменты. Вы в ручную проходитесь по основным функциям и фиксируете ошибки. Зарплата на старте в районе 70 000 рублей а обучение занимает 3 месяца.

Автоматизированное тестирование - это когда вы с помощью языков программирования и специальных сред разработки пишите авто-тест. Это программа которая запускается и проверяет ошибки сама. Этот тестировщик - это ручной тестировщик + навык программирования. Зарплата на старте в районе 120 000 рублей а обучение занимается 9 месяцев.

Большинство школ учат ручному тестированию или ооочень плохо автоматизированному. Автоматизированных тестировщиков огромный дефицит.
Ключевые точки
Основные точки при обучение Кости
Необходимая теория
Теоретический минимум который объяснен не заумно и буквально на пальцах
Практика
Интересные практические стенды в реальной среде
Пробивное резюме
Ключевые акценты которые помогут пробиться среди других кандидатов
Собеседования
Подготовка к основным вопросам и разбор нюансов ответов
Поддержка на работе
Первые 3 месяца работы самые сложные и поддержка при первом стрессе и непонятных задачах
!!!ВАЖНО!!!
Дальше я привожу материал на который опирался при подготовке Кости. У него есть ряд нюансов:
  1. Он заумный. Когда его составляли авторы они сделали теоретически верный и крутой материал. Но он заумный и сложно понятный новичкам. Моя задача как ментора Кости была адаптировать его под его уровень и разжевывать-разжевывать-разжевывать.
  2. Практика. Будет и практика и практические стенды. У Кости уходило 10 попыток, чтобы сдать простую задачу мне правильно. Если бы я его не контролировал, то он просто бы делал с кучей ошибок и думал что всё идёт хорошо. На этих ошибках вас и ловят на собеседование из-за чего вы не можете долго трудоустроится.

Как итог материал - крутой. Моё платное обучение построено на его базе. Но во-первых у меня он адаптирован под новичков и структурирован. А во-вторых с вами работает команда менторов.

Подробней можете узнать о нём здесь - https://ijunior.ru/mentoring/qa?utm_source=funnel&utm_medium=qa&utm_term=roadmap1
Необходимая ТЕОРИЯ
Фундаментальные навыки тестирования

Знание методик тестирования:
  • модульное тестирование;
  • интеграционное тестирование;
  • системное тестирование;
  • приемочные испытания.

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

Т.е методика - это конкретная зона и техника фактической работы. А стратегия - это вся организация в рамках разработки сайта\программы и взаимодействия внутри команды.

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

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

Когда вы выдаёте баг-репорт наступает важнейшая точка. Приоритизация.

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

Базы Данных

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

Для этого нужно знать основы SQL для совершения различных операций с системой управления базами данных. Хорошо будет если вы также имеете навык работы с NoSQL базами (MongoDB например).

Основы REST API

Сайт разделяется на две части: front-end и back-end. Много задач будет о том, как тестировать front-end - видимую часть сайта. Но регулярно вам нужно будет производить запросы к серверу в ручную. Та часть что эти запросы обрабатывает называется back-end. Обычно запросы отправляются по схеме RESTful.

Например есть сайт библиотеки. И есть API администратора и там 4 операции:

  • Get - получить информацию о книге;
  • Post - создать новую книгу;
  • Put - обновить информацию о книге;
  • Delete - удалить книгу.

Ответ на эти операции приходит с каким-нибудь кодом. Например 404 - что означает, что вы вызываете несуществующую операцию. К коду также идут данные по протоколу HTTP в каком-нибудь формате. Например на операцию Get может вернуться информация о книге в формате JSON.

Использование основных инструментов

Когда речь идёт о простом сайта с одной формой то формат вашей работы такой:
  1. Получили тестовую-документацию. Как работает эта форма.
  2. Получили сайт и точку доступа к API.
  3. Протестировали форму руками в браузере и создали баг-репорты.

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

Для всего этого есть специальные инструменты. Например Postman для тестирования API без интерфейса. Jira для удобной фиксации баг-репортов.

Пошаговый разбор вашей работы

Для меня была такая картина первого рабочего дня Кости под который я формировал список навыков.

Костя приходит в офис и открывает ноутбук. Его знакомят с Agile командой и он получает доступ к Kanban доске. Читает спецификацию сайта и изучает чек-листы.

Берёт первую задачу из готовых к проверке качества.

С помощью Git скачивает ветку в которой реализована эта задача. С помощью консольных команд разворачивает базу данных и сайт.

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

Берёт следующую задачу которая работает только через API. Разворачивает Swagger в PostMan. Делает REST запросы и анализирует ответы в формате JSON.

Далее все баги приоритезирует согласно продуктовой стратегии.

Я готовил Костю к работе тестировщиком сайтов. Помимо этого хороший тестировщик также умеет тестировать мобильные приложения.
База данных материала
А как получить Практику?
Теоретического материала для тестировщик много. Неприлично много.

Я насчитал 20 годных YouTube каналов, с десяток бесплатных книг и сотни толковых статей. В базе данных есть ссылка на QA Bibble где представлено большинство ссылок.

Нюанс только один. Очень много информации, терминов и теории.

Но нет главного. Навыка работы.

После собеседования вы попадаете на работу, вам открывают доступ к Jira, вы получаете первую карточку на тестирование и спецификацию работы сайта.

И всё. Что делать с этим? Как с этим взаимодействовать?

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

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

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

И параллельно вы ведёте тестирование крупных проектов с менторами и реально учитесь.

Подробности на сайте.

Но даже без такого большого проекта вы можете потренироваться на различных тренажерах.

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

Об этом всём мы поговорим дальше на прямых эфирах. Следите за новостями в чате.

Если хотите учиться с нами, то пишите напрямую в ТГ - https://t.me/IJunior_manager