SlideShare une entreprise Scribd logo
1  sur  40
End to end тесты - дешево и сердито
Альтернативный подход к тестированию web-
приложений




                       Confidential
UNIT-ТЕСТЫ




             Confidential   2
Немного о Unit-тестах


• Идея состоит в том, чтобы писать тесты
  для каждой нетривиальной функции или
  метода




                        Confidential
Немного о Unit-тестах


• Идея состоит в том, чтобы писать тесты
  для каждой нетривиальной функции или
  метода
• Цель - изолировать отдельные части
  программы и показать, что по
  отдельности эти части работоспособны




                        Confidential
Немного о Unit-тестах


• Идея состоит в том, чтобы писать тесты
  для каждой нетривиальной функции или
  метода
• Цель - изолировать отдельные части
  программы и показать, что по
  отдельности эти части работоспособны
• Служат своеобразной документацией к
  модулю

                        Confidential
Где используются Unit-тесты


• Экстремальное программирование
(Test driven development)




                            Confidential
Где используются Unit-тесты


• Экстремальное программирование
(Test driven development)
• Автоматизированное тестирование
(Continuous integration)




                            Confidential
Где используются Unit-тесты


• Экстремальное программирование
(Test driven development)
• Автоматизированное тестирование
(Continuous integration)
• Полезны при рефакторинге




                            Confidential
Утилиты автоматической сборки проектов


• Jenkins
• CruiseControl




                        Confidential     9
Особенности Unit-тестов


• Повышают надежность кода




                          Confidential
Особенности Unit-тестов


• Повышают надежность кода
• Поощряют программистов к изменениям
  кода




                          Confidential
Особенности Unit-тестов


• Повышают надежность кода
• Поощряют программистов к изменениям
  кода
• Упрощают интеграцию модулей




                          Confidential
Особенности Unit-тестов


• Повышают надежность кода
• Поощряют программистов к изменениям
  кода
• Упрощают интеграцию модулей
• Тестируют внутреннюю логику модулей




                          Confidential
Проблемы Unit-тестов


• Временные затраты часто >=
  реализации самого модуля




                       Confidential
Проблемы Unit-тестов


• Временные затраты часто >=
  реализации самого модуля
• Поддержка уже написанных тестов




                       Confidential
Проблемы Unit-тестов


• Временные затраты часто >=
  реализации самого модуля
• Поддержка уже написанных тестов
• Необходима модульная архитектура




                       Confidential
Проблемы Unit-тестов


• Временные затраты часто >=
  реализации самого модуля
• Поддержка уже написанных тестов
• Необходима модульная архитектура
• Для ощутимого результата необходимо
  достаточное покрытие тестами (Code
  Coverage)


                       Confidential
А что если у нас нет таких
 ресурсов, но нам нужно
  тестировать продукт?


               Confidential
END TO END ТЕСТЫ




                   Confidential   19
Что такое End to end тесты?


• Тестирование сценариев (User test-
  cases)




                          Confidential   20
Что такое End to end тесты?


• Тестирование сценариев (User test-
  cases)
• Относятся к методам тестирования
  серого ящика, т.е. когда мы имеем некое
  представление о внутреннем устройстве
  системы




                          Confidential   21
Что такое End to end тесты?


• Тестирование сценариев (User test-cases)
• Относятся к методам тестирования серого
  ящика, т.е. когда мы имеем некое
  представление о внутреннем устройстве
  системы
• Цель - определение системы зависимостей
  и подтверждения того, чтобы нужная
  информация передается между
  различными компонентами системы


                          Confidential   22
Что такое End to end тесты?

• Тестирование сценариев (User test-cases)
• Относятся к методам тестирования серого
  ящика, т.е. когда мы имеем некое
  представление о внутреннем устройстве
  системы
• Цель - определение системы зависимостей
  и подтверждения того, чтобы нужная
  информация передается между
  различными компонентами системы
• Если не работает хоть один под-компонент,
  то не работает вся система(страница)

                          Confidential    23
End to end тесты на GameTrailers.com


• Проверяют доступность страниц




                         Confidential   24
End to end тесты на GameTrailers.com


• Проверяют доступность страниц
• Проверяют выходные данные




                         Confidential   25
End to end тесты на GameTrailers.com


