Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Построение безусловных тестов




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

Очевидно, что обе разновидности безусловного теста могут быть построены тем же методом. Отличие от построения условного теста будет только в том, что независимо от того, к какой ветви дерева состояний принадлежит действительное состояние объекта нельзя повторно использовать одни и те же проверки.

Рассмотрим на том же примере синтез безусловных тестов и оценим стоимость тестирования.

При синтезе безусловного теста с безусловной остановкой критерием оптимального теста является его минимальная длина (минимальное количество элементарных проверок) при минимальной стоимости самих проверок. Учитывать при этом вероятности отдельных состояний объекта нет смысла.

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

Следуя этому критерию, в качестве первой должна быть взята проверка, содержащая 5 или 6 единиц (т.к. всего состояний 11). Таких проверок 5: p6, p7, p9, p11 и p12. Очевидно должна быть выбрана самая дешевая из них, т.е. p6. Она разделит все множество состояний на две группы: 1:(S1, S4, S5, S8, S10) и 0: (S2, S3, S6, S7, S9,S11).

Следующая проверка должна разделять каждую из этих групп тоже на примерно равные части. Для наглядности перепишем таблицу состояний, сгруппировав все состояния в указанные две группы и вычеркнув проверку p6. Получим табл. 3.3. Поскольку первая группа содержит 5 состояний, а вторая 6, то, очевидно наилучшими будут проверки содержащие по три единицы в каждой группе или в первой группе две единицы, а во второй три.

Таблица 3.4

Таблица состояний после первого шага.

Si S1 S4 S5 S8 S10 S2 S3 S6 S7 S9 S11 Сj
p1                        
p2                        
p3                        
p4                        
p5                        
p7                        
p8                        
p9                        
p10                        
p11                        
p12                        
p61      

 

Из табл. 3.3 видно, что таких проверок 4: p7, p9, p11 и p12. Очевидно надо выбрать проверку p7 как самую дешевую. По ее результатам разделим каждую группу на две подгруппы и, в соответствии с этим перепишем таблицу состояний (см. Табл. 3.4).

Таблица 3.4.

Таблица состояний после второго шага.

Si S1 S8 S10 S4 S5 S2 S6 S7 S3 S9 S11 Cj
p1                        
p2                        
p3                        
p4                        
p5                        
p8                        
p9                        
p10                        
p11                        
p12                        
p7          
p6      
                                           

 

Теперь все состояния оказались разделенными на 4 подгруппы, три из которых содержат по 3 состояния, а четвертая – два. Очевидно, что третья проверка должна каждую из этих подгрупп делить на две части. Этому условию отвечают проверки: p1, p2, p11. Выбираем самую дешевую – p1 и, в соответствии с ее результатами переписываем таблицу состояний (см. табл. 3.5).

После третьего шага у нас остается только три подгруппы из двух состояний, все остальные подгруппы содержат лишь по одному состоянию. Следовательно четвертая проверка должна в этих трех подгруппах содержать только по 1 единице. Таких проверок нет. Следовательно построить тест, содержащий только 4 проверки не удается, хотя в принципе это было бы возможно, если бы такая проверка нашлась. Поэтому возьмем такую проверку, которая содержит по одной единице хотя бы в двух

 

Таблица 3.5

Таблица состояний после третьего шага.

Si p2 p3 p4 p5 p8 p9 p10 p11 p12 p6 p7 p1
S1                        
S10                        
S8                        
S5                        
S4                        
S2                        
S6                        
S7                        
S3                        
S9                        
S11                        
Cj                        

 

\подгруппах. Это проверки: p2, p4, p5, p9, p10 и p12. Выбираем самую дешевую – p2. Она разделяет (S1,S10) и (S2,S6). Неразделенной остается лишь подгруппа (S3,S9). Ее разделяют проверки p4, p10, p11, p12. Выбираем в качестве последней проверки самую дешевую из них – p4. Итак, тест построен, он содержит пять проверок: p6, p7, p1, p2 и p4.

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

Как видим стоимость тестирования с помощью безусловного теста получилась гораздо выше, чем средняя стоимость тестирования с помощью условного теста (без учёта стоимости разработки теста).

 


Таблица 3.6.

Опознаватели диагностируемых состояний.

Si p6 p7 p1 p2 p4
S1          
S2          
S3          
S4          
S5          
S6          
S7          
S8          
S9          
S10          
S11          
Cj          
åCj  
             

 

Поскольку тест в нашем случае на одну проверку длиннее, чем минимально необходимо (для получения 11 различных двоичных комбинаций минимально необходимо 4 двоичных разряда), то имеет смысл проверить, не окажется ли дешевле тест, получаемый с помощью самых дешёвых проверок, даже если он окажется ещё длиннее. Поэтому попробуем составить тест из самых дешёвых проверок p1, p2, p3, p4, …

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

 

Таблица 3.7

Разбиение таблицы состояний после первого шага (проверка p1).

Si p2 p3 p4 p5 p6 p7 p8 p1
S1                
S2              
S3              
S5              
S6              
S9              
S10              
S4                
S7              
S8              
S11              

 

Таблица 3.8

Разбиение таблицы состояний после второго шага (проверка p2).

 

Si p3 p4 p5 p6 p7 p8 p1 p2
S1                
S2            
S3            
S5            
S9            
S6              
S10            
S7                
S8            
S4              
S11            

 

 

Таблица 3.9

Разбиение таблицы состояний после третьего шага (проверка p3)

Si p4 p4 p6 p7 p8 p1 p2 p3
S1                
S3          
S9          
S2            
S5          
S6              
S10          
S7                
S8            
S4              
S11          

 

Таблица 3.10.

Разбиение таблицы состояний после четвертого шага

(проверка p4).

Si p5 p6 p7 p8 p1 p2 p3 p4
S1                
S9        
S3          
S2            
S5        
S6              
S10        
S7                
S8            
S4              
S11          

 

 

Таблица 3.11

Разбиение таблицы состояний после пятого шага (проверка p5)

 

Si p6 p7 p8 p1 p2 p3 p4 p5
S1                
S9        
S3          
S2            
S5        
S6              
S10        
S7                
S8            
S4              
S11          

 

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

С=Сp1+ Сp2+ Сp3+ Сp4+ Сp5=22+25+27+31+35=140

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

Действительно для первого из построенных тестов средняя стоимость тестирования составит

Cср=(Cp6+Cp7+Cp1)×(p8+p5+p4+p7+p11)+(Cp6+Cp7+Cp1+Cp2)×(p1+p10+p2+p6)+(Cp6+Cp7+Cp1+Cp2+Cp4)×(p3+p9);

Cср=(38+43+22)×(0.0238+0.0406+0.0045+0.0031+0.0012)+(38+43+
+22+25)×(0.7713+0.0857+0.0061+0.0018)+(38+43+22+25+31)×

(0.058+0.0026)=103×0.0732+128×0.8649+159×0.0606=7.54+110.7+

+7.76=126

А для второго теста

Cср=(Cp1+Cp2+Cp3)×(p7+p8)+(Cp1+Cp2+Cp3+Cp4)×(p3+p4+p11)+(Cp1+Cp2+Cp3+Cp4+Cp5)×(p1+p9+p2+p5+p6+p10)=(22+25+27)×(0.0045+0.0031)+(22+25+27+31)×(0.0580+0.0406+0.0012)+(22+25+27+31+35)×(0.7713+0.0026+0.0857+0.0238+0.0061+0.0018)=74×0.0071+105×0.0998+140×0.8913=0.525+10.48+124.78=135.8

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

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

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных