Более сложные инструментальные средства выполняют
Однако такой инструмент не помогает создавать и выполнять тесты.
Более сложные инструментальные средства выполняют заданные Тесты, а затем сравнивают вывод со спецификацией. Тесты также могут генерироваться автоматически, фиксируя ввод с внешнего источника вроде нажатия пользователем клавиш на клавиатуре. Зафиксированную входную последовательность затем можно выполнять неоднократно. Всякий раз при выпуске новой версии программной системы следует предварительно снова запускать тесты. Такое регрессивное тестирование необходимо, потому что предположения, лежащие в основе программы, настолько взаимосвязаны, что любое изменение может вызвать ошибки даже в модулях, где «ничего не изменялось».
3.9. Средства конфигурирования
Инструментальные средства конфигурирования используются для автоматизации управленческих задач, связанных с программным обеспечением. Инструмент сборки (make) создает исполняемый файл из исходных текстов, вызывая компилятор, компоновщик, и т.д. При проектировании большой системы может оказаться трудно в точности отследить, какие файлы должны быть перекомпилированы, в каком порядке и с какими параметрами, и легко, найдя и исправив ошибку, тут же вызвать другую, использовав устаревший объектный модуль. Инструмент сборки программы гарантирует, что новый исполняемый файл создан корректно с минимальным количеством перекомпиляций.
Инструментальные средства управления исходными текстами (source control) или управления изменениями (revision control) используются для отслеживания и регистрации всех изменений модулей исходного текста. Это важно, потому что при проектировании больших систем часто необходимо отменить изменение, которое вызвало непредвиденные проблемы, либо проследить изменения для конкретной версии или сделанные конкретным программистом. Кроме того, разным заказчикам могут поставляться различные версии программы, а без программных средств пришлось бы устранять общую ошибку во всех версиях.