Warning! You are viewing the old version of site.

You will be redirected to the new site in 5 seconds

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Unknown macro: {alias}
  {composition-setup} cloak.toggle.exclusive = false {composition-setup}

Покрытиекода">
Unknown macro: {toggle-cloak}
Покрытие кода

Все знают, что запись тестов является "полезной вещью". Измерение тестового покрытия сообщает точно, какой код выполняется тестами. Clover не только предоставляет Вам точное и подробное покрытие кода, он дает Вам информацию, необходимую для оценки качества покрытия, идентифицирует области покрытия низкого качества и указывает на существующие тесты тогда, когда Вам нужно запустить еще тестов.

Unknown macro: {cloak}

Потестовое покрытие

Выполнено != Протестировано

Разнообразие инструментов покрытия кода просто измеряет, какие операторы выполняются во время запуска теста. Clover записывает, какой тест(ы) был ответственен за покрытие. Это очень полезно при диагностировании тестовых отказов, при добавлении тестов.

Обычно покрытие сообщает, что что-то покрыло Ваш код, что есть лучше, чем ничего. Clover позволяет Вам сразу видеть тесты, которые покрыли оператор и Вы можете выяснить, эффективны ли эти покрытия.

Визуализируйте свои метрики

Clover обеспечивает визуализацию, чтобы помочь Вам понять и максимально использовать свои метрики.

Рабочий стол в HTML отчете дает сводку Вашего проекта. Наряду с кратким обзором статистики, он также предлагает самые рискованные классы (низкое покрытие, высокая сложность) и наименьшее количество протестированных методов.

Метод визуализации данных - Treemap (плоское дерево) покрытия Clover и облака покрытия помогают Вам идентифицировать, где надо сфокусировать ограниченные ресурсы тестирования, помогая Вам идентифицировать под протестированным кодом, который больше всего извлечет выгоду из большего количества тестов.

Больше чем покрытие

Clover измеряет потестовое покрытие, обеспечивающее понимание тестирования, просмотром какие тесты какой код покрыли. Отчеты комбинируют покрытие с цикломатической сложностью, чтобы показать Вам, как направить Ваше тестирование и где это необходимо больше всего.

Clover интегрирует результаты тестов с результатами покрытия – измеряющиеся результаты испытаний для JUnit, и TestNG (могут быть сконфигурированы и другие платформы тестирования). Clover позволяет Вам видеть как все классы, которые указанный тест покрыл, так и "значение" определенного теста. Clover также показывает уникальное потестовое покрытие, показывающее точно, какие тесты каких операторов покрыли. Это позволяет Вам узнать, насколько покрытие было бы уменьшено, если бы тест не был выполнен.

Тестоваяоптимизация">
Unknown macro: {toggle-cloak}
Тестовая оптимизация

Бывает ли у Вас чувство что Вы проводите половину жизни ожидая запуска тестов? Вероятно бывает. Что еще хуже, что большинство из этих циклов впустую запускают тесты, которые не изменились в коде, который не менялся. Clover поможет вам сэкономить время, выполняя правильные тесты. Быстрые тесты дают быстрые сборки.

Unknown macro: {cloak}

Не повторяйте себя

Тестовая оптимизация Clover сочетает выборочное тестирование и приоритезацию тестов, чтобы организовать быстрые отклики о качестве кода.

Тестовая оптимизация ускоряет единичное и функциональное тестирование с помощью запуска тестов, которые:

  • Покрывают код, который изменился с предыдущего запуска.
  • Провалились или имели ошибки в предыдущем запуске.

Преимущества тестовой оптимизации:

  • Результатынепрерывной интеграции (CI) могут прийти в несколько раз быстрее.
  • "Разработка внутреннего цикла" резко ускоряется, так что Вы можете проверить все изменения перед созданием коммита.
  • Разработчики предупреждаются раньше, чтобы исправить поломки.
  • Меньше ресурсов на сервере потребляется долгим запуском сборок, уменьшая время ожидания других сборок.

Проваливайтесь быстро

Если Вы будете терпеть неудачу, сделайте это быстро.

Мало того, что тестовая оптимизация ускоряет каждую сборку, она переупорядочивает тестовое выполнение, так, что сборки, которые не удались перестанут работать как можно быстрее. Чем быстрее сборка проваливается, тем быстрее она может быть исправлена.

Тестовая оптимизация упорядочивает тесты эвристическим образом:

  • Новизна тестового отказа или ошибки.
  • Новизна изменения в коде покрытый тестом.
  • Тест время выполнения (сначала более быстрые тесты).

Настройка

Clover позволяет Вам решать как Вы хотите оптимизировать. Все команды разные. Вы можете использовать тестовую оптимизацию Clover, чтобы пойти по определенному сценарию, таким как:

  • Выполненные только тестов, которые изменились или тестовый код, который изменился.
  • Сначала запуск вышеупомянутых тестов, затем остальных.
  • В произвольном порядке.
  • Выполнение самых коротких тестов сначала.
  • Выполнение всех тестов каждую энную сборку.

С Clover у Вас есть способность оптимизировать Ваши сборки, под образ Вашей работы, деятельности и места выполнения.

Groovy">
Unknown macro: {toggle-cloak}
Groovy

Groovy все больше и больше помогает разработчикам расширить свои приложения Java. Поддержка покрытия кода Clover для Groovy гарантирует, что Ваши сценарии пуленепробиваемы как Ваш код.

Unknown macro: {cloak}

Покрытие кода Groovy

