Модульные тесты формируют архитектуру

Одно из важнейших решений по поводу кодовой базы (также предписанных методологией ХР) состояло в том, что весь код должен проходить модульное тестирование. Модульное тестирование обладает многими преимуществами; в частности, оно позволяет изменять часть кода, не беспокоясь о том, что это нарушит работу всех остальных частей. Некоторые области внутренней структуры Архитектурного городка подвергались весьма радикальной переработке, и модульные тесты давали нам уверенность в том, что в остальных областях системы ничего не «сломается». Например, принципиальные изменения были внесены в потоковую модель и интерфейс подключения к аудиоконвейеру. Это были серьезные архитектурные изменения, вносимые на относительно поздней стадии разработки подсистемы, но остальной код, взаимодействующий с аудиоблоком, продолжал работать идеально. Модульные тесты дали нам возможность изменять архитектуру.

Со временем Архитектурный городок становился все более зрелым проектом, и подобные «крупные» изменения происходили все реже. После переработки архитектуры ситуация стабилизировалась, и в дальнейшем происходили лишь небольшие архитектурные изменения. Система развивалась быстро, по итеративному принципу. В ходе каждого этапа архитектура совершенствовалась, пока не пришла к относительно стабильному состоянию.

Примечание

Хороший набор автоматизированных тестов для вашей системы позволяет вносить фундаментальные архитектурные изменения с минимальным риском. Он создает пространство для вашей работы.

Related posts:

  1. Низкий уровень привязок

Подпишитесь на рассылку по почте:

Введите свой адрес почты, чтобы получать уведомления о новых статьях.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>