Предложить среду автоматизации тестирования для моего сценария - PullRequest
6 голосов
/ 26 апреля 2011

Я нахожусь в процессе оценки нескольких платформ автоматизации тестирования и был бы признателен за некоторый вклад.У нас есть большое бизнес-приложение для обработки кредитов, и оно имеет три конечные точки: веб-интерфейс, мыло и базовый http / post.Мое требование, как показано ниже.

Наш QA очень часто используется для тестирования на основе данных (все входные данные получены из Excel и, следовательно, ожидаемый результат для утверждений).В основном каждая строка в листе Excel содержит как входные данные, так и соответствующий ожидаемый результат.Мы хотим, чтобы наш QA просто редактировал листы Excel.Наша команда разработчиков будет отвечать за предоставление необходимых тестовых библиотек / приспособлений.Учитывая вышеописанный сценарий, я хотел бы использовать одну единую инфраструктуру автоматизации, которая может читать эти таблицы Excel и тестировать все конечные точки моего приложения, например, веб-интерфейс, soap и http / post.Пожалуйста, дайте мне знать, какие рамки автоматизации тестирования соответствуют моим потребностям.Цените некоторые указатели и учебники, чтобы начать меня.

Ответы [ 6 ]

5 голосов
/ 18 мая 2011

Robotframework позволяет использовать тестовые данные, которые поступают из внешних файлов. Я не пробовал с листами Excel, но я сделал это с данными в формате CSV, а также JSON. В худшем случае вам, возможно, придется экспортировать данные Excel в дружественный для Python формат, но это может быть сделано прозрачно для людей, обслуживающих электронную таблицу.

Короче говоря, вы можете создать ключевое слово в python (или любом языке на основе JVM, если вы используете jython), которое читает в вашей электронной таблице и преобразует его в данные, пригодные для тестовых случаев.

Однако, если абсолютно все ваши тесты основаны на этом файле данных, вам не нужна инфраструктура. Просто напишите короткий скрипт на любом языке, который выполняет итерацию по каждой строке и вызывает функцию, эквивалентную curl или wget. Фреймворки полезны, если вам нужен способ представления ваших тестовых сценариев, но он у вас уже есть.

Тем не менее, преимущество использования робота - даже если у вас есть только один тест с надписью «подтвердить использование каждой строки таблицы» - состоит в том, что вы получаете хороший отчет, который есть у робота, и можете довольно легко интегрировать его с Дженкинсом / Хадсоном.

3 голосов
/ 26 апреля 2011

Рекомендуется Fit / Фитнес . Это хороший способ позволить бизнес-аналитикам самостоятельно проводить тесты.

2 голосов
/ 30 августа 2012

Я прошел через несколько из предложенных платформ, но окончательный выбор, который я сделал, - написать свои собственные доменные библиотеки (DSL, если хотите) поверх

  1. Спок
  2. Геб
  3. Groovy и
  4. HTTP Builder
  5. Сонар и Хадсон

В настоящее время мы проводим 14000+ (и растущих) регрессионных тестов каждую ночь как часть CI.

1 голос
/ 26 апреля 2011

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

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

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

Надеюсь, это поможет вам.

0 голосов
/ 26 апреля 2011

Возможно, вы захотите взглянуть на Twist от Thoughtworks.Это функциональная среда тестирования.QA / BA могут использовать естественный язык для определения тестовых случаев.Twist использует Selenium и JUnit под капотом, поэтому сгенерированные тестовые примеры могут контролироваться версиями.

Я согласен с @stuartf, что вы не найдете готового решения, которое будет загружать данные Excel иутверждать против этого.Вы можете использовать POI или какой-либо другой Excel Excel для загрузки данных в вашу среду тестирования.

0 голосов
/ 26 апреля 2011

Я могу порекомендовать soapUI (http://www.soapui.org/) или приложение JMeter (http://jmeter.apache.org/).

)

С помощью SoapUI я сделал функциональные тесты для своего (мыльного) веб-сервиса. Вы можете автоматизировать эти тесты.

С Apache JMeter я провел автоматические тесты производительности в веб-интерфейсе. Данные испытаний также основаны на листе Excel.

С уважением, Патрик

...