271
можно повысить, встроив средства тестирования в архитектуру системы уже на этапе
проектирования. Практикуется также создание тестов перед написанием тестируемого
кода.
На процесс тестирования и отладки системного программного обеспечения влияют
следующие факторы:
1. Работа в реальном масштабе времени;
2. Встроенная система интегрирована в объект управления;
3. Жесткие требования к надёжности и безопасности функционирования;
4. Тесная интеграция программного и аппаратного обеспечения системы: качественное
тестирование ПО невозможно при отсутствие корректно функционирующей
аппаратуры.
Тестирование функциональности встроенных систем, а также проверка
устойчивости системы к неполадкам и безопасного оперативного восстановления при
сбоях затруднены по следующим причинам:
1. Сложность и модульность системы;
2. Для тестирования требуется дополнительные аппаратуры и ПО.
3. Проведение испытаний на реальном объекте управления обычно невозможно.
Тестирование производительности встроенных систем малозначимо на фоне
остальных задач. Однако существует более серьезная проблема - проверка способности
системы к работе в реальном масштабе времени.
Тестирование системы при предельной нагрузке на различные ресурсы в некоторых
случаях затруднены, так как рабочий ресурс аппаратуры ограничен.
Тестирование совместимости в отличии от тестирования ПО для универсальных
персональных компьютеров, обычно не требуется проверки совместимости с широкой
номенклатурой аппаратных и программных продуктов, а нужна только совместимость с
продукцией этого же производителя и базовой конфигурацией ПК. Таким образом,
тестирование совместимости увеличивает общий объем работ по тестированию всего в
несколько раз. Однако в случае, когда требуется протестировать совместимость по
продуктами сторонних фирм, возникают проблемы дороговизны этих продуктов и
нежелания конкурирующих фирм предоставлять свои системы для подобных целей.
Тестирование надежности не представляет особых технических проблем, но может
отнять очень много времени.
Регрессивное тестирование вручную очень трудоемко и требует использования
сложного тестового оборудования. Практика показывает, что регрессивное тестирование
одного контроллера только лишь для одного варианта внешних условий может длиться
часами, при этом большое количество ручных операций делает возможным пропуск
тестировщиком многих ошибок. Еще одним препятствий для регрессивного тестирования
является ограниченность рабочего ресурса аппаратуры.
Как видно из представленных примеров, применение классических способов
тестирования либо не даёт нужного эффекта, либо приводит к очень большим
материальным затратам. Для этого требуется переосмысление привычных подходов к
проектированию встроенных систем.
Do'stlaringiz bilan baham: