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

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

.
Торговля автоматизацией
13.04.2016 11:11

Автор: Оливер Эрлевайн (Oliver Erlewein)

Оригинал статьи: http://hellotestworld.com/2016/02/18/test-automation-sells/

Перевод: Ольга Алифанова

Где-то я видел утверждение, что тестирование на данный момент поглощает около 25% бюджета IT, и эта доля растет. Не знаю, правда ли это, но даже если это полуправда - это очень большие деньги. Вполне естественно, что менеджеры и финансисты стараются изыскать возможность сократить подобные расходы.

Тестирование и качество - это неосязаемые вещи, и непрофессионалу трудно вникнуть в их суть. Потому-то идея урезать расходы на них так привлекательна, ведь мы ничему не навредим – ну, протестируют наполовину, но протестируют же? Когда появятся проблемы, отследить их связь с урезанным бюджетом уже не так-то просто (а бюджет уже согласован и утвержден). К тому же все мы знаем, что тестировщикам лишь бы поныть и пожаловаться на жизнь.

Поэтому автоматизация тестирования преподносится менеджерам (в большинстве случаев не имеющим к тестированию никакого отношения), как эротичная модель в купальнике из глянцевого журнала. Блага, которые предлагает автоматизация, просты и понятны:

  • Экономия денег: успеете больше, наняв меньше людей
  • Сокращение сроков: протестируете продукт быстрее.
  • Простота: этим может заниматься кто угодно (особенно если вы снабдите этого "кого угодно" специнструментами, отправите на тренинги и купите у нас еще что-нибудь).
  • За автоматизацией будущее! Вы же не хотите, чтобы вас поймали на отсутствии автотестов?
  • Запись и воспроизведение тестов (этот аргумент помер еще в конце 90-х, но все равно иногда всплывает).
  • Тестировщик, научись автоматизировать или вон из профессии!
  • Гибкие методологии невозможны без автоматизации.
  • Непрерывная интеграция и деплой невозможны без автоматизации.
  • Это передовой опыт!
  • Единороги и радуги! Хотя нет, такого аргумента я не видел... пока что.

Это же именно то, что каждый менеджер хочет услышать! Снизим поголовье QA, и вся работа будет делаться по нажатию кнопки, сокращая риски и сроки!

Если бы это было правдой на 100%, даже я купился бы не раздумывая. Однако я в курсе, как автоматизация выглядит на практике, и уверяю вас, все это - полное вранье. Абсолютно все! Это чистый маркетинг! Причем не вполне этичный (хотя я не уверен, должны ли продажи и реклама вообще заморачиваться этикой).

Причина моего накала страстей - это статья в другом блоге. Вот она: http://blog.softed.com/2016/01/11/the-impending-extinction-of-testers

В 2014 году со всех сторон слышалось вранье, что тестирование умерло. Вокруг этого мнения разгоралось множество споров, и в результате все пришли к выводу, что это всего лишь громкая рекламная кампания автотестов. Оговорюсь - я очень уважаю компанию SoftEd, и просто привел их как пример. Причина моего расстройства в том, что такие статьи бьют по моей позиции. Это ставит под угрозу усилия многих людей (не только моих) по донесению информации об автоматизации до мира.

Такие посты вредят нам в профессиональном плане. Они популяризуют упрощенное понимание тестирования и автоматизации. Они путают тестирование и проверки, и выставляют тестирование чем-то крайне простым, с чем справится и макака (ну или машина). Менеджеры и тестировщики, следующие подобным советам, потерпят неудачу - и это вновь испортит имидж тестирования и автоматизации. Возможно, такие неудачи даже будут служить подтверждением мнения, что тестирование - бессмысленная деятельность.

Итак, давайте разберем этот пост подробнее.

1. "Предотвратим вымирание тестировщиков". Если вы не займетесь автоматизацией, вы не сможете работать тестировщиком (мнение подкрепляется мощной аналогией с метеором). Дальше по тексту автор утверждает, что вообще-то поиск багов сильно зависит от качества тестирования и/или хорошей методологии, которую используют живые люди. Все перечисленные им методы (и те, которые он не упомянул) так или иначе требуют участия человека. В обозримом будущем это останется неизменным (даже если мы придумаем автомобили без водителей).

2. "Что вгоняет всех в уныние? Расходы! Все хотят получить больше за меньшие деньги!" - автор приводит аргумент, что автоматизация бережет ваши деньги. Это не так! Автоматизация берет на себя важную часть тестирования (проверки), но ровным счетом ничего не заменяет - напротив, требует дополнительных расходов в дополнение к имеющимся! Сэкономить можно на генерации тестовых данных, автоматизации стандартных процессов, быстрых smoke-тестах окружений и билдов. Но все это требует больших расходов на персонал, инструменты, поддержку, наладку, и эти расходы с лихвой перекроют небольшую экономию. Зачем тогда все это надо? Затем, что достоинства и преимущества автоматизации, даже с учетом повышенных расходов, все равно могут быть нужны проекту. Все зависит от того, чего вы хотите добиться. Подчеркиваю - между количеством людей в отделе и автоматизацией есть связь.

