Кроссбраузерное тестирование - как обеспечить уникальность тестовых данных?

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

У меня есть несколько вариантов:

  1. Выполните тесты в последовательном порядке. Восстанавливайте базу данных после завершения каждого теста. Отчет о тестировании по каждому тесту будет храниться индивидуально. Если возникает какая-либо ошибка, мы должны сами воспроизвести ошибку (данные были сброшены).

  2. Запускайте тесты одновременно / последовательно. Добавьте префикс к каждому тестовым данным, чтобы однозначно идентифицировать тестовые данные для различных тестов браузера. Например, FF_User1, IE_User1

  3. Запускайте тесты одновременно / последовательно. Несколько тестовых узлов будут настроены и подключены к разным базам данных. Каждый тестовый узел будет запускать тест, используя другой браузер, и данные теста будут храниться в другой базе данных.

Кто-нибудь может просветить меня, какой из них лучше всего использовать? или любое другое предложение?


person qa_enq    schedule 06.08.2012    source источник


Ответы (1)


Вам нужно запускать каждый тест во всех браузерах? В противном случае смешайте и сопоставьте - выберите, какие тесты вы хотите запустить в каком браузере. Вы можете организовать свои тестовые данные, как в варианте 2 выше.

В зависимости от того, какой инструмент автоматизации вы используете, данные, используемые во время выполнения, могут быть организованы как итерации:

Browser  |  Username  |  VerifyText(example)    #headers
FF       |  FF_User1  |  User FF_User1 successfully logged in
IE       |  IE_User1  |  User IE_User1 successfully logged in

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

person aneroid    schedule 07.08.2012
comment
Спасибо за ответ :) Да. Мое идеальное тестирование - запускать каждый тест во всех поддерживаемых браузерах. Мы будем использовать Java + Selenium WebDriver. Если будет выбран второй вариант, мы, скорее всего, будем поддерживать только один набор тестовых данных, но при выполнении предложения «if» к тестовым данным будут добавлены префиксы «FF» и «IE». Но не уверены, что первый вариант лучше? Как я обнаружил, люди склонны сбрасывать базу данных перед каждым «тестовым» запуском. Но «тест» может быть другим функциональным тестом, а не тестированием разных браузеров. - person qa_enq; 07.08.2012
comment
Когда вы говорите, что тестовые данные должны быть уникальными, это только для входа в систему или также для других доступных данных. Если ваши тесты написаны на java, вы можете иметь логины в виде массива login = ['FF_User1', 'IE_User1'] и browser = ['FF', 'IE'], поэтому комбинация логинов [0] предназначена для браузера [0 ] и логин [1] предназначен для браузера [1]. Кроме того, сохраните тестовые данные в CSV-файле или файле с разделителями-табуляциями с именами xyz_FF.txt и xyz_IE.txt, чтобы легко отделить уникальные данные. Вы также можете просто предположить, что row1 = FF, row2 = IE ИЛИ лучше ... иметь данные в браузере | логин | пароль | тестовые данные .... - person aneroid; 07.08.2012
comment
Я предполагаю, что данные теста нужно сбросить только после завершения теста для обоих браузеров - поскольку оно в любом случае уникально, вышеуказанное решение удобно. В противном случае передайте параметр runner, например --browser FF или --browser IE, чтобы вы могли: step1: сбросить данные, step2: запустить для FF, step3: сбросить данные, step4: запустить для IE. - person aneroid; 07.08.2012