Tools & Methods of Program Analysis
Basok, B., Grechin, A., Moscow State Technical University of Radioengineering, Electronics and Automation
On Improving the Statistical Method of Assessing Test Coverage for Programs and Devices
2. Статистический способ
определения полноты тестов
P
B
N
•
P – полнота теста T
•
B – отказы, выявляемые тестом T из N возможных отказов
заданного класса
h
b
n
•
h – статистическая полнота теста T
•
b – отказы, выявляемые тестом T из n возможных отказов
•
n – случайная выборка из N (n ⊂ N)
3. Статистический способ
определения полноты тестов
P h
p
p (1 p )
g
n
•
Φ(g) – интеграл вероятности
•
Для p=(1-p)=0,5 (худший случай) и g=2
•
2 (g) 1
при n=400 получим:
P h
p
0,05
0,95
5. Определение размера группы Gi
при анализе теста i
MinM (Yi ) min
G
i
Gi
Ni
Gi
Pi Gi
Ni
Gi
•
M(Yi) – математическое ожидание количества прогонов
теста i
•
Ni – количество не выявленных дефектов перед тестом i
•
Li – количество дефектов, обнаруженных тестом i
Pi
1
C
Gi
N i Li
C
Gi
Ni
Li
Li
i 1
k 1
Lk
i 1
1
1
,i 1
6. Определение размера группы Gi
при анализе теста i
1
F (Gi ) min
1
G
Gi
i
для Li
Gi
Ni
Li
Gi
j 1
Ni
Li 1
Ni
Ni
Ni
Li 1
j 1
j 1
7. Статистика прогонов тестов
для одиночных отказов
Номер
теста
Кол-во
отказов
Размер
группы
Кол-во
групп
Кол-во
выявл.
групп
Кол-во
выявл.
отказов
Всего
прогонов
1
400
1
400
66
66
400
2
334
1
334
5
5
334
3
329
1
329
2
2
329
4
327
1
326
1
1
327
5
318
1
318
9
9
318
Итого
1708
8. Статистика прогонов тестов
для кратных отказов
Номер
теста
Кол-во
отказов
Размер
группы
Кол-во
групп
Кол-во
выявл.
групп
Кол-во
выявл.
отказов
Всего
прогонов
1
400
3
134
55
66
299
2
334
3
112
5
5
127
3
329
9
37
2
2
55
4
327
10
33
1
1
43
5
318
10
33
8
9
113
Итого
637
9. Выводы по экспериментальным
данным
• Средняя статистическая полнота
тестов: 21%
• Выигрыш по отношению к прогонам с
одиночными отказами: 2,7 раза
• Эффективный порог полноты
анализируемого теста: 30% - 40%
10. Повышение статистической полноты тестов
модулей программ и устройств
i
m
P
i
vm
(n
i
vms
n )
N im
(i 1, k )
•
Pim – статистическая полнота тестов модуля i
•
nivm – количество дефектов модуля i, обнаруженных тестами
модуля i
•
nivms – количество дефектов модуля i, обнаруженных
тестами системы и не обнаруженных тестами модуля i
•
Nim – статистическая выборка отказов для модуля i
11. Повышение статистической полноты
интеграционных тестов программ и устройств
k
i
vsm
( n
Ps
i 1
nvs )
Ns
•
Ps – статистическая полнота тестов системы
•
nivsm – количество дефектов системы, обнаруженных
тестами модуля i
•
nvs – количество дефектов системы, обнаруженных тестами
системы
•
Ns – статистическая выборка отказов системы