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

Тестирование программных средств направлено на достижение их соответствия целостному набору требований, называемому автором «первым эталоном»: функциям, характеристикам, архитектуре и качеству, утвержденным заказчиком и согласованным с разработчиками. «Вторым эталоном» автор считает совокупность применяемых тестов, которые должны адекватно отражать и покрывать весь набор требований заказчика к программному продукту. В качестве «третьего эталона» выступает эксплуатационная документация, которая должна обеспечивать эффективное применение программного продукта пользователями в соответствии с требованиями к функциям и характеристикам.

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

Сегодня во всем мире накоплено и продолжает накапливаться огромное число готовых программных компонентов, непрерывно сокращается потребность в программировании и тестировании новых модулей и небольших программ, что приводит к повышению роли интеграции таких готовых компонентов и соответствующих методов и инструментария программной инженерии. Однако из-за принципиальной новизны и сложности такие методы и инструментарий трудно воспринимаются традиционными программистами и тестировщиками программ. Коренные отличия между методами и инструментарием индивидуального, «художественного» программирования и тестирования небольших программ, и технологией планомерной, регламентированной, инженерной разработки и тестирования крупных программных продуктов приводят к тому, что последние медленно осваиваются и с трудом входят в практику работы больших коллективов специалистов. На преодоление этих недостатков и направлен учебник.

Как и большинство работ, посвященных методам программной инженерии, данный учебник отнюдь не представляет собой увлекательное чтение. Однако следует понимать, что речь идет не о каких-то новых идеях, которые позволят быстрее и ловчее создавать программы отдельным талантливым программистам, а о технологии, способствующей производственной разработке сложных программных систем. Это менее увлекательно, но гораздо больше требуется современному обществу. Словом, новая книга В.В. Липаева написана для людей, которые являются или собираются стать профессиональными производственными разработчиками современного программного обеспечения.

Липаев В.В. Тестирование крупных комплексов программ на соответствие требованиям. // Учебник. — М.: ИПЦ «Глобус», 2008. — 376 с.