Я пытаюсь применить методы BDD к своей организации. Я работаю в банке, где ночное пакетное задание представляет собой огромный многопроцессорный поток пакетных заданий, выполняемых совместно, и передающих данные между собой.Применение тестирования BDD для пакетных сценариев?
Во время наших тестов интерактивные онлайн-тесты, вероятно, составляют всего 40-50% тестовых сценариев, а остальные встроены в пакетное задание. В качестве примера, тестовый сценарий может быть:
- Учитывая, что мой сберегательный счет имеет баланс $ 100 по состоянию на 10 вечера
- Когда еженощно партия запускается в 11pm
- Затем в 3 часа после пакетного запуска я должен вернуться и посмотреть, что у меня есть дополнительный начисленный процент в размере 0,001 доллара США.
- И в главной книге банка должна быть дополнительная запись для начисленных процентов в размере 0,001.
Как вы можете видеть, это чрезвычайно асинхронный сценарий. Если я должен использовать Cucumber для его запуска, возможно, я смогу создать определение шага, чтобы вставить баланс $ 100 в учетную запись на 10PM, но не будет реалистично использовать Cucumber для запуска партии, которая будет запускаться с 11:00, когда пакетные задания обычно выполняемые операторами с использованием собственных средств планирования, таких как Control-M. И имея Огурцов, подождите и послушайте несколько часов, прежде чем проверять начисленные проценты, я не уверен, что я натолкнулся на тайм-аут или нет.
Это всего лишь один сценарий. Пакетные трассы очень дороги для банка, и мы всегда придерживаемся как можно большего числа сценариев, чтобы ездить на одном групповом запуске. У нас также есть сценарии старения, когда нам нужно запустить 6 месяцев партии, чтобы проверить, является ли окончательный интерес в конце срочного депозита правильным или нет (я определенно не могу заставить Огурца ждать и слушать так долго, не так ли?)
Мой вопрос в том, есть ли какой-либо пример, где методы BDD применялись к таким крупным сценариям, как эти? Как можно подойти к этому?
Изменить, чтобы объяснить, почему я не была направлена на выполнение изолированных тестовых сценариев, где я нахожусь в контроле:
Мы делаем отдельные сценарии, в одном из уровней тестирования (мы называем его испытания системы в моем банке) и BDD действительно работает в этом контексте. Но в конечном итоге нам нужно попасть на тестовый уровень, который имеет всю сквозную среду, как правило, в SIT. В этой среде это критерий для параллельного запуска нескольких сценариев тестирования, ни один из которых не имеет полного контроля над средой. В зависимости от объема проекта эта среда может работать до 200 приложений. Таким образом, каналы клиентов, такие как Интернет-банк, будут запускать сценарии транзакций, которые будут выполняться в основной банковской системе, будут выполнены сценарии, такие как расчет процентов, автоматические переводы и т. Д. Будут также сценарии учета, при которых система главной книги объединяет и балансирует все учетные записи в среде. Для проведения ручного тестирования в этой среде часто требуется не менее 30-50 человек, выполняющих транзакции и проверяющих результаты.
То, что я пытаюсь сделать, - найти способ использовать механизм BDD для автоматизации выполнения теста и захвата результатов, чтобы нам не пришлось вручную отслеживать их все в среде.
Привет, Я дал объяснение, почему я не описываю сценарий, который может выполняться изолированно. Но это заняло слишком много слов, и поэтому я добавил его к основному вопросу. Спасибо! – feicipet