• Проверяют доступность страниц
• Проверяют выходные данные
• Могут отлавливать серверные ошибки




                         Confidential   26
End to end тесты на GameTrailers.com


• Проверяют доступность страниц
• Проверяют выходные данные
• Могут отлавливать серверные ошибки
• Система тестов проста в реализации




                         Confidential   27
End to end тесты на GameTrailers.com


• Проверяют доступность страниц
• Проверяют выходные данные
• Могут отлавливать серверные ошибки
• Система тестов проста в реализации
• Добавить новый тест в систему может
  любой разработчик в команде



                         Confidential   28
Confidential   29
End to end тесты на GameTrailers.com

                    Старт теста



              Выкачиваем страницу по
               определенному адресу



               Проверяем серверные
                     ошибки


                 Проверяем наличие
               параметров для теста в
                  выходных данных




                                  Confidential   30
End to end тесты на GameTrailers.com
     Параметры end to end
            теста

                            Адрес проверяемой
                              страницы или
                                фрагмента

                             Набор проверяемых
                                   данных
                              (для проверки их
                            наличия на странице)



                             Confidential          31
End to end тесты на GameTrailers.com




Пример:
• Ожидаемая строка: collection-player
• URL страницы: http://www.example.com/page1


                            Confidential       32
С помощью End to end тестов
удалось решить следующие
          задачи



               Confidential   33
Особенность End to end тестов на GT.com


С помощью End to end тестов удалось
решить следующие задачи
  – покрытие тестами всех страниц




                          Confidential    34
Особенность End to end тестов на GT.com


С помощью End to end тестов удалось
решить следующие задачи
  – покрытие тестами всех страниц



  – мониторинг серверных ресурсов (Profiling)




                           Confidential         35
Особенность End to end тестов на GT.com


                Система тестирования




                                    End to end тесты
    Unit-тесты для
                                    для проверки
    жизненно важных
                                    доступности
    модулей
                                    системы в целом




                                Confidential           36
Минусы данного подхода




• Не тестирует JavaScript
• Нет пользовательских Test-cases




                         Confidential   37
Минусы данного подхода
   Selenium позволяет это реализовать




                         Confidential   38
Any questions?




         Confidential   39
Спасибо за внимание




            Confidential   40

Contenu connexe

Tendances

CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest
 
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQAFest
 
Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2Technopark
 
Архитектура автоматизированных тестов
Архитектура автоматизированных тестовАрхитектура автоматизированных тестов
Архитектура автоматизированных тестовSQALab
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgIT61
 
Стратегия тестирования крупного проекта в условиях Agile разработки v2
Стратегия тестирования крупного проекта в условиях Agile разработки v2Стратегия тестирования крупного проекта в условиях Agile разработки v2
Стратегия тестирования крупного проекта в условиях Agile разработки v2Magneta AI
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовSQALab
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...WrikeTechClub
 
Badger — инструмент для мониторинга качества продуктов
Badger — инструмент для мониторинга качества продуктовBadger — инструмент для мониторинга качества продуктов
Badger — инструмент для мониторинга качества продуктовSQALab
 
TestLink
TestLinkTestLink
TestLinkISsoft
 
Artem Shabarshin. CSEDays
Artem Shabarshin. CSEDaysArtem Shabarshin. CSEDays
Artem Shabarshin. CSEDaysLiloSEA
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioSQALab
 
6 лекция. тестирование производительности
 6 лекция. тестирование производительности 6 лекция. тестирование производительности
6 лекция. тестирование производительностиvyacheslavmaslov
 
Grail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестовGrail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестовCodeFest
 
Оценка качества автотестов
Оценка качества автотестовОценка качества автотестов
Оценка качества автотестовSQALab
 
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
(Seleniumcamp) Selenium IDE как артефакт пикника на обочинеAlexei Lupan
 
Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Hub-IT-School
 
Инструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаИнструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаSQALab
 

Tendances (18)

CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
 
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
 
Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2
 
Архитектура автоматизированных тестов
Архитектура автоматизированных тестовАрхитектура автоматизированных тестов
Архитектура автоматизированных тестов
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
 
Стратегия тестирования крупного проекта в условиях Agile разработки v2
Стратегия тестирования крупного проекта в условиях Agile разработки v2Стратегия тестирования крупного проекта в условиях Agile разработки v2
Стратегия тестирования крупного проекта в условиях Agile разработки v2
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптов
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
 
