SlideShare a Scribd company logo
Докладчик: Авчинникова О. И.
Причины и способы имитации
back-end'а
февраль, 2016
1. Тесты пишутся долго.
2. Высокие затраты на поддержку.
3. Тесты выполняются долго.
4. Тесты хрупкие.
5. Много времени тратится на
выяснение причин падения тестов.
Проблемы UI-тестов
Уровень
2
1. В среднем 2-3% “failed” тестов.
Немного арифметики
• Всего: 300 тестов
• Дефектов: 5 шт
• Процент падений: 3%
• Время выполнения
теста: 1мин
• Время анализа падения:
10 мин.
1 запуск +1 перезапуск Итог
Упало
(300-5)*3%+5 = 14
+ Упало
(14-5) * 3% + 5 = 5
19
Время выполнения
300мин = 5 часов
+ Время выполнения
14минут
5ч 14мин
Время анализа
14*10=2ч 18мин
Время анализа
5*10 = 50мин
3ч 8мин
3
Какими же должны быть идеальные тесты?
• Время выполнения: максимум 10 мин.
• Запуск после очередного коммита.
• Мгновенное оповещение виновника проблем.
4
Что могло бы нам помочь?
5
Так можно ли перевернуть пирамиду?
UIUI
API
UNIT
UI
UI
API
UNIT
ИЛИ
6
UIUI
API
UNIT
• Научиться писать код качественно.
• Максимально снизить время на подготовку предусловий.
• Максимально снизить время ожидания при загрузке
страницы/проливке данных.
• Четко понимать, что конкретно мы тестируем и не делать никаких
лишних действий.
• Каждый раз, когда это возможно, опускаться на уровень ниже.
• Автоматизировать нужно то, что мы тестируем, а не то как это
делается.
• Разделяй и властвуй.
Что могло бы нам помочь?
7
• Надо понимать, что и как тестируется (высокий уровень знания
проекта).
• При тестировании по кусочкам можно что-либо упустить.
НО! Возможно эти недостатки стоят того, чтоб получить набор
гарантированно работающей критической функциональности, а
какие-то менее важные детали можно и упустить.
Недостатки
8
1. Отдельно тестируем серверную логику:
• Через веб-сервисы;
2. Отдельно проверяем работу UI
• Jasmine
• BeMo + Xhoock
• CasperJS + Sinon.JS/Mockjax
3. Смотрим, что все вместе корректно работает.
• Selenium
Разделяй и властвуй
9
Сократить кол-во посредников – делаем заглушки.
10
CasperJS + Sinon.JS/Mockjax
//функция ответа на
перехваченные
запросы, согласно
установленным
правилам
11
//создание правила для ответа на запросы
CasperJS + Sinon.JS/Mockjax
12
CasperJS + Sinon.JS/Mockjax
//автотест
13
CasperJS + Sinon.JS/Mockjax
//стартовая форма
//оригинальный ответ от
сервера
//нами запрограммированный ответ
от сервера
1
2
3
14
1. UI-автотесты – универсальные, но длительные и нестабильные.
2. Чтобы с этим бороться нужно:
• автоматизировать то, что мы тестируем, а не то как это
делается.
• понимать как работает то что мы тестируем.
• дробить тестовые сценарии на более мелкие части.
Итоги…
15
Теория:
• Автоматизация Тестирования - Почему умирают проекты?
• Time to mock back-end!
• Можно ли перевернуть пирамиду?
• Время для издевательств над задней частью!
Практика:
• How To Use CasperJS with Mocked Data to Test Your Site’s UI
• Github/bemo
• CasperJS
Ссылки
16
Спасибо за внимание!
Ваши вопросы?

More Related Content

PPTX
Как улучшить тесты на Selenium с помощью "визуального тестирования"?
PPTX
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
PPTX
Автоматизированное тестирование верстки веб-сайтов, используя сравнение с диз...
PDF
Т. Черемных "Автоматизация тестирования верстки", DUMP-2014
PPTX
Как играть без игрока
PPTX
(Seleniumcamp) Selenium RC for QA Engineer
PDF
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
PPTX
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Как улучшить тесты на Selenium с помощью "визуального тестирования"?
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизированное тестирование верстки веб-сайтов, используя сравнение с диз...
Т. Черемных "Автоматизация тестирования верстки", DUMP-2014
Как играть без игрока
(Seleniumcamp) Selenium RC for QA Engineer
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...

What's hot (18)

PDF
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
PPTX
Do you know what you are testing?
PPTX
Cовременный контроль качества: давай сделаем это по-быстрому...
ODP
The fast and the continuous
PPTX
Test Driven Development in ASP.NET MVC 3
PPTX
Qa Automation - отбрасываем лишнее и тестируем суть
PPTX
Web driver история одной миграции
PPTX
CodeFest
PDF
Михаил Левин: Автоматизация в мобильном тестировании
PPTX
Автоматизация тестирования ролей и привилегий
PDF
DevOps - позволь работе приносить удовольствие
PDF
Scrum глазами тестировщика или как создать стратегию для любой задачи
PDF
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
PDF
Организация процесса ручного тестирования
PPT
Кому следует писать автоматические тесты?
PPSX
История HERE Maps for Windows: меняемся не изменяя качеству
PPT
лившиц владимир - независимое тестирование миф
PPTX
Андрей Стахиевич - Appium Mobile Automation Tool
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
Do you know what you are testing?
Cовременный контроль качества: давай сделаем это по-быстрому...
The fast and the continuous
Test Driven Development in ASP.NET MVC 3
Qa Automation - отбрасываем лишнее и тестируем суть
Web driver история одной миграции
CodeFest
Михаил Левин: Автоматизация в мобильном тестировании
Автоматизация тестирования ролей и привилегий
DevOps - позволь работе приносить удовольствие
Scrum глазами тестировщика или как создать стратегию для любой задачи
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
Организация процесса ручного тестирования
Кому следует писать автоматические тесты?
История HERE Maps for Windows: меняемся не изменяя качеству
лившиц владимир - независимое тестирование миф
Андрей Стахиевич - Appium Mobile Automation Tool
Ad

Viewers also liked (19)

PDF
Sea power 2-session 7-napoleon and nelson
PPTX
Presentación retos y compromisos (1)
PDF
投資大師羅傑斯給女兒的十二封信
PDF
Sea power session 6-malaga
PPTX
Evolutie les 1
PPTX
Invention made in 18th century
PDF
Big Data Expo 2015 - Teradata Big Data : Just use it!
PDF
Na drodze do zawodu programistki. KODILLA
PPTX
Europa
PDF
Joho kaigi#3lt
PPTX
OpenText ECR Presentation - Order Status App
PPTX
Apache Oozie Workflow Scheduler - Module 10
PPT
Innovative leadership
PPTX
Hoe ict het taalonderwijs persoonlijker kan maken
PDF
Application of VAVE in Cost reduction at Automobile Industry
PPTX
Computational thinking als onderdeel van Digitale geletterdheid in het onderwijs
PPTX
Digitale geletterdheid binnenste buiten | Onderwijsdagen
PPT
Für meine Freunde
Sea power 2-session 7-napoleon and nelson
Presentación retos y compromisos (1)
投資大師羅傑斯給女兒的十二封信
Sea power session 6-malaga
Evolutie les 1
Invention made in 18th century
Big Data Expo 2015 - Teradata Big Data : Just use it!
Na drodze do zawodu programistki. KODILLA
Europa
Joho kaigi#3lt
OpenText ECR Presentation - Order Status App
Apache Oozie Workflow Scheduler - Module 10
Innovative leadership
Hoe ict het taalonderwijs persoonlijker kan maken
Application of VAVE in Cost reduction at Automobile Industry
Computational thinking als onderdeel van Digitale geletterdheid in het onderwijs
Digitale geletterdheid binnenste buiten | Onderwijsdagen
Für meine Freunde
Ad

Similar to Причины и способы имитации back-end'а (20)

PPTX
А вы знаете что тестируют ваши тесты?
PDF
«Я спросил у сервера...», Илья Пастушков
PDF
Alexey Lupan - Оценка времени на тестирование: неочевидные надводные камни
PDF
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
PPTX
Автоматизация тестирования: почему умирают проекты?
PPTX
Автоматизация Тестирования - Почему умирают проекты?
PPTX
Ошибки начинающих Tdd практиков, плюсы применения
PPTX
О тестировании в EDI
PPTX
Автоматизация тестирования
PPTX
Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения
PDF
Как построить свой фреймворк для автотестов?
PDF
Test Automation Canvas - не наступайте на глабли автоматизации
PPTX
Автотесты и образ мышления
PPTX
Полезные "фишки" для построения успешного процесса тестирования
PPTX
SQA Days 10: Фишки просветлённых тест-менеджеров
PDF
тестирование
ODP
The fast and the continuous - SQA Days 16
PDF
10M tests per day
PPTX
Эффективные email коммуникации
PPTX
Документация тестировщика - Александр Трибушный
А вы знаете что тестируют ваши тесты?
«Я спросил у сервера...», Илья Пастушков
Alexey Lupan - Оценка времени на тестирование: неочевидные надводные камни
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Автоматизация тестирования: почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?
Ошибки начинающих Tdd практиков, плюсы применения
О тестировании в EDI
Автоматизация тестирования
Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения
Как построить свой фреймворк для автотестов?
Test Automation Canvas - не наступайте на глабли автоматизации
Автотесты и образ мышления
Полезные "фишки" для построения успешного процесса тестирования
SQA Days 10: Фишки просветлённых тест-менеджеров
тестирование
The fast and the continuous - SQA Days 16
10M tests per day
Эффективные email коммуникации
Документация тестировщика - Александр Трибушный

Причины и способы имитации back-end'а

  • 1. Докладчик: Авчинникова О. И. Причины и способы имитации back-end'а февраль, 2016
  • 2. 1. Тесты пишутся долго. 2. Высокие затраты на поддержку. 3. Тесты выполняются долго. 4. Тесты хрупкие. 5. Много времени тратится на выяснение причин падения тестов. Проблемы UI-тестов Уровень 2
  • 3. 1. В среднем 2-3% “failed” тестов. Немного арифметики • Всего: 300 тестов • Дефектов: 5 шт • Процент падений: 3% • Время выполнения теста: 1мин • Время анализа падения: 10 мин. 1 запуск +1 перезапуск Итог Упало (300-5)*3%+5 = 14 + Упало (14-5) * 3% + 5 = 5 19 Время выполнения 300мин = 5 часов + Время выполнения 14минут 5ч 14мин Время анализа 14*10=2ч 18мин Время анализа 5*10 = 50мин 3ч 8мин 3
  • 4. Какими же должны быть идеальные тесты? • Время выполнения: максимум 10 мин. • Запуск после очередного коммита. • Мгновенное оповещение виновника проблем. 4
  • 5. Что могло бы нам помочь? 5
  • 6. Так можно ли перевернуть пирамиду? UIUI API UNIT UI UI API UNIT ИЛИ 6
  • 7. UIUI API UNIT • Научиться писать код качественно. • Максимально снизить время на подготовку предусловий. • Максимально снизить время ожидания при загрузке страницы/проливке данных. • Четко понимать, что конкретно мы тестируем и не делать никаких лишних действий. • Каждый раз, когда это возможно, опускаться на уровень ниже. • Автоматизировать нужно то, что мы тестируем, а не то как это делается. • Разделяй и властвуй. Что могло бы нам помочь? 7
  • 8. • Надо понимать, что и как тестируется (высокий уровень знания проекта). • При тестировании по кусочкам можно что-либо упустить. НО! Возможно эти недостатки стоят того, чтоб получить набор гарантированно работающей критической функциональности, а какие-то менее важные детали можно и упустить. Недостатки 8
  • 9. 1. Отдельно тестируем серверную логику: • Через веб-сервисы; 2. Отдельно проверяем работу UI • Jasmine • BeMo + Xhoock • CasperJS + Sinon.JS/Mockjax 3. Смотрим, что все вместе корректно работает. • Selenium Разделяй и властвуй 9
  • 10. Сократить кол-во посредников – делаем заглушки. 10
  • 11. CasperJS + Sinon.JS/Mockjax //функция ответа на перехваченные запросы, согласно установленным правилам 11
  • 12. //создание правила для ответа на запросы CasperJS + Sinon.JS/Mockjax 12
  • 14. CasperJS + Sinon.JS/Mockjax //стартовая форма //оригинальный ответ от сервера //нами запрограммированный ответ от сервера 1 2 3 14
  • 15. 1. UI-автотесты – универсальные, но длительные и нестабильные. 2. Чтобы с этим бороться нужно: • автоматизировать то, что мы тестируем, а не то как это делается. • понимать как работает то что мы тестируем. • дробить тестовые сценарии на более мелкие части. Итоги… 15
  • 16. Теория: • Автоматизация Тестирования - Почему умирают проекты? • Time to mock back-end! • Можно ли перевернуть пирамиду? • Время для издевательств над задней частью! Практика: • How To Use CasperJS with Mocked Data to Test Your Site’s UI • Github/bemo • CasperJS Ссылки 16