Как стать тестировщиком по (qa): хорошие школы и курсы москвы

Содержание работы тестировщика

Типичная последовательность работы функционального (мануального) тестировщика выглядит примерно следующим образом.

  1. Изучить спецификацию продукта (программы). 
  2. Разработать методы для проверки продукта. 
  3. Провести проверку продукта.
  4. Сделать выводы по итогам проверки. 
  5. Перечислить найденные уязвимости и недочеты продукта в техническом документе (чаще всего на английском языке). 

Главная обязанность автоматизатора — на основе готовых тестов написать код, который будет автоматически делать то же самое, что делает мануальщик вручную

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

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

Я выделил бы две категории проектов, с которыми имеет дело тестировщик: проекты в разработке и проекты в поддержке. Работать на проектах первого типа гораздо интересней и динамичней. Тестировать продукт, который появляется у тебя на глазах, — это настоящий «раш».  Лично мне больше всего нравится работать с системами управления предприятиями. Это очень сложные задачи, где много бизнес-логики и технической составляющей. 

Краткое описание

Работа в сфере IT-технологий в последние годы приобретает все большую привлекательность. Онлайн-школы и университеты предлагают широкий выбор программ, которые позволяют в сжатые сроки освоить высокооплачиваемую профессию и приобрести первый опыт выполнения практических заданий. Одной из таких профессий является QA Automation Engineer, связанная с беспрерывным контролем качества и созданием автоматических скриптов. Последние проверяют работоспособность софта, основываясь на тест-кейсах, созданием которых занимаются QA-мануальщики. QA Automation Engineer обладает знаниями в области программирования и тестирования, развитой логикой и склонностью к системному мышлению.

Обязанности

Главная задача QA-инженера – обеспечивать качество IT-продукта. Что это значит? Процесс его контроля состоит из нескольких последовательных этапов:

  1. Проверить требования заказчика к ПО.
  2. Оценить возможные риски.
  3. Генерировать идеи повышения качества готового продукта.
  4. Выполнить тестирование.
  5. Проанализировать результаты тестов.

Вот что делает QA-инженер в течение своего рабочего дня:

  • детализирует требования заказчика, предъявляемые к программе (этот этап работы выполняется вместе с клиентом);
  • планирует процесс тестирования ПО;
  • пишет тест-кейсы (сценарии);
  • отслеживает жизненный цикл каждой ошибки;
  • анализирует и улучшает процессы работы внутри команды;
  • тестирует ПО;
  • вносит обнаруженные дефекты в баг-трекинговую систему;
  • обсуждает варианты исправления с командой разработчиков;
  • отслеживает процесс устранения неисправности;
  • повторно тестирует проблемные места;
  • анализирует результаты вторичного тестирования;
  • дорабатывает созданные тест-кейсы;
  • оптимизирует процессы разработки, чтобы не допустить дальнейшего возникновения ошибок (если причина появления недочетов заключается в несогласованности работы разных отделов компании или в нарушении стандартов разработки, обязанность QA-инженера – показать проблему и достичь ее ликвидации);
  • ведет документы по проведенным тестам.

Вначале может показаться, что обязанностей слишком много, однако на практике часть их выполняют тестировщики, QC-специалисты, разработчики и бизнес-аналитики. Поэтому на разных предприятиях спектр задач QA engineer отличен: где-то ему приходится уделять больше внимания планированию работы над ПО и багами, где-то – концентрироваться на тестах и слежении за исправленными дефектами, а где-то он сам должен исправлять выявленные недочеты.

Подготовка к экзамену

