SlideShare a Scribd company logo
1 of 17
Докладчик: Авчинникова О. И.
Причины и способы имитации
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

What's hot

“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...Igor Khrol
 
Do you know what you are testing?
Do you know what you are testing?Do you know what you are testing?
Do you know what you are testing?Mikalai Alimenkou
 
Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Igor Khrol
 
The fast and the continuous
The fast and the continuousThe fast and the continuous
The fast and the continuousSQALab
 
Test Driven Development in ASP.NET MVC 3
Test Driven Development in ASP.NET MVC 3Test Driven Development in ASP.NET MVC 3
Test Driven Development in ASP.NET MVC 3Anton Vidishchev
 
Qa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем сутьQa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем сутьIgor Khrol
 
Web driver история одной миграции
Web driver   история одной миграцииWeb driver   история одной миграции
Web driver история одной миграцииIgor Khrol
 
Михаил Левин: Автоматизация в мобильном тестировании
Михаил Левин: Автоматизация в мобильном тестированииМихаил Левин: Автоматизация в мобильном тестировании
Михаил Левин: Автоматизация в мобильном тестированииYandex
 
Автоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийАвтоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийSQALab
 
DevOps - позволь работе приносить удовольствие
DevOps - позволь работе приносить удовольствиеDevOps - позволь работе приносить удовольствие
DevOps - позволь работе приносить удовольствиеCOMAQA.BY
 
Scrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачиScrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачиIT61
 
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...Ontico
 
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестированияIT61
 
Кому следует писать автоматические тесты?
Кому следует писать автоматические тесты?Кому следует писать автоматические тесты?
Кому следует писать автоматические тесты?Igor Khrol
 
История HERE Maps for Windows: меняемся не изменяя качеству
История HERE Maps for Windows: меняемся не изменяя качествуИстория HERE Maps for Windows: меняемся не изменяя качеству
История HERE Maps for Windows: меняемся не изменяя качествуSQALab
 
Mobile Automation based on Appium
Mobile Automation based on AppiumMobile Automation based on Appium
Mobile Automation based on AppiumAnton Sirota
 
лившиц владимир - независимое тестирование миф
лившиц владимир - независимое тестирование мифлившиц владимир - независимое тестирование миф
лившиц владимир - независимое тестирование мифMagneta AI
 
Андрей Стахиевич - Appium Mobile Automation Tool
Андрей Стахиевич - Appium Mobile Automation ToolАндрей Стахиевич - Appium Mobile Automation Tool
Андрей Стахиевич - Appium Mobile Automation ToolQA Club Minsk
 

What's hot (19)

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

Viewers also liked

Sea power 2-session 7-napoleon and nelson
Sea power 2-session 7-napoleon and nelsonSea power 2-session 7-napoleon and nelson
Sea power 2-session 7-napoleon and nelsonJim Powers
 
Presentación retos y compromisos (1)
Presentación retos y compromisos (1)Presentación retos y compromisos (1)
Presentación retos y compromisos (1)Sara Flores
 
投資大師羅傑斯給女兒的十二封信
投資大師羅傑斯給女兒的十二封信投資大師羅傑斯給女兒的十二封信
投資大師羅傑斯給女兒的十二封信funpo Lin
 
Sea power session 6-malaga
Sea power session 6-malagaSea power session 6-malaga
Sea power session 6-malagaJim Powers
 
Invention made in 18th century
Invention made in 18th centuryInvention made in 18th century
Invention made in 18th centuryroushanhari
 
Big Data Expo 2015 - Teradata Big Data : Just use it!
Big Data Expo 2015 - Teradata Big Data : Just use it!Big Data Expo 2015 - Teradata Big Data : Just use it!
Big Data Expo 2015 - Teradata Big Data : Just use it!BigDataExpo
 
Na drodze do zawodu programistki. KODILLA
Na drodze do zawodu programistki. KODILLA Na drodze do zawodu programistki. KODILLA
Na drodze do zawodu programistki. KODILLA mamopracuj
 
OpenText ECR Presentation - Order Status App
OpenText ECR Presentation - Order Status AppOpenText ECR Presentation - Order Status App
OpenText ECR Presentation - Order Status AppMark Morley, MBA
 
Apache Oozie Workflow Scheduler - Module 10
Apache Oozie Workflow Scheduler - Module 10Apache Oozie Workflow Scheduler - Module 10
Apache Oozie Workflow Scheduler - Module 10Rohit Agrawal
 
Innovative leadership
Innovative leadershipInnovative leadership
Innovative leadershipabgatto19
 
Hoe ict het taalonderwijs persoonlijker kan maken
Hoe ict het taalonderwijs persoonlijker kan makenHoe ict het taalonderwijs persoonlijker kan maken
Hoe ict het taalonderwijs persoonlijker kan makenJos Cöp
 
Application of VAVE in Cost reduction at Automobile Industry
Application of VAVE in Cost reduction at Automobile IndustryApplication of VAVE in Cost reduction at Automobile Industry
Application of VAVE in Cost reduction at Automobile IndustryVivek Singh
 
Computational thinking als onderdeel van Digitale geletterdheid in het onderwijs
Computational thinking als onderdeel van Digitale geletterdheid in het onderwijsComputational thinking als onderdeel van Digitale geletterdheid in het onderwijs
Computational thinking als onderdeel van Digitale geletterdheid in het onderwijsSaxion
 
Digitale geletterdheid binnenste buiten | Onderwijsdagen
Digitale geletterdheid binnenste buiten | OnderwijsdagenDigitale geletterdheid binnenste buiten | Onderwijsdagen
Digitale geletterdheid binnenste buiten | OnderwijsdagenSaxion
 
Für meine Freunde
Für meine FreundeFür meine Freunde
Für meine Freundeevasagorski
 

Viewers also liked (19)

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

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

А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?SQALab
 
«Я спросил у сервера...», Илья Пастушков
«Я спросил у сервера...», Илья Пастушков«Я спросил у сервера...», Илья Пастушков
«Я спросил у сервера...», Илья ПастушковDevDay
 
Alexey Lupan - Оценка времени на тестирование: неочевидные надводные камни
Alexey Lupan - Оценка времени на тестирование: неочевидные надводные камниAlexey Lupan - Оценка времени на тестирование: неочевидные надводные камни
Alexey Lupan - Оценка времени на тестирование: неочевидные надводные камниIevgenii Katsan
 
Автоматизация тестирования: почему умирают проекты?
Автоматизация тестирования: почему умирают проекты?Автоматизация тестирования: почему умирают проекты?
Автоматизация тестирования: почему умирают проекты?SQALab
 
Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?Igor Khrol
 
Ошибки начинающих Tdd практиков, плюсы применения
Ошибки начинающих Tdd практиков, плюсы примененияОшибки начинающих Tdd практиков, плюсы применения
Ошибки начинающих Tdd практиков, плюсы примененияzheldak
 
О тестировании в EDI
О тестировании в EDIО тестировании в EDI
О тестировании в EDIMaxim Zakharov
 
Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения
Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполненияАвтотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения
Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполненияSQALab
 
Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Dmitry Buzdin
 
Test Automation Canvas - не наступайте на глабли автоматизации
Test Automation Canvas - не наступайте на глабли автоматизацииTest Automation Canvas - не наступайте на глабли автоматизации
Test Automation Canvas - не наступайте на глабли автоматизацииAndrey Rebrov
 
Автотесты и образ мышления
Автотесты и образ мышленияАвтотесты и образ мышления
Автотесты и образ мышленияAndrei Zubov
 
SQA Days 10: Фишки просветлённых тест-менеджеров
SQA Days 10: Фишки просветлённых тест-менеджеровSQA Days 10: Фишки просветлённых тест-менеджеров
SQA Days 10: Фишки просветлённых тест-менеджеровNatalya Rukol
 
Полезные "фишки" для построения успешного процесса тестирования
Полезные "фишки" для построения успешного процесса тестированияПолезные "фишки" для построения успешного процесса тестирования
Полезные "фишки" для построения успешного процесса тестированияSQALab
 
тестирование
тестированиетестирование
тестированиеYandex
 
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 16Andrei Solntsev
 
Эффективные email коммуникации
Эффективные email коммуникацииЭффективные email коммуникации
Эффективные email коммуникацииDenis Tsvettsih
 
Документация тестировщика - Александр Трибушный
Документация тестировщика - Александр ТрибушныйДокументация тестировщика - Александр Трибушный
Документация тестировщика - Александр ТрибушныйDataArt
 

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

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