Сергей Семашко "End to end test: cheap and effective"
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 1,965 views

 

Statistics

Views

Total Views
1,965
Views on SlideShare
1,866
Embed Views
99

Actions

Likes
0
Downloads
0
Comments
0

6 Embeds 99

http://info.epam.com 69
http://evbyminsa0090 10
http://evusprisd0119 9
http://evbyminsa0089 7
http://author.info.epam.com 3
http://evusprisd0146 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • End to end тесты - дешево и сердитоАльтернативный подход к тестированию web-приложений Confidential
  • UNIT-ТЕСТЫ Confidential 2
  • Немного о Unit-тестах• Идея состоит в том, чтобы писать тесты для каждой нетривиальной функции или метода Confidential View slide
  • Немного о Unit-тестах• Идея состоит в том, чтобы писать тесты для каждой нетривиальной функции или метода• Цель - изолировать отдельные части программы и показать, что по отдельности эти части работоспособны Confidential View slide
  • Немного о 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