AT.info ПОСИДЕЛКИ  vKontakte   facebook группа  
Keyword Driven

Cucumber - с чего начать?

Дорогие коллеги! Очень нужна помощь в освоении 'keyword-driven' тестирования с помощью Cucumbera! Что для этого нужно, какую литературку почитать? Опишите пожалуйста с чего вы начинали. Заранее спасибо!

Автоматизация приемочного тестирования с помощью Robot Framework: примеры использования

часть 1 | часть 2

Пример два: импорт файлов AutoCAD

Отдел экспозиции использует AutoCAD для создания плана конференций. Это включает в себя расположение стендов и всего остального,связанного с конференциями, включая непонятные символы и электрические розетки. Но, в любом случае, эти чертежи предназначались для того, чтобы их читали люди.

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

Файлы DWG содержат линии, создающие формы. Форма с написанным номером скорее всего является стендом. Системе необходимо прочитать файл, создать форму, распознать стенд, отделить ненужную информацию. Это не слишком сложно … за исключением того, что данные непоследовательны — созданные не для компьютеров. Формы не всегда точно закрыты, номер не всегда точно на стенде, и так далее.

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

Robot Framework

Поставщик: 
Nokia Siemens Networks
Распространение: 
Бесплатный

Robot FrameworkRobot Framework - это фреймворк автоматизации для приемочного тестирования и разработки через приемочные тесты (acceptance test driven development). Инструмент поддерживает легко используемый синтаксис тестовых данных и использует keyword-driven подход. Возможности Robot Framework могут быть расширены с помощью дополнительных библиотек тестирования, которые можно писать либо на  Python либо Java. Также пользователи инструмента могут создавать новые ключевые слова (keywords) из уже существующих с использованием точно такого же синтаксиса, который используется для написания тестов.

Функциональность:

  • Возможность использования табличного синтаксиса при создании тестов
  • Возможность использования keyword-driven, data-driven, behavior-driven подходов
  • Предоставляет возможность создания высокоуровневых ключевых слов, которые составляются из уже существующих
  • Предоставляет удобно читаемую отчетность и логгирование в HTML формате
  • Независимый от платформы и приложения
  • Модульная архитектура поддерживает создание тестов даже для приложений с несколькими разнообразными интерфейсами
  • Предоставляет простой API для создания собственных библиотек расширения функциональности
  • Предоставляет интерфейс командной строки и XML результаты для интеграции с существующей инфраструктурой (сервер непрерывной интеграции)
  • Поддержка Selenium для доступа к веб-приложениям, Java GUI тестирование, TelNet, SSH, базы данных и т.д. 
  • Библиотека удаленного доступа позволяет реализовать распределенное тестирование и писать тестовые библиотеки на разных языках программирования
  • Позволяет присваивать теги тестам для более удобной категоризации тестов
  • Встроенная поддержка переменных и использования разных сред для тестирования

Поддерживаемые технологии: 
Java, .NET
Поддерживаемые ОС: 
Microsoft Windows, Linux, Unix-подобное
Язык тестов: 
Python, Java
Тестируемые приложения: 
веб приложения, клиент-сервеные приложения, .NET приложения, Java приложения, Консольные приложения,

Архитектура автоматизации: Ключевые слова-действий (action keywords)

Проблема: Как бизнес пользователи могут создавать тестовые сценарии без знания программирования?

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

Контекст:

  • Участники: Специалисты предметной области, а также же сотрудники, занимающиеся только автоматизацией, и разрабатывающие библиотеки и функции навигации.
  • Продукт: Обычно используется для тестирования пользовательского интерфейса, но этот же подход можно успешно применять и для других интерфейсов.
  • Цели:Поддержка процесса автоматизации тестирования большим количеством специалистов предметной области.

Стратегия тестирования:

  • Создание тестов: Тесты создаются в виде таблиц. Тесты высокого уровня могут быть спроектированы до того, как продукт будет доступен для тестирования.
  • Выполнение тестов: механизм обработки ключевых слов выполняет тесты автоматически.
  • Оценка: Обычно ожидаемые результаты определены как точки проверки в сценариях теста.

Атрибуты качества:

  • Сопровождение и поддержка: Высокая. Тесты определяются на высоком уровне абстракции. Только библиотеки функционала навигации и прочих задач должны изменятся при внесении изменений в пользовательский интерфейс.
  • Проверка: Высокая. Тесты легко проанализировать менеджерам и тем, кто не имеет отношения к программированию.
  • Целостность и зависимость: Средняя. Механизм обработки ключевых слов и библиотеки функций являются ключевыми элементами. Если они работают хорошо, то возможность пересмотра способствует и надежности автоматизации.
  • Возможность повторного использования: Низкая.

Следующий шаг:
Язык высокого уровня для написания тестов делает исходящий формат совместимым с различными техниками генерации автоматизированных тестов, например, такой как автоматизированная обезьянка.

Архитектура автоматизации: Таблицы на основе пользовательского интерфейса

Проблема: Как специалисты без знания программирования могут сами создавать автоматизированные тесты?

Решение: Используйте таблицы где будут определены свойства окон, элементы на окнах, действия и данные для тестов.

Контекст:

  • Участники: Эксперты предметной области с поддержкой специалистов автоматизаторв, которые реализуют данную архитектуру.
  • Продукт: Пользовательский интерфейс уже определен ранее и находится в рабочем состоянии.
  • Цели: тестирование продукта с точки зрения бизнес пользователя

Стратегия тестирования:
Создание тестов:

  • Специалисты предметной области пошагово планируют тесты, оформляя их в таблицы.
  • Тесты могут быть записаны и финализированны как только пользовательский интерфейс будет известен. (другими словами, как только все готово для проведения тестоварония).

Выполнение тестов:

  • Интерпретатор и «диспетчер» выполняют тесты.

Оценка:

  • Ожидаемые результаты определяет автор теста.

Атрибуты качества:

  • Cопровождение и поддержка: Низкая. Табличный формат тестов позволяет автоматизировать поддержку и сопровождение некоторых видов изменений интерфейса пользователя.
  • Проверка: Высокая.Тесты легко проанализировать и тестировщикам, и программистам, и менеджерам.
  • Целостность и зависимость: Обработка ошибок и логгирование изолируются в выполняющую систему, которая может быть оптимизирована для улучшения надежности.
  • Возможность повторного использования: Формат представление действий и данных может заменить потребность использование дополнительных инструментов работы с графическим интерфейсом..

Следующий шаг:
«Ключевые слова-действия» строятся на этом подходе.

Автоматизация SOA

TC v8.0 Overview (Keyword Driven и Script Editor модули)

Вот проектные нужды заставили поковырятся в новом ТС (тот который 8-ой). Первое и пока не самое тривиальное, не смог за 5-ть потраченых минут наконфигурить чтобы мой сценарий был асоциирован с некой процедурой написаной в скрипт эдиторе. Так как проект для меня новый в плане автоматизации в среде ТС - решено было немного побаловатся рекордом. Итак проведу небольшой анализ той работы что была проделана.

RSS-материал