IBM®
Перейти к тексту
    в России и странах СНГ [изменить]    Условия использования
 
 
   
    Главная страница    Продукты    Услуги и решения    Поддержка и загрузка    Мой профиль    
Перейти к тексту

developerWorks Россия  >  AIX и UNIX  >

FIT и Eclipse: Тестирование с плагином Extended Fit для Eclipse

Основы использования плагина Extended Fit

developerWorks
Опции документа

Опции документа, требующие включения JavaScript, не отображаются

Обсудить


Выскажите мнение об этой странице

Помогите нам улучшить содержание


Уровень сложности: простой

Вишну Веттривел, ведущий консультант, PunditLabs Inc.

31.08.2009

Статья об основных принципах среды для интегрированных тестов (Framework for Integrated Tests – FIT), на примере использования Extended FIT плагина для Eclipse знакомящая разработчиков среды Eclipse с процессом тестирования таблиц FIT. Данная статья – первая из двух статей, знакомящая с технологией FIT и показывающая, как её можно использовать в среде на основе Eclipse.

С тех пор как появились компьютеры, программисты были озабочены двумя проблемами: во-первых, как обеспечить связь с бизнесом, чтобы понять, что ему нужно от корпоративных приложений; во-вторых, как проверить, что они разрабатывают ПО, подходящее для нужд бизнеса? Различные методологии и структуры, казалось бы, за эти годы подошли вплотную к решению данных проблем, пока не появился FIT – метод, способный решить данные проблемы наиболее простым и интуитивно понятным путём.

FIT – это универсальная открытая структура, которую можно легко расширить для работы с различного рода тестами. Данная статья показывает, как использовать FIT в сочетании с Eclipse для решения нескольких проблем, возникающих при разработке ПО. Статья начинается с обзора того, что FIT делает для решения проблем, присущих разработке ПО.

FIT облегчает коммуникации между корпоративным сектором и разработчиками, предельно сосредотачивая внимание на том, что должно быть сделано. Данная функциональность помогает избежать нечеткой формулировки бизнес-логики и помогает убедиться, что разработчик правильно понял бизнес-задачу. Также FIT поддерживает неминуемую реструктуризацию кода, в результате чего система развивается, снижая сложность обслуживания, расширения или изменения кода, препятствуя его "разбуханию" и программной энтропии. В конечном счёте FIT увеличивает качество программ в целом, гарантируя, что команда разработчиков незамедлительно узнает, когда тот или иной компонент завершён или когда законченная работа была завершена с ошибкой.

FIT и JUnit

Если уже используется JUnit, то вы наверняка задумывались о том, следует ли прекратить написание тестов JUnit? Ответ – Нет. FIT не предназначен для того чтобы заменить JUnit-тестирование; скорее, он функционирует на более высоком уровне – уровне интеграционного тестирования (рисунок 1).


Рисунок 1. Структура FIT-процесса
Рисунок 1. Структура FIT-процесса

Можно по-прежнему создавать тесты JUnit. Но, кроме того, необходимо создавать тесты FIT, используя таблицы FIT.



В начало


FIT и таблицы FIT

Для JUnit ядро – это сценарий тестирования (test case). Для IBM Rational Unified Process® (RUP®) ядро – это сценарий использования (use case), а для FIT – это FIT-таблица. Таблицы играют основную роль в реализации обещаний FIT по улучшению коммуникаций между участниками бизнес-процесса, повышения быстродействия и стабильности ПО.

Таблицы – это простой и эффективный метод получения информации независимо от того, отражают ли они финальный счёт бейсбольного матча или котировки акций в ежедневной газете. По этой причине создатели FIT предпочли использовать таблицы в качестве выбранного инструмента, позволяющего пользователям задавать программе режим работы через примеры, которые снижают неопределённость команд и возлагают на пользователя ответственность за чёткое определение параметров ПО.

Гибкость в работе системы (agility) – способность подстраиваться под нужды пользователя – имеет ключевое значение для современного ПО. Возрастающая конкуренция вынуждает корпоративных пользователей продолжать добавлять всё больше особенностей и функциональных возможностей. Тестирование FIT помогает увеличить эту гибкость, определяя изменения и гарантируя, что никакие модификации кода не нарушают ранее установленные требования. Таблицы FIT служат в качестве механизма передачи результатов работы ПО как маяк в процессе разработки и фокусировки на потребностях бизнеса.

Однако с ростом динамичности ПО проявляется всё возрастающий риск потери стабильности. Таблицы FIT помогают восстановить равновесие в соответствии с требованиями к тестируемой системе System Under test (SUT), проверяя, что любые изменения в системе, включая рефакторинг и расширения, визуально незамедлительно передаются различным участникам этой системы.



В начало


Проверка расчётов с FIT

Проверка соответствия расчётов имеющемуся бизнес-правилу – важная часть тестирования ПО. Бизнес-правила представлены в форме таблиц и конкретных примеров, помогающих в их понимании.

Пример: таблица вычислений FIT

Бизнес-правило для расчёта теста в данном примере такое.

В США стипендия, составляющая $500 в месяц, присуждается студенту в том случае, если по результатам пройденного им тестирования на определение академических способностей Scholasrtic Assessment Test (SAT) его совокупный балл составил по меньшей мере 2000 баллов, а за каждые 100 баллов превышения порога добавляется ещё по $500. Выборка данных в таблице используется, чтобы смоделировать корреляцию между баллом по SAT и стипендией, присуждаемой в различных случаях. Например, в случае набора 2300 баллов присуждается стипендия $2000.

Таблица 1 – пример таблицы FIT, моделирующей ожидаемое поведение данного бизнес-правила. Это правило вычисляет стипендию (scholarship), которую получают студенты в зависимости от набранного балла (score) по SAT.


Таблица 1. Расчёт по FIT с использованием таблицы ColumnFixture
CalculateScholarship
ScoreScholarship()
10000
19990
2000500
2050500
21001000
22001500
23002000
23502000
24002500

В первой строке таблицы указано название тестируемой фикстуры. Класс фикстуры действует как драйвер, чтобы определить, как выборка табличных данных должна быть подвергнута тестированию в SUT. В этом примере фикстура называется CalculateScholarship.

Поскольку этот пример содержит в себе таблицу ColumnFixture, то вторая строка идентифицирует названия столбцов данных и расчетных полей. В этом примере столбец Score относится к входным значениям, а столбец Scholarship() – к ожидаемым результатам расчета.



В начало


Создание фикстуры FIT для таблицы ColumnFixture

Чтобы заставить среду FIT работать с таблицей 1, необходимо создать фикстуру или класс-посредник Test Adapter, который сообщит FIT, как взаимодействовать с программой. Листинг 1 демонстрирует фикстуру CalculateScholarship.


Листинг 1. Фикстура CalculateScholarship

public class CalculateScholarship extends ColumnFixture {

            public int score;

            public int scholarship(){

                        ScholarshipSystem scholar  = new ScholarshipSystem();

                        return scholar.calculateScholarship(score);

	  }

}

Эта фикстура вызывает класс тестируемого ПО – ScholarshipSystem, показанный в листинге 2, а затем вызывает в нём метод calculateScholarship().


Листинг 2. Класс ScholarshipSystem

public class ScholarshipSystem  {

    public int calculateScholarship(int score){

    	int scholarship  = 0;
    	
    	if(score<2000)
    		return scholarship;
    	else
    		scholarship = 500;
    	
    	scholarship = scholarship + ((score - 2000)/100) * 500;
    	
    	return scholarship;
    }

}

Можно расширять различные типы фикстур в зависимости от того, что необходимо тестировать. В примере выше использовался ColumnFixture, чтобы отобразить столбцы в таблице в переменные и методы фикстуры.

Два столбца в таблице соответствуют переменным в фикстуре. Второй столбец, который содержит ожидаемый результат, соответствует методу scholarship() в фикстуре. При вычислении ответа класс ScholarshipSystem используется как SUT.



В начало


Тестирование с FIT в Eclipse

Чтобы продемонстрировать, как можно использовать FIT в среде Eclipse, был использован плагин Extended FIT для Eclipse, который обеспечивает простой интерфейс пользователя (UI) для загрузки FIT-файлов ввода/вывода. Этот плагин основан на базовом плагине FIT Library.

Установка Extended FIT плагина для Eclipse

Чтобы установить Extended FIT плагин для Eclipse, необходимо выполнить следующие действия.

  1. Загрузить базовый FIT Eclipse плагин.
  2. Извлечь содержимое .zip архива и скопировать .jar файл в папку Plugins каталога установки Eclipse.
  3. Загрузить Extended FIT плагин для Eclipse.
  4. Скопировать . jar файл в папку Plugins каталога установки Eclipse.
  5. Закрыть и заново запустить Eclipse.

Теперь можно увидеть новое меню FIT и кнопку Run FIT (запустить FIT) на панели инструментов (рисунок 2). Если они доступны, значит, Вы это видите и, значит, Extended FIT плагин для Eclipse был успешно установлен.


Рисунок 2. Extended FIT плагин, установленный в Eclipse
Рисунок 2. Extended FIT плагин, установленный в Eclipse

Extended FIT плагин для Eclipse поставляется вместе с .jar файлом FIT, так что не нужно отдельно устанавливать .jar файл FIT для выполнения тестов. Тем не менее чтобы разрабатывать собственные фикстуры, может потребоваться добавить .jar файлы FIT в путь для сборки проекта.

Тестирование других видов фикстур

Можно использовать показанный здесь подход проверки расчётов, используя таблицы и фикстуры FIT, для тестирования других FIT-таблиц. Допустим, используется фикстура ActionFixture для тестирования выполнения бизнес-процесса, а фикстура RowFixture – для тестирования результатов ожидаемого поиска или запроса. Единственное различие в тестировании этих видов фикстур с использованием Extended FIT плагина для Eclipse в том, что написанная фикстура будет расширять другой класс BaseFixture.

Использование Extended FIT плагина для Eclipse

Чтобы использовать Extended FIT плагин для Eclipse, необходимы три файла:

  • входной файл с расширением .html, содержащий все входные FIT-таблицы;
  • выходной .html файл, содержащий результаты выполненного FIT тестирования;
  • отдельный .jar файл, содержащий все используемые фикстуры.