Badger — инструмент для мониторинга качества продуктов
Badger — инструмент для мониторинга качества продуктовBadger — инструмент для мониторинга качества продуктов
Badger — инструмент для мониторинга качества продуктов
 
TestLink
TestLinkTestLink
TestLink
 
Artem Shabarshin. CSEDays
Artem Shabarshin. CSEDaysArtem Shabarshin. CSEDays
Artem Shabarshin. CSEDays
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test Studio
 
6 лекция. тестирование производительности
 6 лекция. тестирование производительности 6 лекция. тестирование производительности
6 лекция. тестирование производительности
 
Grail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестовGrail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестов
 
Оценка качества автотестов
Оценка качества автотестовОценка качества автотестов
Оценка качества автотестов
 
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
 
Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".
 
Инструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаИнструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщика
 

En vedette

QA Fes 2016. Александр Хотемской. Обзор ProtractorJS как фреймворка для брауз...
QA Fes 2016. Александр Хотемской. Обзор ProtractorJS как фреймворка для брауз...QA Fes 2016. Александр Хотемской. Обзор ProtractorJS как фреймворка для брауз...
QA Fes 2016. Александр Хотемской. Обзор ProtractorJS как фреймворка для брауз...QAFest
 
Александр Башарин - Проведение пользовательского тестирования с большим число...
Александр Башарин - Проведение пользовательского тестирования с большим число...Александр Башарин - Проведение пользовательского тестирования с большим число...
Александр Башарин - Проведение пользовательского тестирования с большим число...SQALab
 
Автоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UIАвтоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UIautomated-testing.info
 
Design patterns in test automation
Design patterns in test automationDesign patterns in test automation
Design patterns in test automationMikalai Alimenkou
 
Управление тестированием в Agile
Управление тестированием в AgileУправление тестированием в Agile
Управление тестированием в AgileAskhat Urazbaev
 
Как оценить тестировщика
Как оценить тестировщикаКак оценить тестировщика
Как оценить тестировщикаSQALab
 
Чек-лист по юзабилити сайта
Чек-лист по юзабилити сайтаЧек-лист по юзабилити сайта
Чек-лист по юзабилити сайтаPromodo
 
Computer software engineer performance appraisal
Computer software engineer performance appraisalComputer software engineer performance appraisal
Computer software engineer performance appraisaljamespoter576
 

En vedette (8)

QA Fes 2016. Александр Хотемской. Обзор ProtractorJS как фреймворка для брауз...
QA Fes 2016. Александр Хотемской. Обзор ProtractorJS как фреймворка для брауз...QA Fes 2016. Александр Хотемской. Обзор ProtractorJS как фреймворка для брауз...
QA Fes 2016. Александр Хотемской. Обзор ProtractorJS как фреймворка для брауз...
 
Александр Башарин - Проведение пользовательского тестирования с большим число...
Александр Башарин - Проведение пользовательского тестирования с большим число...Александр Башарин - Проведение пользовательского тестирования с большим число...
Александр Башарин - Проведение пользовательского тестирования с большим число...
 
Автоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UIАвтоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UI
 
Design patterns in test automation
Design patterns in test automationDesign patterns in test automation
Design patterns in test automation
 
Управление тестированием в Agile
Управление тестированием в AgileУправление тестированием в Agile
Управление тестированием в Agile
 
Как оценить тестировщика
Как оценить тестировщикаКак оценить тестировщика
Как оценить тестировщика
 
Чек-лист по юзабилити сайта
Чек-лист по юзабилити сайтаЧек-лист по юзабилити сайта
Чек-лист по юзабилити сайта
 
Computer software engineer performance appraisal
Computer software engineer performance appraisalComputer software engineer performance appraisal
Computer software engineer performance appraisal
 

Similaire à Сергей Семашко "End to end test: cheap and effective"

Марина Широчкина - Тестирование
Марина Широчкина - ТестированиеМарина Широчкина - Тестирование
Марина Широчкина - ТестированиеYandex
 
Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Yandex
 
Тестирование ПО
Тестирование ПОТестирование ПО
Тестирование ПОseleznev_stas
 
Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"
Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"
Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"Yandex
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
 
Невидимый фронт или тестирование digital-проектов
Невидимый фронт или тестирование digital-проектовНевидимый фронт или тестирование digital-проектов
Невидимый фронт или тестирование digital-проектовSmartHead
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Technopark
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаIgor Lyubin
 
Марина Широчкина: Тестирование
Марина Широчкина: ТестированиеМарина Широчкина: Тестирование
Марина Широчкина: ТестированиеYandex
 
тестирование
тестированиетестирование
тестированиеYandex
 
Автоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знанийАвтоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знанийSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)AvitoTech
 
Тестирование осень 2013 лекция 3
Тестирование осень 2013 лекция 3Тестирование осень 2013 лекция 3
Тестирование осень 2013 лекция 3Technopark
 
Филипп Уваров, Avito
Филипп Уваров, AvitoФилипп Уваров, Avito
Филипп Уваров, AvitoBadoo Development
 
Introduction into Test Driven Development
Introduction into Test Driven DevelopmentIntroduction into Test Driven Development
Introduction into Test Driven DevelopmentIvan Dyachenko
 
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Technopark
 
Тестирование весна 2014 смешанное занятие 1
Тестирование весна 2014 смешанное занятие 1Тестирование весна 2014 смешанное занятие 1
Тестирование весна 2014 смешанное занятие 1Technopark
 

Similaire à Сергей Семашко "End to end test: cheap and effective" (20)

Марина Широчкина - Тестирование
Марина Широчкина - ТестированиеМарина Широчкина - Тестирование
Марина Широчкина - Тестирование
 
Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»
 
Тестирование ПО
Тестирование ПОТестирование ПО
Тестирование ПО
 
Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"
Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"
Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Невидимый фронт или тестирование digital-проектов
Невидимый фронт или тестирование digital-проектовНевидимый фронт или тестирование digital-проектов
Невидимый фронт или тестирование digital-проектов
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя система
 
Марина Широчкина: Тестирование
Марина Широчкина: ТестированиеМарина Широчкина: Тестирование
Марина Широчкина: Тестирование
 
тестирование
тестированиетестирование
тестирование
 
Автоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знанийАвтоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знаний
 
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
 
Тестирование осень 2013 лекция 3
Тестирование осень 2013 лекция 3Тестирование осень 2013 лекция 3
Тестирование осень 2013 лекция 3
 
Филипп Уваров, Avito
Филипп Уваров, AvitoФилипп Уваров, Avito
Филипп Уваров, Avito
 
Introduction into Test Driven Development
Introduction into Test Driven DevelopmentIntroduction into Test Driven Development
Introduction into Test Driven Development
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5
 
Тестирование весна 2014 смешанное занятие 1
Тестирование весна 2014 смешанное занятие 1Тестирование весна 2014 смешанное занятие 1
Тестирование весна 2014 смешанное занятие 1
 

Plus de EPAM Systems

“Xcore (library) for android platform” by Uladzimir Klyshevich
“Xcore (library) for android platform” by Uladzimir Klyshevich“Xcore (library) for android platform” by Uladzimir Klyshevich
“Xcore (library) for android platform” by Uladzimir KlyshevichEPAM Systems
 
"Как общаться эффективнее" by Natallia Kapatsevich
"Как общаться эффективнее" by Natallia Kapatsevich"Как общаться эффективнее" by Natallia Kapatsevich
"Как общаться эффективнее" by Natallia KapatsevichEPAM Systems
 
"Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat
"Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat "Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat
"Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat EPAM Systems
 
ДмитрийРадченко, "Brief introduction to dundas"
ДмитрийРадченко, "Brief introduction to dundas"ДмитрийРадченко, "Brief introduction to dundas"
ДмитрийРадченко, "Brief introduction to dundas"EPAM Systems
 
Абрамович Максим, "Rad studio xe4"
Абрамович Максим, "Rad studio xe4"Абрамович Максим, "Rad studio xe4"
Абрамович Максим, "Rad studio xe4"EPAM Systems
 
Miniq 11: Time management by Anton Zolotarev & Andrei Artisheuski
Miniq 11: Time management by Anton Zolotarev & Andrei ArtisheuskiMiniq 11: Time management by Anton Zolotarev & Andrei Artisheuski
Miniq 11: Time management by Anton Zolotarev & Andrei ArtisheuskiEPAM Systems
 
