Тестировщик программного обеспечения (ПО). Курсы тестировщиков ПО, программ, обучение QA Тестировщик описание профессии

Алексей Сёмин

Руководитель отдела тестирования компании Globus, которая занимается разработкой мобильных приложений и сайтов для крупных заказчиков, таких как «Яндекс», «Лаборатория Касперского», ABBYY, Rutube, «СТС Медиа», HeadHunter, «ТНТ Клуб», «Связной Трэвел», «PPF Страхование жизни», VimpelCom и других. Более шести лет в профессии. Прошёл весь путь от junior-тестировщика до руководителя отдела.

Мой путь тестировщика начался с любопытства. С самого детства я занимался сборкой компьютеров и установкой ПО, в ходе работы регулярно возникали вопросы: «Почему не устанавливается? Почему не работает?». В этот момент я подумал, что хочу стать тестировщиком, заниматься выпуском качественного ПО и узнать ответы на все эти вопросы.

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

Собеседование

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

Например, задаём необычные вопросы, чтобы посмотреть, как мыслит человек:

  • Самолёт вылетает из точки А в 17:00, а прилетает в точку Б в 19:00. При этом находится в полёте три часа. Почему такое может быть?
  • Как сделать так, чтобы, получив обновлённое приложение, конкуренты не смогли узнать его новые функции?

Будьте готовы и к самому обычному заданию - протестировать простой предмет: лист бумаги, карандаш, сетевой фильтр и тому подобное.

Также для собеседования будет полезно:

  1. Изучить виды тестирования: функциональное и исследовательское тестирование, автоматизированные тесты (включая инструменты для него), нагрузочное и стресс-тестирования, smoke-тестирование.
  2. Дополнительно почитать о приёмочном тестировании и его критериях.
  3. Если мы говорим о тестировании веб-приложений, то это браузерная консоль и её работа, количество и версии браузеров, разрешения мониторов, инструменты тестирования вёрстки (pixel perfect).
  4. Если мы говорим о мобильных приложениях, это виды платформ, эмуляторы, monkey testing. Не забудьте о планшетах.
  5. Изучить виды баг-трекеров. Самые популярные: Jira, BugZilla, RedMine, Mantis. Посмотрите, как они работают, в чём их особенность.
  6. В перспективе - инструменты Jmeter, Postman, Charles. Они не очень сложны в освоении на базовом уровне.

Первый рабочий день

Первый рабочий день проходит стандартно: выдают компьютер, который нужно настроить, установить рабочие программы. Системный администратор готовит доступы к почте и корпоративным внутренним программам.

Не стоит спрашивать, где установить Skype, использовать в нём ник со школьных времён gangsta_666 или забавную картинку. Используйте в нике сочетание имени и фамилии, например ivansmirnov или smirnovivan, поставьте свою обычную фотографию.

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

Первое задание

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

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

Коллеги будут удивлены, если составите чек-лист в виде , например в Xmind.net .

Чек-лист для тестирования Pokémon GO

Одним из первоочередных видов тестирования для начинающего QA-специалиста, возможно, станет прохождение по чек-листам, тест-кейсам более старших специалистов. Этот этап необходим для более быстрого погружения в проект. Для наращивания тестовой базы новичок может сам расширять этот чек-лист. Junior-тестировщики в рамках обучения написанию чек-листов подготовили лист для тестирования приложения Pokémon GO. Тут описаны только позитивные кейсы.

Первый баг в трекер

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

Тема

В ней описывают проблему несколькими словами. Лучше, если она будет начинаться с отрицания: «не работает», «не происходит», «неправильно» и прочее. Например: «Не происходит синхронизация с сервером на iPhone 6», «Не работает воспроизведение видео в Nexus 5».

Сценарий

Пошаговое описание воспроизведения бага. Обращайте внимание на предусловие и знаки, которые предшествуют багу (например, загорелась красная кнопка слева).

Дополнительно можно приложить скриншоты с указанием мест, на которые стоит обратить внимание (можно использовать приложения Joxi , LightShot и другие), для более сложновоспроизводимых багов - записать видео. Когда наберётесь опыта, можете снимать и прикладывать логи.

В конце сценария указывается среда, в которой проводилось тестирование: версия приложения, прошивка девайса (Android 6.0.1, iOS 9.3.2). Если это веб-приложение, дополнительно укажите версию браузера.

Назначение бага

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

Проставление критичности

Виды критичности багов в большинстве трекеров представлены следующим списком:

Immediate (Blocker)

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

Crit - Urgent

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

High

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

Normal

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

Low

Тривиальная ошибка, не касается бизнес-логики приложения. Проблема сторонних библиотек или сервисов, плохо воспроизводится, малозаметна ввиду пользовательского интерфейса.


Самообучение

