Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дрейзин В.Э., Кочура А.В. - Управление качество...doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
3.62 Mб
Скачать

6.4.8. Синтез тестов по аналитическому представлению таблицы покрытий

методом булевой алгебры

Рассмотрим методику синтеза тестов данным способом на том же примере. По полученной минимизированной таблице покрытий (табл. 6.7) запишем форму ПС (логическое произведение логических сумм):

= (3457)  (2456)  ( 1247)  (2367) 

 (1235)  (1567).

Если теперь, воспользовавшись правилами булевой алгебры, раскрыть все скобки, т.е. от формы ПС перейти к форме СП (логическая сумма логических произведений), то каждое из этих логических произведений элементарных проверок будет представлять собой тест, различающий все пары состояний. При этом мы получим все возможные тесты, и самые короткие из них и будут минимальными. Поскольку у нас все сомножители содержат по 4 члена то без учёта упрощений и приведения подобных членов всего должно получиться 46 =4096 логических произведений. Поэтому полный вывод будет весьма громоздким. Чтобы его сократить, примем следующую методику. Поскольку нас интересуют именно минимальные тесты, то вначале перемножим все скобки по парам. У нас останется три скобки с суммами попарных произведений, при этом некоторые из этих слагаемых (соответствующие произведениям одинаковых членов) будут одиночными. Очевидно, что именно произведения этих одиночных слагаемых и дадут минимальные тесты. Проведём перемножения скобок по парам:

(3457)  (2456) = 232425273444547

3555736465667;

( 1247)(2367) = 122242713233437

16266467 17477;

(1235)  (1567) = 112131525355

162636 5617273757 .

Теперь перемножим первое выражение на второе, но при этом будем оставлять лишь такие произведения, которые состоят не более чем из трёх сомножителей:

(3242527234454743557536465676) 

 (12224721323347316266476 17477) =

= 12312412512712523242527234245

247235257236256267246237134135

1363434534735736714615616734646

456467567671471574745724757.

Теперь перемножим получившееся выражение на результат третьего попарного перемножения, также оставляя только члены с числом сомножителей не более трёх:

(12312412512723242527234245

247235257236256267246237134135

1363434534735736714615616734646

456467567671471574745724757) 

(1121315253551626365617273757) = = p2p5Úp2p7Úp5p7Ú123124Úp1p2p5127134135136146

147156157167Úp2p3p5Úp2p3p6Úp2p3p7p2p4p5Úp2p4p6Úp2p4p7Ú

Úp2p5p6Úp2p5p7Úp2p6p7Úp3p4p5Úp3p4p6Úp3p4p7Úp3p5p7Úp3p6p7Úp4p5p6p4p5p7Úp5p6p7.

Итак, мы получили 32 варианта тестов, состоящих не более чем из трёх элементарных проверок. Три из них являются минимальными, содержащими по две элементарных проверки: 25, 27 и 57. Первый из них (25) является минимальным и по стоимости, поскольку два других минимальных теста включают более дорогие элементарные проверки (стоимость его составляет С25 = 1,2+2,4 =3,6). Теперь, чтобы убедиться, что он из всех возможных тестов является минимальным по стоимости, следует сравнить его стоимость со стоимостью самого дешёвого из возможных тестов, состоящих из трёх элементарных проверок. Таковым является тест, состоящий из первых трёх элементарных проверок 123, стоимость которого составит С1 2 3 = 1+1,2+1,4 = 3,6. Она точно равна стоимости теста 25 . Теперь уже можно точно сказать, что тест 25 является и минимальным, и оптимальным по стоимости (более дешёвого не существует).

Теперь остаётся только составить для него таблицу опознавателей состояний. Для этого достаточно восстановить для этих двух элементарных проверок таблицу состояний, т.е. из табл. 6.6 оставить только вторую и шестую строки (при построении минимизированной таблицы покрытий пятая строка была исключена и заменена шестой). В итоге, получим (табл. 6.9):

Таблица 6.9

Номера

проверок

А

S1

S2

S3

S4

π2

1

1

0

0

π5

1

0

0

1

Следовательно, опознавателями состояний будут следующие коды, полученные по результатам тестирования S1 → 11; S2 →10; S3 → 00; S4 → 01.

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