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

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

.
Про «лучшие» практики
21.05.2024 00:00

Автор: Баз Дейкстра (Bas Dijkstra)
Оригинал статьи
Перевод: Ольга Алифанова

В этой статье я хочу обсудить одну из моих (видимо, многочисленных) больных мозолей. На этот раз это то, что регулярно всплывает в моих письмах и сообщениях в социальных сетях, а также на моих курсах. Дискуссия обычно идет как-то так:

Собеседник: «Я хочу научиться делать это хорошо!» (это здорово!)

Я: «Что вы делали ранее, что работало, что нет?»

Собеседник: «Мы пробовали внедрять это раньше, но получилась ерунда», или «Мы наняли экспертов, чтобы они это сделали, но получилась ерунда» (бывает довольно часто).

Я: «Как я могу помочь вам стать лучше?»

Собеседник: «Нам нужно изучить лучшие практики в области …»

Я (в реальности): «Я могу вас научить/рассказать вам о распространенных практиках, но…»

Я (про себя): «Пожалуйста, нет, только не это!»

Стоит ли говорить, что меня раздражает термин «лучшие практики», а также люди, требующие их. Я становлюсь архетипным «консультантом», отвечая «это зависит от обстоятельств» куда чаще, чем мне того хочется…

Отставим шутки и стереотипы. Годы в этом бизнесе научили меня, что в мире тестирования и автоматизации крайне мало универсальных истин. А именно это, с моей точки зрения, и достойно называться «лучшей практикой» - нечто, что всегда применяется с пользой для дела.

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

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

Приведу пример: паттерн Page Object – это не «лучшая практика». Это очень полезный паттерн, который помогает отделить «что» от «как» в UI-автоматизации, но это не означает, что его можно бездумно применять везде и всюду. Иногда другие паттерны, вроде Screenplay, сработают куда лучше. Иногда все будет наоборот.

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

Поэтому каждый раз, когда у меня просят «лучших практик», я обычно отвечаю объяснением, затрагивающим контекст. Я задаю ряд вопросов:

  • Чего вы хотите добиться?
  • Кто будет этим заниматься?
  • Какую информацию вы хотите найти, выполняя тесты А, Б и В?

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

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

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