англоязычный вариант конспектарусский доступен на сайте rstqbFoundations of Software Testing: ISTQB CertificationSoftware Testing: An ISTQB-ISEB Foundation GuideISTQB Foundation Exam Preparation GuideISTQB Glossary of Testing Termsавторизированные тренеры

  1. Основы тестирования.
    В этом разделе изучаются основы тестирования. Здесь объясняется, что такое тестирование и почему оно необходимо, к чему может привести наличие дефектов в ПО, рассказывается о целях тестирования на разных стадиях жизненного цикла ПО. Приводятся 7 принципов тестирования, отдельная глава посвящена психологии тестирования и кодексу этики тестировщика.
  2. Место тестирования в жизненном цикле разработки ПО.
    В этом разделе рассказывается о моделях разработки ПО (V-модель, итеративно-инкрементные модели), об основных уровнях тестирования и их взаимосвязи (компонентное, интеграционное, системное и приёмочное тестирование), о типах тестирования (функциональное/нефункциональное, структурное, подтверждающее и регрессионное тестирование), об особенностях тестирования в период сопровождения.
  3. Статические методы тестирования.
    В разделе рассказывается о методах статического тестирования:
    — рецензирование, здесь рассказывается о типах рецензирования (неформальное, сквозной контроль, технический анализ, инспекция), о ролях и обязанностях — применительно к каждому типу, о факторах успешного проведения рецензирования;
    — статический анализ с помощью инструментальных средств.
  4. Методы проектирования тестов.
    Рассказывается о процессе разработки тестов основанных на спецификациях (это методы «чёрного ящика», сюда входят эквивалентное разбиение, анализ граничных значений, тестирование таблицы решений и таблицы переходов, тестирование по сценариям использования), на структуре (это методы «белого ящика», сюда входит тестирование операторов и покрытия, тестирование альтернатив и покрытия, а также другие методы, которые основаны на структуре ПО) и на основе опыта. Объясняется, как происходит выбор методов тестирования.
  5. Управление тестированием.
    Рассказывается об организации процесса тестирования и почему важна независимость тестирования, о задачах руководителя тестирования и обычного тестировщика, о планировании тестирования (критерии входа/выхода, оценка трудозатрат тестирования), о мониторинге прогресса и контролировании тестирования, об управлении конфигурацией/версиями, о возможных рисках тестирования (риски проекта, риски продукта), об управлении инцидентами.
  6. Инструментальные средства поддержки тестирования.
    В этом разделе рассказывается о типах инструментов, применяющихся в процессе тестирования, их классификация (инструменты для управления тестированием и тестами: инструменты управления тестированием и требованиями, средства управления конфигурацией; инструменты статического тестирования: инструменты рецензирования, статического анализа, моделирования; инструменты для работы с тестовыми спецификациями: инструменты проектирования тестов, подготовки тестовых данных; инструменты выполнения тестов и протоколирования: инструменты выполнения тестов, интегрированной среды модульного тестирования, тестовые компараторы, инструменты измерения покрытия и тестирования безопасности; инструменты для тестирования производительности и мониторинга: инструменты для тестирования производительности, нагрузочного/стресс-тестирования и мониторинга; инструменты оценки качества данных). Далее идет речь об эффективности использования инструментальных средств, о возможных выгодах и рисках, об основных принципах внедрения новых инструментов тестирования в организации.

Как стать QA-специалистом и куда идти дальше?

Инженеров по качеству не обучают в университетах (исключение: на нескольких факультетах КПИ читают посвященный тестированию полугодовой курс). Будущие QA приобретают знания на курсах или же самостоятельно.

Чтобы стать QA, нужно понимать цикл разработки ПО, изучить теорию и основные инструменты тестирования, иметь хороший уровень английского.

Базовые знания теории тестирования — это умение ответить на вопросы:— что такое тестирование и для чего оно нужно;— какие бывают виды тестирования;— что такое баг, и каков его жизненный цикл;— какая документация используется при тестировании.

QA ответственен за улучшение качества процесса разработки, а потому должен обладать некоторыми навыками и других членов команды:

  • От девелопера — понимание технических ограничений для реализации того или иного функционала и хотя бы поверхностное понимание кода;
  • От бизнес-аналитика — понимание рынка и целевой аудитории;
  • От PM’а — понимание целостности всех частей проекта.

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

Если говорить о личностных качествах, то необходимо:— Иметь широкий IT-кругозор и тягу к изучению нового;— Уметь общаться — качество коммуникации в команде разработки напрямую влияет на качество создаваемого ПО;— Быть внимательным к деталям, усидчивым, ответственным и настойчивым;— Обладать аналитическими способностями, уметь моделировать и работать с абстракциями;— Иметь критический или даже «деструктивный» склад ума, направленный на нахождение ошибок;— Отличать муху от слона.

Среди перспектив профессионального развития можно выделить 3 направления:

  1. Изучать новые области и расти как QA: junior QA —> middle QA —> senior QA —> QA team lead —> QA-manager —> Head of QA department.
  2. Освоить автоматизированное тестирование и двигаться уже по этой ветке (требует более глубоких технических знаний).
  3. Переквалифицироваться в бизнес-аналитики или программисты.

