Евгений Виноградов два года отработал по распределению на фабрике по производству мебели и жил в общаге с тараканами, после чего решил: жизнь надо менять. Так парень взялся по книгам изучать тестирование софта. Уже больше двух лет Евгений развивается в IT-сфере: начинал с мануального тестирования и постепенно дошел до автотестов, дальше подумывает плотнее взяться за программирование. Onliner вместе с SoftSwiss продолжает цикл материалов о профессиях в IT. Наш сегодняшний герой — QA-специалист.
— Между QA и тестировщиками часто ставят знак равенства. Но это же немного разные специальности?
— Тестировщик занимается только поиском ошибок, то есть когда продукт уже есть. QA начинает работу с самого начала создания продукта. Допустим, появляется стартап или продукт, и проверка начинается с технического задания: уже на этом этапе можно понять, как тестировать определенные вещи или что логика пересекается и допущена ошибка.
Тестировщик — это, как правило, начальный этап карьеры. Кликнул на кнопку — а она, допустим, не отобразила форму, или отобразила ее криво, или переход на страницу не произошел. QA — это специалист более опытный, ты уже предугадываешь, как будет выглядеть и работать продукт.
— Как ты пошел в QA?
— Я окончил БГТУ по специальности инженера-механика по деревообрабатывающим станкам. То есть сейчас я должен быть по локоть в мазуте и чинить какой-нибудь станок. (Смеется.) Учился на бесплатном, поэтому меня по распределению отправили на «Пинскдрев».
Там я стал инженером-технологом. В чем отличие от инженера-механика? Механик должен чинить технику — к примеру, станки. Допустим, сломался станок. Я должен определить неисправную деталь, заказать ее и отремонтировать станок.
А технолог больше разбирается в продукции. Вот есть кухня — она состоит из стекол, ручек, досочек, винтиков. Я должен просчитать, сколько всего этого нужно на один комплект, заказать рабочим требуемые детали и передать техпроцесс (соответствующие документы) в цех.
Отработал так два года. Хотел уйти раньше, но не отпустили. Зарплата была небольшая.
— Жилье хоть было?
— Да, общежитие предоставили. С тараканами. Заходишь такой и веником разгоняешь: «Так, а ну-ка подвинулись!»
— Понятно, почему не остался там. Что было дальше?
— Еще я отслужил в резерве в армии. Там был один человек, который занимался QA. От него я и узнал подробнее, что это такое.
Потом, после резерва и фабрики, переехал в Минск. Начал искать работу, сперва по специальности. Стал дизайнером мебели, делал шкафы: надо было ездить, замерять. Занимался этим недолго, заинтересовался IT — захотел попасть в эту сферу. Слышал, что через тестировщика проще войти. Но начал с языков программирования: учил Python, Java. Понял, что это займет очень много времени, а работы тогда как-то и не было. Решил, что надо пойти по легкому пути, а там уже с кем-то познакомлюсь и лучше все узнаю.
Я снимал квартиру с одноклассником, который работал QA. Начал его расспрашивать. Он посоветовал книгу Романа Савина «Тестирование Дот Ком» и еще одну, уже не помню названия. Параллельно отправлял заявки на бесплатные курсы в EPAM и A1QA, но мне все время отказывали. Каждый день по дороге на работу и домой в метро (40 минут в одну сторону и столько же обратно) я читал книги по тестированию, что-то выписывал. Теории очень много было.
— Быстро нашел работу?
— Рассылал резюме по вакансиям, где искали «джуна»-тестировщика. Если требования были невысокими, то откликался. Заявок получилось много. У меня с английским, правда, дела не очень, и в этом была проблема. С английским нашел бы работу быстрее. Попалась компания, для работы в которой не требовалось хорошее знание иностранного языка. Дали тестовое задание: вот стейджинг, логика работает так-то, нужно найти десять багов. Нашел, расставил приоритеты: уже знал, как это правильно делать. Через неделю сделал второе тестовое, уже больше на правильное оформление багов. Это задание тоже выполнил хорошо. На собеседовании запросил минимальную зарплату, лишь бы уже получить работу — кажется, рублей 600 или около того.
— Ты не первый, кто говорит, что через QA проще всего попасть в IT. Почему так?
— Не требуется знания языка программирования, например. Ты просто должен знать, что такое front-end и back-end и в чем заключается их взаимодействие. Здесь больше смотрят на твою внимательность: как ты находишь баги, расставляешь приоритеты.
Языки программирования я минимально знал, но иногда не понимал, как их применить. Допустим, я знаю какие-то переменные и классы, а как их применить в конкретном случае, что с ними делать вообще — без понятия.
— Ты занимаешься мануальным тестированием или автоматизированным?
— Начинал, естественно, с мануального — для автоматизированного нужно знать программирование. На нынешней работе мне предложили попробовать автотесты, а я всегда интересуюсь чем-то новым — сразу согласился.
— Когда используется мануальное, а когда автоматизированное тестирование?
— Зависит от проекта. Автотесты обычно применяют на крупном, долгосрочном проекте. А аутсорсинговые компании, думаю, активнее используют ручное тестирование. Допустим, надо сделать сайт с минимальной логикой. Разработчики создали его — отдали мне. Я смотрю техзадание, прохожусь по всем требованиям, если они работают — все хорошо, больше от меня ничего не требуется. В продуктовой же компании лучше использовать автотесты.
— Тебе нужно проверить, например, сайт по доставке еды. Опиши, как будешь это делать.
— Для начала нужно посмотреть самые важные части проекта. К примеру, если это доставка еды, то идеально должны работать выбор позиций, корзина, оплата банковской картой, должна обеспечиваться безопасность пользовательских данных, а если заказ отменен — чтобы деньги вернулись клиенту. В общем, смотрим на критически важные для бизнеса моменты. Нужно сперва вручную проверить, как это все работает, можно составить небольшие автотесты.
— И все это через разные браузеры, платформы и операционные системы?
— Желательно да. Сначала надо проверить работоспособность на актуальных, то есть самых свежих версиях. Потом — старые генерации, но их очень много, и в ручном варианте это займет уйму времени. В технической документации должно быть указано, на каких версиях браузеров и систем гарантируется работоспособность. Для начала нужно посмотреть работоспособность на самой свежей и самой старой версии, если позволяет время — проверить еще и на промежуточных.
— Ты заметил не баг, а другой недочет: например, какая-то важная кнопка сразу не видна или функция не интуитивна. QA должен говорить о таком менеджеру продукта либо дизайнеру или это не его зона ответственности?
— Дизайнеру — нет, а продакт-менеджеру — да. Каждый может предложить свое мнение и объяснить: вот, если кнопку переместить сюда, будет лучше. Любой специалист — от разработчика до тестировщика — должен работать на улучшение продукта.
— QA получает версию продукта для тестирования. Кто-то после него делает еще одну проверку на баги?
— Нет, тестировщик — это завершающее звено. У нас, например, есть спринты. Мы собираемся вместе: разработчик, менеджер продукта и я как QA. Разработчики говорят, сколько времени займет создание продукта, я со своей стороны спрашиваю, как можно провести тестирование: узнать о специфических функциях, будет ли доступ к продукту на этапе создания. Продукт делается, все это передают на тестирование, я проверяю — и потом все, можно выпускать.
— То есть если после тестировщика остался баг, то его найдет уже пользователь?
— Только если так, да. (Смеется.) Покрыть 100% невозможно, каким бы специалистом ты ни был. Иногда смотрю автотесты — всплывает баг. А там комбинация почти уникальная: сначала нужно зайти на одну страницу, потом на другую, с нее на третью — и вот она, третья, не откроется. И это произойдет только при определенной последовательности: открыть первую страницу и перейти на конкретную вторую.
Естественно, когда сайтом пользуются сотни тысяч человек, кто-то из них столкнется с такой комбинацией и обнаружит баг. Но в одиночку, при ручном тестировании найти его почти невозможно. И такие ситуации встречаются, это нормально.
— Почему крупнейшие корпорации мира иногда выпускают забагованные продукты? Вплоть до того, что лет пять назад iPhone превращались в кирпичи.
— Сложно ответить. Конечно, у них есть деньги на тестирование продуктов. Почему так бывает… Возможно, те кейсы, которые превращали смартфон в кирпич, — это как раз примеры выполнения сложной комбинации определенных действий. При обычном использовании шансов узнать о таком сочетании почти нет. Скорее всего, какие-то специалисты — не исключено, что даже сами разработчики, — узнали о таком кейсе и сказали кому-то из знакомых или на форумах. Люди проверили — действительно, iPhone становится кирпичом. Начали об этом писать в соцсетях и в медиа — и все, вдруг кажется, что проблема носит массовый характер. А на самом деле о ней никто и не узнал бы.
— Хотел бы заняться багхантингом? Вознаграждения там приличные.
— Нет, как-то не думал об этом. Я читал, конечно, о таких программах: найди баг и получи $10 тыс. И сразу мысль: так, где там телефон или программа, в которых баг надо найти? Но я понимаю, что знания пока еще не на столь высоком уровне.
— Как выглядит карьерная лестница QA? До какой позиции в идеале можно дойти?
— После «сеньора» есть две ветки: разработка и менеджмент. Можно идти в Lead QA — это менеджмент, руководство проектом и так далее. Либо через автотесты ты изучаешь языки программирования и постепенно доходишь до разработки.
— Дай совет начинающему тестировщику.
— Рассмотрите в себе желание. Если оно есть, то, конечно, все получится. У меня есть знакомые, которые несколько раз такие: «А посоветуй, что бы такого поучить для IT». Я вспоминаю книги, видеоуроки, все называю. Но иногда у людей это просто порыв, который ни к чему не приводит. Зато когда появляется желание разобраться, то, конечно, все уже получится. Стучаться надо во все двери, и тогда кто-то точно откроет.
SoftSwiss — продуктовая IT-компания, сфокусированная на отрасли iGaming. Мы создаем и поддерживаем мощные программные решения для управления онлайн-бизнесом в индустрии развлечений по всему миру. Сегодня с нами 450 профессионалов в Беларуси и за рубежом. С 2018 года имеем статус резидента Парка высоких технологий. Наша команда — компетентные, драйвовые сотрудники с серьезным опытом: множество непростых high-load-проектов, включая онлайн-казино, спортивные порталы, криптовалютные биржи, партнерские программы.
Читайте также:
Наш канал в Telegram. Присоединяйтесь!
Перепечатка текста и фотографий Onliner без разрешения редакции запрещена. nak@onliner.by