Спросите "Зачем?", автоматизируя |
02.03.2017 11:24 |
Автор: Баз Дикстра (Bas Dikstra) Оригинал статьи: http://linkis.com/ontestautomation.com/E2sHz Перевод: Ольга Алифанова Эта статья о том, что беспокоит меня уже довольно давно и продолжает всплывать по ряду причин. Когда я разговариваю с клиентами, вижу дискуссии на ЛинкедИне или StackOverflow, или читаю блог об автоматизации, слишком часто я вижу нечто вроде "как мне решить проблему А при помощи инструмента Б" (где инструмент Б, как правило, Селениум). То, что меня беспокоит – это вопрос "как". У меня дергается глаз, потому что вместо этого "как" мне хочется спросить "зачем". Точнее говоря, "зачем и какого черта это вообще делать"? Где-то полгода назад я писал про это пост на LinkedIn. Он не изменил мир, я все еще вижу кучу "как" там, где, думается мне, спрашивать надо "зачем". Но, как изящно выражаются на латыни, repetition mater studiorum est (повторение – мать учения). Я думаю, стоит повторить: задавая вопрос, связанный с автоматизацией, спросите себя "зачем", перед тем , как начинать думать, "как". "Зачем" предостережет вас от автоматизации ради автоматизации Прежде чем спрашивать "как эффективно внедрить автоматизацию", спросите, "почему я хочу внедрить автоматизацию"? Внедрение автоматизации должно быть сознательным решением, мотивированным внятными и существенными выгодами для процесса разработки (и, в конце концов, для бизнес-целей вашей организации), а не деятельностью, которой следует заняться просто потому, что это круто звучит, или (вздрогнув) потому что все так делают. Вопрос "Почему" направляет ваши усилия в правильное русло Перед тем, как спросить, "как мне автоматизировать этот тест", спросите, "зачем я вообще собирался автоматизировать этот тест"? Не участвуйте в забеге на лучшего в мире автоматизатора бессмысленных тестов. Лучше станьте лучшим в мире человеком, выбирающим тесты для автоматизации. Выбор таких тестов даст вам самую полезную информацию о качестве продукта и рисках приложения, и это возможно, только если сначала вы спрашиваете себя "зачем". Только когда вы решили, какой набор тестов подойдет вам наилучшим образом, начните изучать, как именно вы можете автоматизировать эти тесты наиболее эффективно. Вопрос "Почему" дает вам возможность использовать ваши инструменты по-максимуму Перед тем, как спрашивать, "Как мне использовать инструмент А для автоматизации этого теста", спросите себя, "зачем мне использовать инструмент А для автоматизации этого теста"? Недавно я писал (скорее, ругался) насчет повсеместного использования Селениума для API-тестов. Даже учитывая, что тот пост задумывался, как минимум частично, сатирическим, я постоянно вижу, как происходит нечто подобное. Еще пример – использование Cucumber или SpecFlow в качестве инструмента автоматизации. Не так уж давно я и сам был подвержен подобной болезни, поэтому никто не собирается делать вид, что я элита автоматизаторов, а вы необученнное быдло. Я просто надеюсь, что больше народу задумается о правильных вопросах, которые надо задавать до того, как начинать автоматизировать. В заключение хочется сказать, что в тренингах по автоматизации много внимания тоже уделяется вопросу "как", не фокусируясь на "зачем", и, следовательно, на "что". Так как я твердо верю в то, что практиковать надо то, в чем уверен, я начал разрабатывать тренировочный материал, который, я надеюсь, поможет ученикам задавать правильные вопросы, автоматизируя. Я надеюсь, что это сделает автоматизацию лучше. Я собираюсь предоставить эти материалы сообществу тестировщиков где-нибудь в начале следующего года. Может, следующий год станет годом вопроса "Зачем" в автоматизации, а не только "Как". |