Upload
sqalab
View
456
Download
2
Embed Size (px)
DESCRIPTION
Презентация Игоря Манушина на SQA Days-16 14-15 ноября 2014, Санкт-Петербург, Россия www.sqadays.com
Citation preview
Deep FitNesse
•Вопросы желательно задавать в конце
•Цифра в конце названия разделяет разные слайды с единой темой
2Deep FitNesse, Манушин Игорь, Viacode LLC
FitNesse (1)
•Интеграционное тестирование
•Первая версия: 2003 год, Роберт Мартин (на основе проекта fit)
•Средство для автоматического интеграционного тестирования
•Wiki разметка для тестировщиков
•Свободный выбор языка программирования для разработчиков
3Deep FitNesse, Манушин Игорь, Viacode LLC
FitNesse (2)
4Deep FitNesse, Манушин Игорь, Viacode LLC
FitNesse (3)
5Deep FitNesse, Манушин Игорь, Viacode LLC
FitNesse (4)
6Deep FitNesse, Манушин Игорь, Viacode LLC
FitNesse (5)
7Deep FitNesse, Манушин Игорь, Viacode LLC
Простота
•Установка: 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
Как он устроен?
•КАРТИНКА
9
QA
FitNesse on Java
Runner on .Net
Code on .Net
Dev
Deep FitNesse, Манушин Игорь, Viacode LLC
Пример кода
• | ‘’’ 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
Табличная функция
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
Где применялось? (1)
12
Обработка процессов
База данных
Web сайт
Deep FitNesse, Манушин Игорь, Viacode LLC
Где применялось? (2)
13Deep FitNesse, Манушин Игорь, Viacode LLC
Где применялось? (3)
14
Обработка процессов
База данных
Web сайт
FitNesse
Deep FitNesse, Манушин Игорь, Viacode LLC
Deep FitNesse, Манушин Игорь, Viacode LLC 15
Где применялось (4)
.Net платформа
•По запросу в NuGet: два результата:• FitSharp: старый плагин, сделан на основе
оригинального для Java• NetRunner: новее, функции отличаются от
стандартного
16Deep FitNesse, Манушин Игорь, Viacode LLC
Fit vs Slim
• Fit: • Сервер передает html модулю на .Net• .Net модуль разбирает html• Запускает функции пользовательской библиотеки• Создает результирующий html• Отправляет результат серверу
• Slim:• Сервер передает команды• .Net модуль запускает функции пользователя
• .Net передает результат на сервер• Сервер создает результирующий Html
17Deep FitNesse, Манушин Игорь, Viacode LLC
Строгая типизация
• LoginAs (string) или LoginAs(User) ?
• FitSharp: статический метод Parse
•NetRunner: статический метод Parse или отдельный класс-парсер
18Deep FitNesse, Манушин Игорь, Viacode LLC
Таблицы
•Используем коллекции на вход и выход
19Deep FitNesse, Манушин Игорь, Viacode LLC
Помощь и подсказки (1)
•Хотелось бы:• Разработчик пишет, что делает функция• Тестировщик может понять, какие функции есть, и за
что они отвечают
20
create company Test Company
Deep FitNesse, Манушин Игорь, Viacode LLC
Помощь и подсказки (2)
• FitNesse: встроенные подсказки отсутствуют
• FitSharp: • Используем Doxygen• Используем IIS
•NetRunner: используем стандартные XML комментарии, текст будет после первого запуска
21Deep FitNesse, Манушин Игорь, Viacode LLC
Помощь и подсказки (3)
22Deep FitNesse, Манушин Игорь, Viacode LLC
Ожидания
• | wait until task | create company | will be finished with timeout| 120 | seconds |
•Эвристика: если было исключение ИЛИ один раз мы не дождались, то больше ждать не надо
23Deep FitNesse, Манушин Игорь, Viacode LLC
Автоматический запуск в CI
•http://server/Tests.ActivityCycles?test
•Два режима:• Web сайт• Выполнение команды
•Используем Windows Scheduled Tasks
•Используем выполнение команд + анализируем результирующий xml файл
24Deep FitNesse, Манушин Игорь, Viacode LLC
Запуск процессов
•Пример: запуск дочернего процесса в процессе тестирования
•Соединяем in/out/error потоки
•Два плюса:• Результаты видны в FitNesse• Каскадное завершение процессов
25Deep FitNesse, Манушин Игорь, Viacode LLC
•http://groups.yahoo.com/group/fitnesse или [email protected] – вопросы к разработчикам
• [email protected] – к текущему докладчику
•http://habrahabr.ru/users/imanushin/
Deep FitNesse, Манушин Игорь, Viacode LLC 26
Контакты
Deep FitNesse
•Что такое FitNesse?
•Как его можно применить?
•Какие подходы могут быть более удобными?
27Deep FitNesse, Манушин Игорь, Viacode LLC