Что такое QA и как стать тестировщиком?

Что значит следить за качеством, кто такой тестировщик, как тестировать сайт или программу? Давайте во всем разбираться.

Существует понятие Quality Assurance, QA. Это сложный процесс обеспечения качества, который охватывает все этапы разработки программного продукта в компании. В QA входит изучение процессов и определение всех условий и обстоятельств, которые могут повлиять на качество разработки и конечный продукт.

Quality Control, QC ‒ это контроль качества во время разработки продукта и анализ состояния в текущий момент времени на соответствие требованиям.

Этап контроля, тестирование ПО, состоит из планирования тестов, их выполнение, анализа результатов.

Кто такой тестировщик

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

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

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

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

Несоответствия или баги, которые обнаружил тестировщик, попадают в баг-репорт. Команда разработки поправляет все и тестировщик проверяет снова.

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

Легко ли стать тестировщиком

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

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

Что нужно для работы тестировщиком

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

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

1. Теория тестирования
Главные знания начинаются с того, что человек, которые решил выучить тестирование программного обеспечения (QA) должен разбираться в теории и практике тестирования и контроле качества программного продукта.
Он хорошо знает и понимает весь цикл разработки ПО: от идеи до сдачи проекта или вывода его на рынок. Конечно, тестировщик разбирается в методологиях тестирования, знает виды тестирования и его уровни. Умеет читать техническую документацию, анализировать требования и составлять тестовую документацию.

2. Bug-tracking системы
Тестировщик описывает все найденные несоответствия, баги в специальной системе. Он детально описывает несоответствия, присваивает приоритет по его устранению, описывает свой путь в программе и еще указывает множество деталей, которые помогут команде разработки подправить все несоответствия. Обычно для этого используют JIRA или Redmine.
Тестировщик умеет работать с тест-кейсами, тест-планами, чек-листами и баг-трекерами.

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

4. Дополнительные технологии
В зависимости от специфики компании и проекта от тестировщика могут требовать знания дополнительных технологий. Например, для тестирования Web-приложений и сайтов понадобится HTML/CSS, JavaScript, jQuery и HTTP. Тестировать мобильные приложения будет проще, когда умеешь работать с Genymotion, VirtualBox и iOS Simulator.

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

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

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

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

На курсе по тестированию программного обеспечения (QA) студент получает базовые знания. Выполняя домашние задания, посещая семинары студент сможет решить элементарные задачи в компании. Для старта этого будет достаточно. Но с первого места работы тестировщика все только начинается. Дальше предстоит самому учиться и быстро разбираться с новыми задачами. В IТ не нужны люди, которые останавливаются и не развиваются.

Задумываетесь о работе в IT-компании и считаете тестирование самой подходящей для себя специальностью? В учебном центре подготовки IT-специалистов Level Up есть курс по тестированию программного обеспечения. Начните свою карьеру в QA с нами!