Получив достаточное количество опыта, можно дорасти до менеджера проекта и затем развиваться как управленец (senior project manager —> CTO). Также сейчас открыто множество курсов по обучению QA, так что основную работу можно совмещать с преподаванием или консультированием.

P.S. Спасибо за помощь в написании статьи 46 украинским QA- и Test-инженерам, которые поделились с DOU таинствами своей профессии. Приведенные в статье цитаты взяты из их рассказов.

Книги на английском языке

Cem Kaner, James Bach, Bret Pettichord

«Lessons Learned in Software Testing»

Книга привлекает практической направленностью: авторы с богатейшим опытом собрали 293 урока, где коснулись основных вопросов тестирования ПО. Будет полезна и для новичков, и для опытных специалистов.

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

Boris Beizer

«Software Testing Techniques»

Классический учебник Бориса Бейзера, хорошо известный за рубежом и у нас. Его отличает целостный и методичный подход к изложению информации, понятный язык и широкий охват тем тестирования.

Пособие не только поможет новичкам освоить профессию, но и останется с ними в качестве настольной книги тестировщика на долгие годы.

Ajay Balamurugadas, Sundaresan Krishnaswami

«Mobile Testing: Ready Reckoner»

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

в формате PDF

Mike Andrews, James A. Whittaker

«How to break web software»

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

Ее можно перечитывать много раз и находить новые способы решения насущных задач. Автор рассказывает о различных типах атак: на сервер, на клиент, state based и других. Описание атаки состоит из вводной части, сферы применения и инструкции о том, как ее проводить.

James A. Whittaker

«How to Break Software Security»

Вторая книга Витакера — пошаговое руководство по тестированию безопасности приложений. Ее лучше читать после «How to break web software».

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

Автор рассказывает о верхнеуровневых классах проверок, например, на уровне кода или GUI, и приводит 19 атак на защищенность приложения. Каждое описание атаки или инъекции состоит из вводной части, описания случаев применения и руководства по нему.

Gerald M. Weinberg

«Perfect Software and other illusions about testing»

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

Автор приводит реальные типичные ошибки в подходах, а учиться на ошибках — самое полезное дело. В совместной работе специалисты часто переводят стрелки друг на друга и отказываются фиксить и документировать баг, ссылаясь на то, что это не их зона ответственности. Что с этим делать и как с этим жить — в том числе рассказывает Gerald M. Weinberg.

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

Тестировщики сегодня получают не меньше, чем разработчики

Тестировщики сегодня получают не меньше, чем разработчики. Разница практически неощутима. Если средняя заработная плата в России около 40 000 рублей, то на старте карьеры в качестве инженера по тестированию в Москве вы сможете получать примерно в полтора-два раза больше.

Через год-полтора специалиста уже можно считать опытным, а значит, его стоимость на рынке возрастает, а заработная плата будет варьироваться в пределах 100 000 — 140 000 рублей.

Значение профессии

Основная задача инженера по тестированию — сделать продукт более качественным. Под качеством мы понимаем некий набор параметров, который пользователь хочет видеть в продукте. Тестировщик следит за тем, чтобы реальный продукт максимально совпадал с тем, каким его хотели сделать изначально.

Профессия инженер по тестированию от «Яндекс.Практикума»

Для кого:

— для тех, кто хочет получить новую профессию

Длительность: 4 месяца

Сколько стоит: вводный курс — бесплатно, далее 15 000 рублей в месяц или 50 000 рублей при единоразовой оплате.

Подробнее здесь.

Профессия тестировщик от Skillbox

Для кого:

— для новичков в IT

— для начинающих тестировщиков

Длительность: 586 онлайн-уроков

Сколько стоит: 3 месяца бесплатно, далее 7415 рублей в месяц

Подробнее здесь.

Профессия тестировщик ПО от «Нетологии»

Для кого:

— для тех, кто хочет получить профессию в ИТ

— для тех, кто работает в техподдержке

— для начинающих тестировщиков

Длительность: 6 месяцев

Сколько стоит: 77 900 рублей

Подробнее .

Тестировщик в BI Group

Опыт работы: 1-3 года

