20
ДАО И АВТОМАТИЗАЦИЯ ТЕСТИРОВАНИЯ АВТ ОР: CAP TAIN CHAOS

Tao and Test Automation

Embed Size (px)

DESCRIPTION

Tenets of Taoism in test automation.

Citation preview

Page 1: Tao and Test Automation

ДАО И А

ВТОМАТИ

ЗАЦИЯ

ТЕСТИ

РОВАНИЯ

АВ

ТО

Р:

CA

PT A

I N C

HA

OS

Page 2: Tao and Test Automation

УЧЕНИЕ ЛАО-ЦЗЫ

Основоположник Дао автоматизации, Лао-цзы, учил:

• Если можешь не автоматизировать – не автоматизируй.

• Хороший автотест – тот, который не нужно писать.

• Падает один тест – напрягается вся команда. Падает сто тестов – напрягается один автоматизатор.

• Одна фича покрыта пятью автотестами. Другая фича покрыта пятьюдесятью. Какая протестирована лучше? Никакая, но у второй солиднее тест-репорт.

• Есть красный автотест и есть зеленый автотест. Но лишь переход от одного к другому приносит и пользу, и достижение.

Page 3: Tao and Test Automation

УЧЕНИЕ ВОРОБЬЯ ЛОХМАТИКА

А вот, что говорит по этому поводу другой известный апологет Дао автоматизации, воробей Лохматик:

• Чирик-чирик!

Page 4: Tao and Test Automation

СТУПЕНИ ДАО АВТОМАТИЗАТОРА

Все мы были когда-то начинающими автоматизаторами.

(Кто не был – вон из аудитории! У нас тут своя

тусовка!)Следовательно, каждый из нас находится на одной из ступеней совершенствования себя как автоматизатора.

Page 5: Tao and Test Automation

СТУПЕНИ ДАО АВТОМАТИЗАТОРА

1. «Я ничего не знаю об автоматизации. Это типа нажимаешь кнопку и уходишь заниматься своими делами, да?»

2. «Ух ты, скажите, и в магазине можно так же стенку приподнять? Сейчас заавтоматим что-нибудь эдакое!»

3. «Я охуенно крут. В автоматизации я как рыба в воде. Возможно автоматизировать все!»

4. «Автоматизация - дорогое удовольствие. Но в нашем распоряжении масса тулов и подходов. Побольше тестов, хороших и разных!»

5. «Это проще протестировать руками. И это тоже. А это проверять вообще смысла нет».

Page 6: Tao and Test Automation

ПЕРВАЯ СТУПЕНЬ ДАО

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

• «Я вообще-то не технический человек. Программирование – это не мое».

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

• «Ой, а на чем это лучше заавтоматить, на WebDriver или на Java?»

Page 7: Tao and Test Automation

ВТОРАЯ СТУПЕНЬ ДАО

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

Page 8: Tao and Test Automation

ВТОРАЯ СТУПЕНЬ ДАО

• «Ого, тут можно записывать свои действия, а потом их воспроизводить! Надо срочно добавить новый скилл в CV!»

• «Этот xpath на три строчки не может быть неверным, я его записал через Selenium IDE».

• «Ура, я выучил новый паттерн Singleton! Куда бы его теперь впихнуть?»

• «Да, я захардкодал эти урлы в тесте, но это временное решение. Да, этому коммиту уже скоро год, я просто был занят другими вещами».

• «Я девелопер со стажем! Я знаю NServiceBus и BizTalk как свои пять пальцев, что для меня эта ваша автоматизация! Ну и что с того, что здесь Ruby, а не C#? throw – оно и в Африке throw, не так ли?»

Page 9: Tao and Test Automation

ЛИРИЧЕСКОЕ ОТСТУПЛЕНИЕ

Честно говоря, судя по описанию, на ступенях 1 и 2 находятся какие-то бестолковые личности.

Не знаю как вы, лично я начал сразу с третьей.

Page 10: Tao and Test Automation

ТРЕТЬЯ СТУПЕНЬ ДАО

Ах, эти третьеступенчатые деньки.

• «Язык программирования? Инструмент автоматизации? Непринципиально, освоим!»

