Гибкое тестирование - Инструменты
В Agile Projects тестировщики несут ответственность за следующие ежедневные задачи:
Поддержите разработчиков в кодировании, объясняя ожидаемое поведение системы.
Помогите разработчикам в создании эффективных и действенных модульных тестов.
Разработайте сценарии автоматизации.
Интегрируйте инструменты / сценарии автоматического тестирования с непрерывной интеграцией для регрессионного тестирования.
Для эффективного и быстрого выполнения этих задач в большинстве проектов Agile используется система непрерывной интеграции (CI), которая поддерживает CI кода и тестовые компоненты.
Тестировщики и разработчики гибких проектов могут воспользоваться различными инструментами для управления сеансами тестирования, а также для создания и отправки отчетов о дефектах. Помимо специализированных инструментов для гибкого тестирования, гибкие команды также могут воспользоваться инструментами автоматизации тестирования и управления тестированием.
Note - Решения для записи и воспроизведения, последнего тестирования, тяжелого веса и автоматизации тестирования не являются гибкими, как -
Рабочий процесс «последний тест», поощряемый такими инструментами, не подходит для Agile-команд.
Неподдерживаемые скрипты, созданные с помощью таких инструментов, становятся препятствием для изменения
Такие специализированные инструменты создают потребность в специалистах по автоматизации тестирования и, таким образом, способствуют разобщенности.
Инструменты, которые широко используются:
S.No. | Инструмент и цель |
---|---|
1 | Hudson CI Framework |
2 | Selenium Функциональное тестирование - интегрировано с Hudson |
3 | CruiseControl CI Framework |
4 | Junit Модульный тест Java |
5 | Nunit .Net Unit Test |
6 | Cobertura / JavaCodeCoverage / JFeature / JCover / Покрытие Java Test |
7 | Jester Java - тестирование мутаций / автоматический поиск ошибок |
8 | Gretel Инструмент мониторинга покрытия тестами Java |
9 | TestCocoon C / C ++ или C # - уменьшает количество тестов за счет поиска повторяющихся тестов и обнаруживает мертвый код. |
10 | JAZZ Java - Покрытие ветвей, узлов и обезвреживания и реализует графический интерфейс, планировщики тестирования, динамические инструменты и анализатор тестирования. |
11 | Ant Java - Автоматизация сборки |
12 | Nant .Net - Автоматизация сборки |
13 | Bonfire Надстройка Agile Testing для JIRA |
Инструменты автоматизации Agile Test
Поддержка эффективных средств автоматизации тестирования Agile -
Автоматизация раннего тестирования с использованием подхода «сначала тестирование».
Написание кода автоматизации тестирования с использованием реальных языков, языков предметной области.
Ориентация на ожидаемое поведение системы.
Разделение сути теста от деталей реализации, что делает его независимым от технологии.
Развитие сотрудничества.
Автоматизированные модульные тесты (с использованием Junit или NUnit) поддерживают подход «сначала тестирование» для кодирования. Это тесты белого ящика, которые проверяют надежность конструкции и отсутствие дефектов. Такие тесты создаются разработчиками при поддержке тестировщиков и могут не зависеть от требуемой функциональности. В результате получается продукт, который может не соответствовать требованиям заказчика и, следовательно, не иметь ценности для бизнеса.
Эта проблема решается путем автоматизации приемочных испытаний, написанных в сотрудничестве с заказчиком, другими заинтересованными сторонами, тестировщиками и разработчиками. Автоматические приемочные тесты составляются заказчиками или владельцами продуктов / бизнес-аналитиками и отражают ожидаемое поведение продукта. Участие разработчиков обеспечивает создание кода в соответствии с требованиями. Однако, если тестирование сосредоточено только на приемке, полученный код может остаться нерасширяемым.
Таким образом, автоматизированные модульные тесты и автоматизированные приемочные тесты дополняют друг друга, и оба они необходимы в гибкой разработке.
Гибкие инструменты и платформы, поддерживающие автоматическое приемочное тестирование:
- Fit
- Fitnesse
- Concordion
- Ruby
- Cucumber
Поместиться
Уорд Каннингем разработал инструмент Fit, который можно использовать для автоматизации приемочных испытаний. Fit позволяет -
Клиенты или Владельцы продуктов должны приводить примеры поведения продуктов с использованием Microsoft Word и Microsoft Excel.
Программисты легко превратят эти примеры в автоматизированные тесты.
Fit 1.1 поддерживает как Java, так и .NET.
FitNesse
FitNesse - это вики, представляющая собой стиль веб-сервера, который позволяет любому посетителю вносить любые изменения, включая изменение существующих страниц и создание новых страниц. Простой язык разметки позволяет легко создавать заголовки, выделять текст жирным шрифтом, подчеркивать и курсивом, создавать маркированные списки и выполнять другие виды простого форматирования.
В FitNesse автоматизация приемочных испытаний выглядит следующим образом:
Экспресс-тесты в виде таблиц входных и ожидаемых выходных данных.
Используйте FitNesse, чтобы поместить тестовую таблицу на страницу, которую вы можете редактировать.
Или поместите тестовую таблицу в Microsoft Excel, скопируйте в буфер обмена и затем используйте Spreadsheet to FitNesse команда, чтобы FitNesse правильно отформатировал вашу таблицу
Запустить тест
Вы получаете результаты теста путем цветовой кодировки ячеек в тестовой таблице.
зеленые ячейки означают, что ожидаемые значения получены
красные ячейки показывают, что получено значение, отличное от ожидаемого
желтые ячейки означают, что возникло исключение
Огурец
Cucumber - это инструмент, основанный на структуре Behavior Driven Development (BDD). Ключевые особенности:
Используется для написания приемочных тестов для веб-приложений.
Позволяет автоматизировать функциональную проверку в легко читаемом и понятном формате, таком как простой английский.
Был реализован на Ruby, а затем расширен до среды Java. Оба поддерживают Junit.
Поддерживает другие языки, такие как Perl, PHP, Python, .Net и т. Д.
Можно использовать вместе с селеном, ватиром, капибарой и т. Д.