тестировщик веб приложений что должен делать
Тестирование ПО: суть профессии, требования и заработная плата
Разработка программного обеспечения — сфера, которая будет в ближайшее время только расти, несмотря ни на эпидемию, ни на экономический кризис. Соответственно, будет увеличиваться дефицит технических специальностей, связанных с разработкой.
Одна из них — тестирование ПО. Забегая наперед, скажем, что в тестировщиках нуждаются практически все компании, которые занимаются созданием программного обеспечения и сервисов. Что касается порога входа, требований, которые предъявляются к разработке ПО и размере заработной платы тестировщиков, то в этом вопросе поможет разобраться преподаватель курса GeekBrains «Тестирование ПО» Максим Засецкий.
QA, QC и тестирование
Тестирование программного обеспечения — обширное понятие, которое включает планирование, проектирование и, собственно, выполнение тестов.
Из чего состоит сфера тестирования ПО
QA (Quality Assurance) — обеспечение качества продукта. QA-специалист контролирует и обеспечивает качество работы продукта компании. Он отвечает и за отдельные этапы разработки софта. В частности, за выбор инструментов для разработки, предотвращение возможных проблем. Еще он участвует в процессе совершенствования продукта. QA охватывает все этапы разработки, включая описание проекта, собственно, тестирование, релиз и, зачастую, пост-релизный этап.
QC (Quality Control) — контроль качества продукта. Задача QC-специалиста — проверка конкретного продукта, что включает анализ кода продукта, дизайна, плюс тестирование. QC-инженер разрабатывает стратегию тестирование вполне определенного тестирования, взаимодействует с разработчиками и организует само тестирование.
Специалист по тестированию занимается выполнением тестов. Тестированием называют проверку соответствия результатов работы программного продукта на соответствие заданным критериям. Тестировщики занимаются тестированием всего продукта в целом или же отдельных компонентов. Тестирование играет важнейшую роль в обеспечении качества продукта.
Кстати, есть внешнее ответвление — современное направление тестирования Developer in test. Специалисты этого направления — вроде как и разработчики, но занимаются они обеспечением качества разрабатываемого продукта.
Что должен знать и уметь хороший тестировщик?
Исходя из всего, что сказано выше, сложно выделить конкретные знания или умения. Все сильно зависит от проекта, на котором работает специалист, соответственно, и от стека технологий, которые на этом проекте используются.
Если говорить о джуниорах, то здесь можно выделить общие навыки:
Хорошие знания в клиент-серверной архитектуре.
Хороший тестировщик должен понимать механизм взаимодействия веб-приложений, уметь локализовать проблему вне зависимости от того, возникла ли она на фронтэнде или бэкенде.
Специалисту необходимо иметь базовые навыки использования специализированного софта, уметь использовать инструменты devTools, иметь представление о работе снифферов, знать базовые команды консоли Windows.
Крайне важны soft-скиллы:
Умение общаться с коллегами.
Умение ясно излагать мысли.
Способность четко описать проблему разработчику.
Умение работать с документацией.
Понимание стандартов разработки ПО.
Готовность доказать и отстоять свою позицию, основываясь на документации или здравом смысле.
Существует мнение, что профессионалом в сфере тестирования можно стать через 3 года, при условии наличия технического бэкграунда. В первый год молодой специалист начинает понимать, что от него требуют, во второй год — понимает, как нужно выполнять то, что от него требуют, на третий — пытается улучшить выстроенный процесс, добавляя свое видение.
Что касается тестировщиков с большим опытом и обширными знаниями, то им крайне необходимо постоянно расширять навыки, следить за тенденциями в мире IT, искать новые подходы к решению вчерашних задач и всегда быть «на волне».
В разных компаниях требования к тестировщиком отличаются. Кому-то нужны Developer in test, а для кого-то важнейшую роль играют софт-скиллы специалистов.
Мифы о тестировании ПО и тестировщиках
Почему-то все более распространенным становится заблуждение, согласно которому тестировщики занимаются тем, что просто нажимают на кнопки и вводят рандомную информацию в разные поля программы. На самом деле это не так, если бы тестировщики хаотично нажимали на кнопки и вводили случайные данные, то результаты тестирования никакой ценности для разработчика не принесли бы. Результаты представляли бы собой неструктурированную информацию из которой невозможно получить представление о том, насколько качественным получился продукт и насколько удобен он для пользователей. У тестировщиков всегда есть стратегия работы, план, который позволяет получить объективное описание актуального состояния продукта.
Второй миф заключается в утверждении, что тестировщики ответственны за качество ПО. На самом деле, ответственность за качество разработки продукта несет вся команда. Тестировщики же помогают улучшать качество разработки, а также выявляют проблемы на ранних стадиях.
Третий миф — тестировщиков очень много. На самом деле хороших специалистов на рынке мало. Много тех, кто выкладывает резюме с пометкой «тестировщик», не понимая сути тестирования ПО.
Востребованность профессии и доходы тестировщиков ПО
По данным зарплатного калькулятора Хабр Карьеры, средний размер заработной платы тестировщика составляет чуть больше 96 тысяч рублей в месяц. Конечно, это среднее значение. Есть те, кто зарабатывает значительно меньше, скажем, тысяч 30, а есть и те, кто получает в 10 раз больше — около 300 тысяч рублей.
Средняя з/п тестировщика ПО в первом полугодии 2020 года
Профессионалы примерно одного уровня, выполняющие один и тот же пул задач в столице и в регионе могут получать сильно отличающуюся зарплату. В Москве это 100+ тысяч рублей, в регионах — 40-50 тысяч рублей, а в некоторых случаях и вовсе 20-30 тысяч.
Если сравнивать уровень зарплаты тестировщиков в РФ и за рубежом, то разница в среднем 30-50%.
Источник картинки https://habr.com/ru/post/446650/
Плюс можно сравнить еще разброс уровня заработной платы в зависимости от региона — Евросоюз, СНГ, США и Канада, РФ.
Источник картинки https://habr.com/ru/post/446650
Наш зарплатный калькулятор показывает и список навыков, которыми владеют тестировщики ПО:
О чём важно знать, чтобы стать тестировщиком: советы новичкам
Руководитель отдела тестирования Bookmate Анастасия Шарикова провела в «Нетологии» открытое занятие, на котором рассказала: кто такие тестировщики, сколько они получают и как освоить профессию. Зафиксировали главное.
Тестирование — полноценная специальность в ИТ с относительно низкими начальными требованиями, в сравнении с требованиями к начинающим разработчикам. Именно поэтому тестирование так привлекает тех, кто не работал в ИТ.
Эта статья для новичков, которые только присматриваются к отрасли. Рассказываем, чем занимаются тестировщики, сколько зарабатывают и что нужно уметь, чтобы получить первую работу.
Тестировщик или QA (Quality Assurance, специалист по качеству) проверяет программное обеспечение и помогает команде избавляться от ошибок и предотвращать их появление. В теории тестировщик и QA — названия для одной из той же профессии. Но работодатели часто разграничивают понятия:
Тестировщик. Уровень — Junior, новичок. Выполняет простую ручную работу и не связан с процессами улучшения качества продукта в целом. Выявляет и устраняет ошибки, но ещё не работает над их предотвращением.
QA (Quality Assurance). Уровень — Middle и выше, с опытом работы от 1–2 лет. Занимается повышением качества продукта на всех этапах разработки:
Чтобы наглядно объяснить, чем занимаются тестировщики, приведу пример заданий для соискателей-джуниоров. Чаще всего джуниоров просят протестировать бытовые программы, например, калькулятор. Иногда — найти ошибки в том сервисе, куда они устраиваются.
Если это приложение, соискателя просят найти десять ошибок в нём. Это довольно банальные примеры, но по ним можно понять, что ищут работодатели.
Ошибки могут быть в любых программах. Поэтому тестировщиков нанимают все крупные компании, которые разрабатывают программное обеспечение. А еще фирмы, которые предоставляют услуги тестирования для мелких компаний-разработчиков без своего отдела QA.
Оценить востребованность профессии можно по количеству вакансий. Так, на hh.ru ежемесячно появляется 3400 вакансий для тестировщиков. Кроме того, работодатели публикуют вакансии на Freelance.ru, SuperJob.ru и других популярных сайтах поиска работы. Также сотрудников ищут в Telegram-каналах и группах в Facebook, в соцсети LinkedIn.
Нужные навыки соискателя зависят от конкретной вакансии. Как правило, работодатели сразу пишут в описании, чего ждут от сотрудника. Чтобы устроиться на работу, как минимум, нужно уметь:
Находить и правильно заводить дефекты — определять, с каким разделом программы связана ошибка, в какой версии операционной системы или браузера воспроизводится.
Разбираться системами баг-трекинга Jira, Redmine, Bugzilla. Как правило, над устранением ошибки работают несколько разных специалистов. Системы баг-трекинга нужны, чтобы управлять процессом починки, координировать работу.
Проводить клиентское тестирование веб- и мобильных приложений. Проверять программу с позиции пользователя, оценивать функциональность, удобство пользования — в разных операционных системах, браузерах, на разных разрешениях экрана и драйверах.
Обладать базовыми навыками тестирования. Например, проводить тест-анализ — определять, что именно будет протестировано, формировать условия тестирования.
Уметь работать с основными программами вроде Charles или Fiddler. Они нужны, чтобы проверять передачу данных между компьютером пользователя и сервером.
Разбираться в системах управления знаниями и хранилищах тест-кейсов. К таким программам относятся, например, Wiki и Confluence. Они работают как «Википедия» — там хранится вся информация про проекту. Как хранилища тест-кейсов часто используют TestRail или Zephyr.
Дополнительными плюсами при трудоустройстве будет уровень английского выше среднего, базовое знание языков программирования — например, Java или Python — и автотестирования.
Вот книги и ресурсы, которые помогут понять, интересно ли вам тестирование, и освоить азы самостоятельно:
Курс лекций для обучения тестированию. Автор опирается на личный опыт и рассказывает, как освоить профессию с нуля. Полезный материал для тех, кто участвует в разработке ПО, рекрутеров и желающих узнать больше о интернет-стартапах.
Автор описывает процессы тестирования и приводит примеры их использования в разных операционных, организационных, технологических условиях. Вы научитесь последовательно и эффективно тестировать ПО, наглядно представлять результаты тестирования, выполнять требования заказчика. Полезное пособие для начинающих специалистов.
Автор рассказывает новичкам, как освоить профессию тестировщика, отвечает на типичные вопросы и приводит практические примеры задач. Книга полезна для тех, кто только начал осваивать специальность.
Освоить профессию под руководством наставников, получить теорию в доступном виде и сразу начать решать практические задачи можно на образовательных курсах «Нетологии».
Начинающим тестировщикам доступны разнообразные пути развития карьеры. Можно развиваться горизонтально — выбрать специализацию, например, банковский сектор или страховые компании, и совершенствоваться в тестировании узкопрофильных программ.
Варианты специализации в профессии по сфере деятельности компании и рабочим навыкам, задачам по версии Capgemini.
Параллельно с этим новички набираются опыта и развивают карьеру вертикально. Через каждые два–три года бывший джуниор получают новые уровни навыков:
Middle QA Engineer/Tester. Пишет тестовые сценарии, готовит техническую документацию, исправляет баги и тестирует новые функции.
Senior QA Engineer/Tester. Планирует процессы и разрабатывает стандарты тестирования, работает с циклом проверки ПО. Оценивает работу младших специалистов.
Lead QA Engineer/Tester. Принимает решения по внутреннему устройству и внешним интерфейсам ПО по требованиям к нему и ресурсам в наличиии. Выполняет сложные задачи по тестированию.
QA Team Lead/Manager. Координирует стратегию тестирования в небольшой команде, руководит тестировщиками, планирует и контролирует их работу. Оценивает объём, сроки выполнения и бюджет проекта.
Профессиональное развитие проходит в разном темпе, указанное время — приблизительное. Некоторые тестировщики не становятся управленцами — Lead и Team Lead — и предпочитают дальше выполнять технические задачи даже после 10–15 лет работы.
Хорошие QA — программисты, может не самые лучшие, но приходится именно программировать и повторяющуюся работу надо скриптовать.
Если специалист делает одно и тоже (регрессия), то явно с его навыками что-то не так, более того:
— выкатили фичу, ты с разных сторон ее проработал, но даже в этой проработке приходится по несколько раз добавлять в БД данные, удалять и проводить по 3-4 шага, чтобы воспроизвести нормальную работу, а тту бамц — баг и так несколько раз.
Что это? Хорошая статья по полочкам на VC?
Это реклама курсов
Статью лучше переименовать в «О чём важно знать, чтобы стать тестировщиком *в Bookmate*: советы новичкам». Чтобы не вводить людей в заблуждение.
Всегда была интересна эта тема, только вот лично я не видел что-бы «в обьявлениях на заборе» висел листок с вакансии тестера.
Но все же, было бы любопытно окунутся в эту сферу.
https://itstepbystep.club
Мы, команда ItStepByStep, столкнулись с тем, что о программировании в качестве будущей специальности и о работе в такой сфере, как IT говорят очень многие. Мы точно знаем, что рынок развивается стремительно и потребность в квалифицированных специалистах будет расти с каждым днем.
Многие думают о том, чтобы связать свою жизнь с информационными технологиями, но не могут определиться, с чего же всё-таки начать освоение новой профессии. Возникает множество вопросов: получится ли, какое направление выбрать, сколько времени займет обучение.
И вместе с этим ростом открываются множество курсов по обучению, которые за свои услуги берут большие деньги. Порой эти деньги для человека который хочет сменить род деятельности и зарабатывать больше в большинстве своих случаев являются неподъемной суммой.
Мы решили, что было бы хорошо обучать желающих строить карьеру в IT за небольшие деньги, но при этом дать максимальный объем теоретических знаний и практических навыков.
Собственно говоря, так и возникла идея создания Обучающего портала ItStepByStep.
Наши первые обучающие материалы будут связаны с тестированием программного обеспечения.
Мы точно знаем, что стать IТ-специалистом – это просто!
Приобретайте обучающие материалы и сделайте шаг навстречу новой специальности!
Тестировщик веб приложений что должен делать
Что пишут в блогах
Продолжу хвастаться статусом книги.
I’m sticking with “bug” rather than adopt another word such as “fault,” which is the current fad in publications because:
Онлайн-тренинги
Что пишут в блогах (EN)
Разделы портала
Про инструменты
Автор: Виталий Котов, https://www.learnqa.ru/
Поэтому нельзя однозначно сказать: пройдите вот эти курсы, выучите вот эту книжку — и вас точно возьмут на работу.
Однако, вполне можно выделить набор навыков, которые будут повышать вашу ценность как специалиста на рынке. А чем выше ваша ценность — тем больше список компаний, которые захотят пригласить вас на собеседование.
Условно можно разделить весь спектр знаний на 6 сегментов:
Каждый из сегментов важен в равной степени, и недостаток в одном из них можно перекрыть хорошими знаниями в другом. Ну а если вы освоите все, вам будет достаточно просто устроиться на работу или продвинуться по карьерной лестнице в текущей компании. Давайте рассмотрим каждый из них.
Компьютерная грамотность
Итак, первый важный навык для тестировщика — это общая компьютерная грамотность. Сфера IT развивается очень быстро, и оставаться в курсе всех инноваций непросто. Но именно такие специалисты особенно ценятся на рынке труда.
С этой задачей справиться проще всего тем, кто уже достаточно опытен в использовании компьютера. Чтобы начать работать в IT, неплохо бы разбираться в операционных системах и их особенностях, уметь настраивать переменные окружения, уметь работать с файловой системой и консолью, знать про устройство и принципы работы сети, понимать, что такое клиент-серверная архитектура приложения, иметь представление о компьютерном железе и API, а также владеть множеством других базовых тем. Именно понимание азов позволяет в дальнейшем получать знания без лишних проблем.
Теория тестирования
Следующий необходимый навык — теория тестирования. Все те штуки, которые возникают в голове, когда мы вообще говорим о тестировании: тест-кейсы и чеклисты, багтрекеры и багрепорты, классы эквивалентности и граничные значения, виды, типы, уровни тестирования и все остальное, что пишут в каждой первой книге по тестированию. В зависимости от компании что-то из этого списка вы будете применять каждый день, а с чем-то столкнетесь через пару лет. Более того, вы можете никогда не заниматься попарным тестированием, или попасть в компанию, где не пишут тест-кейсы, а возможно и вовсе используют какие-то свои термины. Но так или иначе, знания теории тестирования будут полезны практически для любой вакансии тестировщика.
Теории тестирования посвящен небольшой курс Тестировщик: первая ступень. На нем мы затрагиваем только самые важные темы, которые пригодятся вам в любом случае. Так вам будет легче усвоить информацию и не перегружать мозг ненужными знаниями. Данных в курсе вполне достаточно для уровня начинающего тестировщика, однако не стоит забывать и про другие навыки.
Инструменты
Помимо теории тестирования важно знать и уметь использовать различные инструменты и подходы, специфичные для отрасли тестирования. Так, для работы с веб-приложениями пригодится понимание отладочных утилит Chrome DevTools, а для работы с мобильными — знание Android Studio и Xcode.
Уметь работать с API нужно в любом случае — с его помощью с сервером общаются и веб-приложения, и мобильные приложения.
Существуют и общие инструменты, которые пригодятся практически на любой работе: знание языка SQL, знание Docker, умение работать с консольной оболочкой Bash, доставать информацию из логов или пользоваться системой контроля версий Git. Работа со всеми этими инструментами требует, в первую очередь, практики. Мы создали несколько практических курсов, чтобы вы могли попробовать себя в деле и смело добавить знание этих инструментов в свое резюме.
Автоматизация
Автоматизация — очень популярный тренд на современном рынке тестирования, но рассматривать ее стоит именно как навык тестировщика, а не как отдельную профессию. Даже если вы устроитесь на вакансию Automation QA, это не значит, что не придется искать локаторы и работать с ADB. Ну и конечно ошибку надо сначала найти и локализовать, а потом уже писать на нее автотесты. Поэтому здесь мы рассмотрим основные навыки начинающего автоматизатора, которые важны не больше и не меньше, чем весь остальной список.
Естественно, в первую очередь нужно будет освоить язык программирования. В сети часто встречается вопрос — какой из языков лучше выбрать для автоматизации? Ведь автоматизация бывает на Python, Java, C#, Kotlin, Ruby, PHP, NodeJS и много чем еще. В отличие от программирования, в QA конкретный язык не так важен: дело в том, что автотесты используют одни и те же конструкции из фреймворков, а для их вызова подходит любой язык. Хотя, конечно, выбор языка может зависеть от платформы, которую вы тестируете. Тем не менее стоит понимать, что если бы у одного языка было бы неоспоримое преимущество перед другим для работы с автоматизацией, все компании использовали бы только его.
Самый популярный инструмент для автоматизации веб — это Selenium. Не путайте с Selenoid и Selenide. Selenium — это набор инструментов, который позволяет написанному нами коду превращаться в команды. А их в свою очередь понимает и исполняет браузер.
Для мобильной автоматизации используется похожий подход, только вместо Selenium Server используется Appium.
Но помимо Appium, который подходит для работы с любыми языками на Android и iOS, существуют еще и свои инструменты для каждой из платформ: Espresso для Android и XCUITest для iOS. И тут уже отличия от Selenium гораздо заметнее. Основной плюс такого подхода против Appium — тесты будут работать быстрее. Плюс, в драйверах раньше Appium появляются все самые новые функции.
Минус же в том, что писать тесты напрямую на драйверах сложнее: к тому же реализовать все на одном и том же языке не выйдет, для Android нужно будет освоить Java/Kotlin, а для iOS — Swift. Построить кроссплатформенные тесты в этом случае также не получится.
Трудоустройство
Следующий важный навык — умение, собственно, устраиваться на работу. Причем это совершенно отдельное умение, которое нужно развивать самостоятельно. Ведь можно быть отличным специалистом — но работать в плохой компании на небольшой зарплате просто потому, что вы теряетесь на собеседованиях. Или вы не можете попасть на работу мечты потому, что у вас некачественное резюме, и HR просто не передает такой документ техническим специалистам.
А возможно, что резюме у вас хорошее, но в этой компании таких получают по десять в день. Если вы не можете выделиться — до вас просто не дойдут. Поэтому важно научиться писать резюме, искать вакансии и отвечать на вопросы на собеседовании для того, чтобы всегда быть в состоянии найти интересную для вас работу.
Soft-skills
Пожалуй, самая главная вещь для начинающего тестировщика — так называемые софт-скиллы. Ведь у джуниора, скорее всего, еще очень мало опыта, мало конкретных умений и знаний инструментов. Но набирают начинающих специалистов, в первую очередь, за их личные качества.
Во-первых, это хорошее умение находить информацию. Здесь пригодится и навык работы с поисковыми системами, и знание сайтов и книг, где можно найти ответ на свой вопрос, и способность правильно этот вопрос сформулировать.
Во-вторых, это умение воспринимать и анализировать огромное количество данных. В начале работы придется читать, смотреть и впитывать большие объемы новых знаний, да и спустя год проект будет постоянно меняться и развиваться.
В-третьих, это умение общаться с людьми, причем из разных сфер. В отличие от разработчика, тестировщик взаимодействует почти со всеми участниками процесса разработки софта, а значит, должен уметь формулировать запросы и узнавать нужные ему данные.
Наконец, самый главный навык — возможность решать проблемы, выполнять поставленные задачи самостоятельно. Очень часто у многих начинающих не получается работать, потому что они ждут указаний от руководителя или коллег. При этом, столкнувшись с проблемой, они не сообщают о ней, а ждут, пока кто-нибудь им поможет. Не надо так.
Если видите, что не получается выполнить задание самостоятельно — нужно сразу сообщить об этом и попросить помощи. Ну а если знаете, что справитесь — не ждите отмашки, делайте.
Софт-скиллам очень трудно научить, им можно только научиться. Поэтому старайтесь проявлять эти качества уже сейчас, чтобы в дальнейшем с ними не возникло проблем.