tmpa 2013 basok: on improving the statistical method of assessing test coverage for programs and...

Post on 11-Nov-2014

393 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Усовершенствование статистического метода проверки полноты тестов

устройств и программ

Басок Б.М., Гречин А.А.

Московский государственный технический университет радиотехники, электроники и автоматики

г. Москва

Статистический способ определения полноты тестов

• P – полнота теста T

• B – отказы, выявляемые тестом T из N возможных отказов заданного класса

• h – статистическая полнота теста T

• b – отказы, выявляемые тестом T из n возможных отказов

• n – случайная выборка из N (n ⊂ N)

NB

P

nb

h

Статистический способ определения полноты тестов

• Φ(g) – интеграл вероятности

• Для p=(1-p)=0,5 (худший случай) и g=2

• при n=400 получим:

1)(2)1(

g

npp

gphP

95,005,0 phP

Усовершенствование статистического метода проверки полноты тестов

• Ускорение – метод кратных отказов

• Уточнение – совместный анализ результатов оценки полноты тестов модулей и тестов системы

Определение размера группы Gi при анализе теста i

• M(Yi) – математическое ожидание количества прогонов теста i

• Ni – количество не выявленных дефектов перед тестом i

• Li – количество дефектов, обнаруженных тестом i

i

iii

i

i

iGiG G

NGP

G

NYMinM

i

min)(

i

i

i

ii

GN

GLN

i C

CP 1

1,1

ii

L

L

L1i

1k1k

1i

i

Определение размера группы Gi при анализе теста i

iG

ji

ii

iiGi jN

jLN

GGF

1

1

1

11

1min)(

ii NL для

1i

i

i

ii L

N

L

NG

Номер теста

Кол-во отказов

Размер группы

Кол-во групп

Кол-во выявл. групп

Кол-во выявл. отказов

Всего прогонов

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

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

Номер теста

Кол-во отказов

Размер группы

Кол-во групп

Кол-во выявл. групп

Кол-во выявл. отказов

Всего прогонов

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

Статистика прогонов тестов для кратных отказов

• Средняя статистическая полнота тестов: 21%

• Выигрыш по отношению к прогонам с одиночными отказами: 2,7 раза

• Эффективный порог полноты анализируемого теста: 30% - 40%

Выводы по экспериментальным данным

Повышение статистической полноты тестов модулей программ и устройств

• Pim – статистическая полнота тестов модуля i

• nivm – количество дефектов модуля i, обнаруженных

тестами модуля i

• nivms – количество дефектов модуля i, обнаруженных

тестами системы и не обнаруженных тестами модуля i

• Nim – статистическая выборка отказов для модуля i

im

ivms

ivmi

m Nnn

P)(

),1( ki

Повышение статистической полноты интеграционных тестов программ и устройств

• Ps – статистическая полнота тестов системы

• nivsm – количество дефектов системы, обнаруженных

тестами модуля i

• nvs – количество дефектов системы, обнаруженных тестами системы

• Ns – статистическая выборка отказов системы

s

vsivsm

k

is N

nnP

)(1

• Интеграционные тесты выявляют не менее 10% из не выявленных тестами модулей отказов-мутантов

Выводы по экспериментальным данным

top related