Алгоритм
<<  Алгоритм разработки комплекта контрольно-оценочных средств по профессиональному модулю Алгоритм ымы  >>
I. Построение расширенного конечного автомата
I. Построение расширенного конечного автомата
I. Требования к объектам управления записанные в модель в виде
I. Требования к объектам управления записанные в модель в виде
Картинки из презентации «Применение генетических алгоритмов к генерации тестов для автоматных программ» к уроку информатики на тему «Алгоритм»

Автор: Andrew Z. Чтобы познакомиться с картинкой полного размера, нажмите на её эскиз. Чтобы можно было использовать все картинки для урока информатики, скачайте бесплатно презентацию «Применение генетических алгоритмов к генерации тестов для автоматных программ.ppt» со всеми картинками в zip-архиве размером 118 КБ.

Применение генетических алгоритмов к генерации тестов для автоматных программ

содержание презентации «Применение генетических алгоритмов к генерации тестов для автоматных программ.ppt»
Сл Текст Сл Текст
1Применение генетических алгоритмов к 13переходы в модели нумеруем, и тогда у
генерации тестов для автоматных программ. каждого перехода есть уникальный
Санкт-Петербургский государственный идентификатор вида “tn” Тестовый сценарий
университет информационных технологий, записываем как список идентификаторов
механики и оптики Кафедра Компьютерных переходов, например: t1, t2, t4, t5, t2,
Технологий. Законов Андрей Юрьевич Научный t4, t5, t2, t4, t5, t2, t4. 13.
руководитель: Степанов Олег Георгиевич, 14III. Выполнение тестового сценария.
к.т.н., ассистент кафедры КТ. Для того, чтобы автомат выполнил заданную
2Проблема проверки корректности. последовательность переходов (тестовый
Необходимо проверять корректность сценарий): необходимо подобрать
автоматной программы: соответствие последовательность событий; выполнить все
реализации программы заданнои? охранные условия и контракты ОУ. В
спецификации Важно находить ошибки в любой условиях задействованы переменные, которые
части системы: в модели; в объектах автомат получает из среды при помощи
управления; во взаимодействии объектов объектов управления сумма введенная с
управления и модели. Доказательство клавиатуры; количество денег на счету. Для
трудоемко и требует математической создания кода теста нужны значения этих
подготовки. Model-checking не тестирует переменных: подобрать вручную; найти
систему целиком (не затрагивает объекты автоматически. В данной работе предложен
управления). 2. способ автоматизации поиска значений
3Предложенный подход. Предлагается внешних переменных, при которых
помимо Model Checking использовать выполняются охранные условия и контракты
тестирование для проверки корректности объектов управления. 14.
программ Тесты позволяют проверять всю 15III. Поиск значений переменных. Для
систему в целом Тестирование не может поиска значений используется генетический
гарантировать отсутствие ошибок, но алгоритм. Фитнес-функция берет на вход
помогает в их обнаружении Тестирование – набор значений для внешних переменных и
трудоемкий процесс. По статистике он оценивает приспособленность для заданной
занимает около половины времени разработки последовательности переходов: сколько
проекта. 3. переходов выполненно успешно (выполнены
4Актуальность проблемы. Существующие все условия); для всех невыполненных
подходы для автоматных программ не условий учитывается насколько сильно
позволяют проверять всю систему вцелом нарушено это условие (branch distance);
Работы про проверку расширенных конечных положение нарушенного условия в заданном
автоматов (EFSMs) не учитывают пути; Генетический алгоритм используется
существование объектов управления и для поиска набора значений с минимальным
взаимодействие модели с ними Подходы к результатом фитнес-функции. 15.
тестированию традиционных программ не 16III. Генетический алгоритм. Набор
могут использовать специфику автоматного внешних переменных (вектор значений) –
подхода: могут тестировать сгенерированный хромосома: <x1, x2, …, xn>
из автомата код; теряются все преимущества Одноточечное скрещивание: <x1, x2, x3,
автоматного подхода. Тестирование x4> <x1, x2, x3, y4> <y1, y2,
трудоемко, поэтому автоматизация y3, y4> <y1, y2, y3, x4> Мутация
принципиальна. 4. – замена произвольного элемента вектора на
5Задачи для тестирования автоматных случайное число. Фитнес-функция: учитывает
программ. Проверить соответствие охранные условия и контракты объектов
реализации автоматной программы заданнои? управления расстояние до условия учитывает
спецификации. Задачи: Перевести положение в пути. Значение для пути m –
спецификацию из естественного языка в число шагов в пути fi – расстояние до
формат, пригодный для автоматической условия для i-го шага. di – вес i-го с
проверки. Предложить простой и удобный шага, 16.
способ записи тестовых сценариев. 17III. Пример поиска значений переменных
Автоматически создавать из описания (1). Примеры сценариев для тестирования:
тестового сценария код теста пригодный для три раза снимаются деньги со счета и на
запуска. Проверять соблюдение условий счету заканчиваются средства на четвертой
спецификации во время выполнения теста. 5. попытке; двадцать раз снимаются деньги со
6I. Спецификация на естественном языке. счета и на счету не заканчиваются
Обычно спецификация создается на средства. Необходимо подобрать значения
естественном языке Пример словесной переменных для создания теста,
спецификации банкомата: система позволяет выполняющего выбранный сценарий. 17.
снимать деньги с определенного счета; 18III. Пример поиска значений переменных
изначально на счету сумма от 0 до 100 000; (2). Запишем сценарий как
пользователь может снимать деньги последовательность переходов: t1, t2, t3,
произвольное количество раз, пока есть t2, t3, t2, t3, t2, t4 На этом пути
деньги на счету; Ввод суммы для снятия задействовано пять переменных: ext_sum -
происходит с клавиатуры, пользователь изначальная сумма на счету; ext_x1 – сняли
может ввести число от 1000 до 15000; В первый раз; ext_x2 – сняли второй раз;
день со счета может быть снято не более ext_x3 – сняли третий раз; ext_x4 –
50000. Такая спецификация пригодна только попробовали снять четвертый раз.
для ручного тестирования. 6. Разработан инструмент, реализующий
7Требования к автомату: система описанный ГА: на вход получает модель и
позволяет снимать деньги с определенного заданную последовательность переходов
счета; пользователь может снимать деньги выдает значения переменных для прохождения
произвольное количество раз, пока есть этого пути. 18.
деньги на счету; В день со счета может 19Автоматически найденные значения:
быть снято не более 50000. Требования к ext_sum = 15673; ext_x1 = 4357; ext_x2 =
объектам управления: изначально на счету 8023; ext_x3 = 2162; ext_x4 = 9287.
сумма от 0 до 100 000; пользователь может Найденные значения позволяют сгенерировать
ввести на клавиатуре число от 1000 до автоматически код теста, пригодный для
15000. I. Спецификация на естественном запуска. Наборы тестов удобно применять
языке Разделение требований на группы. 7. для регрессионного и стресс-тестирования.
8I. Построение расширенного конечного III. Автоматическая генерация кода теста
автомата. Расширенный конечный автомат для запуска. 19.
учитывает переменные и охранные условия на 20IV. Оценка корректности поведения
переходах. 8. системы во время запуска тестов (1).
9I. Спецификация системы: расширенный Необходимо оценить корректность поведения
конечный автомат. Требования к автомату: автоматной программы во время выполнения
система позволяет снимать деньги с этого теста. Это выполняется автоматически
определенного счета; пользователь может для тех путей, которые содержат контракты.
снимать деньги произвольное количество Во время выполнения программой
раз, пока есть деньги на счету; В день со сгенерированных тестов используется
счета может быть снято не более 50000. инструмент JML Runtime Assertion Checker
Требования к объектам управления: для динамической проверки JML-контрактов,
изначально на счету сумма от 0 до 100 000; интегрированных в Java-код. 20.
пользователь может ввести на клавиатуре 21IV. Оценка корректности поведения
число от 1000 до 15000. 9. системы во время запуска тестов (2). Для
10I. Включение в модель требований к рассмотренного пути и найденных значений
объектам управления и системе в целом. при запуске теста будет проверяться
Требования спецификации можно добавить в условие: В день со счета может быть снято
модель несколькими способами: создать не более 50000; @invariant today <=
новое состояние (ошибка) и добавить 50000. При использовании объектов
переход с охранным условием. Это приведет управления, будет также проверяться,
к большому количеству состояний; записать выполняют ли они требования спецификации.
требование при помощи контракта к действию Запуск тестов также позволяет обнаружить
на переходе, на котором выполняется зависания и исключительные ситуации
обращение к объекту управления При помощи (exceptions), оценить время работы. 21.
контрактов будем записывать требования в 22Поиск значений, нарушающих требования.
виде пред- и постусловий к переходам, и Требования спецификации автомата также
инвариантов для состояний. 10. можно включить в вычисление функции
11I. Требования к объектам управления приспособленности Это позволит искать
записанные в модель в виде контрактов. значения, которые нарушают эти требования
Добавляем требования в модель при помощи Необходимо рассматривать состояния
JML-контрактов. Клавиатура: @ensures ext_x последовательно нарушить требования для
>= 1000 && ext_x <= 15000 первого состояния выполнить для первого,
Счет: @ensures ext_sum >= 0 && нарушить для второго … выполнить для
ext_sum <= 100000 Автомат: @invariant первых n-1, нарушить для n-го. 22.
today <= 50000. 11. 23Конференции. Всероссийская
12I. Спецификация системы: расширенный межвузовская конференция молодых ученых
конечный автомат и контракты. Требования к 2010 Spring/Summer Young Researchers'
автомату: система позволяет снимать деньги Colloquium on Software Engineering 2010.
с определенного счета; пользователь может 23.
снимать деньги произвольное количество 24Подход к тестированию автоматных
раз, пока есть деньги на счету; В день со программ. Максимально возможная часть
счета может быть снято не более 50000. спецификации вносится в автоматную модель,
Требования к объектам управления: используя расширенный конечный автомат и
изначально на счету сумма от 0 до 100 000; JML-контракты. Тестовые сценарии
пользователь может ввести на клавиатуре записываются в виде последовательности
число от 1000 до 15000. Расш. автомат. переходов автомата. Используя
Контракты. 12. разработанный инструмент, определяются
13II. Разработка тестовых сценариев. соответствующие значения переменных для
Тестовые сценарии удобно придумывать выполнения заданного сценария и
исходя из спецификации на естественном генерируется код для запуска теста. Тесты
языке. Определим тестовый сценарий, как запускаются автоматически, во время их
последовательность переходов в автомате: исполнения при помощи существующего
Словесное описание легко записать в инструмента проверяется выполненность
терминах переходов между состояниями; Имея требований спецификации, записанной в виде
описание в виде последовательности контрактов. 24.
переходов легко соотнести со словесной 25Спасибо за внимание.
спецификацией и понять смысл теста. Все
Применение генетических алгоритмов к генерации тестов для автоматных программ.ppt
http://900igr.net/kartinka/informatika/primenenie-geneticheskikh-algoritmov-k-generatsii-testov-dlja-avtomatnykh-programm-72355.html
cсылка на страницу

