Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Tao and Test Automation

15,086 views

Published on

Tenets of Taoism in test automation.

Published in: Technology

Tao and Test Automation

  1. 1. УЧЕНИЕ ЛАО-ЦЗЫ Основоположник Дао автоматизации, Лао-цзы, учил: • Если можешь не автоматизировать – не автоматизируй. • Хороший автотест – тот, который не нужно писать. • Падает один тест – напрягается вся команда. Падает сто тестов – напрягается один автоматизатор. • Одна фича покрыта пятью автотестами. Другая фича покрыта пятьюдесятью. Какая протестирована лучше? Никакая, но у второй солиднее тест-репорт. • Есть красный автотест и есть зеленый автотест. Но лишь переход от одного к другому приносит и пользу, и достижение.
  2. 2. УЧЕНИЕ ВОРОБЬЯ ЛОХМАТИКА А вот, что говорит по этому поводу другой известный апологет Дао автоматизации, воробей Лохматик: • Чирик-чирик!
  3. 3. СТУПЕНИ ДАО АВТОМАТИЗАТОРА Все мы были когда-то начинающими автоматизаторами. (Кто не был – вон из аудитории! У нас тут своя тусовка!) Следовательно, каждый из нас находится на одной из ступеней совершенствования себя как автоматизатора.
  4. 4. СТУПЕНИ ДАО АВТОМАТИЗАТОРА 1. «Я ничего не знаю об автоматизации. Это типа нажимаешь кнопку и уходишь заниматься своими делами, да?» 2. «Ух ты, скажите, и в магазине можно так же стенку приподнять? Сейчас заавтоматим что-нибудь эдакое!» 3. «Я охуенно крут. В автоматизации я как рыба в воде. Возможно автоматизировать все!» 4. «Автоматизация - дорогое удовольствие. Но в нашем распоряжении масса тулов и подходов. Побольше тестов, хороших и разных!» 5. «Это проще протестировать руками. И это тоже. А это проверять вообще смысла нет».
  5. 5. ПЕРВАЯ СТУПЕНЬ ДАО Люди на этой ступени, как правило, не шибко соображают, что к чему. Подавляющее большинство остается здесь на всю жизнь. • «Я вообще-то не технический человек. Программирование – это не мое». • «Не доверяю я этим автоматизаторам с их скриптами. Мне проще пройти сценарий руками, чем разбираться в этих глупых тест-репортах». • «Ой, а на чем это лучше заавтоматить, на WebDriver или на Java?»
  6. 6. ВТОРАЯ СТУПЕНЬ ДАО На этой ступени часто встречаются бывшие ручные тестировщики, а также девелоперы, которых по тем или иным причинам подписали заниматься автоматизацией.
  7. 7. ВТОРАЯ СТУПЕНЬ ДАО • «Ого, тут можно записывать свои действия, а потом их воспроизводить! Надо срочно добавить новый скилл в CV!» • «Этот xpath на три строчки не может быть неверным, я его записал через Selenium IDE». • «Ура, я выучил новый паттерн Singleton! Куда бы его теперь впихнуть?» • «Да, я захардкодал эти урлы в тесте, но это временное решение. Да, этому коммиту уже скоро год, я просто был занят другими вещами». • «Я девелопер со стажем! Я знаю NServiceBus и BizTalk как свои пять пальцев, что для меня эта ваша автоматизация! Ну и что с того, что здесь Ruby, а не C#? throw – оно и в Африке throw, не так ли?»
  8. 8. ЛИРИЧЕСКОЕ ОТСТУПЛЕНИЕ Честно говоря, судя по описанию, на ступенях 1 и 2 находятся какие-то бестолковые личности. Не знаю как вы, лично я начал сразу с третьей.
  9. 9. ТРЕТЬЯ СТУПЕНЬ ДАО Ах, эти третьеступенчатые деньки. • «Язык программирования? Инструмент автоматизации? Непринципиально, освоим!» • «Автоматизировать UI, Web-сервисы, API? Да без проблем!» • «DOM, Flex, нативные интерфейсы, Swing, Siebel, что-то еще? Какая к черту разница? прикрутим JavaScript, AutoIt, распознавание изображений!» • «Я знаю кучу паттернов и намерен применить их все!» • «Мои тесты будут работать на всех комбинациях браузеров, ОС и аппликейшн-серверов без каких-либо дополнительных телодвижений!»
  10. 10. ТРЕТЬЯ СТУПЕНЬ ДАО • «Мы создадим фреймворк, который будет поддерживать data-driven, keyword-driven и behavior-driven подходы, причем одновременно!» • «Мы принесем людям свет! Мы заколбасим универсальный проектонезависимый фреймворк, который потом будем матчить матчерами, декорировать декораторами и плагинить плагинами! И все это будет доступно каждому желающему!» • «Мы обеспечим любую требуемую степень покрытия, которая во всяком случае будет не ниже 100%! Мы заавтоматим все: от нажатия на среднюю кнопку мыши до эмуляции отключения питания в серверной!»
  11. 11. ТРЕТЬЯ СТУПЕНЬ ДАО Примерно так выглядит автоматизатор на третьей ступени Дао. Куча зерна символизирует написанные им автотесты.
  12. 12. ЧЕТВЕРТАЯ СТУПЕНЬ ДАО А вот так выглядит он же, перейдя на четвертую ступень.
  13. 13. ЧЕТВЕРТАЯ СТУПЕНЬ ДАО Это сложный период в становлении автоматизатора. Многие ломаются, кто-то уходит в запой. • «Что-то больно до хера у нас получилось тестов, да и выполняются они несколько дней». • «Господи, как разгрести все эти репорты?! А они все прибывают и прибывают!» • «Все заавтоматить к концу спринта не успею, но это никого не парит. Фича в любом случае уйдет в релиз».
  14. 14. ЧЕТВЕРТАЯ СТУПЕНЬ ДАО • «Разобьем-ка мы всю кучу тестов на кучки поменьше и будем гонять не все сразу, а поочередно. Количество автотестов – наша основная метрика, и избавляться от них мы не можем!» • «Распараллелим нашу регрессию на 10 потоков, так что вместо 72 часов она будет работать всего 13. Это, между прочим, на 80% быстрее, чем прежде!» • «Сейчас забацаем CI-сервер с фермой удаленных агентов и кастомной веб-мордой, и любой желающий сможет одним нажатием кнопки запустить билд автоматизации, а потом получить красивый репорт с графиками и пай-чартами».
  15. 15. ПЯТАЯ СТУПЕНЬ ДАО Это апогей становления личности как автоматизатора. Такие люди – на вес золота. Цените их! • «Да, это можно автоматизировать, но тест получится нестабильный и выполняться будет минут десять. Стоит ли игра свеч?» • «Что проверяет этот тест? На это вообще были хоть какие- нибудь требования, или вы просто наворачиваете тест-кейсы ради количества?» • «UI-тесты будут долгими. Backend-тесты будут непонятными для не-технарей. Выбирайте». • «Слой абстракции этот не нужен тебе. Зачем паттерн здесь всобачил ты?» • «На QTP пишите сами».
  16. 16. ПЯТАЯ СТУПЕНЬ ДАО Как же выглядит этот автоматизатор, достигший пятой стадии просветления? А вот как:
  17. 17. ЧТО ДАЛЬШЕ? Существует еще и шестая ступень: «Ищу работу». Но ее мы здесь рассматривать не будем.
  18. 18. ЛАО-ЦЗЫ УЧИТ «Девелопер сражается с косяками требований, технологии и легаси-кода. Автоматизатор сражается с косяками требований, технологии, легаси-кода, тест-кейсов, серверного окружения, клиентского окружения и инструмента автоматизации. Пожалейте автоматизатора. Ему и так в жизни не повезло».
  19. 19. ВОПРОСЫ?

×