Reporting куда как-зачем by Anton Stoliar
Reporting   куда как-зачем by Anton StoliarReporting   куда как-зачем by Anton Stoliar
Reporting куда как-зачем by Anton StoliarEPAM Systems
 
Pool and billiards by Olga Nikolaeva
Pool and billiards by Olga NikolaevaPool and billiards by Olga Nikolaeva
Pool and billiards by Olga NikolaevaEPAM Systems
 
The Way of Creating Presentations: Just do it!
The Way of Creating Presentations: Just do it!The Way of Creating Presentations: Just do it!
The Way of Creating Presentations: Just do it!EPAM Systems
 
E-mail Communication: How and Why
E-mail Communication: How and WhyE-mail Communication: How and Why
E-mail Communication: How and WhyEPAM Systems
 
николай фролов, “Gamification“
николай фролов, “Gamification“николай фролов, “Gamification“
николай фролов, “Gamification“EPAM Systems
 
Real time bidding by Danil Melnikov
Real time bidding by Danil MelnikovReal time bidding by Danil Melnikov
Real time bidding by Danil MelnikovEPAM Systems
 
Никита Манько “Code review”
Никита Манько “Code review”Никита Манько “Code review”
Никита Манько “Code review”EPAM Systems
 
Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”EPAM Systems
 
Демидюк Павел , “Continuous integration with the real traffic light in m&e of...
Демидюк Павел , “Continuous integration with the real traffic light in m&e of...Демидюк Павел , “Continuous integration with the real traffic light in m&e of...
Демидюк Павел , “Continuous integration with the real traffic light in m&e of...EPAM Systems
 
Agile retrospectives by nick frolov miniq
Agile retrospectives by nick frolov   miniqAgile retrospectives by nick frolov   miniq
Agile retrospectives by nick frolov miniqEPAM Systems
 
Other way to travel by Anna Lukyanenka
Other way to travel by Anna LukyanenkaOther way to travel by Anna Lukyanenka
Other way to travel by Anna LukyanenkaEPAM Systems
 
Computer as a musical instrument by Sergey Moiseychik
Computer as a musical instrument by Sergey MoiseychikComputer as a musical instrument by Sergey Moiseychik
Computer as a musical instrument by Sergey MoiseychikEPAM Systems
 
Антон Золотарев, Екатерина Невельская "По следам SQA days"
Антон Золотарев, Екатерина Невельская "По следам SQA days"Антон Золотарев, Екатерина Невельская "По следам SQA days"
Антон Золотарев, Екатерина Невельская "По следам SQA days"EPAM Systems
 
Alexander Litvinok (software engineer) "bdd wtf"
Alexander Litvinok (software engineer) "bdd wtf"Alexander Litvinok (software engineer) "bdd wtf"
Alexander Litvinok (software engineer) "bdd wtf"EPAM Systems
 

Plus de EPAM Systems (20)

“Xcore (library) for android platform” by Uladzimir Klyshevich
“Xcore (library) for android platform” by Uladzimir Klyshevich“Xcore (library) for android platform” by Uladzimir Klyshevich
“Xcore (library) for android platform” by Uladzimir Klyshevich
 
"Как общаться эффективнее" by Natallia Kapatsevich
"Как общаться эффективнее" by Natallia Kapatsevich"Как общаться эффективнее" by Natallia Kapatsevich
"Как общаться эффективнее" by Natallia Kapatsevich
 
"Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat
"Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat "Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat
"Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat
 
ДмитрийРадченко, "Brief introduction to dundas"
ДмитрийРадченко, "Brief introduction to dundas"ДмитрийРадченко, "Brief introduction to dundas"
ДмитрийРадченко, "Brief introduction to dundas"
 
Абрамович Максим, "Rad studio xe4"
Абрамович Максим, "Rad studio xe4"Абрамович Максим, "Rad studio xe4"
Абрамович Максим, "Rad studio xe4"
 
Miniq 11: Time management by Anton Zolotarev & Andrei Artisheuski
Miniq 11: Time management by Anton Zolotarev & Andrei ArtisheuskiMiniq 11: Time management by Anton Zolotarev & Andrei Artisheuski
Miniq 11: Time management by Anton Zolotarev & Andrei Artisheuski
 
