'

Инструменты генерации тестовых данных для функционального тестирования микропроцессоров и интерфейсов программных систем

Понравилась презентация – покажи это...





Слайд 0

Инструменты генерации тестовых данных для функционального тестирования микропроцессоров и интерфейсов программных систем д.ф.-м.н., проф.каф.СП Александр Константинович Петренко асп. Евгений Корныхин


Слайд 1

Генерация тестовых программ на основе грамматик (БНФ) BNFTool: возможности: простой способ генерации программ в некотором синтаксисе ограниченность: только синтаксически правильные программы и нет возможности нацелить на отдельные конструкции языка


Слайд 2

Генерация на основе моделей программ OTK, Pinery: графовые модели для задания свойств программ возможности: позволяет нацеливать тест ограниченность:не учитывает состояние исполняемой программы (например, значения переменных)


Слайд 3

Генерация на основе «шаблонов» программ Pex, Genesys-Pro, RAVEN «шаблон» - скелет тестирующей программы возможность нацеливания на свойства исполнения программ ограниченность: несложные структуры состояния (для Pex это серьезное ограничение, для Genesys-Pro – норма)


Слайд 4

Генерация на основе «шаблонов» программ программа на языке ассемблера шаблон программы эксперт ? ~ 100 шаблонов, длина шаблонов = 2-3 - мало (преамбула для r2,r3) AND r1, r2, r3 LOAD r4, r2, 66 AND r1, r2, r3 @ normal LOAD r4, r2, c1 @ l1Hit


Слайд 5

. . . LOAD x, y, c @ tlbHit STORE z, x,c @ tlbMiss . . . Общая схема генерации (= v (+ y c)) LOAD x, y, c: v ? y + c; AddrTr(v,p); . . . (= t (extract[30:10] v)) (or (= t t1) (= t t2)) шаблон программы модель инструкции constraint constraint v = 145 y = 52 с = 66 . . . значения параметров шаблона . . . LOAD x, y, 66 STORE z, x, 66 . . . программа на языке ассемблера


Слайд 6

Практическая важность результата длина/сложность шаблона увеличивается с 2-3 до 10-15 обозримое число шаблонов (то есть и целей тестирования) увеличивается на два порядка (~100 ? ~10000)


Слайд 7


Слайд 8

Исходные данные и модели (1) Описание шаблона (параметрически заданная тестовая программа) . . . STORE z, x, c1 @ tlbMiss LOAD x, y, c @ tlbHit . . . параметр параметр инструкция


Слайд 9

Исходные данные и модели (2) Описание моделей инструкций LOADWORD x, y, c: vAddr ? y + c; vAddr[1:0] = 0; AddrTrans(vAddr, pAddr); pAddr ? pAddr[35:3] || (pAddr[2:0] + 4); LoadMem(pAddr, memdw); x ? memdw[vAddr[2:0]:0];


Слайд 10

Исходные данные и модели (3) Описания моделей компонентов микропроцессора (управление памятью, конвейер и др.) на ЯП AddrTrans (…) {…..} LoadMem (…) {…..}


Слайд 11

Реализация подхода для тестирования микропроцессоров Шаблон задает класс тестовых ситуаций – цель шаблона Параметры шаблонов – значения аргументов инструкций вычисляются как решение системы ограничений (уравнений), позволяющее достичь цели шаблона Ограничения формулируются на основе описания моделей компонентов Решатель - Z3


Слайд 12

. . . LOAD x, y, c @ tlbHit . . . Общая схема генерации (= v (+ y c)) LOAD x, y, c: v ? y + c; AddrTr(v,p); . . . (= t (extract[30:10] v)) (or (= t t1) (= t t2)) шаблон программы модель инструкции ограничения ограничения v = 145 y = 52 с = 66 . . . значения параметров шаблона . . . LOAD x, y, 66 . . . программа на языке ассемблера


Слайд 13

Практическая важность результата длина/сложность шаблона увеличивается с 2-3 до 10-15 обозримое число шаблонов (то есть и целей тестирования) увеличивается на два порядка (~100 ? ~10000)


Слайд 14

Pex


Слайд 15

Pex (2)


Слайд 16

Genesys-Pro (2)


×

HTML:





Ссылка: