Automation qa

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

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

Что такое процесс обеспечения качества (QA) и чем он отличается от контроля качества (QC)?

Процесс обеспечение качества при разработке программного обеспечения или QA (quality assurance) — это процесс, который предотвращает появление ошибок в конечном продукте и гарантирует, что компания выпустит по-настоящему качественное приложение. Процесс QA — это больше, чем просто контроль качества и тестирование. В то время как контроль качества (QC) сосредоточен на проверке конечного продукта, QA является частью всех этапов и стадий разработки программного обеспечения. Другими словами, QA — это комплекс мероприятий, направленных на предотвращение дефектов и ошибок, а QC — на их выявление. Правильно настроенный процесс QA гарантирует, что все члены команды будут работать эффективно, время, необходимое для разработки, сократится, а затраты снизятся.

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

Для чего нанимают тестировщиков ПО?

Сфера создания различных видов программного обеспечения и игр регулярно масштабируется. На рынке появляются новые компании. Которые регулярно создают различные виды ПО и игр. 

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

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

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

Простая ли эта профессия?

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

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

Работать тестировщиком ПО — довольно скучно

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

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

Все. Меняться будет только программа. Бывает, что на тестирование одного проекта уходит огромное количество времени. Как следствие, приходится работать над одной и той же программой на протяжении нескольких месяцев.

Что специалисту предстоит проверять?

Тестировщик ПО, как мы уже говорили, проверяет не сюжет и другие особенности игры, а:

  • Интерфейс. Графические особенности оформления внешнего вида программы. 
  • То, корректно ли происходит процесс входа в программу. А также выхода из нее.
  • Правильно ли функционирует озвучка. Вовремя ли проигрывается та или иная фраза. Не происходит ли рассинхронизация. И другие проблемы со звуком. 

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

К чему готовиться тинейджеру?

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

Преимущества профессии

Это направление деятельности имеет ряд преимуществ:

  1. Выучиться на тестировщика может любой человек. Специальность не сложная. 
  2. Курсы по направлению проводятся регулярно. В том числе, и студиями разработчиков игр. На подобных курсах можно развиться, как профессионал в области создания игр. И обрести полезные связи, которые помогут в дальнейшем трудоустройстве.
  3. Специалист может работать как в определенной компании, так и заниматься поиском клиентов на удаленке. Что довольно удобно. 
  4. В рамках работы, тинейджеру предстоит проводить исследования и использовать свои аналитические способности. Благодаря этому, он сможет заниматься творчеством.
  5. Высокая заработная плата. А еще, это направление является довольно перспективным.

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

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

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

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

Курсы

Образовательный IT-портал GeekBrains

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

Компьютерная Академия ШАГ (Очно, Москва)

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

SkillBox

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

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

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

Вузы

Московский гуманитарный университет, МосГУ

Прикладная информатика в экономике (Факультет экономики, управления и международных отношений)

Национальный исследовательский университет «МЭИ»

Прикладная информатика в экономике (Инженерно-экономический институт НИУ «МЭИ»)

Московский государственный университет пищевых производств

Информатика и вычислительная техника (Институт промышленной инженерии, информационных технологий и мехатроники)

Московский технический университет связи и информатики

Информатика и вычислительная техника (Заочный общетехнический факультет МТУСИ)

Московский государственный университет геодезии и картографии

Прикладная информатика (Московский государственный университет геодезии и картографии)

Нужно уметь всё и сразу?

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

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

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

Большинство компаний ищет людей, которые смогут перейти на этот следующий уровень и будут стараться отсеять людей, которым интересно «просто оказаться в IT». Либо они будут проверять мотивацию расти дальше именно в разрезе QA, либо знания, необходимые для перехода на следующую позицию. Поэтому и учиться имеет смысл на вырост.

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

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

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

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

QA-тестировщик — не просто специальность, а образ жизни и стремление сделать что-то лучше. Если вам интересно принимать участие в улучшении и совершенствовании систем, это занятие точно для вас.

Как проходит собеседование

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

  • задача на логику;
  • теория и практика тестирования;
  • проверка уровня владения английским языком;
  • вопросы о навыках и личных качествах.

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

Роль 4: Эксперт

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

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

Образование

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

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

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

  1. МГТУ им. Н.Э. Баумана – Московский государственный технический университет имени Н.Э. Баумана.
  2. НИУ МГСУ – Московский государственный строительный университет.
  3. МГУТУ имени К.Г. Разумовского – Московский государственный университет технологий и управления имени К.Г. Разумовского.
  4. СПбПУ – Санкт-Петербургский политехнический университет Петра Великого.
  5. УрФУ им. Б. Н. Ельцина – Уральский федеральный университет им. Б. Н. Ельцина (Екатеринбург).
  6. НГУ – Новосибирский национальный исследовательский государственный университет.
  7. ТПУ – Национальный исследовательский Томский политехнический университет (Томск).
  8. КФУ – Казанский (Приволжский) федеральный университет (Казань).
  9. ЮФУ – Южный федеральный университет (Ростов на Дону).
  10. СКФУ – Северо-Кавказский федеральный университет (Ставрополь).

