интервью

Александр Хатилов.
4 специальности Quality Assurance


ЧАСТЬ 3
Фото: IM_photo / Shutterstock

Александр Хатилов: «Самое перспективное направление Quality Assurance – Test Automation, тестирование "с выключенным экраном"»

Вы уже успели прочитать две части эксклюзивного интервью ALMAMAT Blog с первым QA-менеджером Александром Хатиловым? В первой части цикла – отличная история, а во второй – рассказ о развитии профессии и состоянии дел. Сегодня Александр рассказывает о четырех специальностях Quality Assurance и дает экспертный прогноз.
Фото предоставлено: Александр Хатилов
Александр Хатилов
Инженер программного обеспечения с 30-летним опытом разработки ПО и тестирования. Имеет 12-летний опыт работы в качестве QA/QE-менеджера в Compaq, IBM, Gap, eBay, Kohls, Williams Sonoma, а также 4-летний опыт разработки в AMD. Живет в Сан-Франциско (Калифорния, США).
Уникальная профессия

Александр Хатилов: Quality Assurance – уникальная профессия. QA – это процесс: один пишет продукт и передает второму, который его изучает; третий пишет документацию; четвертый читает ее и делает какие-то заключения; пятый создает юзкейсы; шестой переводит их в тест-кейсы; седьмой тестирует продукт и дает хаотичные репорты; восьмой и девятый берут хаотичные репорты и делают профессиональные репорты для топ-менеджмента и технических людей. После этого программисты могут увидеть проблему у себя, и, если признают эту проблему, исправить ее.

Это похоже на постройку здания. Кто-то делает архитектурные чертежи. Кто-то изучает тренды в современной архитектуре. Кто-то изыскивает хорошие материалы и поставщиков. В Quality Assurance каждый делает свое дело, у каждого есть своя роль, в которой он должен хорошо разбираться. Существуют четыре специальности Quality Assurance. Мало кто об этом говорит.
Фото: stoatphoto / Shutterstock
1. Тестировщик

Александр Хатилов: Первая специальность называется Software Testing или Quality Control. Это просто тестирование продукта. Специалисты, которые этим занимаются, получают продукт и должны разобраться в нем, до какого-то уровня стать экспертами по этому продукту.

Продукт – это набор функциональности. А функциональность – это возможность решить заданную задачу. Тестировщики выясняют эти задачи и смотрят, как они выполняются с точки зрения пользователя. По-английски это звучит как "To Become a User Advocate", то есть «стать представителем конечных потребителей внутри компании».

Если пользователь нашел проблему, ему тяжело достучаться до разработчиков, чтобы они ее исправили. Намного проще, когда человек, обнаруживший проблему, сидит рядом с разработчиками.

Для этой специальности самое простое и лучшее – «чистый лист бумаги», то есть человек без опыта, имеющий базовые знания и навыки. Есть профессии, где любой опыт только мешает, потому что человек начинает быстро забивать на работу. Людям нужен стимул.

Software Testing – это работа с качеством продукта. Снизить количество проблем до нуля нереально. Но первая задача тестировщика – сделать так, чтобы их оставалось как можно меньше. Вторая задача – помочь программисту сделать продукт в срок. Очень часто программисты все делают медленно. По аналогии: никому не нужен вкусный суп после десерта.
Фото: GaudiLab / Shutterstock
2. QA-инженер

Александр Хатилов: Вторая специальность называется Quality Assurance Engineer, QA-инженер. Они могут и не кликать на кнопки, но тоже тестируют продукт – только не напрямую, а опосредованно, и это не самоцель.

QA-инженерам часто не нужен компьютер. Они ходят на совещания с разработчиками, вместе с продакт-менеджерами работают над будущими функциональностями, обсуждают, что не пошло, а что пойдет.

Если у тебя хорошие лидерские способности, ты можешь сделать так, чтобы люди знали, что будут последствия, если они что-то не протестируют, а скажут, что протестировали. QA-лид должен внушить тестировщику, что будут Consequences and Regrets, последствия и сожаления, если тот что-то не проверит. Например, вас обойдут конкуренты, и тогда он потеряет работу.
3. QA-аналитик

Александр Хатилов: Третья специальность Quality Assurance – QA Analyst. В больших компаниях, как правило, помимо тестировщиков и QA-инженеров, есть и QA-аналитик. Суть его работы можно сформулировать следующим образом: «А так ли они делают? Может, нужно как-то иначе, более современно?»

Он знает кучу нюансов и понимает, как сделать лучше, эффективнее, дешевле и быстрее. Он знает, как улучшить процесс. Научиться этому невозможно, это опыт. Надо иметь аналитический склад ума и поработать в разных компаниях.

Как становятся QA-аналитиками? Ты работаешь в какой-то компании и видишь, что можно что-то улучшить, но тебе говорят не лезть туда. Потом ты идешь на собеседование по позиции QA Analyst в другую компанию, приводишь накопленные примеры – им нравится, и тебе дают возможность реализовать это.
4. Автоматизатор тестирования

Александр Хатилов: И четвертая QA-специальность – Test Automation. Это тестирование «с выключенным экраном». «Выключи монитор и протестируй то же самое» – специалист по Test Automation умеет это делать. Это самое перспективное направление, в котором уже существуют три поднаправления. Я верю, что многие компании идут от ручного тестирования к автоматизированному.

Я всегда говорю, что самые большие проблемы в сфере Quality Assurance – это усталость и лень. Тестировать нужно постоянно – каждый день одно и то же. Одна линия кода добавилась, и нужно протестировать все, что работало раньше, потому что что-то может поломаться. Многие считают, что тестировать нужно только новое. А ты уверен, что оно не поломало то, что работало раньше?

Искусственный интеллект будет заменять людей. Многие говорят, что автоматизация тестирования – это быстрее, дешевле и глубже. На вопрос «Для чего мы должны вкладываться в автоматизацию тестирования?» я отвечаю: «Ребята, есть много стран, где делают очень быстро, дешево и глубоко». Дело не только в том, что при автоматизированном тестировании дешевле. Потому что, выбирая между риском отравиться на химическом предприятии и задачей честно кликать на кнопку, люди, конечно, выберут кликать на кнопку».

Test Automation борется с усталостью и ленью. В первый месяц человек еще что-то делает. Во второй месяц он делает 80% работы, потом уже 60%. А потом смотрит, что никто ничего не делает, и думает: «И я ничего не буду делать. Все послали репорт, что все хорошо, – и я пошлю репорт, что все хорошо. А если что-то будет не так, то можно сказать "извините, туда я как раз не посмотрел". И потом опять полгода будет забивать на ручное тестирование. Вот почему я считаю, что Test Automation нужно в первую очередь. Автоматизированное тестирование точно не обманет. Ты запускаешь его, и оно всегда протестирует.

Сегодня существуют разные методологии. В частности, CICI и СDСD: Continuous Inspection, Continuous Integration и Continuous Delivery, Continuous Deployment.

В двух словах, первый вариант – человек написал код и тут же интегрировал его в общую корзину изменений, которая сразу тестируется. Много людей из команды разработки кидают свои изменения и первым делом каждому надо убедиться, что его маленькие изменения не поломали всю картину – что все продолжает работать так же, как работало до двух новых линий кода.

Второй вариант – протестировать, что две линии кода действительно делают то, что нужно, внутри системы, работающей без остановки. Это обалденная вещь, но более сложная. almamat blog
Информация о программе Almamat #Women_In_Tech

Цикл интервью, посвященных Quality Assurance