Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Deutsche Bank Technology Center
Deutsche Bank
Vladimir Perevalov
Deutsche Bank Technology Centre. Moscow, Russia
WPF Autom...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Вла...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Авт...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Обз...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
При...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
При...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
UI
...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Сер...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Как...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Был...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Хот...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Вре...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Реш...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Инт...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Win...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Ана...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
WPF...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Про...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Три...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Тес...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Уро...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Уро...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Cal...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
WPF...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Spe...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Уро...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Уро...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Уро...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Уро...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Исп...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
0%
...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Зап...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Соб...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Веб...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Ста...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
• П...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
Наш...
Deutsche Bank Technology Center
Deutsche Bank WPF Automation – test injection approach to application testing
SQA Days
5/2...
Upcoming SlideShare
Loading in …5
×

WPF Automation – test injection approach to application testing

680 views

Published on

Доклад Владимира Перевалова на конференции SQA Days-21
www.sqadays.com

Published in: Education
  • Be the first to comment

WPF Automation – test injection approach to application testing

  1. 1. Deutsche Bank Technology Center Deutsche Bank Vladimir Perevalov Deutsche Bank Technology Centre. Moscow, Russia WPF Automation – test injection approach to application testing
  2. 2. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Владимир Перевалов Lead Software Developer Обо мне
  3. 3. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Автоматическое тестирование GUI • Тестировать GUI автоматически возможно • Это дорого вначале, но потом вложения окупаются • Ещё один фреймворк для тестирования
  4. 4. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Обзор • Приложение и его окружение • Тест фреймворк – обзор технологии • Как используем фреймворк в проекте • Чего в итоге добились
  5. 5. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Приложение и его окружение
  6. 6. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Приложение • Финансовое ПО • Создает заявки и исполняет их на бирже Панель инструментов id Сторона Колонка N Заявка 1 BUY IBM 120 20.12 2% 09:35:01 -0.21 … … Заявка 2 SELL AAPL 130 4.69 8% 09:47:48 0.67 … … Заявка 3 BUY MSFT 50 45.01 3% 09:53:04 -0.89 … … ... … … … … … … … … … … … … … … … … … … … … … … … .. … … … … … Заявка N SELL NVDA 165 11.45 6% 12:53:04 0.91 … Действие 1 Действие 2 Действие N
  7. 7. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days UI • 10 окон с таблицами данных • Уникальные действия в каждом окне серверUI Бизнес-логика распределена
  8. 8. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Сервер UI Приложение Клиентские заявки Еще один сервер Рыночные данные Приложение
  9. 9. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Как тестировали изначально
  10. 10. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Было 1 QA 1500+ тестов* 3 недели на регрессию *Не готовых для автоматизации
  11. 11. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Хотим • Сократить время выполнения регрессионного тестирования • Короткие релизы • Тесты – как документация
  12. 12. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Время автоматизировать!
  13. 13. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Решение
  14. 14. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Интеграционные UI тесты UI Сервер Запрос Ответ Тест Проверка данных
  15. 15. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Windows Automation API • Проблемы со сложными кастомными конролами • Нет доступа к внутреннему состоянию DLL Injection • Поддержка любых контролов • Доступ к DataContext/ViewModel Выбор технологии
  16. 16. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Анализ тестовых фреймворков Движок Язык разработки White Windows UI Automation C# Ms Test Windows UI Automation C# Pywinauto Windows UI Automation Python Test Complete Dll Injection JavaScript и другие Squish Dll Injection JavaScript и другие WPF Automation Dll Injection C# Написан в Дойче банке!
  17. 17. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days WPF Automation
  18. 18. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Процесс приложенияПроцесс тест раннера WPFA Выполнение теста Вызов тестового метода перехватывается Исключения передаются обратно тест ранеру DLL Injection
  19. 19. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Три уровня написания тестов На примере.. калькулятора!
  20. 20. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Тест на сложение 5+7=12
  21. 21. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Уровень 0. Простые тесты
  22. 22. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Уровень 1. Структурируем
  23. 23. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days CalculatorWindowWrapper ResultsWindow Wrapper NumericPanelWrapper InputTextBox B1 B2 B3 B6B5B4 B7 B8 B9 Уровень 1. Обёртки повторяют структуру UI
  24. 24. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days WPF Automation - yet another framework to write UI autotests Уровень 1
  25. 25. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Specflow – Cucumber для .Net Cucumber – открытый инструмент для исполняемых спецификаций Specflow – реализация Cucumber для .Net WPFA – расширяет Specflow. Появляется интерпретатор для типовых шагов - Romashka
  26. 26. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Уровень 2. Specflow + Romashka
  27. 27. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Уровень 2. Связь имён и контролов
  28. 28. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Уровень 2. Расширение обёрток
  29. 29. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Уровень 2. Макрошаги
  30. 30. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days
  31. 31. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Используем фреймворк в проекте
  32. 32. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 0 50 100 150 200 250 300 May-16 Jun-16 Aug-16 Oct-16 Nov-16 Jan-17 Mar-17 Apr-17 Jun-17 ОБЁРТКИ ЭЛЕМЕНТОВ UI И ТЕСТ-КЕЙСЫ Количество кейсов % покрытия обёртками
  33. 33. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Запуск тестов • Тесты выполняются 5+ часов • Машина в это время заблокирована • Используем виртуальную машину и следим за прогрессом по сети • Nunit тест раннер сохраняет результаты только в конце всего набора тестов
  34. 34. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Собственный тест раннер • Основан на NUnit • Сохраняет результаты после каждого теста • Забирает сборку из TeamCity • Забирает сборку, подложенную вручную
  35. 35. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Веб-сайт показывает результаты
  36. 36. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Стало 0 QA 40 часов Всё ещё 250+ автотестов Сократили ручную работу на 1
  37. 37. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days
  38. 38. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days • Полная версия закрыта… • Но вы можете сделать свою! • https://github.com/vperevalov/WPFA
  39. 39. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days
  40. 40. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days Наши контакты • Владимир Перевалов – vladimir.perevalov@db.com • https://github.com/vperevalov/WPFA
  41. 41. Deutsche Bank Technology Center Deutsche Bank WPF Automation – test injection approach to application testing SQA Days 5/27/2017 2010 DB Blue template Данный материал не является предложением или предоставлением какой- либо услуги. Данный материал предназначен исключительно для информационных и иллюстративных целей и не предназначен для распространения в рекламных целях. Любой анализ третьих сторон не предполагает какого-либо одобрения или рекомендации. Мнения, выраженные в данном материале, являются актуальными на текущий момент, появляются только в этом материале и могут быть изменены без предварительного уведомления. Эта информация предоставляется с пониманием того, что в отношении материала, предоставленного здесь, вы будете принимать самостоятельное решение в отношении любых действий в связи с настоящим материалом, и это решение является основанным на вашем собственном суждении, и что вы способны понять и оценить последствия этих действий. ООО "Дойче Банк Техцентр" не несет никакой ответственности за любые убытки любого рода, относящихся к этому материалу.

×