Тестировщик кто это и чем занимается

Тестировщик — кто это и чем занимается в IT?

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

Как выглядит процесс работы тестировщика в глазах человека, не знакомого с тестированием?

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

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

Что такое тестирование и его место в разработке ПО?

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

Процесс разработки ПО состоит из следующих частей:

Изучение и анализ задания на проектирование.

Проектирование.

Реализация.

Тестирование.

Внедрение и поддержка.

Этапы тестирования.

Процесс тестирования состоит из: 

Планирования работ. (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 и другие).

Веб-сервисы.

Прикладные программы и игры.

Что они тестируют Основные объекты тестирования

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

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

Цель (функциональное и нефункциональное).

Степень автоматизации (ручное и автоматизированное).

Сценарий (позитивный и негативный).

Доступ к программному коду (метод тестирования белого ящика, черного ящика, серого ящика).

Уровень (модульное, интеграционное, системное, приемочное).

Исполнитель (бета-тестирование и альфа-тестирование).

Важность (дымовое, критическое, расширенное).

Формальность (исследовательское, свободное, тестовое).

Специализация тестировщика

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

Ручное тестирование

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

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

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

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

Как выглядит процесс ручного тестирования для веб-сайта, вы можете увидеть, посмотрев видео: Как тестировать сайт? Как тестировать веб сайт?

Курсы

Срок обучения — от 6 недель, цена — от 2383 руб./мес. Удостоверение об окончании, практика, поддержка наставника, помощь в трудоустройстве, бессрочный доступ к курсам, налоговый вычет.

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

Бесплатный курс от «Stepik»: Курс по ручному тестированию. 

Автоматизированное тестирование

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

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

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

Как выглядит процесс написания автотестов, вы можете увидеть, посмотрев видео: Пишем автотесты для Яндекс.Маркета на PyTest + Selenium (Smart Page Object library).

Языки программирования в автоматизации тестирования

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

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

Языки программирования в автоматизации тестирования

Наиболее популярные области и инструменты в автоматизации

Наиболее популярные области в автоматизации: веб-приложения, API приложения, мобильные приложения. А часто используемым инструментом, который можно порекомендовать для изучения новичку, можно назвать Selenium.

Бесплатный курс: Автоматизация тестирования с помощью Selenium и Python. 

Курсы

Срок обучения — от 6 недель, цена от — 3541 руб./мес. Удостоверение об окончании, практика, поддержка наставника, помощь в трудоустройстве, бессрочный доступ к курсам, налоговый вычет.

Что дает сочетание знаний ручного и автоматизированного тестирования?

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

Также заработная плата специалиста QA Automation более высокая. И осваивать обе специализации можно как поэтапно, так и одновременно. Это зависит от вашего желания, сил и способностей.

Курсы

Срок обучения — от 18 недель, цена от — 3225 руб./мес. Удостоверение об окончании, практика, поддержка наставника, помощь в трудоустройстве, бессрочный доступ к курсам, налоговый вычет.

Тестирование API (Application Programming Interface)

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

Тестирование API разбирается на всех курсах, ссылки на которые есть в предыдущих разделах.

Заключение

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

Похожие статьи:
Пролистать наверх