Информация в статье обновлена 31 мая, 2023
Тестировщик ПО (программного обеспечения) – это IT-специалист, который ищет ошибки в приложениях и программах. Делает он это при помощи искусственных сценариев, где будет воспроизводиться множество вероятных событий в ПО (например, ввод большого количества символов, загрузка картинок неподходящего формата и т. д.). То есть специалист пытается намеренно “сломать” программу всеми возможными способами.
Поиск ошибок выполняется ручным и автоматизированным методами. Опытный специалист владеет обоими методами, а новичок – только ручным. Айти-тестировщик, владеющий авторизированными методами имеет более высокий уровень зарплаты, поскольку он знает языки программирования и хорошо разбирается в разработке.
Такие вакансии открывают в IT-компаниях, которые создают различные цифровые продукты. На каждом этапе создания приложения обязательно проводится тестирование. Это позволит в будущем значительно сэкономить деньги и время.
Тестировщик: Это баг или фича?
Разработчик: Пока что это фича.
Если пользователи сами найдут недоработки у программы (critical или blocker ошибки), которая уже представлена на рынке, то это может грозить компании огромными убытками. Поэтому работа тестировщиков очень ценится, особенно тех специалистов, которые быстро находят все вероятные ошибки разработчиков, пытаясь создать почти идеальное приложение.
Выучиться на профессию тестировщика приложений быстрее и проще всего на онлайн-курсах, где обучат всем практическим навыкам. А после окончания учёбы онлайн-школа поможет устроиться новичку на работу в топовую фирму из IT-сферы.
Интересен тот факт, что в РФ тестировщиками называют QA-инженерами или QA-тестировщиками (QA – это Quality Assurance, в переводе с англ. расшифровывается как “обеспечение качества”). Но на практике QA-инженер больше работает не с тестами, а с анализом качества продукта на всех этапах его разработки. Тем не менее в статье мы будем использовать оба синонима.
Многие считают, что этой профессии легко обучиться, да и работать просто – нажал кнопочку и жди, пока пройдут тесты. Но так ли это? В статье – кто такой тестировщик, плюсы и минусы этой профессии, что нужно знать тестировщику ПО, где можно пройти обучение, рейтинг лучших курсов, зарплата и востребованность, где найти работу, что он делает на работе. Обещаю, будет интересно!
Тестировщик ПО – кто это такой
Тестировщик – это технический IT-специалист, который всесторонне проверяет работоспособность приложения или другого программного обеспечения. Простыми словами специалист по тестированию:
- ищет баги и недочёты в программе и документации;
- проверяет, чтобы программа работала так, как было задумано изначально;
- тестирует работу приложения на множестве устройств и в различных ситуациях.
Что это за профессия на самом деле? Те, кто не разбирается в программировании, думают, что тестировщики просто нажимают на кнопочки в программе, и, если какая-либо кнопка не работает, просто говорят об этом разработчику. На практике это совсем не так.
Тестирование программ это сложная и даже в чём-то творческая профессия. Разумеется, тестировщики действительно нажимают на все кнопки, ссылки, заполняют все возможные поля и делают самые разные действия, которые могли бы прийти в голову обычному пользователю. Но это только лишь малая часть работы.
Испытатели работают не только напрямую с программой, но также с программным и аппаратным окружением, а также проверяют документацию на соответствие действительности. Чтобы просто найти ошибку или сбой, много времени не надо. Но вот воспроизвести ошибку, собрать все необходимые данные, отчёты, дампы, создать автоматизированные тесты и составить тест-кейсы занимает значительное количество рабочего времени тестировщика.
Тестировщик моделирует ситуации при работе с программой, чтобы специально вызвать появление ошибок или иных багов. После этого он передаёт нужную информацию разработчикам, которые будут дорабатывать эти недочёты.
Программисты иногда называют тестировщиков “тестерами” или” обезьянками-кликальщиками”. Разумеется, это очень обидно. Но прозвище это так прижилось, что для OS Android были созданы инструменты функционального тестирования под названием Monkey и MonkeyRunner (monkey в переводе с англ. – “обезьяна”).
Главная задача ИТ-тестировщика – это тщательная проверка того, чтобы на каждое действие пользователя программа себя вела ожидаемо. Но при тестах такие ошибки могут и не возникнуть, поэтому тестировщики проявляют смекалку и другие аналитические навыки, чтобы выявить все скрытые ошибки. В итоге должна получиться практически идеально работающая программа.
Тестировщик должен уметь найти максимальное количество ошибок за короткий срок времени.
Профессия имеет низкий порог для входа в IT-сферу. Если проявить усердие в обучении, то можно за короткий срок начать работать младшим тестировщиком даже без технического образования.
Существует несколько мифов о профессии тестировщика приложений:
- Тестировщики – низшее звено в IT-сфере. На практике эти специалисты являются контролёрами качества продукта. Испытатели сохраняют прибыль компании, которая могла бы её лишиться, если бы пользователи постоянно жаловались на вечные ошибки. Тестировщики являются продвинутыми IT-специалистами, которые хорошо знают ПО и умеют искать в нём скрытые недоработки.
- Специалисты по тестированию получают маленькую з/п. В начале карьеры всем IT-специалистам платят немного. При повышении уровня специалиста его заработная плата будет расти, особенно это касается тех, кто умеет проводить автоматизированные тесты. В зависимости от вида деятельности компании тестировщики могут получать даже больше, чем программисты.
- Тестировщику не нужно техническое образование. Если вы умеете быстро обучаться, то устроиться таким специалистам можно даже без общетехнических знаний.
- Тестировщик должен уметь программировать. Разработку в начале карьеры можно и не знать, но при приёме на работу знание хотя бы одного языка программирования будет значительным преимуществом. По мере накопления опыта программирование очень пригодится, ведь важно понимать, что происходит внутри программы, чтобы более качественно протестировать ПО. Знание языков программирования понадобится и для автоматизации рутинных операций. Выучите хотя бы один какой-нибудь язык (проще всего Python) и тогда вы значительно быстрее найдёте работу тестировщиком.
Чем тестировщик отличается от QA-инженера
Тестировщики входят в группу Quality Control (QC), а вместе они входят в Quality Assuranc e (QA). Несмотря на это, многие российские компании не разграничивают эти профессии и считают, что QA-инженер и тестировщик – это одно и то же. Но зато они строго разграничивают виды тестирования (автоматизированное или ручное).
Тестировщик – это младший специалист, QC-инженер – средний, а QA-инженер – самый опытный и более высокооплачиваемый.
Приведём таблицу с различиями между этими профессиями, чтобы расставить все точки над i:
Тестировщик | QC-инженер | QA-инженер |
---|---|---|
|
|
|
Таким образом, тестировщик по мере накопления опыта может вырасти до должности QC- или QA-инженера.
Плюсы и минусы профессии
Эту профессию кто-то очень любит, а кто-то тихо ненавидит, но продолжает работать тестировщиком по определённым причинам. Редакция сайта Professii.su выявила преимущества и недостатки профессии тестировщика.
Плюсы:
- Обучаться на тестировщика легче и быстрее, чем другим IT-профессиям. Можно пойти дальше и научиться работать даже с очень сложными проектами. Но даже если не развиваться, то востребованность на услуги тестирования всё равно останется.
- Высокий уровень з/п для средних и старших специалистов.
- Можно работать в геймдеве (разработке игр).
- Тестировщики будут нужны, пока существует сфера IT. А поскольку профессия эта довольно молодая, то востребованность на неё будет только увеличиваться.
- Область тестирования малоизученна, поэтому при наличии определённых навыков вы сможете стать известным специалистом в своих кругах.
- Можно совмещать работу и обучение.
- В эту профессию проще вернуться из длительного отпуска/декрета.
- Работать можно как на удалёнке, так и подрабатывать фрилансером.
- Вы глубоко изучите создаваемый продукт, как с точки зрения разработки, так и глазами пользователя.
- Проще перейти работать в программирование, аналитику или подняться по карьерной лестнице до должности руководителя.
Программисты очень не любят, когда тестировщики находят в их работе недоработки.
Минусы:
- На практике в команде вся команда тайно (или открыто) ненавидит тестировщиков. Многие разработчики считают, что тестировщики намеренно задерживают выпуск продукта, выискивая ошибки и баги. Поэтому нужно морально быть к этому готовым. В больших компаниях разработчики и тестировщики даже работают на разных этажах для предотвращения конфликтов.
Комикс про программиста и тестировщика и в нём есть доля правды 🙂 - В начале карьеры придётся выполнять однообразные задачи, а в некоторые моменты из-за рутинных операций работать будет очень скучно.
- Чаще всего работа тестировщиков незаметна руководству, поэтому нужно заранее с этим смириться.
- Тестировщики ищут баги программистов, а вот искать ошибки тестировщика никто не будет. Поэтому в случае возникновения проблем виноват будет последний.
- В критичных ситуациях придётся сверхурочно тестировать сборку или проверять исправленные баги. И вряд ли кто-то за это будет доплачивать.
- Высокий уровень ответственности проведения тест-планов. Если тестировщик что-то пропустит, то придётся отвечать головой.
- Необходимо постоянно обучаться, так как IT-технологии стремительно развиваются.
- Нужно знание английского языка.
Если тестировщик хорошо организует свою работу, то минусов в профессии практически не останется.
Обучение профессии тестировщика с нуля
Где можно пройти обучение профессии тестировщика приложений?
- Обучение в высших учебных учреждениях. В вузах именно такой специальности нет, там преподают только базовым основам отдельным курсом. Такая же практика существует в IT-компаниях, где обучают тестировщиков новым методологиям и навыкам. В институте вы получите не только навыки тестировщика, но и программиста.
- Онлайн-курсы. Здесь можно пройти обучение на тестировщика с нуля с трудоустройством. Это быстрый старт в профессию, где уже можно начать зарабатывать спустя 6-9 месяцев после начала обучения.
- Самостоятельное обучение. Это долгий путь, где придётся изучать много статей, смотреть обучающие видеокурсы и читать книги. Знаний должно хватить для получения основ профессии, но хватит ли их для практического применения – неизвестно. Если вы будете ежедневно заниматься по 8-10 часов в день, то через полгода можно попробовать устроиться на работу стажёром.
Кроме этого можно выучиться на тестировщика с нуля в “Школе тестировщиков” в ITFB. Чаще всего оно бесплатное и проводится с целью получения грамотных стажёров в свой штат. Обучение длится 1 месяц, записываться нужно заранее, поскольку набор бывает не всегда.
Учёба в ВУЗе
Всего в России существует 265 ВУЗов и 308 ССУЗов, где можно получить знания программиста и тестировщика. Ознакомиться с полным списком можно на сайте Поступи Онлайн.
Вот список хороших институтов, где можно научиться профессии:
- Российский новый университет;
- Фин. университет при Правительстве РФ;
- Балтийский гос. технический университет «ВОЕНМЕХ» им. Д.Ф. Устинова;
- Нац. исследовательский университет «Московский институт электронной техники»;
- Московский тех. университет связи и информатики;
- Российский гос. геологоразведочный университет имени Серго Орджоникидзе (МГРИ);
- Национальный исследовательский тех. университет «МИСиС».
Получить знания специалиста по тестированию в области информационных технологий можно на одной из 220-х программ обучения. Вот пример подходящих образовательных программ:
- Прикладная математика и информатика;
- Прикладное машинное обучение;
- Системная инженерия;
- Программирование и интернет-технологии;
- Цифровая трансформация;
- Технологии разработки программного обеспечения;
- Большие и открытые данные;
- Разработка компьютерных игр и мультимедийных приложений;
- Цифровые технологии в финансах;
- Разработка RPA решений;
- Прикладные информационные системы в экономике и финансах;
- Программная инженерия;
- Математическое моделирование и вычислительная математика.
Сколько придётся учиться? Обучение длится не менее 4 лет. Цена 1 года обучения – от 150 тыс. руб./год.
Стоит ли учиться на тестировщика в ВУЗе? Да, если вы только что закончили школу и вас обеспечивают родители, ведь совмещать учёбу и работу будет довольно непросто.
Лучшие и бесплатные онлайн-курсы
Как стать тестировщиком с нуля без образования быстро и эффективно? Для этого идеально подойдут онлайн-курсы, которые дадут вам все необходимые знания, чтобы сразу приступить к работе в реальной компании. На занятиях будет дано много практических заданий для получения реального опыта.
Редакция сайта Professii.su составила обзор лучших онлайн-школ, которые дают наиболее полные знания и реально помогают в трудоустройстве после окончания учёбы.
Профессия Инженер по тестированию от Skillbox
Длительность обучения составляет один год, где можно обучиться одному из 3-х языков программирования для создания автоматизированных тестов. Как известно, таких соискателей очень ценят работодатели.
После обучения выдаётся диплом государственного образца. Скиллбокс гарантированно поможет в трудоустройстве (или вернёт деньги за обучение).
Подробнее о курсе можно узнать здесь: https://skillbox.ru/course/profession-test
Дополнительные курсы от Скиллбокс:
- Основы тестирования: https://skillbox.ru/course/paket-tester-basics/;
- Профессия Инженер по автоматизации тестирования: https://skillbox.ru/course/profession-testing-automation-engineer/;
- Тестирование мобильных приложений: https://skillbox.ru/course/mobile-testing/;
- Автоматизированное тестирование на Java: https://skillbox.ru/course/autotesting-java/;
- Автоматизированное тестирование веб-приложений на JavaScript: https://skillbox.ru/course/autotesting-javascript/;
- Автоматизированное тестирование для бизнеса: https://skillbox.ru/course/autotesting-for-business/;
- Автоматизированное тестирование на Python: https://skillbox.ru/course/python-autotests/.
Онлайн-курс “Инженер по тестированию” от GeekBrains
Образовательная программа длится 12 месяцев. После обучения в портфолио будет добавлено не менее 5 проектов. Вы сможете получить знания по тестированию веб- и мобильных приложений, научитесь ручным и автоматизированным тестам, сможете самостоятельно писать тест-кейсы и быстро находить ошибки в ПО. Вы освоите такие инструменты, как Java, Allure, API, CICI, Selenium и JUnit.
После обучения выдают диплом о профессиональной переподготовке гос. образца и помощь в трудоустройстве уже через 9 месяцев после начала обучения.
Подробнее о курсе: https://gb.ru/geek_university/developer/qa-engineer
Дополнительные курсы по тестированию от ГикБрайнс:
- Профессия “Автоматизация тестирования на Java”: https://gb.ru/professions/java-qa-engineer;
- Факультет ручного тестирования: https://gb.ru/geek_university/manual-testing;
- Профессия “Тестировщик ПО”: https://gb.ru/geek_university/developer/qa-engineer.
Тестировщик от Нетологии
Это хороший онлайн-курс, который длится 8 месяцев. После обучения лучшие студенты пройдут собеседование в топовой фирме. Поэтому здесь есть реальный шанс начать зарабатывать хорошие деньги сразу после получения диплома о профессиональной переподготовке.
После курса вы сможете проводить ручное и автоматизированное тестирование с нуля, получите командный опыт работы. Занятия проводятся 2 раза в неделю.
Подробнее о курсе: https://netology.ru/programs/qa/
Дополнительный курс по тестированию от Нетологии: Инженер по тестированию: с нуля до middle: https://netology.ru/programs/qa-middle.
Инженер по тестированию от Яндекс Практикума
Этот курс создала команда разработчиков от Яндекса, благодаря которому вы сможете освоить профессию через 4 месяца обучения. После успешной сдачи дипломной работы Яндекс поможет с трудоустройством. Первые занятия можно пройти совершенно бесплатно.
Вы научитесь тестировать веб- и мобильные приложения, а также работать с такими инструментами, как API, JavaScript, DevTools, Figma, SQL и др. В портфолио вы получите 6 проектов.
Больше информации о курсе: https://practicum.yandex.ru/qa-engineer/
Список дополнительных курсов от Яндекс Практикума:
- Курс «Автоматизатор тестирования на Java»: https://practicum.yandex.ru/qa-automation-engineer-java/;
- Курс «Инженер по тестированию плюс»: https://practicum.yandex.ru/qa-engineer-plus/;
- Курс «Тестирование веб-приложений на Python»: https://practicum.yandex.ru/qa-automation-web-python/;
- Инженер по тестированию буткемп: https://practicum.yandex.ru/bootcamp/.
Тестировщик на Python от SkillFactory
Это курс в форме симулятора QA, который длится 9 месяцев. Вы сможете изучить язык Python и писать на нём автоматизированные тесты в форме игры. Вы получите одну из самых востребованных профессий в мире.
Курс уникальный – он создан в формате игрового симулятора, где вы с нуля смоделируете карьерный путь тестировщика программного обеспечения. Практики будет очень много, благодаря которой вы разовьете системное мышление QA-инженера и сможете решать реальные задачи, которые будут встречаться в IT-компаниях.
Отметим, что проекты будут реальные – вы будете выполнять задачи на фриланс-биржах или краудтестинговых платформах. После успешного обучения вы получите тестовое задание от компании партнёра онлайн-школы и в случае успеха вы будете приглашены на должность junior-тестировщика.
Через 4 месяца после начала обучения вы уже сможете устроиться работать по профессии. После обучения выдаётся документ об образовании государственного образца.
Ссылка на обучающую программу: https://skillfactory.ru/qa-engineer-python-testirovshchik-programmnogo-obespecheniya
Тестировщик на Java от SkillFactory
Это онлайн-курс, где можно получить одну из дефицитных профессий в сфере IT. Обучение длится 10 месяцев, во время которого вы освоите ручное и авторизированное тестирование разных типов.
После обучения вы получите диплом об образовании и помощь в трудоустройстве.
Ссылка на курс и подробная информация: https://skillfactory.ru/java-qa-engineer-testirovshik-po
Дополнительные курсы от Скиллфактори:
- Инженер по ручному тестированию: https://skillfactory.ru/qa-engineer-po-ruchnomu-testirovaniyu;
- Интенсив “Инженер по ручному тестированию”: https://skillfactory.ru/intqam.
Инженер по тестированию от Skypro
Это очень хорошие курсы, где вас будет сопровождать наставник на протяжении всего периода обучения. Длится программа 9 месяцев, после которой вы получите 4 проекта в своё портфолио.
После успешного окончания учёбы вам помогут создать резюме и подготовят к собеседованию. СкайПро будет сопровождать вас вплоть до трудоустройства.
Ссылка на онлайн-курс: https://sky.pro/courses/programming/qa-engineer
Онлайн-курсы от Otus
Эта замечательная онлайн-школа специализируется на всех популярных IT-профессиях. Представляем полный список онлайн-курсов по тестированию от онлайн-университета Otus, которые ведут настоящие эксперты своего дела:
- Специализация QA Automation Engineer;
- Буткемп Python QA Engineer;
- QA Engineer. Basic;
- Kotlin QA Engineer;
- Нагрузочное тестирование;
- Java QA Engineer. Basic;
- Java QA Engineer. Professional;
- Game QA Engineer;
- JavaScript QA Engineer;
- Автоматизация тестирования OpenStack;
- Python QA Engineer;
- Ручное тестирование.
Что нужно знать и уметь
Редакция сайта проанализировала сотни вакансий на должность тестировщика и выявила основные требования работодателей.
Вот полный список того, что должен знать и уметь специалист по тестированию в области информационных технологий:
- Знание основ тестирования (классификация, инструменты, методы, создание сценариев);
- Знание техники тест-дизайна, а также типов тестовой документации;
- Знание методологии разработки Agile или SCRUM;
- Знание основ хотя бы одного языка программирования (Python, JavaScript, Java). Это пригодится не только для создания автоматизированных тестов, но и для облегчения рутинных задач;
- Знание основных инструментов тестирования: Jira, Redmine, Bugzilla, Sahi, HP-UFT;
- Умение работать с XML- и текстовым редактором (например, Visual Studio Code), а также любым файловым менеджером;
- Понимание стратегий тестирования чёрного и белого ящика;
- Опыт работы в технической поддержке. Нужно уметь быстро и качественно изучить нужную технологию, находить пути решения проблем и уметь документировать заявки. Наличие такого опыта работы будет преимуществом при устройстве на работу;
- Знание фреймворков Selenium или Allure;
- Знание основ HTML и CSS;
- Умение работать с системой автоматизации Jenkins;
- Знание библиотек модульного тестирования: Boost Test, Nunit, Jasmine, Chai, Nose, SimpleTest, Watir;
- Умение работать с контейнером Docker и сервером Selenoid;
- Знание базовых запросов SQL;
- Умение составлять тест-кейсы;
- Знание основ Linux, администрирования и клиент-серверной архитектуры;
- Знание OS Android и iOS, умение их различать;
- Знание сети и модели OSI;
- Умение работать с генератором текстовых данных;
- Умение понимать приоритеты ошибок;
- Опыт работы со сниффером Wireshark или любым другим;
- Умение работать с GIT или другой системой контроля версий;
- Умение правильно работать с логами ПО;
- Умение проводить тесты с API;
- Знание английского языка на уровне чтения технической документации. Отметим, что много материалов публикуется именно на английском языке, а их обязательно нужно читать, чтобы набираться опыта, иначе продвигаться по карьерной лестнице будет невозможно;
- Грамотная устная и письменная речь. Придётся много общаться не только с разработчиками, но и другими членами команды, а также составлять отчёты о багах и проверять документацию к ПО на наличие неточностей.
У каждой компании есть свой стек технологий, поэтому не обязательно нужно знать абсолютно всё из этого списка. Вот пример требований компании, разрабатывающей веб-проект: HTML + Docker + SCRUM + Jenkins + Jira.
Личные качества
Тестировщик может быть как открытым, так и не очень общительным человеком. Навыки общения в команде, разумеется, нужны. Но для работы должно хватить и того, чтобы специалист смог ясно и грамотно выражать свои мысли.
Тестировщик должен выступать в роли рядового пользователя и технического эксперта.
Для профессии тестировщика понадобятся следующие личные качества:
- Умение планировать рабочий день. Этот навык понадобится, чтобы справляться с высокой нагрузкой в течение рабочего дня.
- Аналитические способности. Без логического мышления не получится находить взаимосвязи и обрабатывать большое количество данных.
- Умение предвидеть, где в программе может ждать тот или иной баг. Можно назвать этот навык как «техническая интуиция».
- Стрессоустойчивость. Придётся иметь дело с разозлёнными разработчиками, выискивая в их работе бесконечные баги.
- Терпение и усидчивость. В работе придётся много раз воспроизводить одну и ту же ошибку или отрабатывать одинаковый тест-кейс каждый день. Ведь чтобы найти ошибку в ПО или “сломать” программу, нужно очень постараться.
- Умение концентрироваться и не пропускать ни одной мелкой детали. Ведь ошибка может скрываться даже на самом видном месте. Этот навык приобрести, уже работая тестировщиком, и затем его можно применять и в других сферах жизни.
- Настойчивость. Всем известно, что разработчики очень не любят вносить изменения в свою работающую программу. Поэтому тестировщик должен терпеливо напоминать коллегам о неисправленных багах по нескольку раз.
- Ответственность. Вина за ненайденные ошибки будет лежать целиком на тестировщике, поэтому нужно максимально качественно проводить тесты.
- Грамотная речь. Этот навык нужен, чтобы уметь составлять тест-кейсы и подробно описывать каждый найденный баг. Разработчик должен чётко понимать, когда именно появляется ошибка, чтобы успеть исправить её в кратчайшие сроки.
- Хорошая память, желание учиться и умение адаптироваться к новым задачам. Время от времени придётся изучать новые методики тестирования, читать полезные материалы по теме. Иначе место ленивого тестировщика могут занять более продвинутые конкуренты.
- Коммуникабельность. Если тестировщик – нелюдимый интроверт, то он может не справиться со своей работой. Вот пример. Вам дали протестировать научный калькулятор, но вы не знаете принцип его работы, поскольку вы тестировали только стандартный. У вас под рукой нет шпаргалки по использованию научного калькулятора, и вы идёте к тем членам команды, которые знают, как и что в нём работает. После получения нужной информации вы идёте проводить тест-кейсы. Но если вы не любите общаться, то вряд ли вы самостоятельно сможете провести качественное тестирование программы без нужных знаний.
Опытный тестировщик знает, что программ без ошибок не существует, просто надо этот баг найти.
Что делает тестировщик на работе
Расскажем простыми словами, в чём заключается работа тестировщика:
- Получение программного обеспечения и изучение документации к нему.
- Написание наборов тестов и плана действий.
- Проверка найденных багов с ожидаемым результатом работы приложения.
- Подробное описание ошибок и передача данных разработчику.
- Работа с багами до тех пор, пока они не будут полностью устранены.
Вот пример отчёта по тестированию регистрации пользователя на сайте:
Чем занимается тестировщик в начале своей карьеры? По отзывам специалистов, первые 1-3 месяца будут ооочень скучными, ведь придётся делать каждый день одни и те же тесты по многу раз вручную. Даже могут прийти мысли, что это какая-то обезьянья работа. НО когда приходит опыт, работа становится гораздо интереснее и будет гораздо интереснее работать.
Сложно ли работать тестировщиком? Нет, если у тестировщика в начале пути будет наставник, который всё подробно расскажет и подскажет. Но если наставника нет – ничего страшного, ведь при самостоятельном обучении специалист гораздо глубже поймёт свою работу. После испытательного срока тестировщик должен пройти небольшой тест – это нормальная практика во всех компаниях.

