Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Deep FitNesse 
Манушин Игорь, разработчик 
VIAcode LLC
Deep FitNesse 
• Вопросы желательно задавать в конце 
• Цифра в конце названия разделяет разные слайды 
с единой темой 
De...
FitNesse (1) 
• Интеграционное тестирование 
• Первая версия: 2003 год, Роберт Мартин (на 
основе проекта fit) 
• Средство...
FitNesse (2) 
Deep FitNesse, Манушин Игорь, Viacode LLC 4
FitNesse (3) 
Deep FitNesse, Манушин Игорь, Viacode LLC 5
FitNesse (4) 
Deep FitNesse, Манушин Игорь, Viacode LLC 6
FitNesse (5) 
Deep FitNesse, Манушин Игорь, Viacode LLC 7
Простота 
• Установка: Java + скопировать jar файл 
• Запуск Web сервера: java -jar fitnesse-standalone.jar 
• Запуск тест...
Как он устроен? 
• КАРТИНКА 
9 
QA 
FitNesse on Java 
Runner on .Net 
Code on .Net 
Dev 
Deep FitNesse, Манушин Игорь, Via...
Пример кода 
• | ‘’’ login as ‘’’ | DonJoe | 
• | ‘’’ create company ‘’’ | Example | 
10 
login as DonJoe 
create company ...
Табличная функция 
Login History For Test User 
Action Date 
Login failed 22/05/13 
Login failed 22/05/13 
Log in 22/05/13...
Где применялось? (1) 
12 
Обработка 
процессов 
База данных 
Web сайт 
Deep FitNesse, Манушин Игорь, Viacode LLC
Где применялось? (2) 
Deep FitNesse, Манушин Игорь, Viacode LLC 13
Где применялось? (3) 
14 
Обработка 
процессов 
База данных 
Web сайт 
FitNesse 
Deep FitNesse, Манушин Игорь, Viacode LLC
Где применялось (4) 
Deep FitNesse, Манушин Игорь, Viacode LLC 15
.Net платформа 
• По запросу в NuGet: два результата: 
• FitSharp: старый плагин, сделан на основе 
оригинального для Java...
Fit vs Slim 
• Fit: 
• Сервер передает html модулю на .Net 
• .Net модуль разбирает html 
• Запускает функции пользователь...
Строгая типизация 
• LoginAs (string) или LoginAs(User) ? 
• FitSharp: статический метод Parse 
• NetRunner: статический м...
Таблицы 
• Используем коллекции на вход и выход 
Deep FitNesse, Манушин Игорь, Viacode LLC 19
Помощь и подсказки (1) 
• Хотелось бы: 
• Разработчик пишет, что делает функция 
• Тестировщик может понять, какие функции...
Помощь и подсказки (2) 
• FitNesse: встроенные подсказки отсутствуют 
• FitSharp: 
• Используем Doxygen 
• Используем IIS ...
Помощь и подсказки (3) 
Deep FitNesse, Манушин Игорь, Viacode LLC 22
Ожидания 
• | wait until task | create company | will be finished 
with timeout| 120 | seconds | 
• Эвристика: если было и...
Автоматический запуск в CI 
• http://server/Tests.ActivityCycles?test 
• Два режима: 
•Web сайт 
• Выполнение команды 
• И...
Запуск процессов 
• Пример: запуск дочернего процесса в процессе 
тестирования 
• Соединяем in/out/error потоки 
• Два плю...
• http://groups.yahoo.com/group/fitnesse или 
fitnesse@yahoogroups.com – вопросы к 
разработчикам 
• igor.manushin@gmail.c...
Deep FitNesse 
• Что такое FitNesse? 
• Как его можно применить? 
• Какие подходы могут быть более удобными? 
Deep FitNess...
Nächste SlideShare
Wird geladen in …5
×

Deep FitNesse

1.037 Aufrufe

Veröffentlicht am

Презентация Игоря Манушина на SQA Days-16
14-15 ноября 2014, Санкт-Петербург, Россия
www.sqadays.com

Veröffentlicht in: Bildung
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Deep FitNesse

  1. 1. Deep FitNesse Манушин Игорь, разработчик VIAcode LLC
  2. 2. Deep FitNesse • Вопросы желательно задавать в конце • Цифра в конце названия разделяет разные слайды с единой темой Deep FitNesse, Манушин Игорь, Viacode LLC 2
  3. 3. FitNesse (1) • Интеграционное тестирование • Первая версия: 2003 год, Роберт Мартин (на основе проекта fit) • Средство для автоматического интеграционного тестирования • Wiki разметка для тестировщиков • Свободный выбор языка программирования для разработчиков Deep FitNesse, Манушин Игорь, Viacode LLC 3
  4. 4. FitNesse (2) Deep FitNesse, Манушин Игорь, Viacode LLC 4
  5. 5. FitNesse (3) Deep FitNesse, Манушин Игорь, Viacode LLC 5
  6. 6. FitNesse (4) Deep FitNesse, Манушин Игорь, Viacode LLC 6
  7. 7. FitNesse (5) Deep FitNesse, Манушин Игорь, Viacode LLC 7
  8. 8. Простота • Установка: Java + скопировать jar файл • Запуск Web сервера: java -jar fitnesse-standalone.jar • Запуск теста: • http://yourSever:8080/SuiteName/TestName?test • java -jar fitnesse-standalone.jar –c SuiteName/TestName?test • Тесты и результаты – текстовые файлы Deep FitNesse, Манушин Игорь, Viacode LLC 8
  9. 9. Как он устроен? • КАРТИНКА 9 QA FitNesse on Java Runner on .Net Code on .Net Dev Deep FitNesse, Манушин Игорь, Viacode LLC
  10. 10. Пример кода • | ‘’’ login as ‘’’ | DonJoe | • | ‘’’ create company ‘’’ | Example | 10 login as DonJoe create company Example public bool LoginAs(User userName) { /*...*/ } Wiki Html C# Deep FitNesse, Манушин Игорь, Viacode LLC
  11. 11. Табличная функция Login History For Test User Action Date Login failed 22/05/13 Login failed 22/05/13 Log in 22/05/13 Logoff 22/05/13 Deep FitNesse, Манушин Игорь, Viacode LLC 11
  12. 12. Где применялось? (1) 12 Обработка процессов База данных Web сайт Deep FitNesse, Манушин Игорь, Viacode LLC
  13. 13. Где применялось? (2) Deep FitNesse, Манушин Игорь, Viacode LLC 13
  14. 14. Где применялось? (3) 14 Обработка процессов База данных Web сайт FitNesse Deep FitNesse, Манушин Игорь, Viacode LLC
  15. 15. Где применялось (4) Deep FitNesse, Манушин Игорь, Viacode LLC 15
  16. 16. .Net платформа • По запросу в NuGet: два результата: • FitSharp: старый плагин, сделан на основе оригинального для Java • NetRunner: новее, функции отличаются от стандартного Deep FitNesse, Манушин Игорь, Viacode LLC 16
  17. 17. Fit vs Slim • Fit: • Сервер передает html модулю на .Net • .Net модуль разбирает html • Запускает функции пользовательской библиотеки • Создает результирующий html • Отправляет результат серверу • Slim: • Сервер передает команды • .Net модуль запускает функции пользователя • .Net передает результат на сервер • Сервер создает результирующий Html Deep FitNesse, Манушин Игорь, Viacode LLC 17
  18. 18. Строгая типизация • LoginAs (string) или LoginAs(User) ? • FitSharp: статический метод Parse • NetRunner: статический метод Parse или отдельный класс-парсер Deep FitNesse, Манушин Игорь, Viacode LLC 18
  19. 19. Таблицы • Используем коллекции на вход и выход Deep FitNesse, Манушин Игорь, Viacode LLC 19
  20. 20. Помощь и подсказки (1) • Хотелось бы: • Разработчик пишет, что делает функция • Тестировщик может понять, какие функции есть, и за что они отвечают 20 create company Test Company Deep FitNesse, Манушин Игорь, Viacode LLC
  21. 21. Помощь и подсказки (2) • FitNesse: встроенные подсказки отсутствуют • FitSharp: • Используем Doxygen • Используем IIS • NetRunner: используем стандартные XML комментарии, текст будет после первого запуска Deep FitNesse, Манушин Игорь, Viacode LLC 21
  22. 22. Помощь и подсказки (3) Deep FitNesse, Манушин Игорь, Viacode LLC 22
  23. 23. Ожидания • | wait until task | create company | will be finished with timeout| 120 | seconds | • Эвристика: если было исключение ИЛИ один раз мы не дождались, то больше ждать не надо Deep FitNesse, Манушин Игорь, Viacode LLC 23
  24. 24. Автоматический запуск в CI • http://server/Tests.ActivityCycles?test • Два режима: •Web сайт • Выполнение команды • Используем Windows Scheduled Tasks • Используем выполнение команд + анализируем результирующий xml файл Deep FitNesse, Манушин Игорь, Viacode LLC 24
  25. 25. Запуск процессов • Пример: запуск дочернего процесса в процессе тестирования • Соединяем in/out/error потоки • Два плюса: • Результаты видны в FitNesse • Каскадное завершение процессов Deep FitNesse, Манушин Игорь, Viacode LLC 25
  26. 26. • http://groups.yahoo.com/group/fitnesse или fitnesse@yahoogroups.com – вопросы к разработчикам • igor.manushin@gmail.com – к текущему докладчику • http://habrahabr.ru/users/imanushin/ Deep FitNesse, Манушин Игорь, Viacode LLC 26 Контакты
  27. 27. Deep FitNesse • Что такое FitNesse? • Как его можно применить? • Какие подходы могут быть более удобными? Deep FitNesse, Манушин Игорь, Viacode LLC 27

×