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

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

.
Как начать учиться автоматизации
25.04.2017 08:42

Автор: Майкл Фритциус (Michael Fritzius)

Оригинал статьи: https://testzius.wordpress.com/2017/01/09/how-to-start-learning-automation/

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

Люди спрашивали меня, как им узнать больше про автоматизацию тестирования. Я думаю, все согласны, что знать что-то про автоматизацию, работая в сфере QA – дело хорошее, и может быть подспорьем в нашей работе – не говоря уже о росте ценности наших резюме.

Но с чего же начать? Это огромное непаханое поле информации. Я понимаю, почему люди не знают, с чего начать – очень трудно преодолеть инерцию по ряду причин, связанных с большим количеством материала, который нужно усвоить.

Я хочу поделиться с вами тремя Большими Секретами. Бесплатно. Только сегодня, только у нас. И вы сможете начать учиться автоматизации.

Большой секрет №1: "Нельзя рулить припаркованной машиной"

Эту фразу произнес мой тесть много лет назад, когда я просил у него духовного наставничества. Я задумался, как я узнаю, в каком направлении мне двигаться, одобряет ли Господь то, что я делаю?

Ответом тестя было "Нельзя рулить припаркованной машиной".

Нет, дальше он развил свою мысль, конечно же.

Где-то минуту я осмыслял, что он имеет в виду, и в конце концов понял: Господь будет направлять мою жизнь, если я начну движение. Я начну движение – он начнет рулить.

Довольно крутая аналогия.

Эта мудрость достаточно коротка и влезет даже на кепку, но применима в большом количестве ситуаций. "Если речь идет об обучении автоматизации, спросите себя, в каком направлении вам двигаться?" А движетесь ли вы вообще? Вы не можете двигаться в каком-то направлении, если вы припаркованы.

Если вы не движетесь хоть в какую-то сторону (которую можно выбрать позднее), то заведите машину и нажмите на газ.

Большой секрет №2: нет "неправильного" начала

А вот и второй большой секрет – вы не можете начать "неправильно".

Люди зачастую думают, что если они выучат что-то, что позднее не пригодится, то они зря потратят время.

На самом деле это не так.

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

Специфичные пути создаются, когда мы учим что-нибудь вроде "2+2=4". Это конкретные факты.

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

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

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

Нельзя неправильно начать. Выберите что угодно! Все будет хорошо.

Большой секрет №3: Мастерство не требуется

Некоторые думают, что если вы не стали настоящим мастером в чем-то, то не слишком-то это что-то полезно.

Большой секрет: это не так. Это ложь!

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

Вот вам пример: давным-давно я работал под Linux и делал все на Bash-скриптах. Я был мастером этих скриптов, знал про них все то, что мало кто знает. Я нашел свою нишу. По крайней мере, я так думал.

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

Несколько недель назад я наткнулся на то, для чего Bash вполне подходил. Итоговое решение было огромным, тяжелым, богатым на регулярные выражения, а уж сколько боли и отчаяния было вложено в то, чтобы заставить скрипт работать! "К черту" – сказал я и перешел на Perl, который не только лучше решил эту задачу, но и был уже установлен на моей машине, и мне не пришлось обращаться в службу поддержки за чем-то еще.

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

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

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

Не беспокойтесь, если вы не стали мастером чего-то перед тем, как двигаться дальше. Это не пустая трата времени. То, что вы узнали сейчас, поможет вам в том, что вы выучите позднее.

Как начать?

"Фриц, все это здорово, но очень много букв. Как именно мне начать-то?"

Очень частый вопрос. Вот вам мой совет:

Начните с вашего менеджера

Доказать, что автоматизация – это выгодно, довольно легко:

  • У меня есть задача, которую мне приходится выполнять вручную.
  • Придется потратить некоторое время, чтобы научиться писать автотест, который будет делать это вместо меня.
  • После этого мое время освободится, и я смогу заняться чем-то еще.

Скажите менеджеру что-то подобное, уверен, этого будет достаточно.

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

Убедитесь, что вы выбрали небольшую задачку. Если вы откусите больше, чем сможете прожевать, то испытаете разочарование. К тому же очень скоро вам придется что-то показать вашему менеджеру.

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

Если это не сработало…

…то, к сожалению, выискивайте время на обучение самостоятельно.

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

Просто представьте – тридцать минут, с понедельника по пятницу, каждую неделю – это 130 часов в год, и это довольно много.

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

Полчаса – это всего лишь 2% 24-часового дня.

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

Если это сработало и вам удалось заинтересовать менеджера, то автоматизация выкроит еще больше времени для вашей команды. Над этим придется потрудиться, и поначалу дело пойдет медленно, но со временем все будет идти лучше и лучше. И вы тоже станете лучше.

Где мне начать?

Лично я советую людям свою двухсерийную статью для начала.

Она посвящена автоматизации Web UI-тестов, и я выбрал ее, так как очень приятно видеть эффект от своей работы сразу же – видеть, как вебдрайвер взаимодействует со страницей согласно коду, который написан вами. Я бы рекомендовал пройти эти упражнения и выжать из них все, что сможете.

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

Я надеюсь, что вам понравится! Автоматизация – это круто!

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