На территории России более 300 ВУЗов, выпускающих специалистов в сфере информационных технологий, программирования.

Если нет возможности поступать в высшее УЗ, то есть и ССУЗы. Насчитывается больше 100 заведений, включая:

  1. Санкт-Петербургский технический колледж управления и коммерции.
  2. Университетский политехнический колледж Санкт-Петербургского политехнического университета Петра Великого.
  3. Колледж связи №54 им. П.М. Вострухина (Москва).
  4. Московский приборостроительный техникум Российского экономического университета имени Г.В. Плеханова (Москва)
  5. Нижегородский радиотехнический колледж.
  6. Омский авиационный колледж имени Н.Е. Жуковского
  7. Новосибирский химико-технологический колледж имени Д.И. Менделеева.

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

Дополнительное образование, курсы

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

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

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

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

Роль 3: Организатор

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

Организует взаимодействие со всеми членами команды

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

В нашем случае процессов работы не было. Мне нужно было организовать взаимодействие между разработчиками, заказчиком и собой.
Мы подготовили:
1. Воркфлоу, по которому мы будем работать над задачами. Мы определили этапы по 3 недели, по итогам которых смотрели результаты и сверялись с курсом;
2. Сроки, в которые мы выпускаем функционал;
3. Зоны ответственности.
В результате задачи перестали теряться, работа над ними стала прозрачной для всех участников: каждый знал, к кому идти с какими вопросами. Это сэкономило нам время и упростило подключение новых членов команды.

QA-инженер должен быть мастером на все руки

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

Но и это ещё не всё. Тестировщик обязан заметить, если каким-то функционалом неудобно пользоваться. Что он непонятен или не соответствует существующим стандартам. Нужно уметь думать как пользователь и смотреть на продукт его глазами и свободно ориентироваться в предметной области продукта.

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

Знания и умения

Что нужно знать будущему QA-инженеру для успешной работы? Прежде всего ему понадобится теория. Кандидат на эту должность может подробно рассказать:

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

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

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

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

Основные задачи тестирования

Еще несколько терминов, которые связаны с упомянутыми двумя задачами, которыми занимается тестировщик, это стимулы, реакции и оракул.

  • Стимулы – это данные, которые подаются на вход программе.
  • Реакции — это то, что получается на выходе.
  • Оракул — это способ проверки наблюдаемого результата, совпадает он с некоторыми ожиданиями или не совпадает.

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

  • Пользовательский интерфейс (UI)
  • Программный интерфейс (API)
  • Сетевой протокол
  • Файловая система
  • Состояние окружения
  • События

Наиболее распространенные интерфейсы это

  • графический,
  • текстовый,
  • консольный,
  • и речевой.

Через пользовательский интерфейс компьютер взаимодействует с человеком, с пользователем.

Через программный интерфейс программы взаимодействуют друг с другом (человек тут не нужен).

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

Это файловая система, программы могут писать данные на диск и читать данные с диска.

Это состояние окружения, которое могут программы модифицировать и, соответственно, тоже читать.

Это события, в частности, таймер. То есть некоторые механизмы отслеживания времени.

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

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

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

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

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

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

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

Карьерный путь

Обычно карьерный рост тестировщика выглядит так:

  • Тестировщик или Junior QA engineer.
  • QA engineer.
  • Senior QA engineer.
  • QA Lead.
  • QA Team lead.

Пройти этот путь сможет каждый, нужен лишь практический опыт и работа над гибкими навыками.

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

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

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

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

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

QA manual VS QA Automation Testing

Как только вы пройдете путь junior QA, вы сможете выбрать, продолжать ли вам карьеру мануального тестировщика или заняться автоматизированным тестированием.

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

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

Автоматизированное тестирование – это проверка соответствия продукта требованиям с использованием дополнительного программного обеспечения для осуществления и контроля выполнения тестов. Automation Testing обычно используется для проведения большого количества повторяющихся задач. Также автоматизированное тестирование помогает экономить время. Иногда оно эффективнее ищет дефекты определенных классов, чем ручное. Автоматизированные тесты не нужно каждый раз составлять заново, один тест можно проводить много раз, то есть после исправления бага, его можно будет прогнать снова. Есть у такого вида тестирования и минус: его нельзя использовать на нестабильных системах и для ad-hoc или исследовательского видов тестирования.

Конечно, для того чтобы создать автоматизированный тест нужны знания программирования. Ведь задача QA Automation Engineer – создавать автоматические скрипты, которые проверят ПО.

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

Плюсы

  1. QA Automation Engineer принимают участие в разработке высококачественных продуктов, поэтому профессию можно считать не только престижной, но и очень увлекательной.
  2. Достойный уровень заработной платы.
  3. Относительно быстрое обучение, стать QA Automation Engineer можно после курсов.
  4. Профессия QA Automation Engineer может стать хорошим трамплином для перехода на новую карьерную ступень в сфере IT.

Минусы

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

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

Adblock
detector