Как правило, новичков-тестировщиков ценят, потому что они могут найти самые необычные ошибки, которые не могут обнаружить опытные специалисты с “замыленными” глазами. Вот пример из жизни.
В фирму поступил новичок, который только стал изучать навыки профессии. В это время один из крупных клиентов компании прислал critical баг, один из самых опасных (программа не хотела закрываться). Программисты перепроверили весь код, несколько часов пытались найти, в чём причина ошибки. И этот самый новичок произнёс – “Крестик в программе нерабочий”. Оказывается, в приложении не работала всего лишь одна кнопка, но опытные тестировщики стали “копать” не там, а проблема просто лежала на поверхности.
Виды тестирования
Любой ручной тестировщик рано или поздно придёт к автоматизированному тестированию – проверки ПО при помощи отдельных программ или скриптов.
Ручное тестирование – это самый лёгкий способ проверки, нужно просто имитировать действия пользователя, выполняя их много-много раз, пока не будет найден баг. Например, при тестировании видеоигр тестировщик может прыгать персонажем в определённом месте сотни раз, потому что он однажды видел, что именно там герой игры застревал и не мог двинуться. И он пытается ещё раз “поймать” ошибку, чтобы передать её разработчику.
Ручное тестирование называется стратегией чёрного ящика. Это проведение поведенческих тестов без знаний устройства программы. Хотя автоматизированные тесты тоже иногда проводятся при помощи этой стратегии. Вот пример ручного тестирования: в документации к программе написано, что после регистрации нового пользователя ему на e-mail должно прийти письмо с кодом. Тестировщик начинает проверять приложение, как реальный пользователь, чтобы убедиться, что код придёт.
Ручным тестированием специалист может заниматься от 3 месяцев до 2 лет. Именно в это время тестировщик должен начать глубже понимать свою работу, уметь находить общий язык с разработчиками и анализировать причины возникновения багов. Тестировщик внезапно осознает, что ручное тестирование – это прошлый век и нужно начинать изучать язык программирования, чтобы автоматизировать свою работу.
Некоторые специалисты (особенно женского пола) остаются ручными тестировщиками и становятся в этом профессионалами. В некоторых случаях они бывают очень полезны в команде, кроме этого они хорошо обучают начинающих тестировщиков.
Автоматизированное тестирование – это более сложная проверка, потому что тут надо хорошо понимать, как работает программа, чтобы написать на языке программирования эффективный автотест. Это стратегия белого ящика. Чаще всего для автоматических тестов берут критичные функции программы: платежи, регистрация, сохранение настроек.
Кроме этого существует смешанное тестирование: сочетание ручного и автоматизированного, которое называется стратегией серого ящика.
Тестировщик с опытом работы 2 года и более создаёт автотесты, настраивает и устанавливает расписание проверок. Результаты тестов фиксируются, а затем специалист передаёт эти данные программистам. Автоматические тесты сильно экономят время и деньги компании, ведь можно за короткий период времени протестировать все функции программного обеспечения столько раз, сколько необходимо.
Тестировщик может проводить следующие основные виды тестирования:
- Функциональное. Этот проверка программы на решение задачи конечного пользователя.
- Дымовое. Проверка главных функций ПО.
- Регрессивное. Тестирование приложения после выхода обновления. Тестировщик всегда заново прогоняет тесты по уже известным ошибкам.
Кроме этого, есть и другие разновидности тестов, которые могут встретиться в работе:
- Тестирование чёрного ящика. Проверка ПО через внешний интерфейс (нажатие кнопок, заполнение полей и пр.).
- Тестирование белого ящика. Тест программы изнутри с доступом к открытому коду.
- Нагрузочное тестирование. Проверка ПО при пиковых нагрузках.
- Тестирование производительности. Проверка быстродействия приложения.
- Стресс-тест. Тест программы в критических условиях: нехватка памяти, загрузка огромного количества данных, одновременное использование программы большим количеством пользователей.
- Тест стабильности. Тест ПО на наличие уязвимостей при хакерских атаках.
- Тест совместимости. Проверка программы на взаимодействие с другими системами и окружением.
- Альфа-тест. Имитация работы приложения в реальных условиях.
- Бета-тест. Проверка программа по главным параметрам на наличие багов.
- Динамическое. Анализ кода во время его выполнения с целью обнаружения ошибок.
- Статическое. Это аудит кода – поиск ошибок до запуска кода программы.
Какие бывают тестировщики?
- Альфа- и бета-тестировщики. Это очень лёгкий уровень, где нужно просто найти максимум ошибок и оценить удобство нового продукта. Для этого не надо писать программы и хорошо разбираться в коде. Эта работа поможет развить мышление и позволит быстрее находить скрытые баги, что поможет в будущем стать более профессиональным специалистом.
- Тестировщик ПО: тестировщик СУБД, security-тестировщик, аналитик тестирования, performance-тестировщик, business intelligence, разработчик-тестировщик, usability-тестировщик, тестировщик-DevOPs и прочие. Тип специалиста зависит от навыков и опыта.
На практике тестировщики развивается чаще именно в своём направлении, становясь usability-, performance- или security-тестировщиками.
Реальный опыт работы тестировщика
Вот как выглядит работа тестировщика на основе реальной истории знакомого тестировщика:
Наша команда работает по методологии SCRUM, являющейся наиболее эффективной. У нас в команде 2 программиста, дизайнер, аналитик, тестировщик (то есть я) и руководитель. Каждое утро у нас проходит 15-минутная “летучка”, где обсуждается всё то, что было сделано вчера и что планируется сделать сегодня. Работа построена короткими спринтами по 2-4 недели.
В начале спринта члены команды решают, какие задачи будут решаться. В конце спринта команда собирается на демо, где происходит демонстрация успехов менеджерам сторонних компаний.
Моя работа заключается в том, что я провожу регрессионное тестирование – проверяю программу после его обновления, чтобы все функции работали как надо. Этим я занимаюсь пару дней в неделю, а в остальное время – тестирую новые направления.
Тестирование начинается, когда готова техническая документация, предназначенная для работы программиста. Я готовлю чек-листы (обычный список проверок) и тест-кейс (подробное описание проверок с порядком действий и какие результаты нужны). Тест-кейсы пишутся очень подробно (куда нажимать и что делать).
Пример типовой задачи. Нужно проверить загрузку картинки в документ. В тех.задании прописано, куда нужно загружать изображения, сколько их может быть, сколько они “весят” и пр. После этого я составляю чек-лист на несколько десятков пунктов (примеры пунктов: «Проверить, что файл с расширением JPG можно загрузить в 1-й документ», «Проверить, что файл с расширением GIF можно загрузить во 2-й документ» и т.д.).
Далее нужно придумать, как можно сломать программу. Что я для этого делаю: загружаю очень большое изображение, гружу больше файлов, чем разрешается, загружаю вместо картинок вордовский файл и т.д.
Если тест пройден, в чек-листе я ставлю passed (пройден), а если нет – то failed (провален). После всех проверок я составляю отчёт о дефектах и отправлю его программисту. После всех исправлений я получаю обновление приложения и снова всё проверяю по кругу. Небольшой тест-кейс я решаю примерно за один рабочий день.
У нас также есть автоматические тесты, которые создаются только для регулярных регрессионных тестов, которые позволяют значительно сократить ручной труд. Хотя автоматизировать можно всё, что угодно, было бы время и возможности.
Никогда не забуду свой первый найденный баг. Когда впервые я начал тестировать, то все мои тесты были без ошибок, я просто ставил passed много раз и уже отчаялся, что найду хоть какую-нибудь ошибку. Но когда я нашёл странность в заголовках пакета, то я с важным видом пошёл к разработчикам, чтобы сказать им всё об этом баге. Разумеется, со временем я находил и более серьёзные дефекты, но я никогда не забуду про свою первую найденную ошибку, которая открыла передо мной двери в мир IT.
Перспективы и востребованность
Профессия специалиста по тестированию в области информационных технологий будет востребована, пока эта сфера будет существовать. Успешные компании всегда имеют в штате хотя бы одного тестировщика, ведь без него рано или поздно в программе появится много багов и в итоге все клиенты уйдут к конкурентам.
Работать тестировщиком может кто угодно независимо от образования, главное чтобы было желание и стремление сделать продукт лучше. Приведём статистику образований специалистов, которые пришли в профессию тестировщика.
Согласно статистике тестировщиком может быть как школьник, так и специалист с гуманитарным образованием.
Тестировщиков берут в штат далеко не все компании, а зря – с ними бизнес бы работал успешнее и стабильнее. Вот виды компаний, где обязательно нужен тестировщик мобильных и веб-приложений:
- Фирмы-разработчики.
- Поставщики компьютерного или сетевого оборудования.
- Разработчики игр и приложений.
- Финансовые организации.
- Компании, поставляющие различные технические решения.
- СМИ.
- Операторы связи.
- Образовательные учреждения.
- Ритейлеры.
- Заводы.
- Производители автомобилей.
Работа тестировщика самая долгоживущая. Даже если программы будут создавать роботы, то люди всё равно должны будут протестировать созданный продукт на предмет удобства для пользователей.
При вертикальном развитии тестировщик может пойти в автоматизированные тестировщики или в управление (тимлид). Вот примерный путь развития:
- Младший тестировщик Junior занимается ручным тестированием по готовым тест-кейсам.
- Средним специалистом Middle можно стать через пару лет работы, при условии, что тестировщик глубоко поймёт продукт, умеет программировать и может сам писать тест-кейсы и документацию.
- На должность старшего тестировщика Senior можно претендовать ещё через 1-2 года. В его обязанности входит контроль за младшими тестировщиками, а также полное ведение проекта в плане тестирования.
- Спустя 4-5 лет можно претендовать на должность Team Lead – руководителя команды тестировщиков.
Когда тестировщик накапливает нужный опыт работы и становится старшим специалистом или тимлидом, то он начинает задумываться о дальнейшей своей карьере. Перечислим пути его развития в смежных областях:
- Разработчик ПО. Эта профессия подойдёт тем, кто умеет программировать и хочет не проводить вечные тесты, а начать сам создавать продукт.
- Руководитель проекта. Если специалист всецело изучил проект и понимает, как его правильно развивать во всех направлениях, то он может стать Team-lead’ом проекта.
- Scrum-мастер. Он помогает команде решить многие проблемы при работе над проектом. Скрам-мастер помогает не только с фреймворками, он может использовать в работе Agile, Lean Startup и Kanban. Одно из направлений его работы – это поиск эффективных инструментов по развитию проекта.
- Бизнес-аналитик. Это специалист, который ищет и решает недоработки в бизнесе, разрабатывает стратегию развития фирмы и оптимизирует бизнес-процессы.
- Продакт-менеджер. Он контролирует создание и продвижение нового ПО, а также следит за всеми этапами создания продукта.
Работа и зарплата тестировщика программ
Редакция сайта Professii.su взяла статистику вакансий и зарплат с самого популярного ресурса по поиску работы – hh.ru. На сайте было найдено около 4000 вакансий на должность тестировщика, это высокий показатель среди IT-профессий (на июнь 2022 г.).
Больше всего тестировщиков требуется в г. Москва – 1670 и Санкт-Петербурге – 552.
Сколько получают тестировщики согласно статистике вакансий? Минимальный размер оплаты – 85 тыс. руб./мес. А максимальный заработок может составлять более 400 тыс. руб. Уровень зарплаты зависит от навыков и сферы деятельности компании. Например, фронтенд-тестировщикам платят меньше, по сравнению с теми, кто тестирует бэкенд и более серьёзные системы.
Без опыта работы требуется 203 стажёра, а с опытом от 1 года – 2278 специалиста. То есть, не имея никаких навыков, есть реальная возможность устроиться в фирму на позицию стажёра или Junior’а.
На практике средняя зарплата тестировщика составляет 60-80 тыс. рублей. Начинающие специалисты зарабатывают от 35-40 тыс. руб., средние тестировщики – 120-140 тыс. руб., а Senior’ы – от 180 до 400 тыс. руб./мес. и выше.
Как правило, работодатели неохотно принимают на работу ручных тестировщиков, даже если они идеально составляют тест-кейсы. Лучше всего знать основы хотя бы одного языка программирования (Java, Python), чтобы повысить шансы на трудоустройство.
Работодатели любят универсалов, которые могут тестировать как вручную, так и при помощи автоматизированных тестов. В среднем на 1 вакансию тестировщика приходится 6 резюме соискателей.
Вот скриншот типовой вакансии на должность тестировщика с зарплатой от 120 тыс. руб./мес.:
Полезные советы от редакции:
- Важно показать себя в тестовом задании на собеседовании, и если вы его выполните быстро и хорошо, то есть все шансы попасть в компанию.
- На практике много компаний оставит ваш отклик без ответа – это нормально.
- Поначалу ищите вакансии без опыта работы.
- Не откликайтесь на вакансии, где указан малознакомый вам инструмент.
- Даже если вам будут предлагать небольшие деньги за работу (или вообще без неё) – соглашайтесь, особенно если вас будут обучать. После стажировки при должном усердии вам могут предложить место в штате совсем с другим уровнем зарплаты.
- Рекомендуем написать сопроводительное письмо для каждой фирмы, где напишите, почему стоит взять в компанию именно вас.
- В крупных фирмах предлагают работать в офисах, а в мелких – предпочитают нанимать сотрудников удалённо.
- Можно устроиться в небольшую компанию на должность Джуниора, и поработав там 3-6 месяцев, можно подать заявку в топовую фирму на такую же должность. Это позволит вам сэкономить время и деньги.
- Крупные фирмы типа Сбера или Mail.ru чаще берут сотрудников со стажем работы не менее 2-х лет.

