Lecture05 (Лекции в ПДФ), страница 3

PDF-файл Lecture05 (Лекции в ПДФ), страница 3 Тестирование на основе моделей (63522): Лекции - 9 семестр (1 семестр магистратуры)Lecture05 (Лекции в ПДФ) - PDF, страница 3 (63522) - СтудИзба2020-08-21СтудИзба

Описание файла

Файл "Lecture05" внутри архива находится в папке "Лекции в ПДФ". PDF-файл из архива "Лекции в ПДФ", который расположен в категории "". Всё это находится в предмете "тестирование на основе моделей" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 3 страницы из PDF

Ниже рассматриваются две такие конструкции — для глубины 2 и дляглубины 3.Рекурсивная конструкция для покрывающих наборов глубины 2 и n = pk.Строим набор для nm+1 параметра из набора для m параметров.Обозначим через Aij (i <= N, j <= m) элементы исходного набора из CA(2; m, n).Обозначим также через Bij элементы из нижней части (без n верхних строк)покрывающего набора, построенного с помощью самой первой конструкции, число строк внаборе B равно z = n2–n.Строим новый набор в соответствии с приведенной ниже схемой — в ней первая ипоследняя строки, а также первый столбец, отмечают группировку элементов.nnnN0A11A11A11A12A12A12A1mA1mA1m0A21A21A21A22A22A22A2mA2mA2m…………………………0AN1 AN1AN2AN2ANm ANmAN1 AN2ANmB11 B12B12 B13B13B1(n+1)B1(n+1)………………Bz2 Bz3Bz3Bz(n+1)Bz(n+1)…Bz1 Bz2mmmПолучаем соотношение CAN(2; mpk+1, pk) <= CAN(2; m, pk) + p2k – pk.Пример для n = 3, m = 4 Исходный набор012345678001201201200011122210121202012012201120Получаемый набор размера 15 для 13 параметров выглядит так.01234567891011121314000000000111222000111222012012000111222012012000111222012012012012012012012012012012120201012012012120201012120201120201012120201120201012120201201120012201120201120012201120201120012201120201120Рекурсивная конструкция для покрывающих наборов глубины 3.Строим набор глубины 3 для числа элементов n и 2k параметров из набора глубины 3 длятого же числа элементов и k параметров и набора глубины 2 для того же числа элементов и kпараметров.Обозначим элементы исходного набора глубины 3 через Aij (i <= N, j <= k), элементыисходного набора глубины 2 — через Bij (i <= z, j <= k ).Строим новый набор в соответствии с приведенной ниже схемой — в ней первый столбецотмечает группировку элементов, а все сложения проводятся по модулю n.N12…A11A11A12A12A13A13A1kA1k……………………AN1 AN1AN2 AN2AN3 AN3ANk ANkB11(B11+1)B12(B12+1)B13(B13+1)B1k(B1k+1)……………………Bz1(Bz1+1)Bz2(Bz2+1)Bz3(Bz3+1)Bzk(Bzk+1)B11(B11+2)B12(B12+2)B13(B13+2)B1k(B1k+2)……………………Bz1(Bz1+2)Bz2(Bz2+2)Bz3(Bz3+2)Bzk(Bzk+2)……………………B11(B11+(n-1)) B12(B12+(n-1)) B13(B13+(n-1))B1k(B1k+(n-1))……………(Bz3+(n-1))Bzk(Bzk+(n-1))n-1 …Bz1…(Bz1+(n-1)) Bz2…(Bz2+(n-1)) Bz3Получаем соотношение CAN(3; 2k, n) <= CAN(3; k, n) + (n-1)CAN(2; k, n).Для представленных выше в различных местах наборов с n = 3 и k = 4 можно получитьнабор из CA(3; 8, 3), имеющий 45 строк.Приведенные выше конструкции позволяют строить наборы, число тестов в которыхпримерно пропорционально логарифму числа параметров.

Доказаны следующиесоотношения.При n→∞ CAN(2, k, n) ~ (n/2)log(k)CAN(t, k, 2) <~ t2tlog(k)O(log(t))CAN(t, k, n) <~ (t-1)log(k)/log(nt/(nt-1)), что при nt→∞ можно ограничить выражением(1+ε)tntlog(k) для любой положительной константы ε.Построение неоднородных покрывающих наборовНеоднородные покрывающие наборы часто можно достаточно быстро построить изблизких по конфигурации однородных.Например, самый первый приведенный выше набор из CA(2, 3,⋅2,⋅5,⋅4,⋅3,⋅5) был построентак.

Переставляя параметры его можно свести к CA(2, 5, 5, 4, 3, 3, 2). Уже видно, чтопотребуется как минимум 25 строк. Есть однородный набор CA(2, 5, 5, 5, 5, 5, 5), состоящийв точности из 25 строк — берем его и приводим все параметры с меньшим числом значенийпо модулю этого числа значений.Описанный прием может не дать покрывающий набор, если есть параметры с числомзначений, не взаимно простым с числом значений в исходном однородном наборе.

В такихслучаях часто все равно можно построить соответствующий неоднородный набор, толькодля «проблемных» параметров придется отдельно подбирать расположение их значений.Еще один пример — покрывающий набор из CA(2, 10, 9, 8, 7, 6, 5, 4, 3, 2). Для неготребуется не меньше 90 строк, однако близких однородных наборов с 10 значениями нет.Первые два столбца построим просто как все возможные сочетания 10 и 9 элементов. Адальше можно использовать столбцы, начиная с третьего, из однородного набора для 9элементов из CA(2; 10, 9). Для параметров, число значений которых равно 6 и 3, придетсядополнительно подбирать расстановку, но для этого достаточно несколько раз сместитьвдоль столбца соответствующие значения из однородного набора, взятые по модулю 6 и 3.

Витоге получается искомый покрывающий набор из 90 элементов, а значит — минимальныйвозможный.В общем случае для построения покрывающих наборов любой конфигурации,однородных и неоднородных, можно использовать эвристические алгоритмы. Одна извозможных эвристик при построении набора из CA(t, n1, …, nk) — построить сначала всевозможные комбинации из t значений параметров, а затем последовательно пытатьсядобавить новые столбцы, добавляя строки только при необходимости, пока не получимискомый набор.

Такой алгоритм называется жадным и выглядит примерно так.Упорядочим n1, …, nk по убыванию и построим исходную таблицу из всех возможныхкомбинаций значений первых t параметров.1. Если неиспользованных параметров нет — выдаем построенный набор в качестверезультата.Если есть еще неиспользованные параметры, берем первый из них. Строим столбецего значений произвольным образом.2. Вычисляем покрываемые комбинации из значений t уже имеющихся параметров, вкоторых последним параметром является только что добавленный. Если можнорасширить это множество за счет замены значений в только что построенном столбце,делаем это.Если покрыты все возможные комбинации значений t параметров с использованиемдобавленного, идем в пункт 1.Иначе идем в пункт 3.3. Построим новую строку с использованием любой из оставшихся непокрытымикомбинаций значений t параметров с использованием добавленного псоледним.

Еслив ней есть неопределенные значения параметров, определяем их так, чтобы при этомпокрылось как можно больше других непокрытых комбинаций.Добавляем построенную строку к таблице и выбрасываем из множества непокрытыхкомбинаций все, покрываемые ею.Если больше нет непокрытых комбинаций, идем в пункт 1.Иначе возвращаемся в начало пункта 3.Этот и другие эвристические алгоритмы построения покрывающих наборов реализованыв множестве инструментов, как коммерческих, так и доступных свободно, таких, как AETG,TestCover.com, CaseMaker, Pro-test, CATS, IBM Intelligent Test Case Handler, TConfig, TCGJenny (см. [1]).Комбинаторные методы построения тестовых последовательностейРассмотренные выше методы были, в основном, ориентированы на построение тестовыхданных.

Их можно использовать и для разработки более сложных тестов, вводя элементысостояния как дополнительные факторы. Однако при этом надо отдельно заботиться опреобразовании полученных комбинаторных схем в исполнимые тесты. То есть, еслипостроенный тест определяет, что некоторый элемент состояния должен принадлежатьклассу X, разработчик тестов должен сам придумать способ установить этот элемент внужное значение.Существуют и более прямые комбинаторные методы построения тестовыхпоследовательностей, позволяющих покрывать различные состояния тестируемой системы.Наиболее простой такой подход основан на последовательностях де Бройна.Предположим, что в тестируемой системе n операций без параметров, каждая из которыхможет изменять ее состояние.

Каким образом можно построить одну последовательность ихвызовов так, чтобы при этом проверить как можно больше различных вариантов поведениясистемы?Один из возможных ответов — использовать последовательность де Бройна из nзначений глубины k. Это максимально короткая последовательность, которая содержит всевозможные последовательности длины k из n значений в качестве своихподпоследовательностей. Известно, что для любых n и k такие последовательностисуществуют и имеют длину n(k–1)+(k–1). При этом все их подпоследовательности длины kразличны, то есть все возможные последовательности длины k упакованы в такуюпоследовательность максимально плотным образом.Примеры последовательностей де Бройна.n = 2, k = 2 — 00110n = 2, k = 3 — 0001011100n = 2, k = 4 — 0000100110101111000n = 3, k = 2 — 0010211220n = 3, k = 3 — 00010111002012112022210212200n = 4, k = 2 — 00102031121322330Для построения последовательностей де Бройна используют графы де Бройна.

Граф деБройна с параметрами n≥1 и k≥1 B(m, k) — это ориентированный граф с nk–1 вершинами V(n,k) = [0..(n–1)]k–1, являющимися всеми возможными последовательностями из n значенийдлины (k–1), и ребрами E(n, k) = [0..(n–1)]k, являющимися всеми возможнымипоследовательностями из n значений длины k. При этом ребро x1x2…xk-1xk начинается ввершине x1x2…xk-1 и заканчивается в вершине x2…xk-1xk.Примеры графов де Бройна изображены на рисунке ниже.000000000000011000001001001000010000111010100120011211110211222210111101101001000101 101000110210100100001011101110111001100111111110011101111111Рисунок 4.

Графы B(3, 1), B(3, 2), B(2, 3), B(2, 4).Все графы де Бройна — эйлеровы, то есть в них существует путь, содержащий все ребрапо одному разу, с совпадающими началом и концом. Если выписать последовательность,являющуюся первым ребром такого пути, а для каждого следующего ребра добавлять кполученной последовательности последний символ (заметим, что начало длины k–1 этогоребра будет концом получаемой перед ним последовательсноти), получится как разпоследовательность де Бройна.Каждая последовательность де Бройна глубины k для n значений полностью покрываетвсе возможные ситуации в тестируемой системе с n операциями, если предположить, что ееповедение полностью определяется последними k вызванными операциями.Литература[1] http://www.pairwise.org/tools.asp.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее