DO> > DO> Да и во многих случаях эта проверка совершенно бессмысленна. Hе DO> > DO> работает программа вообще (не прошла проверку), или работает DO> > DO> неправильно - все одно устройство не работает. DO> DO> > В каких-то случаях это допустимо, в каких-то лучше ничего не DO> > делать, чем делать не пойми что. DO> DO> Если у тебя слетел флеш программ, да не весь, а какие-то биты, у тебя DO> нет возможности контролировать что делает твоя программа, так как DO> делать не то она может начать сразу вместо процесса самопроверки.
Вероятность "сразу вместо" можно сделать намного меньше 100%...
Есть много реальных задач, где требуется относительно редкая, но очень быстрая реакция на события. Приходиться ставить более производительный процессор, который на основную задачу тратит лишь малую часть от своей полной производительности.
Если все остальное время будет работать тест, то чисто статистически сбой вероятнее произойдет именно во время теста и будет с достаточно ненулевой вероятностью обнаружен.
В тестирующем коде, в отличие от рабочего, неправильное исполнение части команд с ненулевой вероятностью приведет к обнаружению сбоя.
Если же произойдет вылет из тестирующего кода, то должен сработать вотчдог (лучше внешний). Есстно, не 100%, но вероятность высока...
В таких задачах высокая вероятность обнаружения сбоя стоит усилий. Причем, высокая именно по отношению к редко исполняемой основной.
Естественно, если в конкретном случае высокая надежность важна... Впрочем, в таких случаях можно исскуственно завысить долю тестов.
<< Поцелуй мой
*б*л
*е*с
*т*я
*щ*и
*й* зад... << ... (c) Bender [8E] Dmitry Kuznetsov, Moscow,
formatting link
Беговая Черепаха] [Team LEXX]
*