'

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

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





Слайд 1

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


Слайд 2

План Задача генерации тестовых программ Генерация на основе грамматик (на основе BNF - BNFTool) (возможности и ограниченность (только синтаксически правильные программы и нет возможности нацелить на отдельные конструкции языка)) Генерация на основе моделей (заготовок) программ (OТК/Pinery) (возможности (позволяет нацеливать тест) и ограниченность (не учитывает сложность внутреннего состояния исполняемой программы)) Два примера зрелых инструментов, использующих для нацеливания шаблоны программ/параметрически заданный тест (Pex, Genesys-Pro) Ограничения – простые структуры данных Для Pex – это серьезное ограничение, для Genesys-Pro – норма (но Genesys-Pro недоступен) Реализация подхода для тестирования микропроцессоров Описания шаблонов (параметрически заданная тестовая программа) Описания моделей инструкций («транслируются» из описания архитектуры в ЯП) Описания моделей компонентов микропроцессора (управление памятью, конвейер и др.) на ЯП Шаблон задает класс тестовых ситуаций – цель шаблона. Параметры шаблонов – значения аргументов инструкций вычисляются как решение системы ограничений (уравнений), позволяющее достичь цели шаблона. Решатель - Z3. Общая схема Практическая важность результата (число шаблонов (то есть и целей тестирования) увеличивается на два порядка, длина/сложность шаблона уведичивается с 2-3 до 10-15)


Слайд 3

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


Слайд 4

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


Слайд 5

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


Слайд 6

. . . 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 х = 3 . . . значения параметров шаблона . . . LOAD x, y, 66 . . . тестовая программа


Слайд 7

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


Слайд 8

Исходные данные и модели (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];


Слайд 9

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


Слайд 10

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


Слайд 11

. . . 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 х = 3 . . . значения параметров шаблона . . . LOAD x, y, 66 . . . тестовая программа


Слайд 12

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


Слайд 13

Pex


Слайд 14

Pex (2)


Слайд 15

Genesys-Pro (2)


×

HTML:





Ссылка: