FitNesse / FitNesse: Страница из википедии
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
{{refimprove|date=August 2012}} peterdemin 01.09.13 в 07:57 |
|
|
'''FitNesse''' это [[веб-сервер]], [[вики]], и инструмент [[Автоматизированное_тестирование|автоматизированного тестирования]] для [[программное обеспечение|программного обеспечения]]. Он основан на проекте [[Каннингем,_Уорд|Уорда Каннингема]] [[Framework for Integrated Test]]. FitNesse спроектирован для поддержки [[приемочного тестирования]] более, чем [[модульного тестирования]] в том, что облегчает детальное читаемое описание требований к системе. peterdemin 31.08.13 в 19:24 |
||
|
FitNesse позволяет пользователям разрабатываемой системы вводить в специальном формате (доступном для не-программистов). На основе ввода автоматически создаются тесты. Эти тесты затем исполняются системой, и результаты возвращаются пользователю. Преимущество такого подхода заключается в быстрой обратной связи от пользователей. Разработчик тестируемой системы должен предоставить небольшую поддержку (классы, называемые "фикстурами", удовлетворяющие определенным требованиям). peterdemin 31.08.13 в 19:24 |
||
|
FitNesse написан на [[Java (programming language)|Java]]. Основателем проекта является [[Robert Cecil Martin|Роберт Мартин]]. Первые версии программы поддерживали только Java, но со временем поддержка расширилась до множества других языков (C++, Python, Ruby, Delphi, C#, etc.) peterdemin 31.08.13 в 19:24 |
||
|
==Введение в FitNesse== peterdemin 31.08.13 в 19:24 |
||
|
===FitNesse, как метод тестирования=== peterdemin 31.08.13 в 19:25 |
||
|
В FitNesse тестирование основано на понятии черного ящика, где тестируемая система рассматривается, как черный ящик и проверяется соответствие сгенерированного выхода заданному входу. Тестировщик отвечает за проектирование тестов в функциональном смысле и описания их в FitNesse, а разработчик отвечает за связывание FitNesse и тестируемой системы, так, что FitNesse может исполнять тесты и проверять ожидаемый выход с полученным. peterdemin 31.08.13 в 19:33 |
||
|
Идея это метода тестирования, как описано в ''[[Fitnesse#Books|Fit for Developing Software]]'' заключается в том, что усиленное взаимодействие тестировщиков и разработчиков повысит общее видение системы и требований к ней, тем самым подталкивая обе группы общению "на одном языке". peterdemin 31.08.13 в 19:36 |
||
|
===FitNesse, как инструмент тестирования=== peterdemin 31.08.13 в 19:42 |
||
|
FitNesse упрощает создание тестов, что позволяет тестировшикам и разработчикам сфокусироваться на формировании высококачественного тестового набора, а не изучении механики выполнения тестов. FitNesse облегчает создание тестов тремя способами: peterdemin 31.08.13 в 19:48 |
+1 | |
|
Чтобы удовлетворить эти требования, FitNesse использует механизм вики. Вики позволяет быстро и удобно создавать HTML страницы и чрезвычайно упрощает описание таблиц. Эти качества делают язык [[WikiWiki]] идеально подходящим для "пользовательского интерфейса" FitNesse: с одной стороны он позволяет просто выразить требование в виде таблиц, с другой ограничивает содержимой этих таблиц довольно простым текстом. peterdemin 31.08.13 в 20:02 |
||
|
===FitNesse, как программное обеспечение=== peterdemin 31.08.13 в 20:05 |
||
|
FitNesse сфокусирован на удобстве использования, как инструмента тестирования. Таким образом, он включает все необходимые компоненты: после запуска инструмент запускает встроенный веб сервер, который позволяет получить доступ к страницам с одинаковой легкостью как с локальной машины, так и через интернет. Встроенный сервер довольно легкий и может быть запущен как на ноутбуке, так и на специализированном сервере. peterdemin 31.08.13 в 20:10 |
||
|
Вики движок FitNesse сфокусирован на удобстве. Он не требует наличия базы данных — страницы хранятся ввиде файлов. Сразу после первого запуска, вики включает полную документацию на FitNesse и несколько примеров. peterdemin 01.09.13 в 07:06 |
||
|
Вики движок довольно примитивный, но содержит все основные средства, распространенные среди вики движков: поиск, история изменений для каждой страницы и обзор файлов. Также доступны некоторое операции рефакторинга, позволяющие удалять, перемещать и переименовывать файлы. В дополнение, движок содержит средства управления тестами, такие как кнопки запуска тестов, способы определения тестовых наборов (Test Suite) и обзор истории результатов тестирования для анализа трендов. Также, вики движок содержит базовые средства авторизации и защиты страниц. peterdemin 01.09.13 в 07:13 |
||
|
===Выполнение тестов=== peterdemin 01.09.13 в 07:14 |
||
|
* Вики страница с описанием теста ввиде таблицы принятия решений. peterdemin 01.09.13 в 07:17 |
||
|
Из этих четырех компонент команда разработки создает две: вики страницу и фикстуру. Вики страницы содержит что-то вроде таблицы принятия решений. Например для программы деления, таблицы может выглядить следующим образом (Позаимствовано из FitNesse Two Minute Example): peterdemin 01.09.13 в 07:20 |
||
|
{| class="wikitable" peterdemin 01.09.13 в 07:20 |
||
|
Связь между движком тестирования и тестируемой системой осуществляется через фикстуру. Для данной таблицы её код на языке Java может выглядеть таким образом: peterdemin 01.09.13 в 07:22 |
||
|
<syntaxhighlight lang="java">public class DivisionComponentTest extends ColumnFixture{ peterdemin 01.09.13 в 07:23 |
||
|
public void setNumeratorValue (double numerator) { peterdemin 01.09.13 в 07:23 |
||
|
public void setDenominatorValue (double denominator) { peterdemin 01.09.13 в 07:24 |
||
|
public double result() { peterdemin 01.09.13 в 07:24 |
||
|
Для сопоставления таблицы и фикстуры используется [[camel case|convert-to-camel case]]. Эта нотация применяется ко всем заголовкам таблиц и используется для определения имен классов и методов фикстуры. Колонка с заголовком, заканчивающимся вопросительным знаком, интерпретируется, как выход фикстуры. Остальные колонки используются, как вход фикстуры. Методы фикстуры вызываются в порядке следования колонок таблицы слева направо. peterdemin 01.09.13 в 07:29 |
||
|
===Тестовые движки=== peterdemin 01.09.13 в 07:31 |
||
|
====FIT==== peterdemin 01.09.13 в 07:33 |
||
|
Этот фреймворк соединяет множество ответственностей, вместо того, чтобы разделять их. Это несколько усложняет его использование. Кроме того, FIT доступен только для Java. Поэтому команда разработки FitNesse решила перейти на SLIM. peterdemin 01.09.13 в 07:37 |
||
|
====SLIM==== peterdemin 01.09.13 в 07:37 |
||
|
Архитектура движка SLIM позволяет создавать более легковесные фикстуры, что упрощает работу разработчика. peterdemin 01.09.13 в 07:53 |
||
|
==Смотри также== peterdemin 01.09.13 в 07:53 |
||
|
*[[Спецификация на примерах]] peterdemin 01.09.13 в 07:56 |
||
|
==Книги== peterdemin 01.09.13 в 07:56 |
||
|
==References== peterdemin 01.09.13 в 07:56 |
||
|
<references /> peterdemin 01.09.13 в 07:56 |
||
|
==Внешние источники== peterdemin 01.09.13 в 07:57 |
||
|
[[Category:Groupware]] peterdemin 01.09.13 в 07:57 |
