SlideShare a Scribd company logo
И никуда не надо ехать!


  Обходные пути в
автоматизированном
    тестировании
     Дмитрий Жарий
О себе
Обходы / Workaraund’ы

Или что делать, когда всё плохо
Даю вводную...

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

– Чувак, мы тут вводим фичу
мгновенного поиска, но UI не
поменялся, так что ты
можешь, смело гонять свои
старые тесты для регрессии.
Жаль, нет видео.
Жаль, нет видео..
Жаль, нет видео…
Тест на 2 проверки
Всё нормально?!
Иногда, “This” - это не “this”…




             Эта проверка мертва  (Заблокирована)
Bug ID: BOOGLE-01
Реакция разработчиков




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




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




- А у меня 400 тестов из-за этого не
  проходят.  И     половина   проверок
  заблокирована, код проверок менять?
Вторая реакция автоматизатора
Обходим!
На каком основании?
А у нас есть:
Известный и открытый баг с ID: BOOGLE-01

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

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

Всё по закону и порядку!
Чтобы тест не был красным

• Подменить ожидаемое значение
• Отключить проверку
• Подавить проверку
Код покажи!
Подменить ожидаемое значение
Талант – брат Краткости
// NO!
const bool is_Тот_баг_с_регистрацией_fixed = false;

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

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

// NO!
const bool IsBOOGLE01GoogleInstantSearchShouldNotAlwaysDisplayTheSearch
PhraseInLowerCaseAndILoveCamelCaseSoMuchFixed = false;


// Google Instant search should not always display the search phrase in lower case
const bool isBOOGLE_01_fixed = false;
Подменить ожидаемое значение
И овцы сыты, и волки целы
Ничего секретного
Сложный пример с дескриптором
Сам дескриптор
Отключить проверку
Подавить проверку…
Но, это же ужас…


       Дубликат




                              Много кода
Дубликат
Зачем писать больше?
λ Код как параметр!


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




        Обход выключен
В результате
И еще можно…

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

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



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

Total:        1000 tests
Passed:       600 tests
Failed:       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
Совсем недавно стало…
Test Automation Report

Total:        1000 tests
Passed:       998 tests
Failed:       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
Но!


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

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

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

http://blog.zhariy.com
dzhariy@gmail.com


     Спасибо за поддержку:
Отдельное спасибо
    Мемам из Rage Comics,
   За участие в презентации


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

More Related Content

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

The fast and the continuous - SQA Days 16
The fast and the continuous - SQA Days 16The fast and the continuous - SQA Days 16
The fast and the continuous - SQA Days 16
Andrei Solntsev
 
The fast and the continuous
The fast and the continuousThe fast and the continuous
The fast and the continuous
SQALab
 
Real-life unit tests
Real-life unit testsReal-life unit tests
Real-life unit tests
Andrei Solntsev
 
QA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
QA Fest 2019. Андрей Солнцев. Десять причин моей ненавистиQA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
QA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
QAFest
 
Качество включенО
Качество включенОКачество включенО
Качество включенО
Magneta AI
 
The fast and the continuous (SeleniumCamp 2014)
The fast and the continuous (SeleniumCamp 2014)The fast and the continuous (SeleniumCamp 2014)
The fast and the continuous (SeleniumCamp 2014)
Andrei Solntsev
 
Анатолий Сергеев "A/B тестирование как способ повышения конверсии. Тонкости и...
Анатолий Сергеев "A/B тестирование как способ повышения конверсии. Тонкости и...Анатолий Сергеев "A/B тестирование как способ повышения конверсии. Тонкости и...
Анатолий Сергеев "A/B тестирование как способ повышения конверсии. Тонкости и...ADLABS
 
Joker2014
Joker2014Joker2014
Joker2014
Igor Kmets
 
Тестирование программного обеспечения
Тестирование программного обеспеченияТестирование программного обеспечения
Тестирование программного обеспечения
Ассоциация "Образование для будущего"
 
SQA Days 10: Фишки просветлённых тест-менеджеров
SQA Days 10: Фишки просветлённых тест-менеджеровSQA Days 10: Фишки просветлённых тест-менеджеров
SQA Days 10: Фишки просветлённых тест-менеджеров
Natalya Rukol
 
Полезные "фишки" для построения успешного процесса тестирования
Полезные "фишки" для построения успешного процесса тестированияПолезные "фишки" для построения успешного процесса тестирования
Полезные "фишки" для построения успешного процесса тестирования
SQALab
 
Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Igor Khrol
 
Spock - the next stage of unit testing
Spock - the next stage of unit testingSpock - the next stage of unit testing
Spock - the next stage of unit testing
jugkaraganda
 
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
IT Event
 

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

The fast and the continuous - SQA Days 16
The fast and the continuous - SQA Days 16The fast and the continuous - SQA Days 16
The fast and the continuous - SQA Days 16
 
The fast and the continuous
The fast and the continuousThe fast and the continuous
The fast and the continuous
 
Real-life unit tests
Real-life unit testsReal-life unit tests
Real-life unit tests
 
QA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
QA Fest 2019. Андрей Солнцев. Десять причин моей ненавистиQA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
QA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
 
Качество включенО
Качество включенОКачество включенО
Качество включенО
 
The fast and the continuous (SeleniumCamp 2014)
The fast and the continuous (SeleniumCamp 2014)The fast and the continuous (SeleniumCamp 2014)
The fast and the continuous (SeleniumCamp 2014)
 
Анатолий Сергеев "A/B тестирование как способ повышения конверсии. Тонкости и...
Анатолий Сергеев "A/B тестирование как способ повышения конверсии. Тонкости и...Анатолий Сергеев "A/B тестирование как способ повышения конверсии. Тонкости и...
Анатолий Сергеев "A/B тестирование как способ повышения конверсии. Тонкости и...
 
Joker2014
Joker2014Joker2014
Joker2014
 
Тестирование программного обеспечения
Тестирование программного обеспеченияТестирование программного обеспечения
Тестирование программного обеспечения
 
SQA Days 10: Фишки просветлённых тест-менеджеров
SQA Days 10: Фишки просветлённых тест-менеджеровSQA Days 10: Фишки просветлённых тест-менеджеров
SQA Days 10: Фишки просветлённых тест-менеджеров
 
Полезные "фишки" для построения успешного процесса тестирования
Полезные "фишки" для построения успешного процесса тестированияПолезные "фишки" для построения успешного процесса тестирования
Полезные "фишки" для построения успешного процесса тестирования
 
Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...
 
Spock - the next stage of unit testing
Spock - the next stage of unit testingSpock - the next stage of unit testing
Spock - the next stage of unit testing
 
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
 

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