Метрики автоматизации: некоторые проблемы


«Что не измеряется, то не управляется».

Эта фраза является одной из наиболее часто используемых при обосновании внедрения метрик в проект. Другая фраза звучит так

«Против данных нет аргументов».

Большая проблема, которую я вижу в этих фразах, заключается в том, что метрики без интерпретации — это просто цифры. А цифры сами по себе не имеют никакого отношения к реальности.

Отличным примером, иллюстрирующим то, что я имею в виду, является сайт Spurious Correlations. Этот сайт приходит к абсурдным выводам, например, что увеличение потребления моцареллы коррелирует с получением докторской степени в области гражданского строительства, или что снижение потребления маргарина также уменьшает количество разводов в штате Мэн.

В этом вступлении я хочу сказать, что цифры, метрики и даже статистика могут привести нас к очень неправильным выводам о нашем процессе/продукте.

Теперь давайте перейдем к основной теме.

3 числа

3 числа — это не объединенная техника для метрик качества. 3 числа — это метрика, которую вдруг заинтересованная сторона попросила всех ОК отчитаться. Эти 3 числа были предназначены для информирования руководителей об эволюции автоматизации тестирования:

  • количество отображенных сценариев
  • количество автоматизированных сценариев
  • автоматизированные сценарии за последнюю неделю

Эти цифры были еженедельным отчетом, который мы должны отправлять, так как компания «ориентирована на цели» и каждый менеджер должен их достигать.

Давайте теперь перечислим некоторые проблемы, которые я вижу в этих цифрах.

Только цифры ничего не значат

Цифры — это просто собранные данные. То, что вы ищете при сборе данных, — это информация.

Информация — это упорядоченные и организованные данные таким образом, чтобы они передавали всеобъемлющее сообщение в определенном контексте. Набор данных, которые передают знания, — это информация.

А именно,

information = data + context + interpretation
Войти в полноэкранный режим Выйти из полноэкранного режима

Простой пример: Я плачу 2000 долларов за квартиру. Только на основании этих данных невозможно сказать, плачу я слишком много или нет.

Если я живу в студии в Осаско, близлежащем городе Сан-Паулу, то $2000 — это абсурдно высокая сумма. Если в трехкомнатной квартире в Моэме, то это, по сути, бесплатно.

Для QAs, особенно если они являются частью agile-команды, в спринте могут потребоваться задачи, отличные от автоматизации:

  • сделать моки API из-за нестабильности тестового окружения или из-за сложности получения массовых данных;
  • рефакторинг тестового кода, потому что были внесены изменения в функциональность или исправлены неработающие сценарии
  • работать над конвейером непрерывной интеграции или помогать в этом;
  • это был «ручной» спринт из-за срочности запуска функции, чтобы не пропустить «время выхода на рынок», а автоматизация заняла бы больше времени, чем нужно для запуска.

Это лишь несколько примеров, когда 3 числа без контекста могут привести к неправильной интерпретации того, почему автоматизация не продвигалась или шла медленнее в спринте.

Никогда не будет 100% автоматизации

Когда мы говорим о тестовых сценариях, мы обычно подразумеваем Gherkin и BDD. Я утверждаю, что, поскольку речь идет о Behavior Driven Development, должны быть описаны ВСЕ поведения в программном обеспечении, а не только те, которые будут автоматизированы.

В результате сценарии, которые могут быть выполнены только вручную или усилия по автоматизации и сопровождению которых очень высоки, не будут включены в статистику. Примером может служить перевод симулятора iPhone в авиарежим, чтобы проверить, как приложение реагирует на отсутствие интернета, или включение bluetooth в эмуляторе Android.

Кроме того, некоторые сценарии, даже содержащие код автоматизации, не будут запущены. Например, функция регистрации.

Scenario: Enter the registration area
Given the user is on Home page
When access the registration area
Then the form should be on screen
Вход в полноэкранный режим Выход из полноэкранного режима

и

Scenario: Successfully register
Given the user is on Home page
When the user make the registration
Then a success message should appear
Вход в полноэкранный режим Выйти из полноэкранного режима

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

В этом случае у нас будет два отображенных сценария, но отчет будет содержать только один выполненный. Если экстраполировать, то у нас будет только 50% автоматически выполняемых тестов, но 100% охваченных сценариев.

Чтобы достичь поставленных целей, мы наймем «автоматизаторов».

В agile-команде наличие людей, выполняющих только одну задачу, не является «здоровым». В этом случае наличие QA и «автоматизаторов» может (будет?) порождать дисфункции.

Для автоматизаторов — отстраненность от качества: «Я здесь только для того, чтобы автоматизировать». Для ручных тестировщиков — ощущение «если вы все автоматизируете, я могу потерять работу» или «я тоже хочу автоматизировать, почему бы вам не научить нас?», что вызывает демотивацию.

В какой-то момент это приведет к созданию клики, снижению взаимодействия между людьми и даже возникновению неприязни между ними. В результате качество перестает быть приоритетом.

Чтобы проиллюстрировать вышесказанное, компания, в которой были только ручные QA, наняла консалтинговую компанию по автоматизации, чтобы ускорить процесс.

Заключение

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

Как мы не можем просто рассматривать цену аренды дома, так же мы не должны полагаться только на одно или «три числа» для оценки эволюции.

Совет: менеджеры, больше участвуйте в цикле разработки. Будьте ближе к людям, разговаривайте, узнавайте, чем занимается и развивается каждый человек. Возможно, у них есть другие, еще лучшие цифры.


«Скажи мне, как ты меня оцениваешь, и я скажу тебе, как я буду себя вести».

Это предложение очень хорошо подходит к данной ситуации. Но это обсуждение для другого текста!


А вы? Есть ли у вас история о навязанных метриках для вашей команды? Комментируйте здесь!

Оцените статью
devanswers.ru
Добавить комментарий