Автоматизация
функционального
тестирования
Влад Алюков
Monday, 29 April 13
Кто?
Занимаюсь тестированием 9 лет
Из них 5 лет автоматизацией
тестирования и тестовой
инфраструктурой
Monday, 29 April 13
О чём?
Подходы
Инструменты
Проблемы
Monday, 29 April 13
Зачем?
Monday, 29 April 13
Зачем?
Широкий взгляд на вопрос качества
Понимание методов его обеспечения
Решение задач подобающим способом
Умение постав...
Scrum
Monday, 29 April 13
Тесты как
документация
Monday, 29 April 13
Функциональное
тестирование
Monday, 29 April 13
Функциональное
тестирование
Контроль конечной функциональности на:
пригодность
соответствие требованиям/
спецификациям
точ...
Автоматизация
функционального
тестирования
Monday, 29 April 13
Автоматизированные
функциональные тесты
Monday, 29 April 13
Автоматизированные
функциональные тесты
Взаимодействуют с GUI или
верхнеуровневым API
Тестируют возможности вашего
приложе...
Каждому уровню свои
тесты
Monday, 29 April 13
Почему не unit/
интеграционные
тесты?
Конечные возможности продукта
Высокая степень интеграции
Monday, 29 April 13
Testing pyramid
Monday, 29 April 13
Предпосылки для
автоматизации
Monday, 29 April 13
Предпосылки для
автоматизации
Монотонные действия
Стабильные интерфейсы
Высокая частота изменений
Критичность продуктовой ...
Как автоматизировать
Атомарность тестовых сценариев
Герметичность тестовых окружений
Monday, 29 April 13
Герметичность
Monday, 29 April 13
Обеспечение
герметичности
Виртуализация
Заглушки
Тестовые состояния приложения
Monday, 29 April 13
Варианты интерфейсов
GUI (Web-интерфейсы/Десктоп)
API (RESTful/SOAP)
Monday, 29 April 13
Паттерны
проектирования GUI
тестов
Monday, 29 April 13
Его величество
PageObject
Monday, 29 April 13
DRY
Monday, 29 April 13
фу! плохой тест!
Monday, 29 April 13
PageObject
Monday, 29 April 13
PageObject
Monday, 29 April 13
хороший, образцовый,
годный тест!
Monday, 29 April 13
Инструменты
Monday, 29 April 13
Выбор инструментов
Тест должен находиться в максимальной
близости к тестируемой возможности
Нельзя автоматизировать что-ли...
Тестирование
Web-Приложений
WebDriver
Jasmine/jstestdriver
phantomjs
Monday, 29 April 13
WebDriver
История
Возможности
Применимость
Monday, 29 April 13
История
Monday, 29 April 13
Возможности
Monday, 29 April 13
Как и для чего
следует применять
WebDriver
Monday, 29 April 13
Браузерозависимые
сценарии
Drag’n’Drop - загрузка файлов
Клавиатурные действия
Кроссбраузерное тестирование
Тестирование с...
Нагрузочное
тестирование
Monday, 29 April 13
Нагрузочное
тестирование
Monday, 29 April 13
Тестирование бизнес-
логики
Monday, 29 April 13
Документирование
тестов. Отчёты
Keyword based testing
BDD
xUnit report
Monday, 29 April 13
BDD example
Monday, 29 April 13
BDD/PageObject
example
Monday, 29 April 13
Keyword Driven Test
example
Monday, 29 April 13
Применимость BDD/KDT
Тесты, воспринимаемые человеком
гуманитарного склада ума
Проблемы, которые возникают при
бездумном пр...
xUnit report
Monday, 29 April 13
Антипаттерны в
тестировании
Monday, 29 April 13
Антипаттерны в
тестировании
god tests
Гейзенбаг
Неуправляемое окружение
Monday, 29 April 13
Как тестируем мы
Monday, 29 April 13
Технологии
ЯП: java/python
FW: testng/py.tests
CI: jenkins
IaaS: OpenStack/chef
build tool: maven/distutils
reporting: gra...
Браузерные тесты
фрэймворк: maven/testng/guice/
webdriver/browsermob proxy/800loc
тесты: 13kloc ~300 тестов
Monday, 29 Apr...
Функциональный
мониторинг
Monday, 29 April 13
Семинар
Написать тесты на 5 возможностей
вашего продукта, если нет продукта то
напишите тесты на поиск mail.ru
Тесты должн...
browser farm
Monday, 29 April 13
container: virtualbox
user/pass: ubuntu/reverse
hub http://localhost:4444/hub/wd
ssh ubuntu@localhost:2222
browser farm
Mo...
Вопросы
Monday, 29 April 13
URLS
bdd: http://files.mail.ru/
4C4AA6BEB9814EF89A382AC8E5F5045B
vm: files.mail.ru/
6F8A625E83824F8ABE84E2E38A216D4F
Monda...
Спасибо за внимание
Влад Алюков v.alyukov@corp.mail.ru
Monday, 29 April 13
Upcoming SlideShare
Loading in …5
×

Тестирование весна 2013 лекция 3

