3. Немного о Unit-тестах
• Идея состоит в том, чтобы писать тесты
для каждой нетривиальной функции или
метода
Confidential
4. Немного о Unit-тестах
• Идея состоит в том, чтобы писать тесты
для каждой нетривиальной функции или
метода
• Цель - изолировать отдельные части
программы и показать, что по
отдельности эти части работоспособны
Confidential
5. Немного о Unit-тестах
• Идея состоит в том, чтобы писать тесты
для каждой нетривиальной функции или
метода
• Цель - изолировать отдельные части
программы и показать, что по
отдельности эти части работоспособны
• Служат своеобразной документацией к
модулю
Confidential
16. Проблемы Unit-тестов
• Временные затраты часто >=
реализации самого модуля
• Поддержка уже написанных тестов
• Необходима модульная архитектура
Confidential
17. Проблемы Unit-тестов
• Временные затраты часто >=
реализации самого модуля
• Поддержка уже написанных тестов
• Необходима модульная архитектура
• Для ощутимого результата необходимо
достаточное покрытие тестами (Code
Coverage)
Confidential
18. А что если у нас нет таких
ресурсов, но нам нужно
тестировать продукт?
Confidential
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