О важности самообучения все прекрасно знают - мои наставления будут банальны. Так что сразу к делу.

  • «Тестирование DOT COM», Роман Савин - очень полезное пособие, практически настольная книга начинающего тестировщика. Содержит в себе львиную долю знаний для того, чтобы начать тестировать и успешно отвечать в ходе собеседования на вопросы, касающиеся технико-теоретической части.
  • «Как тестируют в Google» - более глубокая книга, описывающая организацию процессов, различные стратегии и подходы к тестированию. Книга помогает понять, что такое качество, как и на каких этапах на него можно влиять.
  • «A Practitioner’s Guide to Software Test Design», Lee Copeland - в книге расписаны виды тестирования как «белым», так и «чёрным» ящиком. Перечислены различные техники тестирования, а также то, как ими пользоваться и когда лучше применять. В книге можно найти интересную статью об исследовательском тестировании, которая очень полезна для начинающих тестировщиков.

Коллеги, напишите в комментариях названия интересных книг для тестировщиков. Уверен, всем будет полезно.

Заключение

В заключении хочется добавить,что выпуск качественного продукта - процесс нелёгкий и небыстрый. Нужно уметь отстаивать своё мнение в переговорах, убеждать разработчиков делать правильно, а не на «костылях», понимать, как сделать функциональность более удобной для пользователей.

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

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

Места работы

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

Обязанности тестировщика

Главные должностные обязанности тестировщика:

  • Контроль качества разрабатываемых продуктов.
  • Выявление и анализ ошибок и проблем, возникающих у пользователей при работе с программными продуктами.
  • Разработка автотестов и их регулярный прогон.
  • Разработка сценариев тестирования.
  • Документирование найденных дефектов.

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

Требования к тестировщику

Главные требования к тестировщику:

  • Опыт организации и проведения различных видов тестирования.
  • Знание языков программирования.
  • Знание инструментов и библиотек для автотестирования.
  • Опыт написания автотестов.
  • Высшее образование.
  • Аналитические способности.

Дополнительные требования:

  • Умение тестировать веб-приложения.
  • Знание мобильных платформ (iOS, Android).
  • Знание английского языка на уровне, достаточном для чтения и написания технических текстов.

Образец резюме тестировщика

Как стать тестировщиком

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

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

Зарплата тестировщика

Заработная плата тестировщика варьируется от 30 до 130 тысяч рублей в месяц. Высокие заработки, чаще всего, можно найти в Москве или иных городах-миллионниках. Средняя зарплата тестировщика составляет 70 рублей в месяц.

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

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

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

  • Альфа-тестировщики, которые работают с ПО, находящимся в стадии разработки;
  • Бета-тестировщики, которые специализируются на готовых версиях ПО.

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

Особенности профессии

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

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

Все вышеперечисленные обязанности стоит разделить на 3 основных этапа: разработка (косвенное участие), тестирование и анализ, подготовка технической отчетности и отладка. Этот вид деятельности требует вовлеченности, профессия подходит для юношей и девушек, которые склонны к кропотливой и малоподвижной работе.

Плюсы и минусы профессии

Плюсы

  1. Тестировщик ПО - престижная профессия, которая откроет путь к другим IT-специальностям, где наблюдается еще более высокий уровень оплаты труда.
  2. В тестировщиках ПО заинтересованы многие компании, занимающиеся созданием программных продуктов.
  3. Тестировщик может работать в офисе или на дому, что позволяет совмещать деятельность с путешествиями, хобби или получением образования.
  4. Заработные платы тестировщиков высокие, сфера открыта для амбициозных людей любого возраста.
  5. Доступ к современному программному обеспечению, играм и иным интересным продуктам.
  6. Возможность вести собственный блог или влог, что позволяет популяризировать свои услуги и получать дополнительный доход.

Минусы

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

Важные личные качества

Для тестировщика программного обеспечения важны следующие профессиональные качества:

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

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

Обучение на тестировщика ПО

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

  • «Прикладная математика и информатика» (код: 01.04.02);
  • «Информатика и вычислительная техника» (код: 09.03.01);
  • «Информационно-аналитические системы безопасности» (код: 10.05.04);
  • «Информационная безопасность» (код: 10.03.01) и иные технические направления, связанные с информатикой, математикой, защитой цифровой информации и вычислительной техникой.

Если вы решили начать свой карьерный путь с ссуза, то рассмотрите направления «Информационные системы и программирование» (код: 09.02.07), «Компьютерные сети» (код: 09.02.02) или «Прикладная информатика (по отраслям)». Начать обучение в вузе можно после 11 класса, в ссуз абитуриент может поступить, окончив 9 классов.

Международное учебное заведение, специализирующееся на компьютерном образовании. Работает с 1999 года. 42 филиала в 16 странах мира. Крупнейший авторизованный учебный центр Microsoft, Cisco, Autodesk. Студенты получают международные сертификаты и международный диплом. Главная цель - трудоустройство каждого выпускника.