Reporting куда как-зачем by Anton Stoliar
Reporting   куда как-зачем by Anton StoliarReporting   куда как-зачем by Anton Stoliar
Reporting куда как-зачем by Anton Stoliar
 
Pool and billiards by Olga Nikolaeva
Pool and billiards by Olga NikolaevaPool and billiards by Olga Nikolaeva
Pool and billiards by Olga Nikolaeva
 
The Way of Creating Presentations: Just do it!
The Way of Creating Presentations: Just do it!The Way of Creating Presentations: Just do it!
The Way of Creating Presentations: Just do it!
 
E-mail Communication: How and Why
E-mail Communication: How and WhyE-mail Communication: How and Why
E-mail Communication: How and Why
 
николай фролов, “Gamification“
николай фролов, “Gamification“николай фролов, “Gamification“
николай фролов, “Gamification“
 
Real time bidding by Danil Melnikov
Real time bidding by Danil MelnikovReal time bidding by Danil Melnikov
Real time bidding by Danil Melnikov
 
Никита Манько “Code review”
Никита Манько “Code review”Никита Манько “Code review”
Никита Манько “Code review”
 
Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”
 
Демидюк Павел , “Continuous integration with the real traffic light in m&e of...
Демидюк Павел , “Continuous integration with the real traffic light in m&e of...Демидюк Павел , “Continuous integration with the real traffic light in m&e of...
Демидюк Павел , “Continuous integration with the real traffic light in m&e of...
 
Agile retrospectives by nick frolov miniq
Agile retrospectives by nick frolov   miniqAgile retrospectives by nick frolov   miniq
Agile retrospectives by nick frolov miniq
 
Other way to travel by Anna Lukyanenka
Other way to travel by Anna LukyanenkaOther way to travel by Anna Lukyanenka
Other way to travel by Anna Lukyanenka
 
Computer as a musical instrument by Sergey Moiseychik
Computer as a musical instrument by Sergey MoiseychikComputer as a musical instrument by Sergey Moiseychik
Computer as a musical instrument by Sergey Moiseychik
 
Антон Золотарев, Екатерина Невельская "По следам SQA days"
Антон Золотарев, Екатерина Невельская "По следам SQA days"Антон Золотарев, Екатерина Невельская "По следам SQA days"
Антон Золотарев, Екатерина Невельская "По следам SQA days"
 
Alexander Litvinok (software engineer) "bdd wtf"
Alexander Litvinok (software engineer) "bdd wtf"Alexander Litvinok (software engineer) "bdd wtf"
Alexander Litvinok (software engineer) "bdd wtf"
 