222 views
171 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
222
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Тестирование весна 2013 лекция 3

  1. 1. Автоматизация функционального тестирования Влад Алюков Monday, 29 April 13
  2. 2. Кто? Занимаюсь тестированием 9 лет Из них 5 лет автоматизацией тестирования и тестовой инфраструктурой Monday, 29 April 13
  3. 3. О чём? Подходы Инструменты Проблемы Monday, 29 April 13
  4. 4. Зачем? Monday, 29 April 13
  5. 5. Зачем? Широкий взгляд на вопрос качества Понимание методов его обеспечения Решение задач подобающим способом Умение поставлять качественные артефакты своего труда Monday, 29 April 13
  6. 6. Scrum Monday, 29 April 13
  7. 7. Тесты как документация Monday, 29 April 13
  8. 8. Функциональное тестирование Monday, 29 April 13
  9. 9. Функциональное тестирование Контроль конечной функциональности на: пригодность соответствие требованиям/ спецификациям точность (accuracy testing) защищённость (security testing) Monday, 29 April 13
  10. 10. Автоматизация функционального тестирования Monday, 29 April 13
  11. 11. Автоматизированные функциональные тесты Monday, 29 April 13
  12. 12. Автоматизированные функциональные тесты Взаимодействуют с GUI или верхнеуровневым API Тестируют возможности вашего приложения/сервиса Monday, 29 April 13
  13. 13. Каждому уровню свои тесты Monday, 29 April 13
  14. 14. Почему не unit/ интеграционные тесты? Конечные возможности продукта Высокая степень интеграции Monday, 29 April 13
  15. 15. Testing pyramid Monday, 29 April 13
  16. 16. Предпосылки для автоматизации Monday, 29 April 13
  17. 17. Предпосылки для автоматизации Монотонные действия Стабильные интерфейсы Высокая частота изменений Критичность продуктовой возможности Monday, 29 April 13
  18. 18. Как автоматизировать Атомарность тестовых сценариев Герметичность тестовых окружений Monday, 29 April 13
  19. 19. Герметичность Monday, 29 April 13
  20. 20. Обеспечение герметичности Виртуализация Заглушки Тестовые состояния приложения Monday, 29 April 13
  21. 21. Варианты интерфейсов GUI (Web-интерфейсы/Десктоп) API (RESTful/SOAP) Monday, 29 April 13
  22. 22. Паттерны проектирования GUI тестов Monday, 29 April 13
  23. 23. Его величество PageObject Monday, 29 April 13
  24. 24. DRY Monday, 29 April 13
  25. 25. фу! плохой тест! Monday, 29 April 13
  26. 26. PageObject Monday, 29 April 13
  27. 27. PageObject Monday, 29 April 13
  28. 28. хороший, образцовый, годный тест! Monday, 29 April 13
  29. 29. Инструменты Monday, 29 April 13
  30. 30. Выбор инструментов Тест должен находиться в максимальной близости к тестируемой возможности Нельзя автоматизировать что-либо, не написав ни одной строчки кода Monday, 29 April 13
  31. 31. Тестирование Web-Приложений WebDriver Jasmine/jstestdriver phantomjs Monday, 29 April 13
  32. 32. WebDriver История Возможности Применимость Monday, 29 April 13
  33. 33. История Monday, 29 April 13
  34. 34. Возможности Monday, 29 April 13
  35. 35. Как и для чего следует применять WebDriver Monday, 29 April 13
  36. 36. Браузерозависимые сценарии Drag’n’Drop - загрузка файлов Клавиатурные действия Кроссбраузерное тестирование Тестирование с браузерными расширениями Monday, 29 April 13
  37. 37. Нагрузочное тестирование Monday, 29 April 13
  38. 38. Нагрузочное тестирование Monday, 29 April 13
  39. 39. Тестирование бизнес- логики Monday, 29 April 13
  40. 40. Документирование тестов. Отчёты Keyword based testing BDD xUnit report Monday, 29 April 13
  41. 41. BDD example Monday, 29 April 13
  42. 42. BDD/PageObject example Monday, 29 April 13
  43. 43. Keyword Driven Test example Monday, 29 April 13
  44. 44. Применимость BDD/KDT Тесты, воспринимаемые человеком гуманитарного склада ума Проблемы, которые возникают при бездумном применении практик Monday, 29 April 13
  45. 45. xUnit report Monday, 29 April 13
  46. 46. Антипаттерны в тестировании Monday, 29 April 13
  47. 47. Антипаттерны в тестировании god tests Гейзенбаг Неуправляемое окружение Monday, 29 April 13
  48. 48. Как тестируем мы Monday, 29 April 13
  49. 49. Технологии ЯП: java/python FW: testng/py.tests CI: jenkins IaaS: OpenStack/chef build tool: maven/distutils reporting: graphite/xunit/text reports Monday, 29 April 13
  50. 50. Браузерные тесты фрэймворк: maven/testng/guice/ webdriver/browsermob proxy/800loc тесты: 13kloc ~300 тестов Monday, 29 April 13
  51. 51. Функциональный мониторинг Monday, 29 April 13
  52. 52. Семинар Написать тесты на 5 возможностей вашего продукта, если нет продукта то напишите тесты на поиск mail.ru Тесты должны работать в 2х браузерах firefox/chrome Отчёт должен генерироваться в формате xUnit report Реализовать возможность исполнения тестов параллельно (опционально) Monday, 29 April 13
  53. 53. browser farm Monday, 29 April 13
  54. 54. container: virtualbox user/pass: ubuntu/reverse hub http://localhost:4444/hub/wd ssh ubuntu@localhost:2222 browser farm Monday, 29 April 13
  55. 55. Вопросы Monday, 29 April 13
  56. 56. URLS bdd: http://files.mail.ru/ 4C4AA6BEB9814EF89A382AC8E5F5045B vm: files.mail.ru/ 6F8A625E83824F8ABE84E2E38A216D4F Monday, 29 April 13
  57. 57. Спасибо за внимание Влад Алюков v.alyukov@corp.mail.ru Monday, 29 April 13

×