Модульное тестирование на этапе технического обслуживания - PullRequest
2 голосов
/ 28 мая 2010

Наш проект в настоящее время находится на обслуживании. У нас никогда не было модульного тестирования для этого проекта. Мы планировали написать модульный тест для дельты, а не писать модульный тест для всего приложения. Какой будет предпочтительный подход. Действительно ли это добавляет ценности для добавления модульного тестирования на этапе обслуживания ??? Мы все еще находимся с .net 1.1 и в будущем собираемся перейти на .net 4.0.

Мне было интересно, сделал ли кто-нибудь ROI, чтобы продать это бизнесу?

Ответы [ 3 ]

3 голосов
/ 28 мая 2010

Предпочтительный подход состоит в том, чтобы покрыть весь ваш существующий код модульными тестами до , если вы добавите его, но у вас может не хватить на это бюджета. Модульные тесты для ваших изменений, безусловно, лучше, чем ничего.

Если у вас уже есть соответствующие интеграционные / проверочные / приемочные тесты, этого должно быть достаточно.

2 голосов
/ 28 мая 2010

В идеале у вас должны быть юнит-тесты, охватывающие весь ваш проект, а не только будущие дельты. Это особенно важно, если вы планируете провести серьезное обновление инфраструктуры, поскольку по сути это означает, что весь ваш проект является «дельтой».

Стоит ли вкладывать усилия в это, зависит от того, насколько вы действительно хотите поддержать этот проект в будущем.

0 голосов
/ 28 мая 2010

Все зависит от того, как часто и почему ваш код заменяется. Тем не менее, в любом случае Unit Testing и комплексный пакет модульных тестов больше похожи на долгосрочные инвестиции.

Если большинство изменений связано с проблемами на местах / заказчиком, то окупаемость инвестиций для UnitTest для (унаследованного) кода на этапе обслуживания должна быть связана с сокращением времени устранения проблем, уменьшением количества ошибок, внесенных (или выявленных) дельты и сократить время для выявления первопричины проблем.

Если отток кода вызван небольшими функциями (улучшения и / или запросы клиентов), то окупаемость инвестиций должна исходить из более короткого времени доставки (код лучшего качества, больше уверенности, включение TDD и т. Д.).

Модульные тесты в целом должны повысить доверие разработчика к основам кода и обеспечить некоторую сеть безопасности для изменений.

...