● Статическое — проводится в самом начале работы, до запуска программы. Специалист проверяет проект, спецификации, написанный код.
● Динамическое — выполняется после статического. Тестировщик запускает программу и проверяет, как она работает, определяет время отклика, выясняет, насколько сильно ПО нагружает память и процессор.
● Функциональное — проверяет, работает ли продукт так, как было задумано и соответствует ли фактический результат ожидаемому. На этом этапе тестировщик тестирует безопасность системы, чтобы проверить её устойчивость к вирусам, хакерским атакам, утечке конфиденциальных данных. Ещё специалист выясняет, как программный продукт взаимодействует с другими компонентами и системами, насколько легко интегрируется с ними без дополнительных модификаций.
● Нефункциональное — определяет, как продукт работает в разных условиях. Специалист по тестированию выясняет производительность и удобство использования программы, проверяет, как она работает под разными нагрузками и адаптируется для разных платформ.
Тестировать программы можно вручную или автоматически. В первом случае продукт проверяют специалисты — их ещё называют «мануальщиками». Тестировщик изучает документацию и проводит тест-кейсы: вручную, как если бы это делал обычный пользователь, проверяет работу приложения. Если есть ошибки, фиксирует их. Затем разработчики исправляют баги и QA-инженер ещё раз выполняет тест-кейсы по тому же сценарию. Ручное тестирование проводят, если нужно быстро оценить несколько нововведений.
Когда типовых сценариев и тест-кейсов становится много, процесс тестирования автоматизируют: пишут программы, которые имитируют действия пользователей. Этим занимаются инженеры-автотестеры. Специалист изучает задачу и решает, как можно автоматизировать конкретные шаги. Затем пишет и дорабатывает код, запускает тест в работу. Обычно автоматизируют нефункциональное тестирование, чтобы ускорить процесс и сократить количество ошибок, которые возможны при ручной проверке.
Теория тестирования. Специалист должен разбираться в классификации тестирования, знать основные методы и инструменты, уметь создавать тест-кейсы.
Базы данных и SQL. Большинство веб-приложений используют для хранения информации базы данных. Знание языка запросов SQL поможет тестировщику понимать процессы взаимодействия баз данных с приложением и оценивать его работоспособность.
Linux. На этой операционной системе работают многие серверы, базы данных и веб-сервисы, с которыми приходится сталкиваться тестировщику.
Инструменты баг-трекинга. Над отслеживанием и устранением ошибок обычно работают несколько специалистов, а системы баг-трекинга, например Jira или Bugzilla, помогают координировать их действия и устранять дефекты.
Языки программирования. Знания языков нужны, чтобы читать и писать код для автоматизированного тестирования.
Гибкие навыки:
Внимательность. Из-за пропущенной ошибки компания может потерять деньги и репутацию. QA-специалист должен быть очень внимательным и дотошным и постоянно задавать себе вопрос: «Что будет, если…?»
Усидчивость. Хорошие тестировщики считают, что программ без ошибок не бывает, но не у всех хватает терпения их находить.
Умение формулировать свои мысли. Если тестировщик находит ошибку, он должен понятно описать, когда она возникает. Тогда разработчики смогут быстро устранить баг.
Коммуникабельность. Тестировщик всегда работает в команде с разработчиками, аналитиками, дизайнерами, техподдержкой со стороны клиента, поэтому важно уметь общаться и находить общий язык с разными людьми.
Стрессоустойчивость. Нужна, чтобы не паниковать из-за каждого пропущенного бага, ведь найти все ошибки в продукте с первого раза невозможно.
У специалистов по тестированию есть несколько вариантов развития в профессии.
Вертикальный. Обычно тестировщик с минимальным опытом или без него начинает с позиции младшего специалиста. На этом уровне он проводит ручные тестирования, учится работать с баг-трекинговыми системами, вместе с командой разрабатывает тестовые сценарии.
Через 2–3 года можно перейти на позицию продвинутого специалиста. Опытные тестировщики самостоятельно разрабатывают сценарии, погружаются в автоматизированное тестирование и разбираются в коде.
Следующий этап в карьере — старший специалист. Кроме вышеперечисленных обязанностей он самостоятельно планирует и проводит тестирование, руководит командой джунов — младших специалистов.
Старший специалист глубоко разбирается во всех процессах тестирования, руководит проектами и командой инженеров разного уровня.
Горизонтальный. Сфера тестирования считается самым лёгким способом входа в IT, и отсюда проще переходить в другие направления. Если тестировщику интереснее развивать профессиональные навыки, можно сосредоточиться на одном направлении и глубоко заниматься автотестированием, тестированием безопасности или юзабилити.
Ещё QA-специалисты переходят в сферу разработки программного обеспечения или осваивают смежные отрасли и становятся продакт-менеджерами, бизнес-аналитиками, UX/UI-дизайнерами. Естественно, для работы по другому направлению нужны соответствующие навыки.
По данным сервиса ГородРабот.ру, средняя зарплата тестировщика в России на 2024 год составляет 73 104 руб. Чаще всего встречаются предложения с зарплатой 60 000 руб. Эти цифры условны: чем больше знает и умеет специалист, тем выше его ценность на рынке труда.
В российских вузах пока нет специальности «тестировщик», поэтому придётся осваивать профессию самостоятельно — по книгам и видео — или на онлайн-курсах. Например, в Яндекс Практикуме есть курс «Инженер по тестированию». Студенты учатся проектировать тесты, проверять мобильные и веб-сервисы, разрабатывать продукты вместе с командой. Теория отрабатывается на практике: в тренажёрах и на учебных проектах.
Чтобы освоить новую профессию в Яндекс Практикуме, понадобится четыре месяца. После обучения можно претендовать на позицию джуна — младшего специалиста.
● Тестирование — самый простой способ войти в сферу IT, а для старта не нужно специальное образование.
● Инженер по тестированию должен знать основы работы с базами данных и Linux-подобными операционными системами, уметь составлять сценарии тестов, тест-планы и тест-кейсы, выполнять разные виды тестирования.
● В профессии можно развиваться по вертикали и стать ведущим специалистом, руководителем команды или уйти в смежные сферы — разработку, дизайн, продакт-менеджмент.
А из каких профессий приходят в тестировщики, читайте в нашей статье.