Примечание. При создании классов клиентских фикстур необходимо убедиться, что они скомпонованы в .jar файл c помощью любого инструмента для сборки. Extended FIT плагину потребуется указать местоположение этого .jar файла для выполнения теста FIT.

Когда имеются все необходимые файлы для Extended FIT плагина, можно приступать к выполнению тестов FIT, выполнив следующие действия.

  1. Нажать на кнопку Run Fit (Выполнить FIT).
  2. Нажать на кнопку Browse i/p (Поиск входных файлов), чтобы определить местоположение входного файла.
  3. Нажать на кнопку Browse o/p (Поиск выходных файлов), чтобы определить местоположение выходного файла.
  4. Нажать на кнопку Browse Fixture Jar (Поиск .jar файла с фикстурами), чтобы определить местоположение .jar файла с фикстурами.
  5. Нажать на кнопку Run Fit (Выполнить FIT).

FIT получает .html-файл на вход; в результате название входного файла конфигурируется следующим образом (рисунок 3).


Рисунок 3. Выполнение тестов с использованием Extended FIT плагина для Eclipse
Рисунок 3. Выполнение тестов с использованием Extended FIT плагина для Eclipse

Функционирование Extended FIT плагина для Eclipse

Extended FIT плагин для Eclipse работает как простая оболочка, передающая вызовы основной библиотеке FIT. При нажатии кнопки Run FIT плагин Extended FIT вызывает и выполняет относящийся к FIT класс FileRunner, передавая выбранные входной и выходной файлы как параметры для него. FIT-класс FileRunner в свою очередь разбирает входной файл и записывает результаты выполнения FIT-тестирования в выбранный выходной файл. Если всё выполнилось без сбоя, то результаты выполнения будут показаны в окне.



В начало


Взгляд в будущее

В данной статье показано, каким образом FIT позволяет пользователям и разработчикам преодолевать непонимание относительно ПО. Создавая конкретные примеры, пользователи смогут дать программистам четкое представление о том, что нужно разработать. Также было показано, как FIT и Eclipse объединяются в совершенный инструмент, позволяя разработчикам писать фикстуры и запускать таблицы FIT с целью проверки программы. Расширяя базовый плагин FIT Eclipse, можно использовать Eclipse для выполнения FIT-тестирования правил, основанных на вычислениях. С такой же эффективностью данный подход может быть легко применён и к другим формам FIT-тестирования.

В следующей статье данного цикла будет рассказано, как построен Extended FIT плагин для Eclipse. Также будет рассказано, как FIT использовался для тестирования этого плагина в ходе разработки плагина в среде Eclipse's Plug-in Development Environment (PDE).



Ресурсы

Научиться

Получить продукты и технологии
  • Eclipse V3.1: бесплатная пробная версия Eclipse V3.1.(EN)

  • FIT Eclipse plug-in: загрузка и дополнительная информация о FIT плагине для Eclipse.(EN)

  • IBM trial software: ознакомительные версии программного обеспечения для разработчиков, которые можно загрузить прямо со страницы сообщества developerWorks.(EN)


Обсудить


Об авторе

Вишну Веттривел (Vishnu Vettrivel) работает ведущим консультантом в PunditLabs, специализируясь на консультациях и технологиях для корпоративного сектора, имеет многолетний опыт в архитектуре, проектировании и разработке критически важных приложений уровня предприятия. Интенсивно работая с заказчиками Fortune 50, он участвовал в выработке стратегий развития многих новых технологий. Связаться с Вишну можно по e-mail vishnu@punditlabs.com.




Выскажите мнение об этой странице


Пожалуйста, найдите минутку и заполните форму, чтобы повысить уровень сервиса.



 


 


 


Поделиться этой статьей:

забобрить забобрить memori сохранить в memori




В начало


Linux зарегистрированная торговая марка Линуса Торвальдса (Linus Torvalds) в Соединенных Штатах Америки и других странах. UNIX зарегистрированная торговая марка The Open Group в Соединенных Штатах Америки и других странах. Названия других компаний, их продуктов или услуг могут быть торговыми марками других компаний. Java и все связанные с Java торговые марки принадлежат Sun Microsystems, Inc. в Соединенных Штатах Америки и других странах. Microsoft, Windows, Windows NT, и логотип Windows являются собственностью Microsoft Corporation в Соединенных Штатах Америки и других странах. IBM, логотип IBM, и AIX зарегистрированные торговые марки International Business Machines Corporation в Соединенных Штатах Америки и других странах. Другая компания, продукт или название услуги могут быть торговыми марками или знаками обслуживания, принадлежащими иным физическим или юридическим лицам.

IBM обладает всеми авторскими правами касательно информации, расположенной на developerWorks. Использование информации приведенной на этом ресурсе без явного письменного разрешения от IBM или первоначального автора запрещены. Если Вы желаете использовать информацию с developerWorks, пожалуйста воспользуйтесь регистрационной формой для того, чтобы связаться с нами запрос на использование материалов developerWorks Россия.
    IBM в России Конфиденциальность Контакты