Тестировщик — кто это и чем занимается? Эта статья расскажет вам об этом. Из нее вы узнаете, какими знаниями должен обладать желающий ее освоить, где научиться. И поможет определить, насколько она подходит. В статье размещены видео с примерами тестирования. Дочитайте эту статью до конца, если у вас есть интерес к этому виду деятельности.
Содержание статьи:
Как выглядит процесс работы тестировщика в глазах человека, не знакомого с тестированием?
Многие считают, что тестирование — это довольно легкая, скучная и монотонная работа. Простому обывателю, пользователю различных программ, игр и мобильных приложений, это занятие может показаться несложным и увлекательным. Типа, сиди, играй в какую-либо игру или просто совершай пробные покупки в интернет-магазине и пиши отчет об ошибках.
Ведь мы все иногда сталкиваемся с тем, что совершаемое действие на сайте или в приложении выдает ошибку или не работает. Но на самом деле процесс тестирования выглядит не совсем так. А вернее сказать, совсем не так.
Что такое тестирование и его место в разработке ПО?
Тестирование — это часть разработки ПО. Это проверка поведения программы на соответствие того, что хотели получить, тому, что получилось в действительности.
Процесс разработки ПО состоит из следующих частей:
Изучение и анализ задания на проектирование.
Проектирование.
Реализация.
Тестирование.
Внедрение и поддержка.
Этапы тестирования.
Процесс тестирования состоит из:
Планирования работ. (Test Management).
Проекта разработки ручного или автоматического теста. (Test Design).
Тестирования. (Test Execution).
Анализа результатов теста. (Test Analysis).
Тестировщик — кто это и чем занимается в процессе работы?
Инженер по тестированию или QA-инженер (Quality Assurance Engineer) в переводе с английского — инженер по обеспечению качества.
Это специалист, обязанности которого состоят из проверки работоспособности программного обеспечения. Он занимается поиском ошибок, которые допустили разработчики программного продукта в процессе создания. Он является посредником между программистом и конечным массовым пользователем.
В процессе проверки тестировщик выявляет неработающие функции. На профессиональном сленге это «баги» и «фичи». В переводе с английского «bug» это жук, ошибка, а «feature» свойство, особенность. Затем он составляет отчет об ошибках и направляет разработчику для исправления. Тестировщики отвечают в команде за качество программного обеспечения. Работа тестировщика — это большая ответственность, потому что именно он делает заключение о том, что работа завершена. Продукт готов к использованию и может быть сдан заказчику.

Что должны знать тестировщики?
Так как они напрямую общаются с программистами, то должны разговаривать с ними на одном языке. А он содержит много сленга и профессиональных терминов. И для этого необходимо: знать терминологию, теорию тестирования, хорошо разбираться в классификации и видах тестирования, уметь создавать сценарии для теста, составлять тест-кейсы и чек-листы.
Также тестировщику потребуются знание основ программирования, базовые знания HTML и CSS, умение работать с различными операционными системами и браузерами, плагинами, командной строкой, базами данных. Также он должен знать инструменты, которыми пользуются тестировщики и разработчики. Например:
Jira, Redmine — инструменты для коллективной работы и управления проектами.
Joxi, Monosnap, Jing, Recordit, Recordit — программы для создания снимков экрана (скриншотов) и видео.
Эмуляторы операционных систем — программы, позволяющие имитировать операционные системы.
Xmind, MindMup, Coogle — программы для составления интеллект-карт.
Sitechco, Testpad — инструменты для тестирования и создания чек-листов.
World Wide Web и другие плагины — валидаторы HTML/CSS.
А как же на самом деле выглядит процесс тестирования?
Работа тестировщика состоит из разработки плана тестирования, создания чек-листов, интеллект-карт, выполнения и анализа скриншотов, систематизации тестовых данных, работы с разными плагинами, валидаторами HTML, генераторами данных и составления отчетов.
Он должен уметь применять техники тестирования. Написание тестового кейса или сценария является творческим процессом. Для тестирования нужна логика, структурированность знаний. Его можно сравнить с исследовательской деятельностью, где объектом является разрабатываемый продукт. Сам процесс имеет элемент рутины, поскольку программный продукт и отдельные его функции могут проверяться большое количество раз. И здесь нужно внимание и терпение.
Но эта работа не лишена креативности. Ведь как именно протестировать продукт, чтобы удостовериться в его безотказности и надежности, решает тестировщик.
Они принимают участие и в пользовательском тестировании. Для этого нужно уметь общаться, убеждать пользователя в том, что продукт работает правильно и соответствует изначальным требованиям.
Тестировщики и программисты — это одно целое. Они в первую очередь думают о продукте и работают в тандеме. Тестировщик помогает программисту улучшить написанный им код. Для того, чтобы потом этот продукт понравился заказчику и имел успех у пользователей.
Как определить, подойдет ли вам эта профессия?
Для того чтобы понять, подойдет ли вам эта профессия и стоит ли вам тратить силы, время и деньги на ее освоение, необходимо узнать о ней подробно. И увидеть, чем конкретно предстоит заниматься. Понять, что именно тестируют и какими способами. А уже после этого делать выводы и принимать решения.
И если решение окажется положительным, то не учиться всему подряд, а суметь выбрать наиболее подходящее для себя направление и в нем развиваться.
Что они тестируют? Основные объекты тестирования
Веб-приложения.
Веб-сайты.
Мобильные приложения (iOS и Android и другие).
Веб-сервисы.
Прикладные программы и игры.