Список хороших сайтов с вакансиями, где можно оставить заявку, а также разместить своё резюме:
- Hh.ru;
- Gorodrabot.ru;
- Superjob;
- Zarplata.ru;
- Avito;
- GeekJob;
- Habr;
- ITMozg;
- Djinni.co;
- Rabota.ru;
- Stackoverflow.com;
- Toptal.com.
Также кроме основной работы можно брать заказы на фрилансе. Как правило, это не очень сложная работа. Список фриланс-бирж представлен ниже.
- FL;
- Upwork;
- Pchel.net;
- Freelance;
- Freelancehunt;
- PrimeLance;
- Freelance.habr.com;
- Kwork.ru;
- Freten.ru;
- Weblancer.net;
- Guru.com.
Список популярных Телеграм-каналов, где регулярно выкладываются объявления по поиску работу в области IT:
- QA — вакансии и аналитика рынка вакансий;
- QA – Резюме;
- t.me/devjobs;
- t.me/jobGeeks;
- t.me/tproger_official;
- t.me/myjobit;
- t.me/headzio;
- t.me/logic;
- t.me/fordev;
- t.me/mobile_jobs;
- t.me/devops_jobs_feed;
- t.me/freelancetaverna;
- t.me/jc_it;
- t.me/theyseeku.
Давайте посмотрим, сколько зарабатывает тестировщик в США. Согласно сайту Ziprecruiter.com всего требуется более 1 300 000 тестировщиков (ссылка), а средний уровень зарплаты (ссылка) составляет 55 823$ в год (4651$ в месяц, по курсу 70 руб. это составит 325 тыс. руб.). Все эти показатели значительно выше, чем в России, поэтому при хорошем знании английского можно попробовать устроиться на работу за границей.
Практическое руководство: обучение с нуля самостоятельно
Стоит ли учиться на тестировщика? Если вы умеете себя организовывать и дисциплинировать или у вас много свободного времени, то вы сможете обучиться профессии самостоятельно за 1,5-2 года. Можно обучиться и быстрее, но придётся обучаться интенсивно, по 10-12 часов в день ежедневно.
Сложно ли научиться профессии самому? Да, трудности будут, особенно в составлении плана учёбы и поиске нужной информации. Хорошо, если у вас будет ментор, который будет вас правильно направлять и подсказывать, как надо делать и чего делать не стоит.
Что учить? Можно начать обучение как с видеоуроков, так и с книг или полезных статей на тематических ресурсах. Про тестирование в интернете немало информации, поэтому вы рано или поздно сможете найти нужный материал.
С чего начать обучение на тестировщика? Для начала освойте ручное тестирование, затем изучите инструменты и языки программирования для проведения автотестов. После этого изучите оба направления как можно глубже.
Бесплатные онлайн-курсы:
- Тестировщик: начните карьеру в IT – бесплатный курс от Нетологии: https://netology.ru/programs/testirovshchik;
- Курс от stepik.org “Автоматизация тестирования с помощью Selenium и Python”;
- Курс “Тестирование для начинающих”;
- Курс “Основы тестирования игр”.
Полезные видео по теме “Тестирования ПО”:
- Что такое API и зачем этот инструмент нужен тестировщику;
- Вебинар от Скиллбокс “Кто такой тестировщик и чем он занимается?”;
- Бесплатный вебинар от экспертов “Программирование и тестирование ПО”;
- Вебинар по основам мобильного тестирования;
- Интенсив “Автоматизированное тестирование с нуля”;
- QA START UP – IT Training Center;
- Postman для тестировщика / Тестирование API / Полный курс;
- Автоматизированное тестирование с нуля / Полный курс за 3 часа / selenium + testing от Лёша Маршал;
- UTEST: поиск багов на реальном примере от QA With Natalia;
- Тестирование ПО с нуля. Виды, типы и уровни тестирования ПО. (Практические примеры от Senior QA);
- Видео, которое наглядно покажет, что нужно знать начинающему тестировщику.
Полезные ссылки:
- Хороший вебинар “Разрабы + тестировщики = ? Разбираемся, почему они важны друг для друга”;
- Форум тестировщиков;
- Платформы для краудсорсинга. Там можно взять реальный проект в работу, но за это вам платить не будут. Зато вы получите самый настоящий и бесценный опыт. Информация о краудсорсинге в статье на Хабре;
- Пост “Кто такой тестировщик и что это за профессия”;
- Статья “Что нужно, чтобы стать тестировщиком и найти свой первый опыт”;
- Подборка актуальных статей по теме “Тестирование IT-систем”;
- Полезная статья с Википедии о тестировании ПО.
Сообщества ВКонтакте:
- QA Club;
- QA. Тестирование. Обучение;
- Ключ седого тестировщика (Тестирование и QA);
- ProgHub | Тестирование для программистов.
Telegram-каналы и чаты по тестированию и QA:
- QA events;
- Серьёзный тестировщик;
- QA House;
- QA – Bad Company!;
- QA – Finance;
- QA juniors;
- QA — русскоговорящее сообщество;
- QA — Automation;
- automated-testing.info;
- Книги по тестированию.
После изучения материалов начинайте практиковаться. Чтобы на начальном этапе понять, что из себя представляет профессия тестировщика, выберите какую-либо программу beta-тестирования. Как правило, топовые айти фирмы часто проводят такие мероприятия, а тем, кто нашёл больше багов или проявил себя, выплачивают небольшие гонорары.
Существуют ещё конференции, где собираются опытные тестировщики. Билет на такие мероприятия стоит немало, да и информация там будет изложена для продвинутых специалистов. Рекомендуем ознакомиться с онлайн-записями таких конференций, чтобы почерпнуть там дополнительные знания. Вот одно из таких видео: “Митап для тестировщиков от Альфа-Банка. QAчественное общение”.
Самые лучшие книги для тестировщика на русском языке:
- Г. Майерс и др., “Искусство тестирования программ”. В книге содержится описание классических принципов тестирования для мобильных и десктопных устройств;
- Р. Савин, “Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах”. Книга обязательна к прочтению, в ней вы найдёте ответы почти на все вопросы, которые задают на собеседовании Junior’ам-тестировщикам;
- Л. Коупленд, “Практическое руководство по тест-дизайну”. Это одна из самых лучших книг, посвящённых проектированию тестов;
- С. Куликов, “Тестирование программного обеспечения. Базовый курс”. В книге содержится много информации от опытных специалистов, в том числе ответы на самые популярные вопросы начинающих и более опытных специалистов;
- А. Джейсон и др., “Как тестируют в Google”. Книга содержит полную информацию, как производится тестирование в корпорации Гугл. Издание рассчитано для опытных тестировщиков;
- С. Канер, “Тестирование программного обеспечения”. Книга окажется полезна в плане теории, несмотря на то, что издание довольно устаревшее;
- Л. Криспин, Д. Грегори, “Agile-тестирование. Обучающий курс для всей команды”. Издание предназначено как для тестировщиков, так и для руководителей. Книга содержит лучшие практические примеры по тестированию в Agile;
- Б. Бейзер, “Тестирование чёрного ящика. Технологии функционального тестирования программного обеспечения и систем”. Это очень подробная книга, которая является одной из самых лучших. В ней раскрыты все методики тестирования, как найти максимум ошибок за короткий срок. Книга реально помогает для качественной проверки работоспособности ПО;
- М. Фьюстер, Д. Грэм, “Автоматизация тестирования программного обеспечения”.
Несмотря на то, что эти книги написаны давно, они до сих пор полезны и актуальны для начинающих тестировщиков. Эти книги можно найти в электронном виде, но бумажный вариант будет лучше.
Во время изучения книг заведите тетрадь под основные термины и конспекты. Но после изучения этих книг вам следует начать нарабатывать практику, ведь теоретиков без опыта редко берут на работу.
Все полученные знания нужно сразу проверить на практике:
- Можете просто создать простой, но реально работающий HTML-сайт (без системы управления сайтом) и тестировать его, находя и исправляя ошибки. Побудьте немного тестировщиком сайтов. Составляйте тест-кейсы, чек-листы, в общем работайте так, как будто вам этот сайт дали в работу.
- Найдите заказы на фрилансе. Несмотря на то, что там платят немного, вы сможете набить руку и научиться думать, как тестировщик.
- Изучите все доступные бесплатные курсы, а если этого не будет достаточно, пройдите платные, чтобы без проблем проходить собеседования в IT-компаниях.
Полезное видео по теме “Тестировщик”
Минусы работы тестировщиком. Кому эта работа НЕ подойдет?
Что делает тестировщик, мой рабочий день | тестирование ПО | Тестировщик | QA Engineer
Тестировщик с нуля за 6 часов / QA / Тестирование по полный курс
Заключение
- Тестировщик ПО (программного обеспечения) – это специалист, который пытается “сломать” программу, чтобы найти в ней ошибки разработчиков. Для этой профессии даже не нужно знать языки программирования, поскольку в начале карьеры вы будете заниматься только ручным тестированием. По мере накопления опыта ручной поиск багов вам так надоест, что вы сами станете учить языки программирования, чтобы создавать автоматизированные тесты. А это прямой путь к повышению зарплаты и продвижению по карьерной лестнице.
- Российские компании даже из сферы IT часто публикуют вакансии тестировщиков/QA-инженеров. Но инженеры имеют больше обязанностей и знаний. То есть из тестировщиков вырастают хорошие QA- инженеры, которые занимаются не только тестированием, а также всесторонней проверкой качества продукта. Запомните – это разные профессии.
Тестировщики помогают программисту работать более продуктивно - Работать специалистом по тестированию ПО можно как в фирме, так и на фриланс-биржах. Небольшие компании нанимают на тестировщиков только на удалённую работу, а крупные предпочитают работу в команде в офлайне.
- Профессия тестировщика – это счастливый билет в сферу IT, главное получить первый реальный опыт и постоянно развиваться в этом направлении. Тогда вы станете по-настоящему востребованным специалистом в области тестирования приложений с заработной платой от 200 тыс. руб./мес.