Освойте одну из самых востребованных IT-профессий под руководством личного наставника и начните зарабатывать до завершения курса. Опыт программирования не нужен. Вы научитесь тестировать сайты, мобильные приложения и другое ПО. Узнаете, как устроена работа IT-компаний, и сможете понять, как вы хотите развиваться в профессии. . Уже джуниоры очень востребованы рынком, а этот курс позволит достичь middle-уровня.

На обучение приглашаются студенты профильных вузов (3-5 курс), практикующие тестировщики, которые хотят получить новые знания и повысить свой профессионализм. Обучение проводится в вечернее время, в группе не более 10 слушателей, длительность курса – 3 месяца. Талантливые выпускники могут получить вакансию в компании EPAM.

УЦ «Специалист» при МГТУ им. Н. Э. Баумана

На сайте учебного центра доступен большой выбор качественных программ для людей, которые решили стать тестировщиками ПО. Любой курс состоит из теоретических и практических блоков, форма обучения может быть очной или дистанционной. Длительность обучения составляет 16-64 ак. ч., минимальная стоимость – 11850 руб. и выше, что напрямую зависит от выбранного профиля.

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

Общее описание

Тестирование ПО (software testing) – деятельность, выполняемая для оценки и улучшения качества программного обеспечения. В большинстве случаев она базируется на обнаружении дефектов в программных системах. Тестировщики выступают в двух ролях одновременно – и как пользователи, и как эксперты по выявлению проблем. С одной стороны, они выстраивают алгоритм поведения типичного пользователя при решении задач с помощью данного программного продукта, а с другой – сравнивают результаты работы программы с эталонными показателями, изучают отладочную информацию и так далее, то есть занимаются поиском вероятных ошибок и сбоев в функционировании программы.

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

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

Образование

Ни в одном российском вузе не обучают такой профессии, как специалист по функциональному тестированию программного обеспечения, потому что в России только недавно стала формироваться индустрия производства ПО, и началось настоящее разделение труда в этой сфере.

Высшее техническое образование в области информационных технологий хоть и не является необходимым условием для соискателя на вакансию тестировщика, но, как правило, работодатели в первую очередь рассматривают именно таких кандидатов, поскольку подобный диплом свидетельствует о наличии у специалиста базовых навыков в программировании и знаний основных технологий. Читатель «Энциклопедии карьеры» Виталий Анатольевич Мальцев замечает: «Лично я жду от программиста знания принципов программирования, хорошего владения здравой логикой, умения учиться и адаптироваться к существующим задачам. И обязательно этот человек должен иметь определенный склад мышления. Если он не знает сегодня PHP, а завтра это знание ему понадобится, то он его изучит и будет применять».

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

Смежные карьеры

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

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

Функциональные обязанности

Среди основных обязанностей специалиста по функциональному тестированию ПО выделяются следующие:

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

Навыки

Тестировщик – специалист, обладающий хорошей памятью, умеющий быстро переключаться с одного типа задач на другой, способный не только написать код, покрывающий функционал, но придумать различные тесты и даже интуитивно предугадать, где может «свалиться» программа. Он должен разбираться хотя бы на уровне продвинутого пользователя в особенностях операционной системы, в которой производится тестирование, уметь пользоваться специальным ПО для автоматизированного тестирования и регистрации ошибок (WinRunner, TestComplete, TestExecute, TestRecorder), работать с необходимыми в профессиональной деятельности пакетами (различные bug-tracking системы), иметь базовые знания того языка программирования, на котором написана тестируемая программа. Также желательно наличие знаний в конкретной сфере, для которой разрабатывается софт. Например, если речь идет о программе 1С, то минимальные сведения в области бухгалтерии просто необходимы.

Из качеств, которыми необходимо обладать специалисту, можно выделить коммуникабельность и умение работать в команде, ведь в некоторых компаниях, к примеру, применяется XP-тестирование (работа в паре с другим тестировщиком). Не менее важны для соискателей терпение и усидчивость. Во-первых, потому что работа тестировщика – это кропотливый труд по проверке сотен вариантов функционирования одного модуля. Во-вторых, поскольку одной из основных обязанностей специалиста является документирование результатов своей работы (подготовка test-cases, test-plans и check-lists), а это достаточно трудоемкая задача, тем более что нередко документы приходится переписывать или редактировать от версии к версии. К тому же соискатель должен обладать здоровым любопытством, чтобы ему было интересно делать не только то, что указано в документации, а еще и пытаться экспериментировать.

Плюсы и минусы

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

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

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

Оплата труда

В большинстве случаев уровень дохода тестировщиков составляет примерно 80% от размера оплаты труда программиста и в зависимости от их опыта работы варьируется от $700–800 у новичков до $1500–2000 у профессионалов.

Перспективы

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