40
И никуда не надо ехать! Обходные пути в автоматизированном тестировании Дмитрий Жарий

Confet&QA Обходные пути в автоматизированном тестировании

Embed Size (px)

Citation preview

Page 1: Confet&QA Обходные пути в автоматизированном тестировании

И никуда не надо ехать!

Обходные пути в автоматизированном

тестированииДмитрий Жарий

Page 2: Confet&QA Обходные пути в автоматизированном тестировании

О себе

Page 3: Confet&QA Обходные пути в автоматизированном тестировании

Обходы / Workaraund’ы

Или что делать, когда всё плохо

Page 4: Confet&QA Обходные пути в автоматизированном тестировании

Вы работаете тестировщиком-автоматизатором в компании Google. И тестируете веб-поиск Google.

Даю вводную...

Page 5: Confet&QA Обходные пути в автоматизированном тестировании

– Чувак, мы тут вводим фичу мгновенного поиска, но UI не поменялся, так что ты можешь, смело гонять свои старые тесты для регрессии.

И тут, как гром среди ясного неба

Page 6: Confet&QA Обходные пути в автоматизированном тестировании

Жаль, нет видео.

Page 7: Confet&QA Обходные пути в автоматизированном тестировании

Жаль, нет видео..

Page 8: Confet&QA Обходные пути в автоматизированном тестировании

Жаль, нет видео…

Page 9: Confet&QA Обходные пути в автоматизированном тестировании

Тест на 2 проверки

Page 10: Confet&QA Обходные пути в автоматизированном тестировании

Всё нормально?!

Page 11: Confet&QA Обходные пути в автоматизированном тестировании

Эта проверка мертва (Заблокирована)

Иногда, “This” - это не “this”…

Page 12: Confet&QA Обходные пути в автоматизированном тестировании

Bug ID: BOOGLE-01

Page 13: Confet&QA Обходные пути в автоматизированном тестировании

Реакция разработчиков

- Молодец, суровый баг нашел, братишка!

Page 14: Confet&QA Обходные пути в автоматизированном тестировании

Реакция менеджмента

- О… да, это Showstopper. Мы не можем выпускать релиз с таким то багом! Гы-гы-гы

Page 15: Confet&QA Обходные пути в автоматизированном тестировании

Первая реакция автоматизатора

- А у меня 400 тестов из-за этого не проходят. И половина проверок заблокирована, код проверок менять?

Page 16: Confet&QA Обходные пути в автоматизированном тестировании

Вторая реакция автоматизатора

Page 17: Confet&QA Обходные пути в автоматизированном тестировании

Обходим!

Page 18: Confet&QA Обходные пути в автоматизированном тестировании

На каком основании?

Page 19: Confet&QA Обходные пути в автоматизированном тестировании

А у нас есть:

Известный и открытый баг с ID: BOOGLE-01

И пока баг открыт – используем обход.

А когда баг закроют – уберем обход.

Всё по закону и порядку!

Page 20: Confet&QA Обходные пути в автоматизированном тестировании

Чтобы тест не был красным

• Подменить ожидаемое значение• Отключить проверку• Подавить проверку

Page 21: Confet&QA Обходные пути в автоматизированном тестировании

Код покажи!

Page 22: Confet&QA Обходные пути в автоматизированном тестировании

Подменить ожидаемое значение

Page 23: Confet&QA Обходные пути в автоматизированном тестировании

Талант – брат Краткости// NO! const bool is_Тот_баг_с_регистрацией_fixed = false;

// NO! const bool is_Я_обязательно_Заведу_Баг_по_этому_поводу_fixed = false;

// NO! const bool is_Вова_знает_об_этом_баге_и_обещал_пофиксить_когда_вернется_из_отпуска_fixed = false;         

// NO! const bool IsBOOGLE01GoogleInstantSearchShouldNotAlwaysDisplayTheSearchPhraseInLowerCaseAndILoveCamelCaseSoMuchFixed = false;          

// Google Instant search should not always display the search phrase in lower case const bool isBOOGLE_01_fixed = false; 

Page 24: Confet&QA Обходные пути в автоматизированном тестировании

Подменить ожидаемое значение

Page 25: Confet&QA Обходные пути в автоматизированном тестировании

И овцы сыты, и волки целы

Page 26: Confet&QA Обходные пути в автоматизированном тестировании

Ничего секретного

Page 27: Confet&QA Обходные пути в автоматизированном тестировании

Сложный пример с дескриптором

Page 28: Confet&QA Обходные пути в автоматизированном тестировании

Сам дескриптор

Page 29: Confet&QA Обходные пути в автоматизированном тестировании

Отключить проверку

Page 30: Confet&QA Обходные пути в автоматизированном тестировании

Подавить проверку…

Page 31: Confet&QA Обходные пути в автоматизированном тестировании

Но, это же ужас…

Дубликат

Дубликат Мно

го к

ода

Page 32: Confet&QA Обходные пути в автоматизированном тестировании

Зачем писать больше?

Page 33: Confet&QA Обходные пути в автоматизированном тестировании

λ Код как параметр!

Обход включен

Обход выключен

Page 34: Confet&QA Обходные пути в автоматизированном тестировании

В результате

Page 35: Confet&QA Обходные пути в автоматизированном тестировании

И еще можно…

• Подменить тестовые данные “data_driven_test_data.xls” на “data_driven_test_data_boogle_01.xls”

• Полностью пропустить тест-кейс if (UseWorkAround(BOOGLE_01)) Assert.Inconclusive();

• Использовать обходной сценарий тестирования Например, создать нового пользователя при помощи SQL запросов, если это невозможно сделать через UI.

Page 36: Confet&QA Обходные пути в автоматизированном тестировании

Когда-то давно было…Test Automation Report

Total: 1000 testsPassed: 600 testsFailed: 400 tests

Issues:BOOGLE-01 ( http://goo.gl/8lTsz ) : Google Instant search should not always display the search phrase in lower case

Blocks automation testing

Page 37: Confet&QA Обходные пути в автоматизированном тестировании

Совсем недавно стало…Test Automation Report

Total: 1000 testsPassed: 998 testsFailed: 2 tests

Issues: Reopened: BOOGLE-02 New: BOOGLE-03

Used Workarounds:BOOGLE-01 ( http://goo.gl/8lTsz ) : Google Instant search should not always display the search phrase in lower case

Page 38: Confet&QA Обходные пути в автоматизированном тестировании

Но!

Воркэраунд – это не решение проблемы.

Это всего лишь обход проблемы.

Page 39: Confet&QA Обходные пути в автоматизированном тестировании

Спасибо за внимание!Я готов ответить на Ваши вопросы.

Спасибо за поддержку:

Дмитрий Жарий

http://[email protected]

Page 40: Confet&QA Обходные пути в автоматизированном тестировании

Отдельное спасибоМемам из Rage Comics,

За участие в презентации

http://www.reddit.com/r/f7u12/