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


(Mykhailo Poliarush) #1

Часть 1

Часть 2

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

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

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

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

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

Рис.  1.8 примеры прямоугольных стендовРис.  1.8 примеры прямоугольных стендов

Рис. 1.8 примеры прямоугольных стендов

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

Тесты отделенные от примеров показаны в Рис. 1.9. Тесты содержат файлы ввода AutoCAD и ожидаемые файлы вывода. Мы добавили картинки тестов для документации. Robot Framework игнорирует всю информацию кроме текста в таблице. Это позволяет нам добавить документацию к нашим техническим требованиям к тестам.

Рис. 1.9 тесты для узнавания стендов

Рис. 1.9 тесты для узнавания стендов

Ключевое слово “Detect and check stands” используется в качестве ключевого слова пользователя, показанного в Рис. 1.10.

Рис. 1.10 Ключевое слово stand recognition

Рис. 1.10 Ключевое слово stand recognition

Библиотека вызывает C интерфейс тестируемой системы (не показано).

Пример три: сообщения

Этот последний пример – пример workflow testing. Посетителям необходима возможность оставлять сообщения об информационной системе для конференций. В ходе дискуссии при определении требований, мы перешли от абстрактного описания к описаниям примеров переходных состояний.

Результаты представлены в Рис. 1.11.

Рис. 1.11 примеры последовательности процесса обмена сообщениями

Выделенные тесты завершились также как и примеры последовательностей. Они показаны в Рис. 1.12

Рис 1.12 workflow пример

Рис. 1.12 workflow пример

Все эти действия использовались как ключевые слова пользователя , чтобы их можно было повторно использовать при последующих workflow tests. Это минимизирует повторение тестов workflow tests и снижает поддержку автоматизации. Мы пропустим ключевые слова пользователей и тестовые библиотеки, так как они идентичны предыдущим примерам. 

ЗАКЛЮЧЕНИЕ ОТНОСИТЕЛЬНО ROBOT FRAMEWORK

Эти примеры продемонстрировали некоторые основные особенности Robot Framework. Другие особенности, о которых необходимо упомянуть: 

  • Возможность классификации тестов при помощи тегов. Это можно использовать для отчетности, статистики или для проведения выборочных тестов.
  • Доступность библиотек Swing library и Selenium library.
  • Четкие протоколы и отчеты, благодаря чему всегда очень просто понять, что случилось.
  • Простая интеграция с другими системами, например SCM или CI.
  • IDE для разработки тестов—RIDE.

ЗАКЛЮЧЕНИЕ

A-TDD – техника совместного выделения требований, использующая исполнимые примеры для исследования и уточнения требований. Это командная техника, с помощью которой создается совместная среда, а все действия параллельны итерации. Это помогает сделать рамки традиционных ролей более размытыми и создать среду для совместной работы.

RobotFramework – фреймворк для тестирования, созданный с учетом A-TDD. В нем используется табличный формат для описания примеров, который выполняется посредством соединительного кода, называемым тестовые библиотеки. Многоуровневая табличная структура дает возможность создавать таблицы наивысшего уровня на человеко-подобном языке, таким образом, уравнивая требования и примеры и тесты.