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.
Upcoming SlideShare
Полуавтоматизация third-party API
Next
Download to read offline and view in fullscreen.

Share

Тестирование в изоляции: Играем в драконий покер

Download to read offline

Доклад Евгения Говако на конференции SQA Days-19, 20-21 мая 2016 г., Санкт-Петербург

  • Be the first to like this

Тестирование в изоляции: Играем в драконий покер

  1. 1. Deutsche Bank Technology Center, LLC Deutsche Bank Тестирование в изоляции: играем в драконий покер Евгений Говако
  2. 2. О себе 5/31/2016 11:42:15 AM 2010 DB Blue template 1 Евгений Говако QA/FA/TA Deutsche Bank RTC, St. Petersburg • В QA с 2004 года • QA Lead/Support Lead • QMS Lead • Test Automation
  3. 3. — Тестирование в изоляции — Что это? — Зачем это? — Как это? Overview 5/31/2016 11:42:15 AM 2010 DB Blue template 2
  4. 4. Что такое драконий покер? 5/31/2016 11:42:15 AM 2010 DB Blue template 3 Карточная игра с шестью картами на руках Выигрывает лучшая комбинация Условные модификаторы! Без них драконий покер был бы всего-навсего еще одной простой игрой.
  5. 5. Условные модификаторы 5/31/2016 2010 DB Blue template 4 — Количество сыгранных сдач — День недели — Число игроков — Открытые Карты — Положение стульев - Но откуда у меня возьмется шанс победить в этой игре? Я ж даже всех правил-то не могу запомнить. В.Скив При определенных условиях могут изменить выигрышный расклад на проигрышный
  6. 6. Условные модификаторы 5/31/2016 2010 DB Blue template 5 • Каждую пятую сдачу порядок старшинства карт меняется на обратный • Драконы красной масти становятся “дикими” картами на четных сдачах • Если среди открытых карт есть 10, все 7 считаются “мертвыми” и не участвуют в раскладе • Если появляется еще одна 10, предыдущее правило отменяется • Если за игрой наблюдают зрители, 3ки считаются “мертвыми” • Если название месяца не содержит “Р” и дата – двузначное число, соответствующие карты меняются местами (26 августа – 2 становится 6 и наоборот) Самая сложная и запутанная игра во всех мирах и измерениях В.Скив
  7. 7. Драконий покер – система в полной интеграции 5/31/2016 2010 DB Blue template 6 Card Dealer UI View Action Modifier #1 #4 #5 Modifier #2 Modifier #3 Poker Table Calculator Шансов на победу у тебя нет. Тананда.
  8. 8. Изоляция модулей – Component testing 5/31/2016 2010 DB Blue template 7 Card Dealer UI View Action Modifier #1 #4 #5 Modifier #2 Modifier #3 Poker Table Calculator Требуется усвоить не все условные модификаторы - только те, которые будут действовать при твоей игре Тананда.
  9. 9. Изоляция модулей – Component integration testing 5/31/2016 2010 DB Blue template 8 Card Dealer UI View Action Modifier #1 #4 #5 Modifier #2 Modifier #3 Poker Table Calculator Это будет легче, чем если б мы пытались обучить тебя всей игре. Тананда.
  10. 10. Изоляция модулей – UI testing 5/31/2016 2010 DB Blue template 9 Card Dealer UI View Action Modifier #1 #4 #5 Modifier #2 Modifier #3 Poker Table Calculator Это будет легче, чем если б мы пытались обучить тебя всей игре. Тананда.
  11. 11. Зачем тестировать в изоляции? 5/31/2016 11:42:15 AM 2010 DB Blue template 10 • Уменьшаем количество тестов • Локализация проблемы • Простая конфигурация окружения • Сокращение времени тестов
  12. 12. — Заглушка (Stub) — Моделирует типовые ответы на запросы — Конфигурируемые заглушки — Выбор поведения перед тестом — Различные данные для разных тестов — Симулятор модуля (Mock) — Поведение, конфигурируемое программно (из автотестов) — Проверка структуры запросов в API — Управление данными в ответе на запрос — Симулирование корнер-кейсов Как заменить модуль? 5/31/2016 11:42:15 AM 2010 DB Blue template 11
  13. 13. — Заглушка (Stub) — Невысокая стоимость — Не должна повторять функциональность заменяемого модуля — Smoke чеки, Performance — Конфигурируемые заглушки — Эволюция заглушки; невысокая стоимость — Статические данные, общие для разных тестов — Симулятор модуля (Mock) — Может стоить дорого в зависимости от дизайна — Необходимо глубокое погружение QA в архитектуру — Функциональные автотесты на всех уровнях — Усложняет рефакторинг Преимущества и недостатки 5/31/2016 11:42:15 AM 2010 DB Blue template 12
  14. 14. — Знание и понимание архитектуры приложения тестировщиками (white-box testing) — Разработка архитектуры с учетом интересов тестирования — Тест-дизайн на всех уровнях тестирования — Автоматизация на всех уровнях как часть стратегии тестирования С чего начать? 5/31/2016 11:42:15 AM 2010 DB Blue template 13
  15. 15. Тестируем Dragon Poker 5/31/2016 11:42:15 AM 2010 DB Blue template 14 • Каждую пятую сдачу порядок старшинства карт меняется на обратный • Сыграть 5+ партий, проанализировав результаты исходя из того, какие карты будут на столе • Сконфигурировать последовательность карт таким способом, чтобы на 5й партии был ожидаемый расклад, проверить победителя • В симулированном модуле модификатора включить «модификатор активен» Stub vs Configurable stub vs Mock
  16. 16. Тестируем Dragon Poker 5/31/2016 11:42:15 AM 2010 DB Blue template 15 • Драконы красной масти становятся дикими картами на четных сдачах • Играть несколько партий, пока драконы красной масти не выпадут на четной и нечетной сдаче • Подготовить тестовые наборы карт для проверки четной и нечетной сдачи • В симулированном модуле модификатора включить «модификатор активен» Stub vs Configurable stub vs Mock
  17. 17. Тестируем Dragon Poker 5/31/2016 11:42:15 AM 2010 DB Blue template 16 • Если среди открытых карт есть 10, все 7 считаются «мертвыми» и не участвуют в раскладе • Если появляется еще одна 10, предыдущее правило отменяется • Играть несколько партий, пока среди открытых не попадется одна или несколько 10к • Подготовить тестовые наборы карт для проверки • Конфигурируя симулированный модуль выдачи следующей карты, мы можем написать Data Driven тест Stub vs Configurable stub vs Mock
  18. 18. Тестируем Dragon Poker 5/31/2016 11:42:15 AM 2010 DB Blue template 17 • Если за игрой наблюдают зрители, 3ки считаются «мертвыми» • Сконфигурировать окружение без зрителей • Сделать количество зрителей параметром настройки • В симулированном модуле модификатора включить «модификатор активен» Stub vs Configurable stub vs Mock
  19. 19. Тестируем Dragon Poker 5/31/2016 11:42:15 AM 2010 DB Blue template 18 • Если название месяца не содержит «Р» и дата – двузначное число, соответствующие карты меняются местами (26 августа – 2 становится 6 и наоборот) • Запускать тесты по определенным дням или использовать машину времени • Установить текущую дату в подсистеме через конфигурацию • Установить текущую дату из автотеста • В симулированном модуле модификатора включить «модификатор активен» Stub vs Configurable stub vs Mock
  20. 20. Q&A 5/31/2016 2010 DB Blue template 19 mailto: eugeny.govako@db.com Skype: george.eager
  21. 21. Данный материал не является предложением или предоставлением какой-либо услуги. Данный материал предназначен исключительно для информационных и иллюстративных целей и не предназначен для распространения в рекламных целях. Любой анализ третьих сторон не предполагает какого-либо одобрения или рекомендации. Мнения, выраженные в данном материале, являются актуальными на текущий момент, появляются только в этом материале и могут быть изменены без предварительного уведомления. Эта информация предоставляется с пониманием того, что в отношении материала, предоставленного здесь, вы будете принимать самостоятельное решение в отношении любых действий в связи с настоящим материалом, и это решение является основанным на вашем собственном суждении, и что вы способны понять и оценить последствия этих действий. ООО "Дойче Банк Техцентр" не несет никакой ответственности за любые убытки любого рода, относящихся к этому материалу. 20

Доклад Евгения Говако на конференции SQA Days-19, 20-21 мая 2016 г., Санкт-Петербург

Views

Total views

1,299

On Slideshare

0

From embeds

0

Number of embeds

825

Actions

Downloads

4

Shares

0

Comments

0

Likes

0

×