Тестирование является важным аспектом проектирования и разработки, которое требует значительных затрат времени и ресурсов во многих компаниях.
Многочисленные модели процессов проектирования и разработки представляют их в виде последовательностей или сетей задач. В отраслевой практике эти задачи включают в себя многочисленные действия по тестированию, начиная от тестирования материалов и деталей, заканчивая тестированием основных функциональных компонентов и подсистем, вплоть до тестирования всей системы в соответствии с требованиями заказчика.
Деятельность по тестированию может инициировать изменение дизайна, а также помочь компаниям отреагировать на изменение дизайна, обеспечив соблюдение требований. Однако, несмотря на важность тестирования на практике, в большинстве моделей процессов проектирования явно не подчеркивается интеграция деятельности по тестированию во время разработки продукта.
С точки зрения тестирования, эти модели процессов являются частичными не только в действиях, которые они изображают, но также и в их структурах, которые обычно не подчеркивают отношения между дизайном и тестированием. Это большой пробел, потому что тестирование является очень значительным фактором стоимости при проектировании и разработке.
В инженерной практике связь между проектированием и испытаниями не является прямой. Тестирование имеет множество целей, а также принимает различные формы, включая оценку производительности материалов и компонентов, оценку функционирования и производительности подсистем и обеспечение общей возможности продукта для сложных пользовательских потребностей.
Некоторое тестирование обычно выполняется производителем оригинального оборудования, а другое - поставщиками подсистем. Эти тесты, как виртуальные, так и физические, важны для поддержки верификации и валидации, а также могут помочь в принятии проектных решений, если результаты будут получены своевременно.
Компьютерное моделирование представляет собой виртуальные тесты, которые часто используются наряду с физическими тестами компонентов, подсистем и прототипов всего продукта. Этот параллелизм ускоряет разработку продукта, а также повышает уверенность в результатах испытаний.
Как указывалось выше, тестирование не ограничивается окончанием процесса разработки, а выполняется на постоянной основе и пересекается с проектными работами на протяжении всего процесса разработки продукта. Это особенно очевидно для продуктов, которые разрабатываются постепенно. Здесь это означает, что новый продукт разработан с использованием предыдущего продукта в качестве отправной точки.
Модификации и изменения вводятся, чтобы соответствовать новым требованиям рынка и клиента, например, внедрять новые технологии, улучшать качество производства или снижать затраты. Компании обычно пытаются ограничить долю новых компонентов в этих процессах постепенного проектирования, что имеет значение для необходимого тестирования.
Интеграция тестирования с проектными работами также особенно близка для сложных продуктов со многими взаимозависимыми компонентами и функциональными подсистемами. Многие такие взаимодействия означают, что конструктивные изменения в компоненте или подсистеме с большей вероятностью распространятся на другие области продукта.
Это приводит к дополнительным тестам, необходимым для обращения ко всем измененным компонентам Влияние сложности проектирования на интеграцию тестирования и проектирования еще более подчеркивается, когда требования заказчика охватывают многочисленные варианты использования, возможно, удовлетворяемые с помощью различных вариантов продукта. Это также побуждает к тщательной интеграции тестирования с дизайном, чтобы адекватно учитывать весь контекст использования, сохраняя при этом усилия по тестированию и управляемые затраты.
Основное внимание уделяется как самому тестированию, так и тесно связанным задачам, включая анализ проекта, моделирование и симуляцию, физические тесты и анализ тестовых данных.
Эта тема заслуживает всестороннего и детального изучения, поскольку тестирование является важным компонентом разработки продукта / системного проектирования, которое может потреблять существенные пропорции общих усилий и затрат.
Кроме того, тестирование, хотя и требуется в большинстве проектов разработки продуктов, редко проводится оптимальным образом. Способствующим фактором является то, что не существует согласованного набора принципов, подходов и методологии для тестирования.
Напротив, существует значительная работа по структурированному тестированию в контексте верификации и валидации в разработке программного обеспечения. В некоторых отношениях тестирование программного обеспечения отличается от тестирования оборудования, например, потому что многие тесты могут быть автоматизированы и быстро выполняться при низкой стоимости в контексте программного обеспечения, что часто невозможно при тестировании оборудования.
Несмотря на различия, некоторые из выводов применимы к обоим доменам, поскольку в обоих случаях некоторые цели тестирования в целом схожи, и можно также отметить, что большинство сложных инженерных продуктов составляют значительную долю программного обеспечения.
Тестирование является важной проблемой при разработке технических продуктов, которая требуется для нескольких целей, начиная от оценки возможностей технологии до проверки и валидации проекта. Он тесно связан с другими важными вопросами в процессе проектирования и разработки, такими как дублирование действий и итерации.
Обычные модели процессов проектирования и разработки на макроуровне не подчеркивают необходимость тестирования. Межуровневые модели имеют дело с такими проблемами, как перекрывающееся тестирование и перепроектирование, но эти модели являются относительно абстрактными, каждая из которых фокусируется на отдельных проблемах и не учитывает многие сложности и ограничения практики, выявленные в тематических исследованиях.
Отмечая эти недостатки на обоих уровнях модели, исследование отраслевых примеров и существующих моделей было использовано для синтеза новой описательной модели, в которой подчеркивается роль тестирования в контексте дополнительного проектирования.
Процесс тестирования тесно связан с проектными работами и является неотъемлемой частью процесса разработки продукта. Поскольку тестирование часто является значительным фактором затрат при разработке продукта, взгляд на процесс разработки, в котором особое внимание уделяется тестированию, может открыть множество возможностей для исследований и улучшений.