лекции, страница 18

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

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

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

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

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

Основной их недостаток — необходимость иметь описаниетестируемых компонентов как абстрактных типов данных с полным набором аксиом,описывающих соотношения между операциями. Получить такие описания для практическизначимых систем очень тяжело.Эти методы дают средние значения полноты тестирования и позволяют находить ошибкиот простых до средней сложности. Достаточно сложную и специфическую ошибку с ихпомощью найти тяжело.Один из алгебраических методов построения тестов состоит в следующем.•Выбирается некоторый набор стартовых цепочек операций.•Для каждой стартовой цепочки просматриваются все ее начала.

Если одна изначальных цепочек может быть преобразована в эквивалентный вид при помощиодной из аксиом, это преобразование выполняется над всей цепочкой.В результате для каждой стартовой цепочки получается множество цепочек,эквивалентных ей. Поскольку они получены с помощью однократного примененияаксиом, их можно назвать цепочками первого порядка.Если количество полученных цепочек невелико, к каждой из них можно применитьту же технику, получив цепочки 2-го порядка, и т.д.Тестирование состоит в последовательном выполнении одной из стартовых цепочек•и всех, эквивалентных ей, со сравнением получаемых результатов.Пример.Рассмотрим алгебраическое описание списка, приведенное в Лекции 3.[].size() = 0[X.size()] ≡ [X](i <= X.size()) => X.add(i, o).size() = X.size()+1(i < X.size()) => X.remove(i).size() = X.size()–1(i < X.size()) => [X.get(i)] ≡ [X](i, j <= X.size() & i < j) => [X.add(i, o1).add(j, o2)] ≡ [X.add(j–1, o2).add(i, o1)](i <= X.size()) => [X.add(i, o1).add(i, o2)] ≡ [X.add(i, o2).add(i+1, o1)](i <= X.size()) => [X.add(i, o).remove(i)] ≡ [X](i, j <= X.size() & i < j) => [X.add(i, o).remove(j)] ≡ [X.remove(j–1).add(i, o)](i, j <= X.size() & i > j) => [X.add(i, o).remove(j)] ≡ [X.remove(j).add(i, o)](i <= X.size()) => X.add(i, o).get(i) = o(i, j <= X.size() & i < j) => X.add(i, o).get(j) = X.get(j-1)(i, j <= X.size() & i > j) => X.add(i, o).get(j) = X.get(j)(i, j < X.size()-1 & i < j) => [X.remove(i).remove(j)] ≡ [X.remove(j+1).remove(i)](i, j < X.size() & i <= j) => X.remove(i).get(j) = X.get(j+1)(i, j < X.size() & i > j) => X.remove(i).get(j) = X.get(j)В качестве стартовой возьмем одну цепочку [].add(0, o1).add(1, o2).Эквивалентными ей цепочками будут следующие.[].add(0, o1).add(1, o2).size()[].add(0, o1).add(1, o2).get(0)[].add(0, o1).add(1, o2).get(1)[].add(0, o2).add(0, o1)[].add(0, o1).add(1, o2).add(0, o3).remove(0)[].add(0, o1).add(1, o2).add(1, o3).remove(1)[].add(0, o1).add(1, o2).add(2, o3).remove(2)Цепочек второго порядка получится уже достаточно много.Чтобы проверить эквивалентность получаемых списков можно применить к ним всеоперации, возвращающие некоторые значения, и сравнить результаты.

В данном случае этооперации size(), get(0), get(1).Таким образом, в нашем случае нужно взять стартовую цепочку X, каждую изполученных эквивалентных ей цепочек Y и сравнить их при помощи следующих проверок.X.size() == Y.size() && X.get(0) == Y.get(0) && X.get(1) == Y.get(1)ЛитератураТестирование на основе моделейВ.

В. КуляминЛекция 5. Комбинаторные методы построения тестовКомбинаторные методы построения тестов основаны на разделении каждого тестовоговоздействия на ряд элементов и построении тестов как всевозможных комбинацийполученных элементов, объединяемых по определенным правилам.Комбинаторные методы дают более высокую полноту покрытия, чем вероятностные, ипри этом требуют ненамного больше ресурсов. Кроме того, они хорошо автоматизируются.Однако, с помощью комбинаторных методов трудно найти ошибки в очень специфическихситуациях, требующих учета многих факторов, а трудозатраты на их применение при учетевозрастающего числа факторов растут гораздо быстрее.Одним из примеров комбинаторных методов является тестирование по разбиениям накатегории (category partition testing).

В рамках этого подхода для построения тестоввыполняются следующие действия.•Выделяется набор операций тестируемой системы, обращения к которым должныпроизводиться в тестах.•Для каждой тестируемой операции анализируются требования к ней и на основеэтого анализа выделяются, дополнительно к ее параметрам, некоторые факторы(внешние условия или свойства внутреннего состояния системы), от которых можетзависеть ее поведение.•Возможные значения каждого параметра операции или фактора, влияющего на ееповедения, классифицируются — разбиваются на конечное множество категорий.Категории выделяются таким образом, чтобы изменение значения параметра илифактора в рамках одной категории слабо изменяло требования к работе операции.•Определяются зависимости между полученными категориями, взаимосвязи междузначениями различных параметров и факторов, а также недопустимые комбинацииих значений.•Тестовые ситуации строятся как возможные комбинации категорий значенийпараметров и факторов.

Для каждой такой комбинации определяютсясоответствующие конкретные значения параметров и способ достижениясоответствующих значений факторов (тестовые последовательности и изменениявнешних условий).Достаточно сильно похож на эту технику и метод построения тестов на оcнове дереваклассификации (classification tree method). Он используется при наличии большогоколичества факторов, влияющих на поведение тестируемой системы.Сначала выделяется набор наиболее заметных факторов, влияние которых на поведениетестируемой системы достаточно сильно.

Такие факторы называются в рамках этого методааспектами. Для каждого из этих факторов пытаются определить разбиение его возможныхзначений на группы, в рамках которых требования к поведению системы меняются слабо.При этом могут быть выявлены другие факторы, чье влияние на систему становитсясущественным, если один из базовых аспектов зафиксирован.Базовые аспекты образуют вершины дерева классификации, непосредственно связанные сего корнем.

Их классы и вторичные аспекты привязываются к базовым аспектам, и т.д., покавсе существенные факторы не будут найдены и классифицированы.После построения дерева классификации необходимо определить зависимости междувыделенными классами значений аспектов.ГололедПогодные условияДождьНормальныеГрунтГравийАсфальтМалоНормаТормозная жидкостьПедаль тормозаНажата до отказаОтпущенаНажатаНажата до отказаПедаль газаНажатаОтпущенаДорожное покрытиеТесты строятся как возможные комбинации классов значений аспектов, соответствующихлистовым вершинам дерева.Например, при тестировании встроенного программного обеспечения управленияавтомобилем, возможна следующая классификация ситуаций.1234Тестовые ситуацииРисунок 1. Пример использования дерева классификаций.Тестирование на основе грамматикДругой часто применяемой комбинаторной техникой создания тестов являетсясинтаксическое тестирование или тестирование на основе грамматик. Оно используется втех случаях, когда структуру множества возможных воздействий на тестируемую системуможно описать при помощи формальной грамматики.Проще всего эту возможность заметить там, где действительно существуют некоторыйспециальный язык — например, в системах, работающих с языками программирования,языками запросов (SQL и др.), языками для описания структуры документов (XML, HTML ипр.) или с регулярными выражениями.

Однако с помощью формальных грамматик можноописывать и структуру пользовательского интерфейса. Наиболее наглядный пример это —структура опций утилит в операционных системах типа UNIX. Чуть менее привычноиспользование грамматик для описания графических интерфейсов пользователя (GUI).Рассмотрим для этого простой пример интерфейса поиска фраз и ключевых слов встандарте POSIX. Этот интерфейс реализован при помощи разделения окна браузера на триобласти: основной текст, индекс и форма поиска. Форма поиска может иметь два вида,которые представлены на рисунках ниже.Эта форма в начальном состоянии показана на Рис.

2, при выборе ссылки Word Search еевид меняется на изображенный на Рис. 3.Рисунок 2. Форма поиска — основной вид.Рисунок 3. Форма поиска ключевых слов.Все действия пользователя в рамках этой формы поиска можно описать при помощиследующей грамматики.Chapter ::= Frontmatter | BaseDefinitions | SystemInterfaces | ShellAndUtilities | RationaleOrganization ::= Alphabetical | TopicMainOption ::= Chapter | OrganizationSection :: = All | XSH | XCU | XBD | XRATMainIndexAction ::= (MainOption)* (<Phrase> Search)* | WordSearchAction ReturnToMainIndexWordSearchAction ::= MainIndexAction WordSearch | WordSearchAction (SubstringMatching)?Section <Keywords> SubmitQuery<Keywords> ::= <Word> | <Keywords> "or" <Word> | <Keywords> "and" <Word><Phrase> ::= (<Word>)*В приведенном описании нажатия на кнопки, ссылки или включение/выключениефлажков на форме выделены таким шрифтом, как BaseDefinitions или Search.

<Keywords>,<Word> и <Phrase> — это различные виды фраз, которые можно ввести в поля ввода формы.При построении тестов на основе формальных грамматик рассматриваются тестовыеситуации, соответствующие различным вариантам построения предложений в этойграмматике. Похожие наборы вариантов рассматриваются и при определении метриктестового покрытия на основе грамматик (см. Лекцию 3).Каждая альтернатива дает столько вариантов, сколько в ней участвует. Опциональныйэлемент дает два варианта — его присутствие и его отсутствие.

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