Требования:

— понимание модели разработки ПО

— знания в классификации тестирования

— опыт тестирования веб- или мобильных приложений

— опыт работы с баг-трекинговыми системами

— умение писать простые SQL-запросы.

Подробнее здесь.

Тестировщик ПО в «Like Центр»

Опыт работы: не требуется

Заработная плата: 40 000 — 60 000 рублей

Требования:

— понимание особенностей тестирования клиент-серверных, мобильных и web-приложений

— понимание жизненного цикла разработки ПО

— умение четко излагать свои мысли

— аналитический склад ума, ответственность и целеустремленность.

Подробнее здесь.

Асессор-тестировщик в «Яндекс»

Опыт работы: не требуется

Требования:

— опыт ручного тестирования сервисов и приложений

— наличие собственного мобильного устройства и компьютера и готовность выполнять задания на них

— способность к монотонной деятельности

— наличие надежного и быстрого интернет-канала

— широкий кругозор во всем, что связано с интернетом.

Подробнее здесь.

Кому подойдет быть QA-аналитиком

QA-аналитика— это ваше, если:

  • вам нравится общаться с людьми. Вы не боитесь разговаривать с клиентами, нормально относитесь к многочисленным митингам, созвонам, дебатам с разработчиками, публичным выступлениям;
  • вам нравится писать тексты. Много, много текстов: писем, инструкций, документации и т.п.;
  • в вас живет следователь. Вам нравится докапываться до истины, из двух строчек требований, присланных клиентом, создавать целые документы и ТЗ, вытаскивать из клиента правду, чего он хочет на самом деле;
  • вы обладаете устойчивой психикой. Аналитик и PM (project manager) — это авангард, на который может приходится основной психологический удар со стороны участников проекта, если в нем что-то пойдет не так. 

Кто всё это делает: немного о профессии

Тестированием программы занимаются специалисты по контролю качества программного обеспечения — QA-инженеры. У них есть разные специализации: тестировщики баз данных, специалисты автоматизированного тестирования, аналитики, разработчики тестов, специалисты по безопасности приложений и другие.

Если проект большой, над ним работает целая команда: одни тестировщики готовят тесты, другие проверяют их полноту и логику, третьи занимаются непосредственно тестированием. Над небольшими задачами может работать один специалист, причём удалённо.

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

Как показывает статистика работных сайтов, на рынке не хватает разработчиков автотестов, а специалистов ручного тестирования достаточно. Средняя зарплата тестировщика в Москве больше 120 тысяч рублей, а по регионам — примерно 55–60.

На скриншотах ниже — данные с HeadHunter. В сентябре 2020 года там было 3000 открытых вакансий тестировщика.

В описаниях вакансий работодатели предлагают зарплаты от 45 до 250–300 тысяч рублей.

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

Роль 5: Оптимизатор

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

Вернемся к началу работы. Я не снимала метрики первые пару месяцев, пока адаптировались и настраивали процессы работы.
Функционал рос, чаще начали проводить смоук или регрессионное тестирование перед релизом. Каждый тест-кейс я отмечала как пройденный/непройденный, согласно метрике по тестовым случаям. Мы определяли критерий успешности на каждом этапе тестирования: если процент непройденных кейсов превышает норму, это повод проанализировать проблему и, возможно, перенести релиз. Самый простой пример — большая часть кейсов не пройдены в поиске, который курирует определенный разработчик. Иногда простой беседы достаточно, чтобы ошибок стало меньше.

Краудтестинговые платформы – “ясли для тестировщика”

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

Что это такое краудтестинговые платформы? Это такие своеобразные биржи фриланса. С одно стороны на них обитают заказчики, которым нужно что-то протестировать. С другой – специалисты по тестированию ПО.

Работа практически на всех краудтестиновых платформах строится по одному принципу. Есть какое-либо вводное обучение. Далее идет вводные тест. Если все хорошо, Вас допускают к реальным проектам. И Вы можете начать прокачивать свой рейтинг, ведь от этого будет зависеть и Ваша “зарплата”.

А “доход” обычно начисляется в английских тугриках. И в принципе он достаточно неплохой.

Но… Важно знать. На большинстве краудтестинговых платформ оплата идет ТОЛЬКО за найденные ошибки! И причем, Вы должны найти эти ошибки раньше других тестировщиков