Применение генетических алгоритмов к генерации тестов для автоматных программ

другие презентации на тему «Применение генетических алгоритмов к генерации тестов для автоматных программ»

«Решение алгоритмов» - Параметры управления алгоритмом. Основные классы алгоритмов внутренних точек. Алгоритмы центрального пути. Прогноз шага корректировки. Прямо-двойственные алгоритмы. Вариант приближенного метода. Траектория симплекс-метода. Исторический экскурс. Решение вспомогательной задачи. Алгоритмы центрального пути (имеют полиномиальные оценки).

«Команда алгоритма» - Алгоритм, в котором команды выполняются последовательно одна за другой, называется … Серия. Команда 1. Условие. Команда n. Серия 1. Запись блок-схем в ms worde. Алгоритм, в котором серия команд выполняется многократно называется… Каждая команда алгоритма должна определять однозначное действие исполнителя. 2.Понятность.

«Типы алгоритмов» - Линейные алгоритмы. В программе могут быть другие типы переменных, например, вещественные (дробные) и литерные (символьные). В программе имя переменной (например, A, B$, C%) служит для обозначения некоторой величины. Сколько заплатили за всю покупку? Задача 3. Составь алгоритм нахождения скорости пешехода.

«Свойства алгоритма» - Любая последовательность действий является алгоритмом. Алгоритм «высеивания» простых чисел ( Решето Эратосфена). Алгоритм должен обязательно выполнятся за конкретное (определенное) число шагов. Алгоритмизация – обязательный этап для решения задачи с использованием компьютера. Свойство «результативность» указывает на получение результата за конечное число шагов.

«Генетические болезни человека» - Тесты на определение дальтонизма. Хромосома – 21 оказывается не в двойном, а в тройном количестве (трисомия). Наследование серповидноклеточной анемии. Генетика и медицина. В результате такой аномалии клетки эмбриона имеют 47 хромосом вместо 46. Дети с ФКУ рождаются без каких-либо признаков болезни. Укажите возможные генотипы родителей.

«Что такое алгоритм» - Исходные объекты, промежуточные и окончательные результаты — конструктивные объекты. 6. Конструктивные объекты. Словесный Блок-схема Алгоритмическая запись. Класс однотипных задач называют общей задачей При подстановке вместо параметров конкретных значений получаем частную задачу. 5. Класс однотипных задач.

Алгоритм

31 презентация об алгоритме
Урок

Информатика

130 тем
Картинки
900igr.net > Презентации по информатике > Алгоритм > Применение генетических алгоритмов к генерации тестов для автоматных программ