Кто-нибудь сталкивался с какими-либо работоспособными подходами к реализации Test Driven Development (и, возможно, Behavior-Driven Development) в / для приложений COBOL?
Идеальное решение позволит проводить как модульное, так и интеграционное тестирование как транзакций (CICS)и пакетный режим cobol, сидящий поверх обычной комбинации баз данных DB2 и различных наборов данных фиксированной ширины.
Я видел http://sites.google.com/site/cobolunit/,, и это выглядит интересно.Кто-нибудь видел, как это работает в гневе?Это сработало?Что это были за ошибки?
Просто для того, чтобы ваши творческие соки текли, есть несколько «требований» для идеального подхода:
- Обязательно позволяют провести интеграционный тествся программа cobol.
- Должен разрешать тестам самостоятельно подтверждать свои результаты (т. е. делать утверждения в формате xUnit)
- Должен поддерживать оба пакетаmode и CICS cobol.
- Если позволяет модульному тесту выполнять отдельные абзацы в программе cobol, манипулируя рабочим хранилищем до / после вызова тестируемого кода.
- Если предоставляет возможность автоматически выполнять серию тестов (комплект) и сообщать об общем результате.
- Если поддерживает использование настроенных тестовых данных, которые настроеныперед тестом и впоследствии снесенным.
- Должно ли четко отделить тест от производственного кода.
- Если предлагает типичное соотношение теста к производственному коду:около 1: 1 (т.е.написание тестов не должно умножать количество написанного кода на столько, что общая стоимость обслуживания возрастает, а не уменьшается)
- Не не требует от разработчиков COBOL изучения другого языка программирования, если толькоэто напрямую противоречит приведенному выше требованию.
- Может поддерживать отчеты о покрытии кода.
- Может способствовать принятию различных шаблонов проектирования в самом кодедля упрощения тестирования кода.
Комментарии приветствуют обоснованность / уместность вышеуказанных требований.
Просто напоминание о том, что то, что я ищу здесь, является хорошим практическимСоветы о том, как лучше всего достигнуть такого рода вещей - я не обязательно ожидаю, что это готовое решение.Я был бы счастлив с примером, когда кто-то успешно использовал TDD в коболе, вместе с некоторыми рекомендациями и рекомендациями о том, что работает, а что нет.