Если опоздали или не нашли, чтож… Нет ножек-нет мультиков 🙂

Да. Помните. Чем “крупнее” ошибки Вы находите, тем выше Ваше вознаграждение!

Краудтестинговые платформы в основном “буржуинские”. Вот некоторые из них. Часть только на английском (или немецком языках). Часть переведена (не полностью) на русский. Но велика вероятность получения задания на английском языке.

Если Вы работали на одной их них, оцените ниже, какая понравилась больше.

https://test.io/ – одна из старейших платформ краудтестинга

Мне нравится6Не нравится

https://www.testbirds.com/ – есть вариант для русскоязычных пользователей.

Мне нравится7Не нравится1

https://www.passbrains.com/ – еще один сайт для тестирования ПО

Мне нравитсяНе нравится

https://www.globalapptesting.com/ – еще краудтестинговый сайт

Мне нравитсяНе нравится

https://ubertesters.com/ – еще одна (немецкая) платформа для тестирования

Мне нравится1Не нравится

https://testlio.com/ – еще ловите сайтик для тех, кто ищет работу тестировщика ПО без опыта

Мне нравится1Не нравится

https://www.crowdtesting.ru/ – и еще. Это уже на русском языке, что является редкостью в мире тестировочных платформ.

Мне нравится1Не нравится

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

Инструменты работы QA-инженера

  1. Инструменты ручного тестирования

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

  • Средства управления процессом тестирования (Test management tools или TMTs)

    Средства управления тестированием призваны организовать процесс поиска багов, облегчить создание и хранение отчетов и прочей документации. Среди наиболее популярных TMT: Test Manager, SpiraTest, HP-ALM (QC) и другие.

  • Инструменты для управления дефектами (Defect tracking tools или DTTs)

    С помощью DTTs QA-инженеры отслеживают дефекты, обнаруженные в программе, и генерируют отчеты об ошибках, чтобы сообщить о них команде разработчиков. Примеры популярных инструментов для управления дефектами: BugZilla, Mantis, IBM Rational ClearQuest.

  • Инструменты для менеджмента проектов

    Инструменты для проджект-менеджмента, которые повсеместно используются в Agile-проектах и включают в себя набор стандартных функций, таких как тайм-трекинг, списки задач, wiki-документацию и т.д., нужно знать и QA-щикам. Наиболее популярным инструментом менеджмента проектов считается Jira. Среди альтернатив популярностью пользуются Redmine, YouTrack и Backlog.

  • MS Excel и SQL-клиенты

    MS Excel по-прежнему достаточно широко используется для описания результатов масштабных тестирований и последующего их импортирования в средства управления процессом тестирования. Более удобной и современной альтернативой MS Excel-у является программа Test Studio. SQL-клиенты применяются в тех случаях, когда QA-инженеру нужно подключиться к базе данных.

Инструменты автоматического тестирования

QA-автоматизатор (QA Automation engineer) — это другая базовая специальность, являющаяся составной частью профессии QA-инженера. В отличие от “мануальщика,” который тестирует продукты вручную, QA-автоматизатор занимается написанием скриптов для автоматического тестирования программ и проверки результатов такого тестирования. Соответственно, QA-автоматизаторы в своей работе используют собственные инструменты.

  • Инструменты для автоматизации тестирования

    Наиболее популярными инструментами автоматизации тестирования являются: Selenium, TestComplete, Katalon Studio и Ranorex.

  • Фреймворки автоматизированного тестирования

    Вместо создания сложных сред автоматизации с нуля QA-автоматизаторы также могут пользоваться готовыми библиотеками, такими как Serenity (фреймворк на основе Java), Cypress, RedwoodHQ и ряд других.

  • IDE для программирования

    VSCode, Visual Studio, IntelliJ IDEA и другие.

  • CI/CD-инструменты

    Jenkins, TeamCity, Gitlab CE и другие.

Перспективы

IT-продукты, которые производятся для пользования людьми, должны проверяться, соответственно, тоже человеком. Навряд ли в обозримом будущем тестировщика и инженера по качеству сможет заменить компьютерная программа или робот. Например, визуальное оформление продукта (сместившиеся компоненты, некорректное отображение мультимедиа и так далее) еще долго будет контролировать опытный QA-специалист.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector