Как убедиться, что контракты в DbC тестируются перед развертыванием?
Как вы убедитесь, что контракты, которые вы определили для ваших программных компонентов, использующих Design by Contract (DbC), в какой-то момент тестируются?
Должен ли я написать модульные тесты для каждого контракта, который я определяю?
Одно преимущество, которое я вижу в DbC по сравнению с изолированным тестированием отдельных устройств, заключается в том, что я могу убедиться, что контракт работает между реальными сотрудниками. Но как я могу убедиться, что контракты тестируются до того, как я разверну это программное обеспечение?
1 ответ
Одним из способов является написание программы, которая имитирует пользователей вашего приложения, то есть бота. Запустите ваше приложение с включенными контрактами и попросите ботов использовать приложение. Вы можете реализовать рандомизированное поведение в своих ботах, чтобы они использовали больший набор вариантов использования и крайних вариантов. Лично я часто расширяю ботов, которые я пишу, чтобы проверить производительность, чтобы включить тот тип тестирования, который вам нужен.