Основные виды тестирования
Весь процесс поиска ошибок в программных продуктах зависит от его ключевой задачи и классифицируется по следующим параметрам:
Цель (функциональное и нефункциональное).
Степень автоматизации (ручное и автоматизированное).
Сценарий (позитивный и негативный).
Доступ к программному коду (метод тестирования белого ящика, черного ящика, серого ящика).
Уровень (модульное, интеграционное, системное, приемочное).
Исполнитель (бета-тестирование и альфа-тестирование).
Важность (дымовое, критическое, расширенное).
Формальность (исследовательское, свободное, тестовое).
Специализация тестировщика
Здесь отдельно нужно выделить ручное и автоматизированное тестирование. Каждое из них является отдельной специализацией и применяется для всех видов и объектов тестирования. И нужно понимать, для чего используется ручное, а для чего автоматизированное.
Ручное тестирование
Это классический и наиболее простой вид тестирования. Оно проводится вручную, без средств автоматизации и не требует навыков программирования. Но требует обширных знаний и аналитических способностей.
Ручное тестирование не зависит от простоты или сложности процесса. Обычно с него начинается процесс тестирования. Сначала необходимо убедиться, что продукт соответствует заявленным требованиям и корректно работает. И сделать это вручную быстрее и проще. Также именно ручное тестирование позволяет создавать новые кейсы путем выявления новых возможных действий пользователя. И только затем, в случае необходимости, приступают к автоматизации процесса.
То, что ручное тестирование вымирает — это миф. Ручных тестировщиков не заменяет машина. Потому что они в первую очередь проверяют, как соблюдаются требования заказчика. Машина это проверить не может. Невозможно автоматизировать все приложение. Всегда будут специфичные компоненты, которые очень сложно автоматизировать. И во многих случаях нет необходимости писать автоматизированные тесты. Вручную будет быстрее и надежнее.
Ручные тестировщики востребованы, но требования к ним высокие. Так как для того, чтобы полностью и досконально проверить систему, необходим большой запас знаний.
Как выглядит процесс ручного тестирования для веб-сайта, вы можете увидеть, посмотрев видео: Как тестировать сайт? Как тестировать веб сайт?
Курсы
- Профессию инженера по ручному тестированию вы можете получить на курсах:
- Skillfactory. Инженер по ручному тестированию.
- Международная школа профессий. Онлайн-курсы ручного тестирования.
- Skillbox. Ручное тестирование.
- Нетология. Инженер по ручному тестированию.
- Контур Школа. Ручное тестирование ПО для начинающих тестировщиков.
- Академия Eduson. Ручное тестирование ПО.
- Quality Academy. Инженер по ручному тестированию.
Срок обучения — от 6 недель, цена — от 2383 руб./мес. Удостоверение об окончании, практика, поддержка наставника, помощь в трудоустройстве, бессрочный доступ к курсам, налоговый вычет.
Так же вы можете обучаться профессии тестировщик самостоятельно по бесплатным курсам и информации в интернете. Но нужно понимать, что эта информация будет менее структурированная и не полная. Учеба потребует большого количество времени, потраченных усилий и воли. Если вы решите учиться таким образом, рекомендую выбрать определенное направление, составить перечень материалов, которые нужно освоить. Набросать планы учебы, практики и последующего трудоустройства.
Бесплатный курс от «Stepik»: Курс по ручному тестированию.
Автоматизированное тестирование
Требует большей квалификации и знания языков программирования. Если работа ручных тестировщиков заключается в том, чтобы придумать различные кейсы для проверки. То специалисты автоматизаторы подключаются на этапе, когда тест-кейсы отработаны. И наиболее часто повторяющиеся и постоянно используемые тесты нужно автоматизировать. Это позволит ускорить процесс тестирования, избежать рутинной и монотонной работы.
Например, перед каждым релизом приложения нужно убедиться, что новая версия не сломала старые, уже работающие функции. И для этого нужно проверить, что весь ранее выпущенный функционал исправно работает. Чтобы это сделать, нужно пройтись по всем старым тест-кейсам, чек-листам и другой документации. Это займет много времени. Причем проделывать это нужно постоянно при каждом обновлении релиза. Поэтому компании стремятся максимально автоматизировать процессы, которые постоянно повторяются.
И этим занимаются тестировщики автоматизаторы или QA Automation. Их востребованность растет, потому что компании стремятся увеличить скорость тестирования своего продукта.
Как выглядит процесс написания автотестов, вы можете увидеть, посмотрев видео: Пишем автотесты для Яндекс.Маркета на PyTest + Selenium (Smart Page Object library).
Языки программирования в автоматизации тестирования
Языки программирования, которые больше всего популярны в автоматизации: Java, Python, JavaScript. Из них Python, JavaScript считаются более легкими относительно Java. Но со знанием языка Java легче найти работу и также при необходимости легче переучиться на Python, JavaScript.
Для изучения можно выбрать любой язык. Главное правило — нужно доводить обучение до конца. Если перескакивать с одного языка на другой, не пройдя полный курс, то просто потеряете время. Привязанность к знанию определенного языка у тестировщиков не такая большая, как у разработчиков. Инструменты, которые используются автоматизаторами, поддерживаются на всех языках и дают возможность легко переключаться между ними. Но обычно используют язык разработки.