Основанные на Java динамические языки такие как Groovy становятся все более и более популярными, так как они поддерживают более быструю разработку и итерацию, разрешая разработчикам использовать в своих интересах библиотеки объектов Java, которые они использовали в течение многих лет. Динамический контроль типов обеспечивает больше гибкости кода и ускоряет внутренний цикл разработки с интерпретируемым кодом устранением компиляцию кода. Эти преимущества представляют риск неправильного поведения и исключений во время выполнения. Например, разработчик может предоставить доступ к объекту мошеннику через опечатку (например, x.fooo, вместо x.foo).

Если Ваш компилятор не проверит Ваш синтаксис, то пользователи проверят, когда выявятся ошибки. Используйте Clover , чтобы гарантировать, что у Вашего кода Groovy есть тестовое покрытие, в котором он нуждается.

Интеграция с Grails

Плагин для Grails представляет отчеты покрытия кода Clover из платформы разработки веб-приложения Grails. Плагин дает подробную информацию с подсвеченными областями низкого покрытия в Вашем проекте.

Управлениеbacklog'ом(приоритезированныйсписокработ)">
Unknown macro: {toggle-cloak}
Управление backlog'ом (приоритезированный список работ)

Непрерывная интеграция является более чем просто инструментом, который автоматизирует сборки - он обеспечивает быструю обратную связь и может быть использован для проверки тестами целостности и качества кода.
Сделайте покрытие кода частью Вашего процесса непрерывной интеграции и получайте немедленные результаты тестирований вместе с результатами сборки.

Unknown macro: {cloak}
 

Составьте список работ (backlog)

Управляйте многообразием списков задач просто. Панель планирования используется для составления списка из задач, историй, дефектов и всех возможных действий для выпуска продукта. Используйте сочетания клавиш для перемещения и изменения карточек заданий. Нажмите на продукт и посмотрите в развернутом виде на список спринтов (итерация) и списки работ по каждому спринту (sprint backlog).

Добавьте задачи быстро заполнением обязательных полей в JIRA Agile формах. Просмотривайте карточки заданий отдельно по продуктам, компонентам или исполнителям и сортируйте список задач по любому полю. Составьте представления карточек заданий, используя JIRA фильтры или пользовательские ограничения. Сделайте доступными представления для всей команды, чтобы каждый член команды видел то же что видит другой.

 

 

Перетаскивайте карточки

Ответственный за продукт просто перетаскивает карточки вверх и вниз, чтобы приоритезировать список задач (backlog). Также можно нажать на любое поле в на карточке, чтобы изменить его. Выберите одно из трех представлений - Темы, Карточки или Список - чтобы видеть нужное вам количество информации.

Используйте статистических маркеры, чтобы облегчить процесс планирования. Добавьте маркер для любого поля - оценка времени работы, сложность задач (story points). Маркер разделит задачи по нужному критерию и укажет потенциал команды на данный спринт (итерация) или продукт. У вас будет представление о том, какие задания, скорее всего, будут завершены в течение спринта.

 

Планированиеспринта">
Unknown macro: {toggle-cloak}
Планирование спринта

Clover может быть запущен в IntelliJ IDEA и Eclipse. Генерируйте свое покрытие, просматривайте метрики, покрытие в своем редакторе, точные тесты, в которые попал оператор под Вашим курсором! Clover дает исчерпывающий набор качественных тестовых функций, которые тесно интегрированы с IntelliJ IDEA и Eclipse.

Unknown macro: {cloak}

Планирование сессий стало легким

Как только список задач (backlog) приоритезирован, панель планирования облегчает сессии планирования спринта. Редактирование заданий прямо на карточке идеально подходит для ввода и изменения информации и оценок непосредственно во время планирования сессий. Просто нажмите на любое поле для ввода значений. Затем назначьте задачи на спринт (итерация), просто перетащив карточки задач на нужный спринт какого-либо продукта.

Используйте статистические маркеры, чтобы облегчить процесс планирования.Добавьте маркер для любого поля - оценка времени работы, сложность задачи (story points). Маркер разделит задачи по нужному критерию и укажет потенциал команды на данный спринт или продукт. Затем просто перетащите маркер на спринт, чтобы разделить карточки по нужному критерию.

Отслеживайте работу на протяжении планирования спринта с раздела "Статистика" на панели планирования и сразу же на лету изменяйте приоритеты по мере необходимости.

Оценка пользовательских историй и технических задач

Многие команды Scrum оценивают пользовательские истории, используя сложность задачи (story points). Сложность задачи относительная величина для сравнения с другими историями. Многие команды пошли по уникальным путям оценки (например числа Фибоначчи). По умолчанию GreenHopper использует численные значения, но он может быть настроен по любой другой системе с помощью пользовательских полей.

Как только пользовательские истории приоритезированы, они могут быть разбиты на задачи в ходе планирования. В отличие от пользовательских историй, задачи могут быть оценены с использованием абсолютного значения, как, например, количество часов. Некоторые команды делают оценку до планирование спринта (итерация) в то время как другие делают оценку после.

Независимо от того, как ваша команда оценивает усилия, статистика для спринта и отчеты по выпуску продукта обновляются мгновенно, чтобы легче планировать спринт.

Настройка итераций (sprint)

Как правило, Scrum Master создает версия для каждого спринта в релизе (выпуск продукта). Статистика по продуктам в правом столбце на панели планирования отображает даты начала и окончания для каждого спринта и продукта, а также важную статистику для мониторинга. Статистика по продуктам агрегирует статистику по всем включенным спринтов.

Установите минимальное и максимальное значения для любой статистической величины указывающей потенциал команды для облегчения планирования спринта.