Учебники

Agile Testing — Инструменты

В Agile Projects тестеры отвечают за следующие ежедневные задачи —

  • Поддержка разработчиков в кодировании, с разъяснениями ожидаемого поведения системы.

  • Помогите разработчикам в создании эффективных и действенных юнит-тестов.

  • Разработка сценариев автоматизации.

  • Интеграция средств / сценариев автоматизации тестирования с непрерывной интеграцией для регрессионного тестирования.

Поддержка разработчиков в кодировании, с разъяснениями ожидаемого поведения системы.

Помогите разработчикам в создании эффективных и действенных юнит-тестов.

Разработка сценариев автоматизации.

Интеграция средств / сценариев автоматизации тестирования с непрерывной интеграцией для регрессионного тестирования.

Для эффективной и быстрой реализации этих задач в большинстве проектов Agile используется система непрерывной интеграции (CI), которая поддерживает CI кода и тестовые компоненты.

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

Примечание. Решения для записи и воспроизведения, Test-Last, Heavyweight и Test Automation не являются гибкими, поскольку —

  • Рабочий процесс test-last, поддерживаемый такими инструментами, не работает в Agile командах.

  • Неуправляемые сценарии, созданные с помощью таких инструментов, становятся препятствием для изменения

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

Рабочий процесс test-last, поддерживаемый такими инструментами, не работает в Agile командах.

Неуправляемые сценарии, созданные с помощью таких инструментов, становятся препятствием для изменения

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

Инструменты, которые широко используются —

S.No. Инструмент и цель
1

Гудзон

CI Framework

2

Селен

Функциональное тестирование — интегрировано с Hudson

3

Круиз-контроль

CI Framework

4

Junit

Модульный тест Java

5

Nunit

.Net Unit Test

6

Cobertura / JavaCodeCoverage / JFeature / JCover /

Тестирование Java

7

шут

Java — тестирование мутаций / автоматическое заполнение ошибок

8

Гретель

Инструмент мониторинга покрытия тестов Java

9

TestCocoon

C / C ++ или C # — уменьшает количество тестов, находя избыточные тесты и находя мертвый код

10

ДЖАЗ

Java — ветвление, узел и Defuse Coverage и реализует графический интерфейс, планировщики тестов, динамические инструменты и анализатор тестов

11

Муравей

Java — Автоматизация сборки

12

Nant

.Net — Автоматизация сборки

13

Костер

Дополнение Agile Testing для JIRA

Гудзон

CI Framework

Селен

Функциональное тестирование — интегрировано с Hudson

Круиз-контроль

CI Framework

Junit

Модульный тест Java

Nunit

.Net Unit Test

Cobertura / JavaCodeCoverage / JFeature / JCover /

Тестирование Java

шут

Java — тестирование мутаций / автоматическое заполнение ошибок

Гретель

Инструмент мониторинга покрытия тестов Java

TestCocoon

C / C ++ или C # — уменьшает количество тестов, находя избыточные тесты и находя мертвый код

ДЖАЗ

Java — ветвление, узел и Defuse Coverage и реализует графический интерфейс, планировщики тестов, динамические инструменты и анализатор тестов

Муравей

Java — Автоматизация сборки

Nant

.Net — Автоматизация сборки

Костер

Дополнение Agile Testing для JIRA

Инструменты автоматизации тестирования Agile

Эффективная поддержка инструментов автоматизации тестирования Agile —

  • Ранняя автоматизация тестирования с использованием подхода «сначала тест».

  • Написание кода автоматизации тестирования с использованием реальных языков, специфичных для предметной области языков.

  • Сосредоточение внимания на ожидаемое поведение системы.

  • Отделение сущности теста от деталей реализации, что делает технологию независимой.

  • Содействие сотрудничеству.

Ранняя автоматизация тестирования с использованием подхода «сначала тест».

Написание кода автоматизации тестирования с использованием реальных языков, специфичных для предметной области языков.

Сосредоточение внимания на ожидаемое поведение системы.

Отделение сущности теста от деталей реализации, что делает технологию независимой.

Содействие сотрудничеству.

Автоматизированные модульные тесты (с использованием Junit или NUnit) поддерживают первый подход к тестированию для кодирования. Это тесты «белого ящика», которые гарантируют, что дизайн надежный и на нем нет дефектов. Такие тесты создаются разработчиками при поддержке тестировщиков и могут быть независимыми от требуемой функциональности. Это приводит к поставке продукта, который может не соответствовать требованиям клиента и, следовательно, не иметь никакой коммерческой ценности.

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

Таким образом, автоматические модульные тесты и автоматические приемочные тесты являются бесплатными, и оба необходимы в Agile Development.

Гибкие инструменты и платформы, поддерживающие автоматическое приемочное тестирование, —

  • Поместиться
  • Fitnesse
  • Concordion
  • Рубин
  • Огурец

Поместиться

Уорд Каннингем разработал инструмент Fit, который можно использовать для автоматизации приемочных испытаний. Fit позволяет —

  • Клиенты или Владельцы продукта, чтобы привести примеры поведения продукта с использованием Microsoft Word и Microsoft Excel

  • Программисты легко превращают эти примеры в автоматизированные тесты.

Клиенты или Владельцы продукта, чтобы привести примеры поведения продукта с использованием Microsoft Word и Microsoft Excel

Программисты легко превращают эти примеры в автоматизированные тесты.

Fit 1.1 поддерживает как Java, так и .NET.

FitNesse

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

В FitNesse автоматизация приемочных испытаний выглядит следующим образом:

  • Экспресс-тесты в виде таблиц входных данных и ожидаемых выходных данных.

  • Используйте FitNesse, чтобы поместить тестовую таблицу на страницу, которую вы можете редактировать.

    • В качестве альтернативы, поместите тестовую таблицу в Microsoft Excel, скопируйте в буфер обмена и затем используйте команду Spreadsheet to FitNesse, чтобы FitNesse правильно отформатировал таблицу.

  • Запустить тест

  • Вы получаете результаты теста по цветовой кодировке ячеек в тестовой таблице

    • зеленые клетки показывают, что ожидаемые значения получены

    • эритроциты показывают, что получено значение, отличное от ожидаемого

    • желтые клетки представляют собой исключение

Экспресс-тесты в виде таблиц входных данных и ожидаемых выходных данных.

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

В качестве альтернативы, поместите тестовую таблицу в Microsoft Excel, скопируйте в буфер обмена и затем используйте команду Spreadsheet to FitNesse, чтобы FitNesse правильно отформатировал таблицу.

Запустить тест

Вы получаете результаты теста по цветовой кодировке ячеек в тестовой таблице

зеленые клетки показывают, что ожидаемые значения получены

эритроциты показывают, что получено значение, отличное от ожидаемого

желтые клетки представляют собой исключение

Огурец

Cucumber — это инструмент, основанный на платформе Behavior Driven Development (BDD). Ключевые особенности —

Используется для написания приемочных тестов для веб-приложений.

Позволяет автоматизировать функциональную проверку в легко читаемом и понятном формате, например, на английском языке.

Был реализован в Ruby, а затем расширен до среды Java. Оба поддерживают Джунит.

Поддерживает другие языки, такие как Perl, PHP, Python, .Net и т. Д.

Может использоваться вместе с Селеном, Ватиром, Капибарой и т. Д.