Наиболее популярные области и инструменты в автоматизации
Наиболее популярные области в автоматизации: веб-приложения, API приложения, мобильные приложения. А часто используемым инструментом, который можно порекомендовать для изучения новичку, можно назвать Selenium.
Бесплатный курс: Автоматизация тестирования с помощью Selenium и Python.
Курсы
- Профессию инженера по автоматизированному тестированию вы можете получить на курсах:
- Skillbox. Автоматизированное тестирование на Java.
- Skillbox. Автоматизированное тестирование на Python.
- Skillbox. Профессия Инженер по автоматизации тестирования.
- Skillbox. Автоматизированное тестирование веб-приложений на JavaScript.
- Яндекс Практикум. Автоматизатор тестирования на Java. (Есть базовая и расширенная версии).
- Яндекс Практикум. Автоматизатор тестирования на Python. (Есть базовая и расширенная версии).
- Контур Школа. Автоматизация тестирования ПО.
- Академия Eduson. Автоматизированное тестирование на Python.
Срок обучения — от 6 недель, цена от — 3541 руб./мес. Удостоверение об окончании, практика, поддержка наставника, помощь в трудоустройстве, бессрочный доступ к курсам, налоговый вычет.
Что дает сочетание знаний ручного и автоматизированного тестирования?
Если вы будете обладать навыками ручного и автоматизированного тестирования, то ваши шансы находить работу значительно повышаются. Это огромный плюс на рынке тестировщиков. Потому что большинство мануальных тестировщиков не имеют знаний и опыта по автоматизации. Но в то же время нельзя написать автоматизированный тест, минуя ручной этап. А многие компании предпочитают иметь одного универсального специалиста вместо двух узких.
Также заработная плата специалиста QA Automation более высокая. И осваивать обе специализации можно как поэтапно, так и одновременно. Это зависит от вашего желания, сил и способностей.
Курсы
- Освоить знания по ручному и автоматизированному тестированию можно на курсах:
- Geekbrains. Профессия Тестировщик.
- Skillbox. Профессия Инженер по тестированию.
- Skillfactory. Профессия тестировщик.
- Нетология. Инженер по тестированию.
- Яндекс Практикум. Инженер по тестированию. (Есть базовый и расширенный курсы).
- Яндекс Практикум. Инженер по тестированию: от новичка до автоматизатора.
- Контур Школа. Тестирование ПО: от базового до продвинутого уровня.
- Академия Eduson. Тестировщик ПО.
Срок обучения — от 18 недель, цена от — 3225 руб./мес. Удостоверение об окончании, практика, поддержка наставника, помощь в трудоустройстве, бессрочный доступ к курсам, налоговый вычет.
Тестирование API (Application Programming Interface)
Веб-сайты и программы создаются не только для людей. Их пользователями могут быть также другие сайты и приложения. Что такое API простым языком? API — это те методы, которыми программы общаются между собой. Всегда, когда есть какая-либо интеграция, то на стыке двух систем образуются ошибки. И чтобы их найти, нужно сделать проверку взаимодействия программ. Это и есть тестирование API. Например, чтобы принимать оплату в интернет-магазине, сайт обращается на сайт банка и при этом использует его API.
Тестирование API разбирается на всех курсах, ссылки на которые есть в предыдущих разделах.
Заключение
Тестировщик — кто это и чем занимается? Об этом подробно рассказано в этой статье. Надеюсь, она была вам полезна. Если захотите выбрать эту профессию, то материал статьи поможет в этом.

