Тестирование осень 2013 лекция 3
TRANSCRIPT
![Page 1: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/1.jpg)
Автоматизация функционального
тестирования
Влад Алюков
![Page 2: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/2.jpg)
Кто?
Занимаюсь тестированием 9 лет
Из них 5 лет автоматизацией тестирования и тестовой инфраструктурой
2
![Page 3: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/3.jpg)
О чём?
Подходы
Инструменты
Проблемы
3
![Page 4: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/4.jpg)
4
Зачем?
![Page 5: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/5.jpg)
Зачем?
Широкий взгляд на вопрос качества
Понимание методов его обеспечения
Решение задач подобающим способом
Умение поставлять качественные артефактысвоего труда
5
![Page 6: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/6.jpg)
Agile development
6
![Page 7: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/7.jpg)
Тесты – документация на ваш код
7
![Page 8: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/8.jpg)
Функциональное тестирование
8
![Page 9: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/9.jpg)
Функциональное тестирование
Контроль конечной функциональности на:
пригодность
соответствие требованиям/спецификациям
точность (accuracy testing)
защищённость (security testing)
9
![Page 10: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/10.jpg)
10
Автоматизацияфункционального
тестирования
![Page 11: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/11.jpg)
Автоматизированныефункциональные тесты
11
![Page 12: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/12.jpg)
Автоматизированныефункциональные тесты
Взаимодействуют с GUI или внешним API
Тестируют возможности вашегоприложения/сервиса
12
![Page 13: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/13.jpg)
Каждому уровню свои тесты
13
![Page 14: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/14.jpg)
Почему не unit/интеграционные тесты?
Конечные возможности продукта
Высокая степень интеграции
14
![Page 15: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/15.jpg)
Testing pyramid
15
![Page 16: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/16.jpg)
Предпосылки для автоматизации
16
![Page 17: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/17.jpg)
Предпосылки для автоматизации
Монотонные действия
Стабильные интерфейсы
Высокая частота изменений
Критичность продуктовой возможности
17
![Page 18: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/18.jpg)
Как автоматизировать
Атомарность тестовых сценариев
Герметичность тестовых окружений
18
![Page 19: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/19.jpg)
Герметичность
19
![Page 20: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/20.jpg)
Обеспечение герметичности
Виртуализация
Заглушки
Тестовые состояния приложения
20
![Page 21: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/21.jpg)
Варианты интерфейсов
GUI (Web-интерфейсы/Десктоп)
API (RESTful/SOAP)
21
![Page 22: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/22.jpg)
Паттерны проектированияGUI тестов
22
![Page 23: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/23.jpg)
PageObject
23
![Page 24: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/24.jpg)
DRY
24
![Page 25: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/25.jpg)
фу! плохой тест!
25
![Page 26: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/26.jpg)
PageObject
26
![Page 27: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/27.jpg)
PageObject
27
![Page 28: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/28.jpg)
хороший, образцовый, годный тест!
28
![Page 29: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/29.jpg)
Инструменты
29
![Page 30: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/30.jpg)
Выбор инструментов
Тест должен находиться в максимальной близостик тестируемой возможности
Нельзя автоматизировать что-либо, не написавни одной строчки кода
30
![Page 31: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/31.jpg)
Тестирование Web-Приложений
WebDriver
Jasmine/jstestdriver
phantomjs
31
![Page 32: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/32.jpg)
WebDriver
История
Возможности
Применимость
32
![Page 33: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/33.jpg)
История
33
![Page 34: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/34.jpg)
Возможности
34
![Page 35: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/35.jpg)
35
Как и для чего следуетприменять WebDriver
![Page 36: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/36.jpg)
Браузерозависимые сценарии
Drag’n’Drop - загрузка файлов
Клавиатурные действия
Кроссбраузерное тестирование
Тестирование с браузерными расширениями
36
![Page 37: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/37.jpg)
Нагрузочное тестирование
37
![Page 38: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/38.jpg)
Нагрузочное тестирование
38
![Page 39: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/39.jpg)
Тестирование бизнес - логики
39
![Page 40: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/40.jpg)
Запись/воспроизведение
40
![Page 41: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/41.jpg)
Запись/воспроизведение
41
![Page 42: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/42.jpg)
Запись/воспроизведение
42
Нельзя автоматизировать что-либо, не написав ни одной строчки кода
![Page 43: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/43.jpg)
Практики написания тестов
Keyword based testing
BDD
43
![Page 44: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/44.jpg)
BDD example
44
![Page 45: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/45.jpg)
BDD/PageObject example
45
![Page 46: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/46.jpg)
Keyword Driven Test example
46
![Page 47: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/47.jpg)
Применимость BDD/KDT
Документция на возможности
Кейсы составленные по практике BDD может понять средней руки гуманитарий.
47
![Page 48: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/48.jpg)
Отчётность
48
![Page 49: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/49.jpg)
Антипаттерны в тестировании
49
![Page 50: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/50.jpg)
Антипаттерны в тестировании
god tests
Гейзенбаг
Неуправляемое окружение
50
![Page 51: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/51.jpg)
51
Как тестируем мы
![Page 52: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/52.jpg)
Технологии
ЯП: java/python
FW: testng/py.tests
CI: jenkins
IaaS: OpenStack/chef
build tool: maven/distutils
reporting: graphite/xunit/text reports
52
![Page 53: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/53.jpg)
Браузерные тесты
фрэймворк: maven/testng/guice/webdriver/browsermobproxy/800loc
тесты: 13kloc ~700 тестов
53
![Page 54: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/54.jpg)
Функциональный мониторинг
54
![Page 55: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/55.jpg)
Семинар
Написать тесты на проект Поиск@Mail.Ru
Тесты должны работать в 2х браузерахfirefox/chrome
Отчёт должен генерироваться в формате xUnitreport
Тесты в браузерах должны исполняться параллельно.
55
![Page 56: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/56.jpg)
Семинар
Подмес «Календарь» ( q= календарь)
Подмес «Конвертор валют» ( q= курс доллара)
Подмес «Восход-Закат» ( q= закат )
Все подмесы геозависимые
У меня не должно возникнуть проблем с запуском ваших тестов =)
56
![Page 57: Тестирование осень 2013 лекция 3](https://reader036.vdocuments.pub/reader036/viewer/2022062406/55924cf71a28abc0658b4579/html5/thumbnails/57.jpg)
Вопросы
57