Содержание
- Этапы развития и как их проходить
- Знания, умения и личные качества
- Как мне на новой работе
- Как я выбирал курс
- Что надо уметь
- Как стать тестировщикомс нуля?
- Как я сменил профессию за два дня
- Онлайн-курс тестировщиков от Hedu
- Кто такие тест-лиды
- Сделайте осознанный выбор
- Как получить первую работу в QA
- Плюсы и минусы работы тестировщиком
- Тестировщик ПО: кто это?
- Коммуникации
- Что еще нужно знать, чтобы стать программистом?
- Курс «Тестировщик» от Нетологии
- QA ≠ QC: как их различить
- Итоги
Этапы развития и как их проходить
Есть несколько уровней мастерства тестировщика.
Джуниор. Ты проходишь подробные тесты, составленные кем-то другим. Задумываешься, на чём они основаны, и внезапно открываешь для себя существование документации. Отныне ориентируйся на неё! Даже если тест-кейс ей противоречит.
Тестировщик. Ты тестируешь программу по документации и ориентируешься на описание функциональности. Тест-дизайнеры как отдельные работники — редкость, поэтому ты сам придумываешь, как протестировать приложение, чтобы отловить все возможные ошибки. Сам пишешь подробный план тестирования и тест-кейсы. Дальше группируешь тест-кейсы логически и раздаёшь джуниорам. Это уровень старшего и ведущего тестировщика.
Исследователь. Самый сложный уровень — exploratory testing. Нет ни тестовой модели, ни подробной документации (в лучшем случае — список задач для разработчиков). Задача — найти все баги ПО. Тут придётся включить фантазию и моделировать работу конечного пользователя. Да не простого, а пользователя-ломателя.
Иногда ты будешь сталкиваться с трудностями тестирования в ограниченной среде. Придётся проверять, как работает твоя программа при получении сообщений из другой системы, к которой у тебя нет доступа. Можно координироваться с коллегами из других систем либо справляться самому. Во втором случае надо уметь пользоваться вспомогательным ПО типа SoapUI и Postman.
Но прежде всего надо разобраться:
- как устроена клиент-серверная архитектура,
- как формировать и обрабатывать интеграционные сообщения,
- как запускать их из командной строки.
Полезно уметь подключаться к серверу или удалённой машине с помощью программ типа WinSCP. Но они только показывают файлы (в том числе логи), а для отправки команд серверу понадобится изучить ещё и Putty либо аналог.
Плюс надо понимать, что такое командная строка, и знать основные команды Linux. Открою секрет: на первых порах можно ограничиться пятью командами, но их придётся запомнить.
Знания, умения и личные качества
Теперь переходим к вопросу, что должен знать и уметь делать тестировщик:
- четко формулировать мысли, чтобы подробно описать баги и погрешности;
- составлять тест-кейсы;
- создавать сценарии тестирования;
- знать основы тестирования, его классификацию, методики и инструменты;
- знать язык SQL, HTML и CSS;
- работать с базами данных;
- знать системы контроля версий;
- владеть инструментами ручного и автоматического тестирования;
- пользоваться системами тестирования;
- знать английский язык;
- работать с командной строкой;
- знать браузеры;
- пользоваться инструментами веб-разработчиков;
- понимать первопричину проблемы и устранять ее;
- составлять и оформлять отчеты;
- владеть основами Linux;
- понимать архитектуру ПК;
- распределять время и укладываться в сроки;
- анализировать чужой код;
- работать с системами баг-трекинга;
- обладать навыками командной работы;
- составлять и автоматизировать тесты;
- понимать особенности операционных систем;
- оценивать, качественно ли проведено тестирование;
- анализировать полученные после тестирования результаты;
- понимать процесс веб-разработки.
На начальных этапах знание языков программирования не обязательно. Но если тестировщик хочет получить повышение и увеличить зарплату, их изучить придется.
Кроме этого, нужно иметь определенный набор личных качеств:
- коммуникабельность;
- внимательность к мелочам;
- аналитические навыки;
- терпение;
- стрессоустойчивость;
- усидчивость;
- педантичность;
- перфекционизм;
- логическое мышление;
- способность запоминать большие объемы информации;
- адаптивность;
- настойчивость;
- ответственность.
Плюс ко всему у тестировщика должно быть стремление к развитию. Ему необходимо постоянно осваивать новые методики, читать техническую литературу, принимать участие в конференциях и семинарах.
Как мне на новой работе
Первые два дня на новой работе я просто сидел и ждал. Меня добавили в чат разработки, создали чат с коллегой-тестировщицей на другом проекте. Решили с ней, как будем делать различные моменты в своей работе – так как там раньше не было отдела тестирования, мы обсуждали это сами. Сначала настраивали тестовую среду, на второй день случился какой-то аврал и все силы были брошены туда.
Мне повезло, потому что я был нулем, без опыта в тестировании. У нас достаточно либеральный коллектив, я чувствую себя расслабленно, потому что не задают вопросы, почему я так написал, главное – результат, то есть чтобы продукт вышел без багов.
Изначально я потерял в зарплате около 20%, но по моему качеству жизни это не ударило — мы с супругой имеем накопления и заранее были готовы к этому. Я рассчитывал на меньший доход, но получил нормальный уровень зарплаты для начинающего тестировщика. Мой испытательный срок закончился и эта разница в зарплате может быть нивелирована уже в ближайшие дни. Кроме того, это только начало пути, я планирую развиваться в профессии дальше.
Курс
Тестировщик ПО
Пройдите курс-симулятор и получите профессию QA-инженера с навыками автоматизации на Python. Дополнительная скидка 5% по промокоду BLOG.
Узнать больше
Как я выбирал курс
Сначала я определялся, на кого учиться: на разработчика или тестировщика. Чаще всего пишут, что с позиции тестировщика проще войти в сферу, потому что нужно меньше математических знаний и эта работа как раз такая, чтобы изучить все «в бою». Работая тестировщиком, ты так или иначе сталкиваешься с вопросами и проблемами разработки. Сейчас на работе я читаю чат с разработчиками, которые обмениваются кусками кода, и я, даже не зная PHP, примерно понимаю, о чем речь.
Пару раз по дороге на работу я поверхностно посмотрел сайты школ и отзывы на них. Однажды утром встал с пониманием, что пора уже что-то делать. Открыл поисковик, вбил курсы тестировщиков на Python. Где-то были длительные курсы, где-то обучение шло на Java, но мне нужны были курсы тестировщика с автоматизацией, так как я сразу понимал, что хочу через некоторое время уйти в разработчики. Нашел курс на SkillFactory, который подходил по всем параметрам, поговорил с менеджером по поводу рассрочки, и через пару недель начались занятия.
Когда была теория с тестами, было легко. Садишься в метро и по дороге до работы читаешь, смотришь, выполняешь задания. Потом появились серьезные практические задачи, которые было сложно сделать с телефона, надо работать в нескольких окнах и т. д. Тогда уже пришлось садиться за учебу на выходных и в свободное время.
Курс делился на два блока: ручное тестирование и автоматизация. С первым вообще не было проблем, для этого достаточно уровня пытливого пользователя, когда ты не просто тыкаешь на кнопки, а пытаешься разобраться, что к чему. Был сложный момент с выполнением итогового задания, и то только потому, что мне дали тестировать сайт на английском языке, а я и в школе, и в вузе учил немецкий. Я сидел с переводчиком, сложно было понять специфические слова, я не мог сказать, есть там баг или нет, потому что не понимал, что вообще должно там быть. Потратил много времени и усилий, но сдал.
Сложной математики не было, плюс на некоторых моментах были отсылки на другие ресурсы с объяснением, что чем идет речь. Такие вещи, как деление по модулю, целочисленное деление – это пришлось освежать, но я тратил по пять минут на прочтение статьи о том, что это значит. А вот знания английского языка мне действительно не хватало.
Что надо уметь
От тестировщика требуется:
- знание основ тестирования, его видов и методов;
- умение составлять тест-кейсы, тест-планы;
- знание языка запросов SQL, умение работать с базами данных;
- знание языков программирования;
- знание систем контроля версий: Git, CVS и тому подобных.
Кроме того, тестировщик должен владеть инструментами ручного и автоматического тестирования. Это могут быть:
- системы для создания тест-кейсов и отслеживания ошибок.
- файловые менеджеры, текстовые и XML-редакторы.
- генераторы тестовых данных и другие.
Для автоматизации тестов понадобятся системы тестирования веб-приложений, программы для функционального и нагрузочного тестирования.
Как стать тестировщикомс нуля?
пошаговое руководство
План в двух словах для начинающих:
- обучение
- практика на биржах для фрилансеров
- поиск постоянной работы в фирме.
Пошаговое руководство для тестировщика
Техническое образование приветствуется, но не является обязательным условием. Достаточно быть уверенным пользователем ПК.
Начинаем с обучения. Новичку предлагаются такие варианты:
- платные курсы – в онлайн или оффлайн-формате;
- курсы от IT-компаний с последующим трудоустройством.
- самостоятельное обучение – найти подборку бесплатных уроков и книг;
Новичок может начать изучать тестирование например по книжке «Тестирование DOT COM» автор Роман Савин. Литература ориентирована на начинающих и в оригинале написана на русском языке, что облегчи усвоение материала.
В интернете нет дефицита бесплатных материалов по тестированию, но без контроля преподавателя есть риск пропустить важные материалы. С другой стороны, платные курсы не гарантируют, что вы получите знания «под ключ».
Что делать? Не переставать учиться, отслеживая новости про грядущие вебинары и онлайн курсы. Подписывайтесь на тематический Telegram канал.
Следующий шаг — практика: регистрируемся на биржах для фрилансеров. Популярные платформы для тестировщиков — Test IO, uTest, Upwork, Bugfinders.
В сети действует более 20 платформ для тестировщиков-фрилансеров, большинство из которых — зарубежные.
Если ты ещё не знаешь английский язык, самое время начать изучать, это позволит тебе черпать информацию с первоисточников и расширит круг подходящих вакансий.
- Лучшие сайты для изучения английского языка
- Курсы
- Приложения
- Сериалы
- Игры
Как я сменил профессию за два дня
Я получил диплом экономиста, пару лет поработал по специальности — и понял, что заниматься этим я себя заставляю. Ушёл. Около года провёл в продажах и параллельно искал, чем заниматься дальше. И вот однажды я вспомнил кое-какую статью про тестирование и разговор со знакомым, который тестировал телефоны Motorola.
В порядке эксперимента я обновил резюме на hh.ru — сменил желаемую должность на «тестировщик». В тот же день получил приглашение на собеседование и совет, что подучить. Основное — виды и уровни тестирования, реляционные базы данных и классы эквивалентности (одна из техник тест-дизайна). Я вбил это в поисковик и попал на сайт protesting.ru. Информация там структурирована и хорошо изложена. Почитал, вник.
На следующий день я успешно прошёл собеседование в компанию с броским названием S&T International. Так начался мой путь в тестирование и IT в целом. Но не всё так просто. Получить работу — ещё не значит стать крутым специалистом. Поэтому самое интересное началось дальше.
Онлайн-курс тестировщиков от Hedu
Сайт – irs.academy Длительность обучения – индивидуально. Стоимость обучения – от 25 800 руб.
В Hedu удобный режим индивидуального освоения образовательной программы – студент тратит столько времени на обучение, сколько может. Для тех, кто не уверен в своих возможностях, предусмотрена VIP-программа с индивидуальной работой обучающегося и преподавателя.
Программа курса:
- терминология специалиста, требования к качеству ПО, полный цикл и задачи тестирования;
- типы и психология тестирования;
- документация тестировщика: чек-лист, тест-кейс, дефект, план, отчет;
- методы тестирования: белый и черный ящик, опытный подход;
- готовность и завершение, анализ покрытия;
- функциональное и нефункциональное тестирование;
- цели и задачи юзабилити, удобство интерфейса, основы UI/UX;
- тестирование веб-сервисов и приложений, автоматизация работы специалиста.
При оплате программы, слушатель получает доступ к личному кабинету, где сможет ознакомиться с видеоматериалами, выполнить домашнее задание и получить его разбор от преподавателя, задать вопрос наставнику или одногруппникам.
Кто такие тест-лиды
Наши заказчики зачастую не имеют своего отдела тестирования, а значит, своих тест-лидов у них тоже нет. Соответственно, нет человека со стороны заказчика, кто мог бы взять на себя организацию и контроль работы тестировщиков. Так мы поняли, что нам необходим сторонний тест-лид. Ведь наши «хомячки» — начинающие тестировщики без опыта работы, и организоваться сами они не смогут, как и понять, правильно ли они всё делают и в нужном ли направлении движутся.
На заре «Хомячков» тест-лидами были мы сами: выстраивали процессы, смотрели, что ещё необходимо внедрить, подбирали бесплатные или дешёвые инструменты и писали к ним понятные инструкции.
Сейчас тест-лиды — это либо бывшие «хомячки», которые выросли и стали опытными тестировщиками, либо тест-лид со стороны заказчика, либо опытные тестировщики, которые приходят к нам за опытом руководства.
Чтобы стать тест-лидом в «Хомячках», надо иметь достаточный опыт работы в тестировании, а ещё уверенность в себе, умение быстро встраиваться в новый проект и, конечно же, желание посвятить своё время «Хомячкам».
Сделайте осознанный выбор
Сложно построить успешную карьеру без интереса, увлеченности или даже азарта. Начните путь к карьере тестировщика с вопроса: почему именно эта профессия? Ваша мотивация станет главным ориентиром, и вы сможете преодолеть все этапы обучения и устроиться на работу.
Тестирование, как и любая другая профессия, подходит не всем. Ваши личные качества – это основа, на которую накладываются профессиональные навыки. Тестировщику необходимы развитая логика, критическое мышление, внимательность. Тестировщик должен быть проницательным, как детектив, но при этом ответственным и небезразличным, как врач. Нужно быть готовым и ко всем атрибутам будней IT-компании – митинги, дедлайны, релизы… В этой работе есть и своя рутина, например, составление тестовой документации, повторение одних и тех же тестов.
Как получить первую работу в QA
Где искать вакансии
Просматривайте не только агрегаторы вакансий, но и специализированные ресурсы для IT-сообщества, вроде dev.by. Проверяйте сайты IT-компаний, где информация об открытых позициях и стажировках обновляется чаще. Если вы не нашли подходящую вакансию, посмотрите, указан ли на сайте адрес, на который можно отправить резюме. Обычно таким образом крупные компании формируют свою базу кандидатов, которых приглашают на собеседование, когда появится вакантное место.
Не игнорируйте LinkedIn – рекрутеры активно используют эту площадку. Обновите свой профайл, ориентируясь на профессию тестировщика. Используете LinkedIn, чтобы завести профессиональные знакомства. Вы можете напрямую написать HR-специалисту и узнать о вакансиях и условиях работы.
Как составить резюме
Прежде чем написать резюме, изучите, какие требования для junior-тестировщиков описаны в размещенных вакансиях. Это поможет сопоставить свои возможности с ожиданиями работодателей. Обычно список требований в вакансиях начинается с базовых знаний: теория тестирования, составление тестовой документации, понимание методологий разработки. Затем могут идти более специфические: знакомство с базами данных (формирование запросов), основы автоматизации. Если в вакансии встречается незнакомая технология, не стоит сразу отбрасывать этот вариант. Лучше выяснить, что это и для чего используется. От начинающего специалиста как раз и ждут способности быстро обучаться и осваивать новое.
В резюме подробно представьте свои навыки, с какими видами тестирования вы знакомы, есть ли опыт участия в проектах. Можно указать предыдущее место работы, ведь прежний профессиональный опыт может стать вашим преимуществом. Если вы хорошо разбираетесь в финансах или раньше работали в медицине, ваши знания пригодятся на проектах для этих сфер. Даже хобби можно использовать при поиске работы, например, в геймдеве (индустрия компьютерных игр) ищут тестировщиков, увлеченных играми.
Как получить опыт, не выходя из дома
Поиск первой работы может занять несколько месяцев. И это время можно провести с пользой для будущей карьеры. Продолжайте осваивать тестирование не только в теории, но и на практике при помощи краудтестинга. Это онлайн-платформы, где тестировщикам предлагают удаленно работать над проектами. Наиболее популярны utest.com, test.io, есть русскоязычная crowdtesting.ru. Работа тестировщиков на платформах оплачивается, сумма вознаграждения зависит от количества и критичности найденных багов. И самое главное – это хороший практический опыт, возможность прокачать навыки, полученные на курсах. Все это пригодится при устройстве в компанию. Проекты, над которыми вы трудились на краудтестинге, можно включить в резюме.
Как готовиться к собеседованию
Самый ответственный этап поиска работы – это собеседование. В каждой компании – свой подход к подбору сотрудников, но обычно во время встречи у кандидата стараются выяснить его мотивацию, профессиональные знания и проверяют, способен ли он мыслить нестандартно. У junior-специалиста мало практического опыта, поэтому на собеседовании обычно задают несколько теоретических вопросов. В основном спрашивают о роли тестировщика на проекте, а не о технических навыках – они придут в процессе работы.
Иногда на собеседовании могут предложить тестовое задание. Не удивляетесь, если вас попросят протестировать карандаш, чашку, лифт или даже ракету Илона Маска. Так наниматель не столько проверяет креативность кандидата, сколько его подход к работе. Не нужно придумывать, что будет с кофеваркой в открытом космосе. Действуйте как тестировщик – исследуйте объект, исходя из требований к нему. Определите, что можно проверить в рамках функционального тестирования и какие еще виды тестирования необходимы. Чтобы не растеряться, прочитайте пару примеров, как справиться с подобными необычными задачами.
Вы успешно прошли собеседование и получили работу. На какую зарплату можно рассчитывать? По данным за май 2019 года, тестировщики в нашей стране в среднем получают около 1000 долларов, а опытные специалисты (Senior QA Engineer/Tester) зарабатывают около 1900 долларов.
Плюсы и минусы работы тестировщиком
▍Плюсы
- До определённого момента работа тестировщика проще остальных технических специальностей и доступна многим, кому интересна ИТ-сфера. Переходить ли рубеж к тому интервалу, где работа становится максимально сложной, решение каждого. Если дальше не пойдёте, вас из тестирования не выгонят, вы всё равно будете востребованы.
- Потребность в тестировщиках не исчезнет до тех пор, пока есть информационные технологии, связь, интернет, роботы, автопилоты и т.д.
- Тестирование — не столь изученная область, как программирование. Если у вас есть талант и трудолюбие, вы сможете сказать своё слово миру (написать книгу, создать методологию, преподавать и т.д.).
- Карьера тестировщика довольно свободная: можно сидеть в офисе с гибким графиком, можно работать удалённо, а можно стать фрилансером, набрать проектов и тестировать их по сдельной оплате.
- Тестировщику легче вернуться на работу после долгого перерыва, например, из опыта создания своего стартапа, фриланса, декрета, иных обстоятельств.
- Работу в тестировании можно сочетать с учебой без вреда для обоих видов деятельности.
- Вы научитесь «видеть продукт» со всех сторон, узнаете все функциональные возможности, посмотрите на софт глазами инженера и глазами потребителя. Это прямой путь в менеджеры продукта. Общая картина продукта поможет вам в любом случае — например, если вы решитесь уйти в разработку.
▍Минусы
- Команда недолюбливает тестировщиков 🙂 Нет, ну вы вот сами прикиньте: вы делаете продукт, пишете код, документацию, а потом на него нападает кучка коллег и заводит баг за багом на каждую мелочь. Ну как это вынести в адекватном состоянии?! Хуже только быть единственным тестировщиком в команде — тогда всё, ты конченая сволочь. Шутки шутками, но нередко команда считает, что именно тестировщики задерживают выпуск релизов и клиентских сборок. В общем, не любят люди, когда находят ошибки в их работе.
- На первом этапе вы работаете с повторяющимися задачами, иногда работать становится невыносимо скучно.
- Тестировщики ищут ошибки разработчиков, искать ошибки тестировщиков некому. Поэтому вы будете крайними в некоторых неприятных ситуациях.
- Работа тестировщиков часто бывает незаметна руководству — придётся привыкнуть быть серым кардиналом, невидимым героем.
- Сверхурочная работа — бич тестировщиков. Рано или поздно вам будет нужно срочно оттестировать релиз или сборку, которую нужно выкатить завтра или «вот прям щас» или же остаться и проверить внесённые программистами исправления. И вы останетесь, а вот оплачивается такой героизм далеко не всегда (я вообще не встречал).
- На тестировщиках лежит огромный груз ответственности за полноту и охват тест-планов — если что-то упустить, отвечать уже придётся за пропущенные баги.
Тестировщик ПО: кто это?
Тестирование программного обеспечения – это увлекательный процесс поиска недочетов, некорректных ответов программ на конкретные действия пользователя, багов и других ошибок.
Тестировщик ПО – это специалист, который проверяет работу программы или приложения, составляет план тестов, проводит их и формирует отчет для разработчиков. Задача тестировщиков – найти все возможные ошибки.
Как это происходит? В самом начале работы над программой или приложением тестировщик составляет план поиска ошибок, пишет сценарии необходимых тестов. После окончания тестирования специалист составляет баг-репорты, в которых подробно описывает возникающие проблемы
Это важно для разработчиков, чтобы исправить возникающую ошибку в работе ПО
После доработки ПО проводится еще серия тестов для проверки функционирования. Если остались ошибки, то снова заполняются баг-репорты и повторно проводятся тесты после доработки.
Тестирование подразделяют на ручное и автоматизированное. В ручном варианте специалист имитирует действия пользователя и проверяет ПО на наличие ошибок вручную. При автоматизированном тестировании на помощь специалисту приходят программы.
Однако, каждый тестировщик владеет методами ручного и автоматизированного тестирования. Это разделение условное, так как опытные тестировщики могут проводить тесты вручную и писать программы для автоматизации.
Коммуникации
К слову о коммуникациях с коллегами: вам нужно уметь докапываться до истины, даже если потребуется сходить к пяти разным людям, да хоть к десяти, не важно. Далеко не всегда мы живем в мире, где ТЗ написано идеально и готово к началу разработки, не у всех партнёры, с которыми нужно интегрироваться, помнят, какие конкретно методы вы используете или наоборот
А бывает, что одна из сторон что-то поменяла и никому не сказала. Вот в такие моменты нужно попытаться включить в себе экстраверта и идти «докапываться» до людей.
Пожалуйста, не приходите к разработчикам или аналитикам с наездом, я вас умоляю, какая сложная ситуация бы ни была. Они же тоже люди. Тут и начинают решать ваши софт-скиллы: умение правильно объяснить ситуацию, попросить человека уделить своё драгоценное время вам, и путём диалога разобраться в проблеме.
Что еще нужно знать, чтобы стать программистом?
- Знание языка программирования — это hard skill или базовый навык разработчика. Сюда же можно отнести:
- знание алгоритмов (для поиска, сортировки или сжатия данных);
- работу с библиотеками и фреймворками (для упрощения многих вычислительных задач);
- работу с системами управления версиями (позволяют возвращаться к более ранним версиям проекта);
- навык чтения чужого кода;
- чтение технической документации.
Владение английским языком — важный навык для тех, кто хочет стать программистом с нуля самостоятельно. Во-первых, знание английского нужно, чтобы лучше понимать код, написанный на языке программирования
Важно прокачивать технический английский, чтобы ориентироваться в англоязычной документации. Во-вторых, комьюнити разработчиков, говорящих на английском, гораздо шире русскоязычного, поэтому стоит быть в курсе мировых трендов, общаться и получать информацию на этом языке
Совет выпускника SkillFactory:
— Только трудом и практикой можно освоить новую профессию. Работодатели не прибегут просто так. Чтобы начать, нужна крепкая база по специальности и главное — практика. Я знаю много людей, которые пропускают фундаментальные вещи. Они часто быстро достигают предела и не могут решать сложные задачи.Марк Соболев, старший лейтенант полиции, который стал frontend-разработчиком. Читайте его историю
Курс
Frontend-разработчик
Получите перспективную и творческую профессию в IT с нуля на практике. Дополнительная скидка 5% — по промокоду BLOG.
Узнать больше
Курс «Тестировщик» от Нетологии
Сайт – netology.ru Длительность обучения – 6 месяцев. Стоимость обучения – 3 570 руб. в месяц.
Программа предназначена для новичков без опыта и технического образования. Успешные выпускники онлайн-университета получат приглашение на стажировку или штат группы тестировщиков партнера курса – Альфа Банка.
Программа курса:
- введение в профессию: виды и методы тестирования, основы взаимодействия «клиент-сервер», инструменты специалиста;
- объектно-ориентированное программирование на Java в свззке с задачами и методиками тестирования;
- английский для тестировщика;
- система контроля версий GitHub: операции, разрешение конфликтов, командное взаимодействие;
- unit/ui тестирование, знакомство с Selenide, Selenium, Akita;
- основы SQL и СУБД;
- автоматизация тестирования;
- карьерное планирование.
Дипломный проект – автоматизированное тестирование крупного web-сервиса под контролем наставников и руководителя отдела тестирования Альфа Банка.
QA ≠ QC: как их различить
QC: кто эти люди, какие у них задачи, какие у них ограничения
Кто эти люди? Люди, которых называют тестировщиками, тождественны контролю качества QC. По логике вещей они на последнем этапе разработки проверяют качество продукта (любым видом и типом тестирования — ручным, автоматизированным, нагрузочным, тестированием безопасности и т.д.). Какая у них задача? Их задача — провести валидацию продукта и предоставить информацию бизнесу и разработчикам о соответствии продукта заявленным требованиям. Какие у них ограничения? Какие могут быть недостатки, если у вас все сотрудники проверяют продукт на соответствие:
- До взятия фичи в проверку такие сотрудники не влияют на процесс обеспечения качества и разработки, хотя их участие могло бы предотвратить некоторое количество багов и тем самым сократить затраты на тестирование.
- Зачастую такие сотрудники не могут давать рекомендации, как сделать продукт лучше. Потому что поезд ушёл и уже поздно. Им остаётся лишь сверять соответствие продукта требованиям. FYI: хотя на самом деле тестировщикам есть что сказать по поводу улучшений, которые необходимо сделать.
- Эти ребята чаще всего не видят полной картины процесса, поэтому искренне не понимают, почему разработчики дают им код, в котором приложение крашится при попытке запуститься. И, согласно п.1, ничего не могут с этим сделать. Даже если хотят.
- Они не могут взять на себя полную ответственность за качество продукта.
- Очень часто между тестировщиками и разработчиками возникают конфликты. Так бывает, когда разработчики считают свой код самым лучшим и работающим, а в тестировщиках видят лишь попытки его сломать и показать, что код не работает. Такое положение дел порождает всем известные мемы «Это не баг, а фича».
QA: кто эти люди, какие у них задачи, какие у них ограничения
Кто эти люди? Инженеры по обеспечению качества (QA) — это люди, которые помогают командам разработки выпускать качественный продукт, как можно быстрее за как можно меньшие деньги. Ведь все мы знаем, что чем раньше найден баг, тем дешевле его пофиксить. Лучше всего фиксить баги ещё на уровне идеи.
QA-инженеры участвуют на самых ранних этапах создания продукта/фичи. Если бы они могли залезать в головы к PO, чтобы сказать им о недостаточности приемочных критериев или сценариев использования фичи, — они бы делали это. Какая у них задача? Задача QA-инженера — не допустить несоответствия продукта предъявляемым требованиям. QA-инженер замеряет качество продукта, знает его актуальное состояние и что нужно сделать, чтобы его поднять не только на этапе тестирования, но и на этапе разработки, дизайна или составления требований.Какие у них ограничения? Сложно оценить качество работы QA-инженера, потому что если он хорошо выполняет свою работу, то до этапа тестирования будет доходить минимальное количество багов не влияющих на функциональность и запуск продукта в прод.
В отличие от QA, работу QC оценить можно, особенно если отталкиваться от самого простого и оценивать эффективность по количеству багов — сколько багов нашёл и сколько багов пропустил на прод.
Итоги
Подытожим? Конечно, стать тестировщиком при желании может любой. Это не закрытая каста или клуб для своих. Особенно классно, если вы уже давно увлекаетесь смежными штуками, например, освоили язык программирования, пробовали создавать сайты или просто любите узнавать что-то новое про технологии. В таком случае ваш вход в профессию будет максимально легким, потому что многие вещи уже будут вам знакомы.
Однако, как и в любой другой профессии, нужно будет постоянно учиться чему-то новому, быть проактивным и самое главное — качественно выполнять свою работу. Вам предстоит находить общий язык с совершенно разными людьми, разбираться во всех этапах процесса разработки и по-настоящему прочувствовать, что такое дедлайны на крупном проекте.