Подход к автоматизации для модуля с предварительными данными - PullRequest
0 голосов
/ 03 августа 2020

В настоящее время я автоматизирую модуль, который требует большого количества предварительных данных перед выполнением фактического действия для тестирования, используя Cucumber с Selenium- Java. Я использую сервисы отдыха для создания этих данных, однако он продолжает создавать неверные данные, поскольку сервисы продолжают меняться, поскольку мы работаем над проектом agile. Поэтому нужны некоторые идеи относительно того, каким должен быть подход к автоматизации в этом случае.

** Добавление данных из пользовательского интерфейса невозможно, поскольку в сценарии ios требуются данные с датой на 50–100 дней назад.

1 Ответ

0 голосов
/ 03 августа 2020

Не уверен, какой ответ вы здесь ищете.

Ответ в основном - «это зависит от обстоятельств», и после почти 15 лет консультирования по тестированию я могу посоветовать вам этот подробный разговор, а не простой

Взять хотя бы одну мысль ....

  • API меняется, поэтому загружайте прямо в базу данных.
  • База данных сложные и перекрестно связанные, поэтому копирование продукции
  • Производство содержит пользовательские данные, поэтому запутайте их ...

Вы поняли идею - для всего, что я мог предположить, это может быть так легко опровергнутый - И это только одна возможность посмотреть. Там также ваша структура кода, среда, подход к выполнению, технологии, люди и команды и т. Д. c ...

Для другого взгляда, прочтите эту статью (отказ от ответственности - я автор)

Вся статья великолепна, но вам нужен раздел «Воняет, что обслуживание нашей автоматизации занимает так много времени и так дорого стоит». ... Это звучит примерно правильно? : -)

Перефразируя статью - вы никогда не уйдете от обслуживания тестов. Вам нужно донести до остальной команды те усилия, которые вам на это нужны. Если вам потребуется неделя, чтобы поддерживать автоматизацию для 10-минутного изменения в разработке, это необходимо решить.

Помимо этого, стоит рассмотреть еще несколько идей (некоторые из них тоже есть в статье) - и они общие c, нетехнические идеи, потому что "это зависит":

  • если он ВСЕГДА меняется, он не подходит для автоматизации. Скажите людям, что вы заберете его, когда он станет стабильным. Если необходимо, получите все карточки, которые изменят приоритетность API, чтобы это было сделано как можно скорее и больше никаких немедленных изменений не требуется.
  • Вам нужны все тесты, которые у вас есть? Вы (вероятно) выполняете автоматическое регрессионное тестирование, а не функциональное тестирование. Чем больше у вас тестов, тем больше усилий вам нужно для их выполнения. Рассмотрите возможность уменьшения объема работ, чтобы уменьшить объем обслуживания.
  • Могут ли ваши тесты стать модульными? Просмотрите то, что вы тестируете, с разработчиками и посмотрите, что они получают.
  • Вы - команда QA, но ответственность за качество лежит на всех. Поручите команде разработчиков выполнить обслуживание таких изменений. Убедитесь, что автоматизация работы является частью определения готово / завершено, так что 10-минутная карточка фиксируется для всех усилий.
  • Используйте свою ретроспективу, чтобы поднять ее и зафиксировать, что происходит. Вся суть agile заключается в обратной связи, обучении и адаптации. Это аудитория, с которой вы хотите задать этот вопрос: -)
...