Thucydides
Thucydides - это инструмент с открытым исходным кодом, ориентированный на эффективную автоматизацию приемочных тестов, а также на детализированную документацию и отчеты по проекту, построенные на базе этих тестов. Он работает вместе с JUnit и BDD инструментами, такими как JBehave and Cucumber-JVM, и предоставляет обширный API для автоматизированного тестирования в тесной интеграции с Selenium Webdriver.
Thucydides разработан для решения следующих задач:
- Написание более гибких тестов, которые легче поддерживать
- Получение иллюстрированных, исчерипывающих (story-based) отчетов
- Ясная привязка тестов к требованиям
- Измерение покрытия требований
Thucydides workflow
Шаг 1: Определение требований и приемочных критериев
|
Thucydides начинается с требований, которые нужно реализовать. Для каждого требования есть приемочные критерии, которые лучше разъясняют требование. Приемочные критерии и автоматизирует фукидид. |
|
С помощью фукидида вы строите **простую модель** ваших требований на языке Java. Есть несколько способов моделирования требований, включая обычный Java класс, используя конвенцию структуры директорий или интегрируясь с сторонними инструментами, вроде Jira. Такой подход позволяет разработчику явным образом указать, какое требование тестирует каждый из тестов, а фукидиду - **отслеживать тестируемые фичи и требования**. |
|
Далее описываются приемочные критерии языком бизнесс-домена, а автоматизаторы имплементируют их с помощью BBD, таких как **JBehave или Cucumber-JVM**, или с помощью **Java и JUnit**, так чтобы фукидид мог их запускать, но со статусом "**pending**" (тело теста не реализовано). |
|
Автоматизаторы теперь могут **имплементировать приемочные критерии** в форме тестов для реального AUT. Тесты можно делить на **степы** для лучшей **читабельности** и **легкой поддержки**. Для тестирования веб приложений используется **Selenium Webdriver**. |
|
Thucydides позволяет строить **детализированные отчеты** о результатах запуска тестов, включая:
|
|
Кроме отчетов о выполнении тестов фукидид также предоставляет информацию о:
|
|
Фукидид также предоставляет информацию по истории и прогрессе проекта:
|
Maven зависимость:
<dependency>
<groupId>net.thucydides</groupId>
<artifactId>thucydides</artifactId>
<version>0.9.273</version>
</dependency>
Более детальную информацию о нем вы найдете на официальном сайте - http://thucydides.info/