3. "Как менеджер команды, я оставлю одного тестировщика писать скрипты и анализировать/интерпретировать результаты, а оставшихся 4 человек я сокращу". Вот и аргумент насчет сокращения ресурсов, напрямую связанный с пунктом 2. Все менеджеры хотят это услышать, но это колоссальное заблуждение. Это просто не соответствует действительности. Да, рано или поздно, на этапе высокой зрелости вашего цикла разработки, вы сможете обходиться меньшим количеством людей и сократить расходы. Я 20 лет работаю в IT, но пока ни разу этого не видел. В основном потому, что для этого требуется конечный, заранее определенный объем проекта. Все, кого я знаю, или заканчивают работу, когда "все готово", или продолжают разработку, расширяя объем задач.

4. "Зачем мне платить пяти тестировщикам, если любой недоучка может запускать скрипты и при этом просит меньше денег?" - А вот и упрощение понятия тестирования, и автор явно путает тестирование с проверками. Он сравнивает автоматизацию с тем, что я бы назвал отвратительным тестированием (или вообще его отсутствием). Конечно, в таком раскладе автоматизация сделает все за людей. Упустив более важные проблемы, потому что вы просто автоматизировали мартышкин труд. Выступив не особенно профессионально, как мне кажется.

5. "Мы сможем потратить освободившееся время на задачи, которые невозможно автоматизировать - например, на исследовательское тестирование. Этот подход позволяет найти больше багов" - очень странное мнение. То есть сначала мы автоматизируем все отвратительное тестирование, а потом "установим" хорошее тестирование (ну, если автор этих строк вообще понимает, что такое тестирование свободным поиском). И тут же автор признает, что вообще-то баги помогают искать специальные методологии, а вовсе не автоматизация. Я совсем запутался. Так зачем нам, говорите, автоматизация-то?

6. "Как менеджер, я хочу, чтобы у меня работали тестировщики, которые могут больше, чем их коллеги, которые находят самые заковыристые баги, и чья продуктивность выше, потому что они автоматизируют все свои рутины". Бессмысленная фраза вне контекста, как и предыдущая. Теперь автор утверждает, что ценность приносит только качественное тестирование, и тут у меня возражений нет! Чего я не могу понять - так это того, почему к нему должна располагать именно автоматизация? Чтобы начать качественно тестировать, надо просто перестать тестировать плохо.

7. В статье ни слова о том, о какой автоматизации вообще идет речь. Автоматизация существует на уровне юнит-тестов, API, UI, производительности, безопасности, и каждый из этих подвидов требует разных навыков, отличается от остальных, и имеет собственные уникальные цели. Некоторые виды тестирования просто технически нуждаются в автоматизации. Какие-то из них выполняются разработчиками, какие-то тестировщиками. Если мы делаем громкие заявления об автоматизации, не стоит ли уточнять, о какой именно автоматизации речь? (Кстати, в своей статье я делаю ту же самую ошибку).

Закрепим материал. Блог SoftEd - это просто пример, подобные мнения встречаются сплошь и рядом. Приведенные выше цитаты - не исключение, а распространенная в IT точка зрения. И именно она - причина горестей, расходов и неоправдавшихся ожиданий кучи компаний, людей и проектов. Именно поэтому я не могу пройти мимо. Нельзя допустить, чтобы эта точка зрения закрепилась как абсолютная истина. Я знаю, что вообще-то SoftEd не работают так, как описано в статье (к примеру, вот эта статья хорошо это показывает: http://blog.softed.com/2016/02/15/the-future-of-testing -2 /). Тем не менее, они нанесли ущерб профессии, опубликовав статью про автоматизацию. Читающие ее менеджеры с удовольствием поддадутся своей предвзятости и не обратят внимание на комментарии, в которых основные положения статьи опровергаются.

Я тоже комментировал эту статью. Мой комментарий не был одобрен (т. е. висит в невидимом режиме). Может, это и к лучшему - я немного вспылил, когда его писал. Этот текст куда лучше отражает то, что я хотел сказать. Но и в своем комментарии, и тут я взываю к SoftEd - удалите статью! Пока она не удалена, она наносит нашей отрасли потенциальный вред! И ваш второй опубликованный текст вряд ли исправит положение. И нет, я не имею в виду, что автоматизация бессмысленна или сводится к использованию инструментария. Вовсе нет! Я только за то, чтобы как можно больше людей умели автоматизировать. Чего я хочу, так это того, чтобы она продавалась такой, какая она есть, и чтобы менеджмент имел реалистичные ожидания, внедряя ее - особенно люди, далекие от индустрии.

Я большой поклонник автоматизации - внедренной в правильном окружении, в правильном контексте. Я не хочу, чтобы ее втюхивали как средство от всех болезней. Мне бы хотелось, чтобы тестировщики, менеджмент, разработчики потратили немного времени на исследование вопроса, прежде чем решаться что-либо подобное внедрить. Например, можно начать отсюда: http://www.satisfice.com/articles/cdt-automation.pdf.

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