Разделы портала

Онлайн-тренинги

.
Состояние автоматизации: ответьте мне на три вопроса
11.07.2024 00:00

Автор: Пол Гриззаффи (Paul Grizzaffi)
Оригинал статьи
Перевод: Ольга Алифанова

Ни шагу дальше! Тот, кто хочет пересечь Мост Смерти, должен ответить мне на три вопроса, и если ответит неправильно, Мост оправдает своё название.

Большинство из нас, ботаников (и не ботаников) видели фильм «Монти Пайтон и Священный Грааль». Сцена на Мосту Смерти чаще всего цитируется и парафразируется. Концепция трех вопросов (не путать с тремя раковинами) заставила меня задуматься о тест-автоматизации.

Мой хороший друг и коллега Джо Колантонио, создатель Test Guilds и соответствующих конференций, запустил новую рассылку «Автоматизированы ли вы?» - название вдохновлено альбомом Джимми Хендрикса «Опытны ли вы?» Это напомнило мне, что я размышлял о бинарной природе автоматизации. Я уже писал о том, автоматизировано что-то или нет, но рассылка Джо заставила меня задуматься серьезнее.

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

Правильная ли у меня автоматизация? Я ранее писал, зачем нам автоматизировать, и почему нам нужно создавать автоматизацию, которая соответствует нашим бизнес-задачам. Мы должны как можно чаще спрашивать себя, почему надо автоматизировать именно это, и какой бизнес-цели мы достигаем таким образом. К сожалению, этим вопросом задаются редко. Ответ зачастую кажется очевидным – «потому что нам это надо» или «этого требует наш процесс». Но это не всегда так: иногда наших целей можно достичь и без автоматизации, особенно если специфика внедрения по стоимости превысит полученную выгоду. В реальности большинство команд выиграет от автоматизации какой-либо части тестирования, но это необязательно будет традиционная автоматизация на основе кейсов: нетрадиционная автоматизация может принести такую же пользу, если не большую.

Что делать, если я на этой ступеньке? Если вы выяснили, что вам нужна автоматизация, но не знаете, как начать, или если ваша автоматизация не отвечает вашим потребностям, вам, возможно, нужна помощь. Вы можете нанять опытного лида тестирования и автоматизации, взять его напрокат (то есть нанять консультанта) или наработать опыт самостоятельно. Тут нет неправильных ответов, но если вы выберете третий вариант, руководство должно терпеливо относиться к тратам времени и итеративным переменам, необходимым для обучения команды.

Достаточно ли у меня автоматизации? Этот вопрос тоже связан с ценностью. Основной для нас вопрос тут в том, могут ли компьютеры помочь нам повысить эффективность или результативность еще больше. Мы автоматизировали набор смоук-тестов, теперь он прогоняется за 8 минут, а не за 30, и команде не нужно ждать, пока придет тот добрый человек, который его запускает. Ура! Не нужно ли нам добавить больше проверок в этот набор для каждой сборки или деплоя? Или тесты в наборе пришлось ограничить из-за длины прогона? Так как ваша новая автоматизация занимает меньше времени, возможно, вы хотите добавить какую-то еще? Есть ли в продукте новые или изменившиеся фичи, которым может потребоваться автоматизация тестирования? Спрашивайте, отвечайте – это ключевые для ценности ваших автотестов моменты.

Что делать, если я на этой стадии? Оцените, на что уходят основные усилия тестирования; как правило, эти области – хороший полигон для автоматизации. Также разберитесь с итеративной или повторяющейся деятельностью; компьютеры очень хороши для выполнения таких задач. И, наконец, взгляните на «программно прямолинейные» области – например, API-тестирование, которое не сразу приходит в голову. Автоматизировать и поддерживать эти области может быть проще. К тому же API-автоматизация, как правило, куда быстрее UI-автоматизации.

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

Что делать на этой стадии? Если вы думаете, что тратите на автоматизацию больше, чем получаете от нее, то взгляните на нее и разберитесь, что приносит пользу, а что вряд ли необходимо. Иногда автоматизация может протухнуть; такие области нужно удалить или скомбинировать с более ценными.

Да, вышло куда больше, чем три вопроса. Хоть эти три и помогают выявить состояние автоматизации, в основном мы должны бдить за тем, чтобы автоматизация создавала ценность и непрерывно приносила пользу. Если это не так, мы зря тратим время.

Обсудить в форуме