Deep FitNesse
description
Transcript of Deep FitNesse
![Page 2: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/2.jpg)
Deep FitNesse
•Вопросы желательно задавать в конце
•Цифра в конце названия разделяет разные слайды с единой темой
2Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 3: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/3.jpg)
FitNesse (1)
•Интеграционное тестирование
•Первая версия: 2003 год, Роберт Мартин (на основе проекта fit)
•Средство для автоматического интеграционного тестирования
•Wiki разметка для тестировщиков
•Свободный выбор языка программирования для разработчиков
3Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 4: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/4.jpg)
FitNesse (2)
4Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 5: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/5.jpg)
FitNesse (3)
5Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 6: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/6.jpg)
FitNesse (4)
6Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 7: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/7.jpg)
FitNesse (5)
7Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 8: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/8.jpg)
Простота
•Установка: Java + скопировать jar файл
• Запуск Web сервера: java -jar fitnesse-standalone.jar
• Запуск теста:• http://yourSever:8080/SuiteName/TestName?test• java -jar fitnesse-standalone.jar –c
SuiteName/TestName?test
• Тесты и результаты – текстовые файлы
8Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 9: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/9.jpg)
Как он устроен?
•КАРТИНКА
9
QA
FitNesse on Java
Runner on .Net
Code on .Net
Dev
Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 10: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/10.jpg)
Пример кода
• | ‘’’ 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
![Page 11: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/11.jpg)
Табличная функция
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
11Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 12: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/12.jpg)
Где применялось? (1)
12
Обработка процессов
База данных
Web сайт
Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 13: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/13.jpg)
Где применялось? (2)
13Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 14: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/14.jpg)
Где применялось? (3)
14
Обработка процессов
База данных
Web сайт
FitNesse
Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 15: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/15.jpg)
Deep FitNesse, Манушин Игорь, Viacode LLC 15
Где применялось (4)
![Page 16: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/16.jpg)
.Net платформа
•По запросу в NuGet: два результата:• FitSharp: старый плагин, сделан на основе
оригинального для Java• NetRunner: новее, функции отличаются от
стандартного
16Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 17: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/17.jpg)
Fit vs Slim
• Fit: • Сервер передает html модулю на .Net• .Net модуль разбирает html• Запускает функции пользовательской библиотеки• Создает результирующий html• Отправляет результат серверу
• Slim:• Сервер передает команды• .Net модуль запускает функции пользователя
• .Net передает результат на сервер• Сервер создает результирующий Html
17Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 18: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/18.jpg)
Строгая типизация
• LoginAs (string) или LoginAs(User) ?
• FitSharp: статический метод Parse
•NetRunner: статический метод Parse или отдельный класс-парсер
18Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 19: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/19.jpg)
Таблицы
•Используем коллекции на вход и выход
19Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 20: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/20.jpg)
Помощь и подсказки (1)
•Хотелось бы:• Разработчик пишет, что делает функция• Тестировщик может понять, какие функции есть, и за
что они отвечают
20
create company Test Company
Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 21: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/21.jpg)
Помощь и подсказки (2)
• FitNesse: встроенные подсказки отсутствуют
• FitSharp: • Используем Doxygen• Используем IIS
•NetRunner: используем стандартные XML комментарии, текст будет после первого запуска
21Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 22: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/22.jpg)
Помощь и подсказки (3)
22Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 23: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/23.jpg)
Ожидания
• | wait until task | create company | will be finished with timeout| 120 | seconds |
•Эвристика: если было исключение ИЛИ один раз мы не дождались, то больше ждать не надо
23Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 24: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/24.jpg)
Автоматический запуск в CI
•http://server/Tests.ActivityCycles?test
•Два режима:• Web сайт• Выполнение команды
•Используем Windows Scheduled Tasks
•Используем выполнение команд + анализируем результирующий xml файл
24Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 25: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/25.jpg)
Запуск процессов
•Пример: запуск дочернего процесса в процессе тестирования
•Соединяем in/out/error потоки
•Два плюса:• Результаты видны в FitNesse• Каскадное завершение процессов
25Deep FitNesse, Манушин Игорь, Viacode LLC
![Page 26: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/26.jpg)
•http://groups.yahoo.com/group/fitnesse или [email protected] – вопросы к разработчикам
• [email protected] – к текущему докладчику
•http://habrahabr.ru/users/imanushin/
Deep FitNesse, Манушин Игорь, Viacode LLC 26
Контакты
![Page 27: Deep FitNesse](https://reader034.fdocuments.in/reader034/viewer/2022042607/5594acf61a28ab8d0e8b46eb/html5/thumbnails/27.jpg)
Deep FitNesse
•Что такое FitNesse?
•Как его можно применить?
•Какие подходы могут быть более удобными?
27Deep FitNesse, Манушин Игорь, Viacode LLC