В статье мы расскажем о профессии тестировщика программного обеспечения. Часто ее рассматривают как нетребовательную специальность, которая может служить «трамплином» в IT-индустрию. Вы узнаете, чем на самом деле занимается тестировщик ПО, какие инструменты использует, сколько зарабатывает и куда может расти.
Кто такой тестировщик и чем занимается
Тестировщик ПО — это специалист, который проверяет, правильно ли работает программа, нет ли в ней ошибок.
Тестировать можно интерфейс, бэкенд-сервис, приложение целиком или всю IT-систему. В статье мы будем говорить «программа» или «приложение», но нужно понимать, что в зависимости от сферы работы тестировщика это могут быть разные части инфраструктуры.
ХОЧУ СТАТЬ QA ENGINEER! С чего начать? (профессия тестировщик программного обеспечения)
Тестировщик должен знать, как работает тестируемое приложение. Он должен понимать, что происходит после выполнения тех или иных действий: как должен выглядеть интерфейс, что программа должна делать и на что стоит обратить особое внимание. Например, тестировщик нажимает кнопку «Показать список контактов». И он должен знать, как выглядит список, должен ли он быть отсортирован по умолчанию и как должны отображаться фотографии контактов (в круглом или квадратном контуре).
Профессия тестировщика предполагает отчасти творческий подход. Часто самые очевидные ошибки уже предвидели разработчики, и тестировщику нужно находить нестандартные способы работы с программой. Он должен подумать: «А что здесь может сделать пользователь? Куда может нажать, что может ввести?». Например, что будет, если вместо email-адреса ввести номер телефона, или закрыть программу до того, как она закончит выполнять предыдущее действие?
Тестировщикам часто нужно ставить себя на место пользователей и пытаться думать как они. Но чем лучше человек знает программу, тем сложнее это сделать. Потому что если долго работать с приложением, многое кажется очевидным. Тестировщику может казаться: «Как можно ввести в поле email-адреса номер телефона? В программе же явно указаны названия полей и есть иконки.
Как их можно перепутать?». Но в реальности пользователь отвлекся, запутался или поторопился, и теперь он не может подтвердить регистрацию, потому что вместо почты указал телефон.
Для этого состояния даже есть термин — «Проклятие знания». Это когда более информированные люди не понимают, как рассматривать проблему с точки зрения менее информированных.
Другой важный навык — умение правильно создать баг-репорт, то есть описать ошибку. Правильно — значит так, чтобы любой разработчик мог воспроизвести ошибку по этому описанию, не тратя время на дополнительные уточнения.
Вот пример хорошего баг-репорта, который легко воспроизвести:
Профессия тестировщик программного обеспечения: кто это? | GeekBrains
Пример хорошего баг-репорта
Тестировщик указал версию приложения, шаги для воспроизведения, ожидаемый результат и прикрепил скриншот.
А вот пример пример плохого баг-репорта:
Пример плохого баг-репорта
Тестировщик просто указал, что задваиваются часовые пояса, но не привел никаких деталей. Часовые пояса могут использоваться в программе в разных местах, и непонятно, о чем именно сообщил тестировщик.
Чтобы написать правильный баг-репорт, тестировщик должен понимать, какие именно действия приводят к ошибкам. А это не всегда очевидно.
Допустим, тестировщик проверяет мессенджер. Он тестирует разные функции, все работает правильно. Но затем он пробует сменить аватар и появляется ошибка. И вот тут тестировщику нужно понять, какие именно действия привели к ней. Причем действия вообще могут быть логически не связаны со сменой аватара. Ошибка может появиться после отправки сообщения со смайликом.
Казалось бы, какая тут связь? Но в коде могут быть разные зависимости, и смайлики могут повлиять на аватар. Чтобы зафиксировать ошибку, тестировщику нужно вспомнить все, что он делал до ее появления, и попробовать воспроизвести сценарий, что порой бывает непросто.
Какими инструментами пользуется тестировщик
Может показаться, что тестировщики проверяют все вручную: нажимают на все кнопки и вводят значения во все поля ввода. Но чаще всего они пользуются специальными приложениями для автоматизации тестирования.
Профессия тестировщика ПО предполагает работу с различными инструментами. Их можно разделить на несколько направлений, а внутри каждого направления есть несколько аналогов. Мы приведем несколько примеров, но это далеко не полный список.
Инструменты для автотестирования. Они позволяют описать последовательность действий и ожидаемый результат, а затем запускать тесты и тестировать приложение автоматически. Для этого тестировщик пишет скрипт, который говорит системе автотестирования, что нужно сделать: нажать на кнопку, ввести в поле значение, и в итоге должен получиться вот такой результат. Если результат не совпадает — оповестить тестировщика, что тест провален. Примеры таких инструментов: Selenium WebDriver, Espresso.
Скриншот Selenium WebDriver
Нужно понимать, что автотесты — не панацея.
- Автотесты нужно периодически изменять или полностью переписывать. Очередное обновление приложения может сломать их. Например, если чек-бокс в окне настроек переместится на другую вкладку.
- Автотесты не могут протестировать всё. Автотесты не смогут увидеть проблемы верстки сайта, когда элементы на экране «поедут» или перекроют друг друга.
- Некоторые задачи придется тестировать руками. Второстепенной функциональности часто уделяется мало внимания. В этом случае может быть проще тратить 5 минут в месяц на проверку, чем один раз писать автотест 3 часа.
Генераторы данных. Эти инструменты помогают генерировать данные для тестов. Например, чтобы каждый раз не придумывать логин, номер телефона и email-адрес. Также генераторы могут создать нестандартные данные, которые помогут обнаружить ошибки: двойная фамилия или иностранный номер телефона. Примеры таких инструментов: Databene Benerator, DTM Data Generator.
Системы управления проектами. Помогают управлять жизненным циклом проекта: от появления задачи до выкатки обновления. Они позволяют отслеживать сроки, ответственных, статусы и так далее. Инструменты для создания и отслеживания баг-репортов могут быть встроены в общую систему управления проектами, а могут быть отдельным инструментом.
В любом случае нужно уметь ими пользоваться. Примеры таких инструментов: Jira, TestRail, Test It.
Скриншот из системы Jira
Где работает и сколько зарабатывает тестировщик
Тестировщики ПО нужны практически всем компаниям, которые сами разрабатывают приложения. Иногда функции тестировщика могут выполнять программисты, которые пишут код, а иногда это могут быть отдельные тестировщики. Если компания выпускает b2b- или b2c-продукт, то, скорее всего, она будет проводить полноценное тестирование. Потому что ошибка, особенно в b2b-продуктах, может стоит компании больших денег, если клиент потеряет из-за нее свои данные. Поэтому часто такие компании нанимают отдельный штат тестировщиков.
Тестировщик может устроиться в компанию, которая разрабатывает продукт. Или может работать в компании, которая занимается аутсорс-разработкой и тестированием продуктов для других компаний. А может быть фрилансером, который сам ищет себе заказчиков. Каждый решает сам для себя, где ему будет лучше.
Теперь поговорим о заработке тестировщиков. Сразу оговоримся, что это примерные значения: все зависит от вашего опыта и навыков, размера компании и региона работы, вашего умения вести переговоры и показать свою пользу. Вот примерные зарплаты по данным Хабр.Карьеры.
Если тестировать только вручную — можно получать 56 тысяч рублей:
Если уметь писать автотесты — в два раза больше, 113 тысяч рублей:
Карьерное развитие тестировщиков возможно в нескольких направления. Во-первых, можно расти в направлении тестирования:
- Начальная стадия — тестировщик. Это конечный исполнитель, обычно он работает по заданию. Ему говорят какой функционал нужно протестировать; что нужно автоматизировать, а что тестировать руками.
- Следующий уровень — quality control (QC). Это человек, который решает, что именно нужно тестировать; что из этого лучше делать руками, а для чего писать автотесты. Также он распределяет задачи между тестировщиками.
- Quality assurance (QA). Думает в целом о качестве продукта: оценивает приоритет исправления ошибок, изучает и внедряют новые практики тестирования, стремится усовершенствовать весь процесс тестирования.
Также из тестировщиков можно перейти в другую сферу IT, например в разработку. Понимание основ технологий и умение писать скрипты для автотестов станет хорошим подспорьем для будущего Junior-разработчика.
Где обучают профессии тестировщика ПО
Порог входа в профессию довольно низкий. В тестировщики приходят люди из разных сфер: лингвисты, экономисты, менеджеры и IT-специалисты других направлений. Можно не знать основ IT, но нужно быть как минимум уровня «уверенный пользователь ПК».
Начать работать инженером-тестировщиком по ручному тестированию можно без опыта. Но нужно понимать, что тогда у вас будет меньше шансов устроиться в крупную компанию или получать высокую зарплату. Скорее всего, вам придется выбирать между несколькими не особо выгодными предложениями.
Обучиться основам тестирования можно самостоятельно: по статьям, видеороликам и бесплатным курсам тестировщиков программного обеспечения. Но чтобы получить реальное представление о специальности, нужно обучаться на реальных программах и ошибках.
Если вы хотите стать востребованным специалистом, то освоению профессии тестировщика нужно подойти организованно и настроиться на серьезное обучение. Например на платформе GeekBrains есть факультет тестирования. Это курсы для тестировщиков с нуля, где за 12 месяцев вы освоите основы, научитесь находить ошибки в реальных программах, писать автотесты, оформлять баг-репорты, а также подготовитесь к собеседованию и поиску первой работы.
Подведем итоги
- Тестировщик — человек, который тестирует программы, сервисы или целые системы. Он находит ошибки и сообщает о них разработчикам.
- Тестировщик должен понимать, как работает тестируемая программа, какие ошибки может допустить пользователь и продумывать все заранее.
- Тестировщик может расти в своем направлении и стать QC, а затем QA. Или он может уйти в разработчики, если знает основы программирования.
- Стать тестировщиком можно и без специального образования, но тогда не стоит рассчитывать на высокую должность и хорошую зарплату.
- Чтобы уже на старте иметь преимущества перед другими кандидатами, стоит обучиться на курсах и познакомиться с тестированием на примере реальных кейсов.
Источник: tproger.ru
Кто такой тестировщик. Обзор изнутри от Евгения Шидловского
Про профессию рассказывает Евгений Шидловский, ведущий инженер-программист (lead software test automation engineer) в EPAM и преподаватель курса «Тестирование ПО» в IT-Academy.
Продолжаем цикл материалов про ИТ-специальности. Каждую из них описывает «типичный представитель» — опытный специалист. Мы надеемся, этим материалы помогут школьникам, студентам, переквалификантам, джуниорам и сочувствующим выбрать специальность в ИТ, оценить перспективы или просто сверить часы с авторитетным коллегой. Обсуждайте и дополняйте материал в комментариях, чтобы сделать его ещё полезней.
Кто такие QA и QC
Один из самых частых вопросов на собеседованиях тестировщиков: чем отличаются QA от QC? Вопрос философский, и мне приходилось слышать очень разные ответы на него.
Традиционно под QA (Quality Assurance) понимается нечто глобальное: обеспечение всего процесса разработки, начиная от выбора методологии и специалистов и заканчивая общим контролем качества.
QC (Quality Control) — так иногда называют среднестатического специалиста по функциональному тестированию, который проверяет, насколько разработка продукта соответствует всем требованиям.
Встречается ещё третье понятие — Testing, или процесс тестирования продукта.
В каком-то смысле QA, QC и Testing — всего лишь разные этапы работы, которые выполняет QA engineer. В некоторых больших компаниях есть QA-отделы, где специалисты не занимаются функциональным тестированием вообще: они хорошо знают стандарты заказчика и следят за тем, чтобы вся команда работала по этим стандартам.
В вакансиях на рынке труда функционального (мануального) тестировщика могут называть и QA, и tester, и test engineer. Это разные наименования для одной и той же профессии.
Есть также понятие «тестировщик-универсал». В профессиональной среде мы называем таких людей «миксами». Это тестировщики, которые умеют почти всё: знают теорию и разные виды тестирования, умеют придумывать и оформлять тесты, владеют языками программирования и автоматизируют процессы. Сегодня наблюдается большой спрос именно на таких специалистов. По своему опыту могу сказать, что наличие «микса» в команде резко повышает эффективность работы.
Также существует такое понятие, как TestOps (по аналогии с DevOps). Иногда употребляются термины DevTestOps и DevTestSecOps. Это специалист, который помимо тестирования ещё занимается поддержкой всей инфраструктуры: разворачивает и обслуживает сервера, автоматизирует тесты и процесс сборки приложения.
Источник: devby.io
Кто такой тестировщик: чем он занимается, сколько зарабатывает и как им стать
Тестировщик — это специалист, который занимается проверкой работоспособности десктопных программ и мобильных приложений. В его задачи входит мониторинг ошибок в различных сценариях работы ПО, когда нужно убедиться, что программа отвечает на пользовательские действия так, как было изначально спланировано. А еще обеспечение информационной безопасности, проверка работоспоспособности в разных браузерах, операционных системах и устройствах.
Со стороны такая деятельность может показаться чем-то примитивным: дескать, сидит человек, что-то там нажимает на клавиатуре и кликает мышкой, ищет ошибки и передает их разработчику. Однако качественное тестирование предполагает знание в IT, UX и UI, юзабилити, а также в продуктовой разработке. Не так-то проста эта профессия!
Присоединяйтесь к нашему Telegram-каналу!
- Теперь Вы можете читать последние новости из мира интернет-маркетинга в мессенджере Telegram на своём мобильном телефоне.
- Для этого вам необходимо подписаться на наш канал.
Чем занимается тестировщик и чем он отличается от QA-инженера
Самое интересное, что тестировщик на самом деле сидит и часами прокликивает все ссылки, жмет на кнопки, заполняет формы обратной связи и делает так, чтобы сымитировать все возможные действия пользователя — в том числе и ошибки при работе с программой.
Вот пример одного действия — тестирования, как работает форма обратной связи.
Номер
3
Отправка заполненной формы обратной связи с главной страницы сайта
Предисловие
Открыта главная страница сайта poops.ru. Адекватно работает почтовый ящик администратора сайта
Шаг
Ожидаемый результат
Перейти на экран страницы с искомой формо
В поле зрения пользователя появилась форма
Ввести значение в поле «Имя и фамилия»
В поле «Имя и фамилия» отображается введенное значение
Ввести значение в поле «Ваше сообщение»
В поле «Ваше сообщение» отображается введенное значение
Ввести корректный адрес электронной почты в поле «Ваш email»
В поле «Ваш email» отображается введенное значение
Ввести в поле «Captcha» то значение, которое отражается до момента обновление на новое
В поле «Captcha» отображается введенное значение
Под заполняемой формой нажать кнопку «Отправить»
Под кнопкой «Отправить» появляется текст «Ваше сообщение успешно отправлено». Все ранее заполненные поля в текущий момент очищаются
Проверить почту администратора
На электронный ящик ему приходит сообщение, которое было отправлено с главной страницы сайта через форму обратной связи с теми данными, которые вводились на шагах 2, 3 и 4
Тестировщику требуется отменная внимательность, чтобы каждый раз фиксировать соответствие результата тому действию, которое он вызывает.
Нередко тестировщика путают с другой профессией — QA-инженером, или, если переложить на русский, инженером отдела качества. В чем между ними разница? QA-инженеры отвечают за разработку в целом, за ее процессы, этапы и средства. Именно они пишут требования к тому, как должна выглядеть тестируемая программа. А тестировщики проверяют ПО на соответствие предъявляемым к ней запросам.
Надо иметь в виду, что тестирование в «тепличных» условиях не всегда способно выявить ошибки, но они могут появиться россыпью после того, как программа выйдет на свет божий. Именно из-за этого QA-инженеры сутками сидят и моделируют разнообразные — порой и совсем фантастические — сценарии поведения программного обеспечения. Разумеется, здесь надо включать в себе как логику, так и креативность, чтобы понять, до чего может додуматься обыкновенный пользователь. Да и просто техника может некорректно сработать, и это также необходимо предусмотреть.
24 пункта, которые помогут провести SEO-аудит крупного сайта
Два основных типа тестировщиков
Речь про мануальщиков и автотестеров — так их называют:
- первые вручную ищут ошибки в программном коде;
- вторые создают программы для тестирования в автоматическом режиме.
Если в небольших программных решениях можно обойтись и ручной работой, то в крупных проектах без автоматизации просто нельзя.
Обратим ваше внимание на то, что все эти деления весьма размыты, потому что те же самые автоматизаторы вполне могут проверить код вручную. Тестировщики-мануальщики, чтобы ускорить свою работу, создают решения для автотестирования. Те, кто уже давно работает в этой сфере, спокойно совмещают в себе обе роли.
Hard skills тестировщика
- Знание базы тестирования, его разновидностей и методологии.
- Разработка тест-кейсов и планов тестирования.
- Знание SQL и других СУБД.
- Владение одним или несколькими языками программирования.
- Владение навыком работы с системами контроля версий типа GitHub и т. п.
- Работа с одной или несколькими системами по созданию тест-кейсов.
- Работа с файловыми менеджерами (в т. ч. с протоколом FTP) и редакторами XML.
Чтобы автоматизировать выполнение тестов, нужны системы тестирования веб-приложений (OTUS, FIRECODE), а также ПО для функционального и нагрузочного тестирования.
Всем тестировщикам, как и техническим писателям, обязательно нужно владеть английским языком, чтобы уметь досконально разбираться с текстовой частью интерфейсов, читать и дополнять техдокументацию.
Soft skills тестировщика
- Колоссальная усидчивость и упорство в поиске ошибок. Опытный тестировщик найдет ошибки там, где обычный пользователь даже и не подумает их искать.
- Логическое, критическое и системное мышление. Без них не получается корректно обрабатывать информацию.
- Умение смотреть на детали и видеть в них искомое, постоянная здоровая подозрительность.
- Развитые коммуникативные навыки и умение работать в коллективе.
- Самоконтроль в общении с разработчиками, которые очень не любят вносить исправления в свой код.
- Ответственность и стремление к совершенству в своей работе. Помня, что идеальных продуктов не существует, тестировщик все равно стремится к идеалу.
- Способность четко выражать свои мысли и объяснять собственную точку зрения в общении с разработчиками.
- Постоянное саморазвитие. Без комментариев.
Что такое soft skills, как их развить и оценить текущий уровень
Должностные обязанности тестировщика
Тестировщик работает по всей цепочке создания продукта — от взаимодействия с разработчиками до подготовки технической документации. Здесь в поле его ответственности:
- разработка и планирование процессов тестирования;
- всесторонняя проверка тестируемого продукта по определенной методологии и всем возможным пользовательским сценариям;
- поиск и ликвидация ошибок программного кода;
- формирование и отправка отчетов об ошибках, которые отправляются разработчикам;
- изучение требований к ПО..
В каждом конкретном случае обязанности определяются специализацией, включающей в себя:
- Ручное, или мануальное тестирование. Является наиболее медленным и напрямую зависящим от человеческого фактора. Для его проведения нужно поставить себя на место пользователя и самому выполнить все возможные действия, совершать намеренные ошибки, чтобы увидеть, как на них отреагирует программа.
- Автотестирование. Это отслеживание ошибок при помощи специализированного ПО. Для этого нужно однозначно владеть языками программирования и разбираться в программном коде.
- Тестовый анализ. Это сбор и приведение в единообразный вид всего собранного по проекту для целостного видения картины всеми участниками тест-команды.
- Контроль качества, или QA-инженерия. Эту операцию проводит человек, который присутствует на всем цикле создания продукта и отвечает за его итоговое представление и качество.
Анализ внешней оптимизации сайта с помощью сервиса Ahrefs.com
Плюсы и минусы профессии
Начнем с преимуществ:
- Движение по карьере. Начинающий тестировщик может при должном рвении стать начальником профильного отдела в компании.
- Легкий старт в профессии. Достаточно иметь очень большое желание и усидчивость, чтобы человек любого возраста, социального положений и компетенций начал свое движение в этом направлении.
- Возможность удаленной работы. Вы можете работать в штате и сидеть в офисе или же работать из дома, а то и вовсе быть фрилансером.
Перейдем к недостаткам:
- Рутина и монотонность. Начинающим тестировщикам многого не доверят: им дают легкие и похожие друг на друга мелкие поручения, которые могут быстро надоесть и кажутся слабоинтересными.
- Малый почет от коллег. Тестировщики постоянно находятся в конфликте с разработчиками. Потому что первые не жалеют то, что с таким трудом было сделано вторыми, если есть ошибки. Тут уже дело за тем, кто умеет четко и деликатно доносить свое видение , отстаивать собственную точку зрения и признавать собственные ошибки.
Вебмастер: кто это такой, чем занимается и за что отвечает
Сколько зарабатывает тестировщик и QA-инженер
Напомню, почему мы рассматриваем тестировщика и QA-инженера отдельно. Если первый несет ответственность за тестирование готового программного обеспечения, то второй мониторит качество продукта на этапе его разработки и отвечает, чтобы вышедшая программа отвечала определенным требованиям.
Сейчас мы рассмотрим зарплату тестировщица и QA-инженера в Пензе и в Москве.
Тестировщик
Если брать Пензу, специалист может рассчитывать на следующую зарплату:
Теперь посмотрим,как обстоят дела в Москве:
Очень часто бывает, что один и тот же набор задач оплачивается по-разному. Конечно же, побеждает столичный регион.
QA-инженер
Начинаем с провинции. Поскольку я не нашел по Пензе вакансий с ценами, взял для примера Саратов. Итак:
Время узнать его зарплату по столичному региону:
Где учиться на тестировщика
Рассмотрим три вектора обучения профессии:
- Самостоятельное обучение. Это полностью бесплатный путь, где сами себе избираете количество материалов и интенсивность познания профессии. Тем не менее, придется прочесть немало специализированной литературы, почитать ветки профильных форумов и посмотреть ролики на YouTube. Так или иначе, базу вы получите, но надо двигаться дальше, чтобы практиковаться и набираться реального опыта. Как минимум стажером на низкую ЗП в компанию могут взять.
- Обучение в высшем учебном заведении. Стоит ли говорить, что это долгий путь? Тем не менее, это наиболее системное обучение, где помимо основного навыка вы получите кучу дополнительных и сможете вполне себе работать не только тестировщиком, но и программистом или QA-инженером. Рекомендуем посетить сайт postupi.online.ru: там вы найдете перечень вузов, в которых можно обучаться по той или иной IT-специальности.
- Прохождение онлайн-курсов. Это наиболее быстрый способ получить навык в профессии, но курсы, однако, бывают откровенным надувательством и те грамоты и сертификаты, которые они выдают по окончании, для работодателя значат чуть больше, чем ничего. Здесь мы можем посоветовать курсы от проверенных онлайн-школ:
- Курс «Инженер по тестированию» от «Яндекс.Практикум»
- Курс «Инженер по ручному тестированию» от SkillFactory
- Курс «Кто такой тестировщик и как им стать с нуля» от SkillBox
Чтобы начать учиться прямо сейчас, можно посмотреть это видео:
Где тестировщику искать заказы
Можно не глядя ткнуть пальцем в любую It-специальность и там будет не обойтись без тестировщика. Он может рассчитывать на получение работы в тех компаниях, которые:
- Разрабатывают мобильные или десктопные игры, программное обеспечения.
- Занимаются финансовой деятельностью. А это, неожиданно, любой банк страны!
- Компании — биржевые брокеры.
- Системные интеграторы, т.е. все те компании, которые занимаются автоматизацией бизнес-процессов для других компаний.
Никто не забывает и про фриланс вкупе с основной работой. Но компании, особенно в IT — источник передовых идей, а работа в них — возможность быть в гуще событий. Если работать исключительно дома — велик шанс вариться в своем котле и отставать от трендов
Заключение
Пойти тестировщиком — даже за символическую зарплату — хороший вариант укрепиться в сфере IT. Дело в том, что здесь для начала хватит здоровой любознательности и желания развиваться. Та со временем вы сможете из начинающего тестировщика стать опытным QA-инженером.
Технический аудит сайта
- Наличие дублей страниц, безопасность, корректность всех технических параметров: переадресаций, robots.txt, sitemap.xml скорость загрузки и др.
- Техническая оптимизация — один из основных этапов в продвижении.
Источник: kokoc.com