Сергей Семашко "End to end test: cheap and effective"

  • 1. End to end тесты - дешево и сердито Альтернативный подход к тестированию web- приложений Confidential
  • 2. UNIT-ТЕСТЫ Confidential 2
  • 3. Немного о Unit-тестах • Идея состоит в том, чтобы писать тесты для каждой нетривиальной функции или метода Confidential
  • 4. Немного о Unit-тестах • Идея состоит в том, чтобы писать тесты для каждой нетривиальной функции или метода • Цель - изолировать отдельные части программы и показать, что по отдельности эти части работоспособны Confidential
  • 5. Немного о Unit-тестах • Идея состоит в том, чтобы писать тесты для каждой нетривиальной функции или метода • Цель - изолировать отдельные части программы и показать, что по отдельности эти части работоспособны • Служат своеобразной документацией к модулю Confidential
  • 6. Где используются Unit-тесты • Экстремальное программирование (Test driven development) Confidential
  • 7. Где используются Unit-тесты • Экстремальное программирование (Test driven development) • Автоматизированное тестирование (Continuous integration) Confidential
  • 8. Где используются Unit-тесты • Экстремальное программирование (Test driven development) • Автоматизированное тестирование (Continuous integration) • Полезны при рефакторинге Confidential
  • 9. Утилиты автоматической сборки проектов • Jenkins • CruiseControl Confidential 9
  • 10. Особенности Unit-тестов • Повышают надежность кода Confidential
  • 11. Особенности Unit-тестов • Повышают надежность кода • Поощряют программистов к изменениям кода Confidential
  • 12. Особенности Unit-тестов • Повышают надежность кода • Поощряют программистов к изменениям кода • Упрощают интеграцию модулей Confidential
  • 13. Особенности Unit-тестов • Повышают надежность кода • Поощряют программистов к изменениям кода • Упрощают интеграцию модулей • Тестируют внутреннюю логику модулей Confidential
  • 14. Проблемы Unit-тестов • Временные затраты часто >= реализации самого модуля Confidential
  • 15. Проблемы Unit-тестов • Временные затраты часто >= реализации самого модуля • Поддержка уже написанных тестов Confidential
  • 16. Проблемы Unit-тестов • Временные затраты часто >= реализации самого модуля • Поддержка уже написанных тестов • Необходима модульная архитектура Confidential
  • 17. Проблемы Unit-тестов • Временные затраты часто >= реализации самого модуля • Поддержка уже написанных тестов • Необходима модульная архитектура • Для ощутимого результата необходимо достаточное покрытие тестами (Code Coverage) Confidential
  • 18. А что если у нас нет таких ресурсов, но нам нужно тестировать продукт? Confidential
  • 19. END TO END ТЕСТЫ Confidential 19
  • 20. Что такое End to end тесты? • Тестирование сценариев (User test- cases) Confidential 20
  • 21. Что такое End to end тесты? • Тестирование сценариев (User test- cases) • Относятся к методам тестирования серого ящика, т.е. когда мы имеем некое представление о внутреннем устройстве системы Confidential 21
  • 22. Что такое End to end тесты? • Тестирование сценариев (User test-cases) • Относятся к методам тестирования серого ящика, т.е. когда мы имеем некое представление о внутреннем устройстве системы • Цель - определение системы зависимостей и подтверждения того, чтобы нужная информация передается между различными компонентами системы Confidential 22
  • 23. Что такое End to end тесты? • Тестирование сценариев (User test-cases) • Относятся к методам тестирования серого ящика, т.е. когда мы имеем некое представление о внутреннем устройстве системы • Цель - определение системы зависимостей и подтверждения того, чтобы нужная информация передается между различными компонентами системы • Если не работает хоть один под-компонент, то не работает вся система(страница) Confidential 23
  • 24. End to end тесты на GameTrailers.com • Проверяют доступность страниц Confidential 24
  • 25. End to end тесты на GameTrailers.com • Проверяют доступность страниц • Проверяют выходные данные Confidential 25
  • 26. End to end тесты на GameTrailers.com • Проверяют доступность страниц • Проверяют выходные данные • Могут отлавливать серверные ошибки Confidential 26
  • 27. End to end тесты на GameTrailers.com • Проверяют доступность страниц • Проверяют выходные данные • Могут отлавливать серверные ошибки • Система тестов проста в реализации Confidential 27
  • 28. End to end тесты на GameTrailers.com • Проверяют доступность страниц • Проверяют выходные данные • Могут отлавливать серверные ошибки • Система тестов проста в реализации • Добавить новый тест в систему может любой разработчик в команде Confidential 28
  • 30. End to end тесты на GameTrailers.com Старт теста Выкачиваем страницу по определенному адресу Проверяем серверные ошибки Проверяем наличие параметров для теста в выходных данных Confidential 30
  • 31. End to end тесты на GameTrailers.com Параметры end to end теста Адрес проверяемой страницы или фрагмента Набор проверяемых данных (для проверки их наличия на странице) Confidential 31
  • 32. End to end тесты на GameTrailers.com Пример: • Ожидаемая строка: collection-player • URL страницы: http://www.example.com/page1 Confidential 32
  • 33. С помощью End to end тестов удалось решить следующие задачи Confidential 33
  • 34. Особенность End to end тестов на GT.com С помощью End to end тестов удалось решить следующие задачи – покрытие тестами всех страниц Confidential 34
  • 35. Особенность End to end тестов на GT.com С помощью End to end тестов удалось решить следующие задачи – покрытие тестами всех страниц – мониторинг серверных ресурсов (Profiling) Confidential 35
  • 36. Особенность End to end тестов на GT.com Система тестирования End to end тесты Unit-тесты для для проверки жизненно важных доступности модулей системы в целом Confidential 36
  • 37. Минусы данного подхода • Не тестирует JavaScript • Нет пользовательских Test-cases Confidential 37
  • 38. Минусы данного подхода Selenium позволяет это реализовать Confidential 38
  • 39. Any questions? Confidential 39