• «Автоматизировать UI, Web-сервисы, API? Да без проблем!»

• «DOM, Flex, нативные интерфейсы, Swing, Siebel, что-то еще? Какая к черту разница? прикрутим JavaScript, AutoIt, распознавание изображений!»

• «Я знаю кучу паттернов и намерен применить их все!»

• «Мои тесты будут работать на всех комбинациях браузеров, ОС и аппликейшн-серверов без каких-либо дополнительных телодвижений!»

Page 11: Tao and Test Automation

ТРЕТЬЯ СТУПЕНЬ ДАО

• «Мы создадим фреймворк, который будет поддерживать data-driven, keyword-driven и behavior-driven подходы, причем одновременно!»

• «Мы принесем людям свет! Мы заколбасим универсальный проектонезависимый фреймворк, который потом будем матчить матчерами, декорировать декораторами и плагинить плагинами! И все это будет доступно каждому желающему!»

• «Мы обеспечим любую требуемую степень покрытия, которая во всяком случае будет не ниже 100%! Мы заавтоматим все: от нажатия на среднюю кнопку мыши до эмуляции отключения питания в серверной!»

Page 12: Tao and Test Automation

ТРЕТЬЯ СТУПЕНЬ ДАО

Примерно так выглядит автоматизатор на третьей ступени Дао. Куча зерна символизирует написанные им автотесты.

Page 13: Tao and Test Automation

ЧЕТВЕРТАЯ СТУПЕНЬ ДАО

А вот так выглядит он же, перейдя на четвертую ступень.

Page 14: Tao and Test Automation

ЧЕТВЕРТАЯ СТУПЕНЬ ДАО

Это сложный период в становлении автоматизатора. Многие ломаются, кто-то уходит в запой.

• «Что-то больно до хера у нас получилось тестов, да и выполняются они несколько дней».

• «Господи, как разгрести все эти репорты?! А они все прибывают и прибывают!»

• «Все заавтоматить к концу спринта не успею, но это никого не парит. Фича в любом случае уйдет в релиз».

Page 15: Tao and Test Automation

ЧЕТВЕРТАЯ СТУПЕНЬ ДАО

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

• «Распараллелим нашу регрессию на 10 потоков, так что вместо 72 часов она будет работать всего 13. Это, между прочим, на 80% быстрее, чем прежде!»

• «Сейчас забацаем CI-сервер с фермой удаленных агентов и кастомной веб-мордой, и любой желающий сможет одним нажатием кнопки запустить билд автоматизации, а потом получить красивый репорт с графиками и пай-чартами».

Page 16: Tao and Test Automation

ПЯТАЯ СТУПЕНЬ ДАО

Это апогей становления личности как автоматизатора. Такие люди – на вес золота. Цените их!

• «Да, это можно автоматизировать, но тест получится нестабильный и выполняться будет минут десять. Стоит ли игра свеч?»

• «Что проверяет этот тест? На это вообще были хоть какие-нибудь требования, или вы просто наворачиваете тест-кейсы ради количества?»

• «UI-тесты будут долгими. Backend-тесты будут непонятными для не-технарей. Выбирайте».

• «Слой абстракции этот не нужен тебе. Зачем паттерн здесь всобачил ты?»

• «На QTP пишите сами».

Page 17: Tao and Test Automation

ПЯТАЯ СТУПЕНЬ ДАО

Как же выглядит этот автоматизатор, достигший пятой стадии просветления? А вот как:

Page 18: Tao and Test Automation

ЧТО ДАЛЬШЕ?

Существует еще и шестая ступень: «Ищу работу».

Но ее мы здесь рассматривать

не будем.

Page 19: Tao and Test Automation

ЛАО-ЦЗЫ УЧИТ

«Девелопер сражается с косяками требований, технологии и легаси-кода. Автоматизатор сражается с косяками требований, технологии, легаси-кода, тест-кейсов, серверного окружения, клиентского окружения и инструмента автоматизации. Пожалейте автоматизатора. Ему и так в жизни не повезло».

Page 20: Tao and Test Automation

ВОПРОСЫ?