Тестировщики бывают разными: одни проверяют на работоспособность игры, другие — мобильные приложения, третьи — веб-ресурсы.
Тестировщик сайтов — это IT-специалист, чья основная работа выискивать ошибки и проверять на работоспособность функционал сайта. Для этого у него есть специальный набор программных инструментов.
Специалисты, которые занимаются тестированием чего угодно, делятся на три категории:
QA (Quality Assurance) — проверяет на работоспособность конечный продукт на всех этапах производства;
QC (Quality Control) — следит, чтобы каждый этап создания продукта соответствовал качеству;
Testing — занимается непосредственно выискиванием ошибок и отладкой.
На практике же, особенно при тестировании сайтов, роли обычно перемешаны, или вовсе совмещены в одном лице.
Designed by pch.vector/freepik
Итак, смысл тестирования — довести продукт до нужного качества. У IT-специалистов в силу загруженности иногда просто не хватает времени, чтобы просмотреть код и найти все ошибки. Или возьмем другую ситуацию: над проектом работал один сотрудник, который по каким-то причинам выбыл из него, и работу вынужден доделывать другой.
Тут-то на помощь приходит специально обученный человек, который может наметанным глазом просмотреть код и найти в нём проблемы. Что для этого делает тестировщик сайтов:
Оценивает страницы визуально в разных браузерах и на мобильных устройствах;
Проверяет кликабельность кнопок, списков, переходы на нужные страницы и сторонние сайты. Простейший пример — при клике на логотип компании нет возвращения на главную страницу;
Указывает, где конкретно находятся ошибки и недоделки в программном коде, выставляет приоритеты на исправление;
Проверяет корректность отклика базы данных;
Проверят скорость работы сайта/приложения;
Составляет техническое задание для разработчиков;
Ведет соответствующую документацию (журнал ошибок).
Может создаться впечатление, что стать тестировщиком сайтов может кто угодно. И это одна из главных проблем профессии, потому как её считают самым легким стартом в IT. Только вот мало написать «эта кнопка не работает», или «эта ссылка ведет в никуда». Нужно ещё, что называется, перевести с человеческого языка на айтишный: просмотреть код и расписать, где именно кроется проблема и почему она приводит к такому результату. Более того, никто никогда не просматривает сотни страниц вручную — для этого есть автоматизированные системы, которыми тоже нужно владеть.
В общем, тестировщику сайтов нужно иметь крепкие знания и по части frontend-, и по части backend-разработки, потому это всегда человек со специальной подготовкой. Что он должен знать:
Методики тестирования IT-продуктов;
Как составлять тест-кейсы и планы по тестированию;
Инструменты автоматического тестирования сайтов и веб-приложений (SpecFlow, NUnit, PageObject + PageElements, TeamCity);
HTML + CSS, JavaScript;
Системы контроля версий, таких как Git;
Как вести техническую документацию и составлять отчеты.
Но самое главное, чтобы успешно трудиться на этом поприще тестировщику нужен особый склад ума: он должен понимать, как сломать сайт и где теоретически он может быть выдать что-то неадекватное. IT-специалисты часто шутят, что на такую работу годятся люди, которым в детстве нравилось ломать и разбирать игрушки. Но, как говорится, в каждой шутке есть только доля шутки.
Второй важный навык — это умение объяснять проблему простым языком без зауми, но предельно конкретно. Казалось бы, чего тут сложного, однако, этот навык нужно оттачивать годами.
Умение ладить с людьми, но при этом отстаивать свою позицию, тоже безусловный плюс к навыкам тестировщика. Вам придется много и не всегда гладко общаться с IT-разработчиками, указывать на их ошибки. А в этом деле главное быть корректным, но настойчивым.
Знание английского языка на уровне Intermediate — ещё один важный скилл хорошего тестировщика сайтов, поскольку вся работа сосредоточена вокруг кода и технической документации. Её придется читать много.
В эту профессию приходят по-разному, не обязательно из IT. Более того — в вузах нет такой специальности как «тестировщик».
Для выпускников школ такой путь будет оптимальным: поступить на технический вуз и отучиться на программиста. Попутно, пока вы осваиваете специальность, можно зарабатывать на фрилансе, тестируя сайты на заказ. Для студентов это весьма неплохая подработка (хоть и не идеальная) и плюс в копилку навыков.
Альтернативный вариант вузовской учебе, куда более приемлемым для тех, у кого уже есть специальность. Как таковому тестированию веб-сервисов и приложений не учат. Зато есть немало онлайн-курсов для тестировщиков ПО и QA-инженеров (QA Engineering). Там учат всему сразу: тестированию сайтов, мобильных приложений, программного обеспечения, веб-приложений.
И это самый правильный подход, на IT-рынке не нужны узко заточенные специалисты. Тем более, что принципы тестирования программного продукта плюс-минус одинаковые.
Единственное условие онлайн-курсов для тестировщиков сайтов: они должны давать конкретный результат. То есть вы на практике изучаете все премудрости, сдаете итоговый проект и получаете сертификат о прохождении курсов установленного образца. Далее онлайн-школа в идеале помогает вам трудоустроиться. Ну или на крайний случай подсказывает, куда лучше попроситься на стажировку и как пройти собеседование.
Что радует, так это востребованность специалистов по тестированию. По данным hh.ru в настоящий момент насчитывается примерно 4800 вакансий по России. Не всегда работа связана именно с сайтами или веб-приложениями, однако, это и не требуется.
Ещё одна хорошая новость: много удаленных вакансий, причем даже для стажёров (без опыта) и Junior (опыт от 1 года).
Designed by yanalya/freepik
Одна из особенностей специальности — это сильный разброс в зарплатах. Он колеблется от 30000 до 200000 рублей. Обусловлен он разницей в квалификации: из-за низкого порога вхождения тестировщики без опыта зарабатывают гораздо ниже по рынку (с перспективой так и застрять в статусе джуна).
Большую роль играет и сам продукт: тестировать несложные приложения доверяют как раз неопытным, поэтому и труд их ценится невысоко. Поэтому, если хотите развиваться в профессии и претендовать на более высокую зарплату, не замыкайтесь на одном направлении и расширяйте функционал.
Плюсы:
Востребованность и перспективность;
Низкий порог входа;
Быстрое обучение;
Возможность работать удаленно или на гибком графике.
Минусы:
Требуется постоянное самообразование;
Ответственность;
Рутинность задач;
Низкая зарплата на старте.