Сфера IT – это не только программирование. Айтишники создают множество продуктов, которые улучшают жизнь людей. Это веб-сайты и сервисы, мобильные приложения, программы для компьютеров, гаджетов и многое другое.
Разработка любого ИТ-продукта – сложный и комплексный процесс, в котором участвуют специалисты разных специальностей. Поэтому ошибки и просчеты на этапе разработки – обычное дело. Ни один технологический продукт не работает на 100% сразу после написания кода. Так не бывает, это утопия.
Когда менеджеры планируют работу над ИТ-проектом, они сознательно закладывают время и ресурсы на его улучшение. Команда исправляет ошибки, оптимизирует работу, готовит к релизу. Перед тем, как реальные пользователи зайдут на сайт или в приложение, надо убедиться, что все работает правильно. Именно поэтому и нужны тестировщики.
Хотите узнать, чем на самом деле занимаются тестировщики? Смотрите видео, где Алексей из SoftServe раскрывает все нюансы профессии. А еще рассказывает историю о том, как недостаточное тестирование похоронило большую компанию.
Обеспечение качества (quality assurance) – важный этап разработки любого технологического проекта. Тестировщики проверяют каждый элемент и функцию, находят дефекты и неточности (баги). После чего программисты их исправляют. Так команда доводит качество продукта до уровня, который удовлетворит заказчика и пользователей.
Что именно делает тестировщик
Тестировщик (QA) отвечает за качество программного обеспечения. Его цель – убедиться, что программа работает так, как планировалось. То есть сверить каждый пункт плана с тем, что разработчики создали по факту.
Именно поэтому тестировщик – своего рода охотник на баги. Он должен найти все ошибки на проекте и подробно их описать. Это нужно, чтобы разработчики смогли быстро их исправить.
Вот чем на самом деле занимается QA:
Изучает документацию. В деталях разбирается, как люди будут использовать продукт. Как он должен работать в целом и каждая его отдельная функция. Все эти требования описаны в проектных документах.
Создает тест-кейсы. Это похоже на план работ: специалист определяет, какие функции нужно проверить и в каком порядке. А также пытается предусмотреть, что может пойти не так в будущем.
Проверяет качество продукта. Для этого существует много методов и инструментов. Например, можно тестировать вручную (manual testing) или с помощью программ-помощников (automation testing). Когда специалист находит дефект, то дополнительно исследует его влияние на смежные системы.
Собирает данные. Каждую найденную ошибку тестировщик описывает отдельно. В каких условиях она появляется, как себя проявляет, на что влияет. Также добавляет пометку о том, насколько она критична.
Пишет отчеты. Это так называемые баг-репорты, в которых тестировщик подробно описывает баг, чтобы программисты смогли его исправить. Баг-репорт – словно пошаговый план для повторного воспроизведения бага.

Типовой баг-репорт тестировщика в системе Jira
Почему без тестировщика не обойтись
Разработчик создает продукт, но в основном он имеет дело с технической его частью. Он пишет код, верстает страницы сайта, адаптирует их под разные устройства, интегрирует со сторонними системами. Однако он не видит, как целый продукт работает у конечного потребителя. Выполняет ли он свои функции, удобно ли им пользоваться и так далее.
Обычно на крупных проектах количество ошибок измеряется в сотнях и тысячах. Чаще всего это незаметные, на первый взгляд, проблемы. Но есть и критические баги, которые значительно ухудшают пользовательский опыт.
Одна ошибка может обойтись компании очень дорого. Так, в 1997 году вышли из строя все 27 бортовых компьютеров американского авианосца Yorktown. Корабль несколько часов дрейфовал без какого-либо контроля.
Почему произошел сбой в системе? Просто потому, что в консоли прокладки курса кто-то случайно поделил на ноль. Тестировщики операционной системы не предусмотрели это и не добавили защиту программы от невозможных операций. Для ее выполнения компьютер задействовал максимальные мощности, а все остальные системы на то время просто выключил. Круто, правда?
Это не единственный подобный случай. Когда-то из-за одного маленького бага США потеряли космический аппарат стоимостью 18,5 млн долл. Даже целая армия тестировщиков обошлась бы дешевле.
Google имеет один из крупнейших отделов тестирования в мире. Он насчитывает больше 25 000 сотрудников. Но и этого количества может не хватать. Ежегодно компания платит сторонним тестерам и хакерам от 5 до 8 миллионов долларов за найденные уязвимости своих систем.

Пример бага в Instagram: иконка и текст заехали на соседнюю колонку
Каждый мог видеть баги на сайтах. Чаще их замечаешь в верстке: где-то сплющило картинку, кнопка выехала за пределы экрана, разлетелись поля в колонках… Даже орфографические ошибки в тексте тоже считаются багами, хотя и не критичными.
Перспективы профессии тестировщика
Хочешь посмеяться? Некоторые особо жадные предприниматели убеждают, что нейросеть способна полностью заменить тестировщиков. Что только не придумают, лишь бы меньше работникам платить.
На самом деле искусственный интеллект несколько упростит работу QA-специалистов. Вероятно, возьмет на себя часть примитивных и рутинных задач. Но все остальное придется проверять вручную или же с помощью автоматизированных тестов. Отвечать за конечное качество продукта должен человек, а не робот.
Пока существуют смартфоны, компьютеры, интернет – тестировщики будут при работе. Кроме этого они тестируют всевозможные умные устройства и системы. Среди них, например, игровые приставки, фитнес-трекеры, роботы-пылесосы, сканеры, навигаторы, электрокары. Разработка любого программного обеспечения невозможна без тестирования.
Рынок QA в Украине ежегодно растет на 11%. Но при этом есть острый дефицит тестировщиков – в некоторых направлениях он достигает 30%. Поэтому стать QA – стратегическое и разумное решение. Попробовать себя в этой профессии можно на бесплатном марафоне в GoIT. За четыре дня здесь научишься тестировать простые сайты и узнаешь, как новичку начать карьеру в ІТ.