Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Исследование и разработка метода, моделей и алгоритмов тестирования приложений для мобильных устройств Хатько, Евгений Евгеньевич

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Хатько, Евгений Евгеньевич. Исследование и разработка метода, моделей и алгоритмов тестирования приложений для мобильных устройств : диссертация ... кандидата технических наук : 05.13.11 / Хатько Евгений Евгеньевич; [Место защиты: Ин-т электрон. упр. машин им. И.С. Брука].- Москва, 2013.- 169 с.: ил. РГБ ОД, 61 13-5/1536

Содержание к диссертации

Введение

Глава 1. «Анализ существующих методов тестирования приложений для мобильных устройств» 16

1.1 Метрика тестового покрытия приложений для мобильных устройств

1.2 Анализ методов тестирования приложений для мобильных устройств

1.2.1 Ручное тестирование по документации 20

1.2.2 Автоматизация ручных тестов 20

1.2.3 Тестирование на основе формальной модели 21

1.2.4 Тестирование на основе прототипа 21

1.3 Анализ методов автоматизации тестирования 22

1.3.1 Программный метод автоматизации 22

1.3.2 Метод автоматизации с использованием playback инструментов .22

1.4 Выбор и обоснование критериев оценки и оптимизации методов тестирования 23

1.4.1 Интегральный критерий оценки методов тестирования 23

1.4.2 Частный критерий эффективности модели генерации 32

1.5 Выводы по первой главе 35

Глава 2. «Метод тестирования приложений для мобильных устройств с использованием прототипов» 37

2.1 Взаимодействие пользователя с приложением 37

2.1.1 Определение конечного набора детерминированных действий .37

2.1.2 Ограничение набора вариационных действий 40

2.2 Расширенный конечный автомат для тестирования приложений для мобильных устройств 42

2.2.1 Определение состояний РКА 46

2.2.2 Определение множества стимулов и значений параметров стимулов РКА 48

2.2.3 Определение множества реакций и параметров реакций РКА 48

2.2.4 Определение параметров РКА 50

2.2.5 Определение начального состояния РКА 50

2.2.6 Определение множества переходов РКА 50

2.2.7 Формальное определение РКА 2.3 Метод тестирования приложений для мобильных устройств 52

2.4 Выводы по второй главе 53

Глава 3. «Разработка аналитической и программной моделей алгоритма генерации тестов» 54

3.1 Аналитическая модель алгоритма генерации 56

3.1.1 Схема аналитической модели алгоритма 58

3.1.2 Поиск значения F 58

3.1.3 Дополнительные условия выхода из цикла 58

3.1.4 Псевдокод работы алгоритма 61

3.2 Программная модель алгоритма генерации 62

3.2.1 Общая схема программной модели 62

3.2.2 Входные и выходные данные 64

3.2.3 Входные параметры 64

3.2.4 Описание наиболее важных входных параметров 65

3.2.5 Выбор языка программирования для реализации ПМАГТ 66

3.2.6 Программное представление расширенного конечного автомата прототипа 67

3.2.7 Основные модули ПМАГТ 69

3.2.8 Вспомогательные модули ПМАГТ 76

3.2.9 Визуализация работы процесса генерации 78

3.3 Выводы по третьей главе 85

Глава 4. «Разработка имитационно-статистической модели тестирования приложений для мобильных устройств» 86

4.1 Мобильные операционные системы 86

4.2 Модель тестирования приложений для мобильных устройств 88

4.2.1 Инструменты прототипирования приложений для мобильных устройств 88

4.2.2 Модуль конвертирования прототипа в формат входных данных алгоритма генерации 90

4.2.3 Инструмент автоматизации тестирования приложений для мобильных устройств 94

4.2.4 Модуль конвертирования тестовых сценариев в автоматические тесты 95

4.2.5 Среда тестирования приложений для мобильных устройств 95

4.2.6 Схема имитационно-статистической модели

4.3 Эффективность предложенного алгоритма генерации тестовых сценариев 96

4.4 Эффективность предложенного метода тестирования 102

Заключение 106

Литература

Введение к работе

Актуальность исследования. В настоящее время мобильные технологии широко распространены в повседневной жизни. Практически у каждого человека на земле есть мобильный телефон. Мобильные устройства становятся сложнее и сложнее. Появились такие устройства, как смартфоны, коммуникаторы, планшетные компьютеры и др. Эти устройства по характеристикам не уступают вчерашним настольным компьютерам, они представляют собой достаточно сложные программно-аппаратные комплексы, управляемые операционными системами (ОС). До появления смартфонов телефон представлял собой простую систему, со встроенным программным обеспечением (ПО). Тестирование подобного ПО проводилось ручным способом. Дальнейшее ускоренное развитие мобильных технологий приводит к разрыву между сложностью применяемой методологии тестирования ПО для мобильных устройств и сложностью тестируемого ПО. На текущий момент, нельзя обойтись простым ручным тестированием по написанным тестовым сценариям. Требуется применение комплексного подхода, с использованием специальных средств автоматизации тестирования. Задача повышения эффективности методов тестирования приложений для мобильных устройств является важной с исследовательской точки зрения и срочной с практической точки зрения.

В работе рассматривается определенный класс приложений для мобильных устройств. Основные ограничения данного класса заключаются в следующем:

  1. Приложения разрабатываются с использованием принципа отделения программного кода логики работы приложения от программного кода пользовательского интерфейса приложения (например, с использованием технологии Модель-Представление-Контроллер или Модель-Представление).

  2. Каждое приложение разрабатывается под определенный, узкий круг задач, следовательно, число представлений (видов) приложения - конечное число порядка 100.

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

Далее термином ПМУ будет обозначаться любое приложение для мобильных устройств, соответствующее вышеописанными ограничениями.

Процесс разработки ПМУ происходит по итеративной схеме, её применение целесообразно в проектах, с продолжительностью до 1 года, при разработке приложений, обладающих пользовательским интерфейсом и ограниченным набором сценариев использования. Особенность данной схемы заключается в ускоренном продвижении к готовому продукту в результате нескольких итераций полного цикла разработки. Данная схема требует оптимизации встроенных процессов тестирования по времени.

Цель работы - повышение эффективности процессов тестирования ПМУ и автоматизация этих процессов на основе разработки соответствующего метода, моделей и алгоритмов.

Задачи исследования. Для достижения поставленной цели в работе были сформулированы следующие задачи:

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

    1. Предложить эффективный метод тестирования, основанный на генерации автоматизированных тестов из прототипов ПМУ, который позволит сократить общее время разработки и тестирования, обеспечивая при этом необходимое тестовое покрытие.

    2. Разработать аналитическую и программную модели генерации автоматизированных тестов из прототипов ПМУ.

    3. Предложить имитационно-статистическую модель тестирования, которая позволит оценить эффективность предложенного метода.

    На защиту выносятся:

    1. Метод тестирования ПМУ, основанный на генерации автоматизированных тестов из прототипов ПМУ.

    2. Система тестирования ПМУ, имеющая в основе программную модель генерации тестов, которая позволит внедрить предложенный метод.

    3. Имитационно-статистическая модель тестирования ПМУ, имитирующая процесс тестирования с использованием предложенного метода, моделей и алгоритмов.

    Научная новизна работы состоит в следующем:

    1. Предложена метрика тестирования ПМУ и критерий завершенности тестирования, основанные на особенностях разработки и использования ПМУ.

    2. Получен интегральный критерий оптимизации методов тестирования ПМУ, основанный на анализе и формальном представлении итеративной схемы разработки.

    3. Получен частный критерий эффективности процесса генерации тестовых сценариев.

    4. Предложен метод тестирования ПМУ с использованием расширенных конечных автоматов.

    5. Разработана аналитическая модель процесса генерации тестовых сценариев на основе

    А*

    алгоритма поиска кратчайшего пути на графе A .

    Практическая значимость результатов диссертации состоит в разработке и внедрении системы тестирования ПМУ, состоящей из программной модели алгоритма генерации и двух модулей конвертации данных. Результаты работы использованы при построении процессов тестирования в компании «AT-Consulting». Предлагаемый метод тестирования применяется для тестирования мобильных и ВЕБ приложений в нескольких отделах компании в России и Казахстане.

    Методы исследования. В диссертации проведено исследование процессов тестирования ПМУ с применением теории конечных автоматов, а также разработка алгоритмов генерации тестовых сценариев с применением теории графов. Также были применены принципы объектно- ориентированного программирования и элементы алгоритмической теории при разработке программной модели алгоритма генерации.

    Апробация работы. Основные положения диссертационной работы доказывались и обсуждались на научно-практических конференциях и семинарах, в том числе:

    1. 52 научная конференция МФТИ - «Современные проблемы фундаментальных и прикладных наук», Москва 2009г.

    2. 53 научная конференция МФТИ - «Современные проблемы фундаментальных и прикладных наук», Москва 2010г.

    3. 54 научная конференция МФТИ - «Проблемы фундаментальных и прикладных, естественных и технических наук в современном информационном обществе», Москва 2011г.

    4. Конкурс в ЗАО «Интел А/О» - «Компьютерный континуум: от идеи до воплощения», Москва 2012г.

    Публикации. По результатам выполненных исследований опубликовано 11 работ, в том числе 3 статьи в изданиях, рекомендованных ВАК и 2 статьи в зарубежном издании.

    Структура диссертации. Диссертация состоит из введения, четырёх глав, заключения, приложений и списка литературы. Работа изложена на 113 стр., содержит иллюстрации.

    Анализ методов автоматизации тестирования

    Интегральный критерий оценки методов тестирования Обозначим выбранный путь перехода по итеративной схеме (Рис. 6) Р\2 Ргъ Ръл = Pij JІє [12,23,34,35,45,56,67]) . Обозначим суммарное время T(pt) , a N(pt) - покрытие, соответствующее N проверенным откликам, в соответствии с разработанной метрикой тестирования. Тогда оптимизация процесса тестирования по двум параметрам задаётся следующим выражением: N (рч) - max , (ij є [12,23,34,35,45,56,67]) . (11) [T(ptJ) - min Поскольку N - некоторое натуральное число, это условие можно записать в следующем виде: N Где tt - время, потраченное на данном этапе, в зависимости от выбранного способа прохождения этапа. N - покрытие откликов приложения, которое требуется обеспечить. Данное выражение определяет интегральный критерий эффективности подхода к тестированию ПМУ в контексте всего процесса разработки и тестирования. Рассмотрим каждое слагаемое в числителе дроби отдельно. Предварительно введем некоторое абстрактное время t, соответствующее времени описания одного элемента пользовательского интерфейса приложения. Очевидно, что все слагаемые времена в формуле (1), кроме t56 , линейно зависят от t , а временем t45, которое соответствует передачи сборки в тестирование, можно пренебречь. Поскольку интеграция средства автоматизированного тестирования в процесс является единичной операцией, это время можно не учитывать при оценке эффективности тестирования. Введем следующие коэффициенты, учитывающие зависимости времен на каждом этапе разработки от времени t: С мод - коэффициент разработки прототипа, представляет относительное время разработки прототипа в расчете на один элемент UI. Спспе - коэффициент получения спецификации, представляет относительное время разработки функциональной спецификации в расчете на один элемент UI. С имп - коэффициент имплементации, представляет относительное время разработки одного элемента UI приложения. С п тест - коэффициент получения тестовых сценариев, относительное время разработки тестовых сценариев для проверки одного элемента UI.

    С тес - коэффициент проведения тестирования, относительное время проведения тестовых сценариев для проверки одного элемента UI. Пусть в ходе разработке было пройдено К циклов разработки, на каждом из которых добавлялось dN t(i = 1..К) новых откликов, которые нужно проверить для обеспечения полного покрытия. Тогда, формула (1) примет вид: t(C AN+C N + C + С N+C N) 4 p мод n спец имп n тест тес T = + N dN t(C AdN +С dN + С -+C dN + С N) x p мод і n спец і имп n mecm і mec + z Здесь следует отметить, что при прохождении і - ой итерации цикла разработки: 1. Время имплементации добавленных требований в раз меньше dN времени имплементации полного функционала. 2. Применяется регрессионное тестирование всего функционала, а не только добавленных требований. Пусть dN - среднее количество добавленных откликов за К циклов, тогда преобразуем формулу (1): t(C N+C N+C +С N + C N) 4 p мод n спец имп n mecm mec T = — + dN t(C AdN +C dN + С -+C dN + С N) v p мод і n спец і имп n mecm і mec + У = 1 = 1 Л I tC = t(C A+C +C +C )+ —"-Ш- + 4 p мод n спец n mecm mec N им n + =(C A+C + + С )+KtC v p мод n спец n mecm mec N + dN N dN + N KtdN С „ TV Для оценки можно считать, что средним количеством добавленных требований можно пренебречь по сравнению с общим количеством dN требований: « 0 , тогда: N tC Т = t(C Л+С +С +С ) +—"-1LH- + v р мод п спец п тест тес N KtdN С N + =(С Л+С + имп + С )+KtC = 4 р мод п спец п тест тес N + dN N dN + N tC = t(C А+С +С +С ) + — - + v р мод п спец п тест тес N KtdN С + (С Л+С +С + им" )+ KtC 4 р м од п спец п тест тес N N Г K8N N + К dN 1 = t\ (С Л+С +С )(1 + ) + С (К+\) + С I I ч р мод п спец п тест /ч тес v имп п _ N N J Итак, задача оптимизации сводится к минимизации следующего выражения: Г К dN T=t\(C +С )(K+l) + (C А+С +С )(1 + ) + I v прог оцен /ч Р мод п спец п тест /v L N _ (2) N + К dN 1 + С I - mm iv2 J

    Если рассмотреть каждое слагаемое в отдельности, видно, что для уменьшения общего времени разработки, в первую очередь нужно попытаться уменьшить коэффициент выполнения тестирования С тес , поскольку напротив него множитель (К + 1) . Во вторую очередь нужно попытаться уменьшить сумму коэффициентов (Ср иод + Сп спец + Сп тест ). Также следует отметить, что в случае автоматизации тестовых сценариев коэффициент сп.тест. должен учитывать время разработки автоматизированных тестов, необходимых для тестирования одного отклика приложения, а Стес разбивается на время прогона тестов и время оценки результатов тестирования: С = С + С г J г тес. прог. оцеп. Формула (2) дает количественную оценку времени, затраченного на К циклов разработки и тестирования ПМУ с покрытием N функциональных требований. При расчете эффективности процессов тестирования слагаемое N + К 8N си,п. і формулы (2) TV можно не учитывать, поскольку оно зависит только от процесса разработки программного кода и никак не связано с проведением тестирования. Введем следующее понятие эффективности метода тестирования: Т Eff = ——, где Т - время метода РР, Тх - время тестирования по методу х X . Следует отметить, что при таком расчете, эффективность РР метода равна 1. Проведя более глубокий анализ рассматриваемых методов, были выявлены допущения, относительно параметров, которые можно сделать для оценки эффективности методов, представленные в табл. 1:

    Расширенный конечный автомат для тестирования приложений для мобильных устройств

    В соответствии с выбранным критерием полноты тестирования ПМУ (стр. 34), для заданного прототипа ПМУ в виде расширенного конечного автомата, требуется рассмотреть все возможные переходы из одного состояния в другое. Известно (23), что конечные автоматы удобно представлять в виде графов. В графовом представлении состояния КА - это узлы графа, а переходы между состояниями - это ветви графа. Задача генерации тестового набора сводится к задаче обхода графа. При этом, необходимо пройти по всем ветвям графа, выбрав наикратчайший путь. Таким образом, сгенерируется минимальный набор тестовых сценариев, обеспечивающий полное тестовое покрытие.

    Задача генерации тестовых сценариев исследована, но предлагаемые подходы не учитывают специфики ПМУ. В частности в (24) описывается подход генерации тестовых сценариев для пользовательского интерфейса. Однако сгенерированные таким образом тесты не удовлетворяют критерию полноты тестирования (стр. 34). В (25) предлагается подход генерации тестовых сценариев для WEB приложений. Данный подход использует специфику WEB приложений, а именно, их клиент-серверную архитектуру и существование сессий пользователь - web приложение. Данный подход не может быть применим для генерации тестов ПМУ (26). В (19) рассмотрены формальные методы генерации тестовых сценариев, одним из которых является т.н. «T-method», в рамках которого рассмотрена задача «Китайского почтальона» (27). Существуют различные решения данной задачи в частных случаях. Например, в (27) предлагается подход к решению данной задачи с использованием паросочетаний на графах.

    Согласно теореме Эйлера (28) в графе существует эйлеров цикл тогда и только тогда, когда он сильно-связан и для каждой вершины графа её полустепень захода равна её полустепени исхода. Поэтому решить задачу китайского почтальона для произвольного графа невозможно. Необходимо как можно «ближе» подойти к её решению с точки зрения тестирования ПМУ, а именно: обойти все ветви графа с минимальным количеством повторений каждой ветви.

    Задача обхода графа также хорошо исследована, существует множество алгоритмов, реализующих обход графа по тому или иному правилу. Для решения поставленной задач, целесообразно использовать алгоритмы поиска минимального пути от начальной точки к конечной. Основная сложность заключается в том, что поставленная задача не определяет начала и конца обхода. Обход нужно производить до тех пор, пока не будут пройдены все ветви графа. Существуют различные алгоритмы поиска кратчайшего пути. Модификация одного из их позволит решить поставленную задачу. Алгоритм Дейкстры (29) позволяет находить кратчайшие расстояния от одной из вершин графа до всех остальных. Данный алгоритм не подходит для решения поставленной задачи, поскольку в случае расширенного конечного автомата, веса ветвей могут динамически изменяться в зависимости от текущего контекста переменных КА. Аналогичная ситуация возникает с алгоритмом Беллмана-Форда (30).

    Алгоритм Флойда-Уоршелла (30) находит кратчайшие расстояния между всеми вершинами графа, его применение нецелесообразно, поскольку граф РКА в общем случае динамически изменяется после каждого следующего перехода, и пересчет путей нужно будет делать после каждого перехода. 3.1 Аналитическая модель алгоритма генерации

    Алгоритм А (31) является алгоритмом поиска пути с наименьшей стоимостью. Алгоритм является жадным алгоритмом, работающим по первому совпадению. Помимо этого алгоритм использует эвристическую функцию для определения пути. Существуют модификации (17), позволяющие совершать обход графа, до тех пор, пока не будут покрыты все переходы. В данной работе предлагается модификация А , которая содержит информацию о параметрах графа и может выбирать маршрут с учетом условных переходов конечного автомата.

    Функция стоимости F (31) является основополагающей для работы алгоритма. Находясь в некотором узле графа, эта функция определяет - какой переход выбрать следующим. Выбирается тот переход, для которого значение F наименьшее.

    Функция стоимости F является основополагающей для работы алгоритма. Находясь в некотором узле графа, эта функция определяет - какой переход выбрать следующим. Выбирается тот переход, для которого значение F наименьшее. Изучив задачу о нахождении Эйлерова пути на графе, а работе предлагается использовать следующий способ для выбора «следующего» перехода, находясь в «текущем» состоянии. Предлагается представление F = G + Н , где G - стоимость пути к следующему состоянию из начального. Н - эвристическая функция, оценивающая длину пути до «конечного» состояния: G - суммарный вес всех покрытых на данный момент переходов. Этот вес увеличивается по мере работы алгоритма.

    Описание наиболее важных входных параметров

    Программный код визуализации представлен в приложении «Визуализация работы процесса генерации».

    Необходимо удовлетворить следующие условия при выборе технологии визуализации: Кроссплатформенность - пользователи любых операционных систем должны иметь доступ к использованию ПМАГТ.

    Простота интерфейса - поскольку модель алгоритма производит промежуточный продукт, необходимо максимально уменьшить время, необходимое для изучения его интерфейса. Простота поддержки - необходимо максимально упростить способ доставки пользователям новых версий ПМАГТ. Всем этим условиям удовлетворяет клиент-серверная технология. Модель алгоритма запускается в виде ВЕБ сервиса и предоставляет ВЕБ интерфейс для конечных пользователей. При этом:

    Поддерживается кроссплатформенность, поскольку в любой операционной системе существует приложение для работы с ВЕБ сервисами (браузер).

    ПМАГТ имеет ВЕБ интерфейс, а значит, конечный пользователь изначально представляет функционал элементов интерфейса ПМАГТ и априори имеет некоторый пользовательский опыт для работы с ним.

    Для выпуска новых версий достаточно обновить запущенный ВЕБ сервис. Никаких дополнительных действий от пользователя не требуется.

    В силу ряда причин, обсужденных выше, для реализации ПМАГТ был выбран язык программирования «Руби». Поэтому для лучшей интеграции ПМАГТ с сервером визуализации, целесообразно выбрать клиент-серверную технологию, поддерживаемую этим языком. Существует два наиболее подходящего решения: Ruby on Rails (36) Sinatra (37) Поскольку интерфейс ПМАГТ достаточно прост, следует выбрать наиболее простое решение - Sinatra

    Сервер визуализации ПМАГТ реализован по клиент-серверной технологии. Модель алгоритма запускается в виде отдельного процесса на сервере. Общение ПМАГТ и сервера происходит при помощи TcpSocket-ов (38). Схема взаимодействия представлена на рис. 20. Клиентом в этой архитектуре является любой браузер. Общение между браузером пользователя и сервером во время генерации происходит при помощи Ajax (39) технологии.

    Сервер визуализации позволяет следить за работой ПМАГТ в «онлайн» режиме. Для этого в модели алгоритма реализован функционал конвертации текущего состояния КА в graphviz (40) формат. На каждом шаге генерации (при включенных параметрах серверного режима и визуализации), модель алгоритма сохраняет и передает на сервер graphviz модель КА с помощью TCP сокетов. На стороне сервера используется утилита graphviz, которая позволяет построить граф переданной graphviz модели КА. Данное поведение описывается схемой, изображенной на рис. 21. Л -М

    Передача данных происходит при помощи асинхронных HTTP запросов (Ajax) (41). Таким образом, конечный пользователь следит за работой ПМАГТ с помощью своего браузера, без перезагрузки страницы. В процессе работы ПМАГТ изменяется количество пройденный ветвей, что визуализируется при помощи обновления SVG изображения (42) модели КА происходит с регулируемой частотой. Таким образом, схему, изображенную на Рис. 21 можно дополнить (рис. 22).

    Модуль конвертирования тестовых сценариев в автоматические тесты

    С учетом проведенного исследования на стр. 88, необходимо искать инструмент для автоматизации тестирования для ОС Android. Поскольку тестовые сценарии будут сгенерированы, необходим программный инструмент автоматизации (стр. 22). На момент написания работы существует только один инструмент, подходящий по параметрам - Robotium (50).

    Для использования данного инструмента в рамках предложенного метода тестирования, необходимо создать программный интерфейс букв алфавита тестирования, используя Robotium framework. 4.2.4 Модуль конвертирования тестовых сценариев в автоматические тесты

    Данный модуль реализован в виде отдельного руби скрипта, который принимает на вход сгенерированные тестовые сценарии в унифицированном XML представлении и выдает на выходе тестовые сценарии в двух вариантах:

    Тестовые сценарии для автоматизированного тестирования при помощи программного интерфейса алфавита тестирования, разработанного с использованием Robotium framework.

    Тестовые сценарии для ручного тестирования функционала. Схема модуля представлена на рис. 31. Тестовые сценарии в унифицированном XML представлении Модуль конвертирования Тестовые сценарии в нужном представлении В качестве тестовой среды необходимо выбрать IDE, позволяющий выполнять автоматическое тестирование и собирать результаты тестирования. Таким IDE является Eclipse (51) с соответствующими дополнениями (плагинами). 4.2.6 Схема имитационно-статистической модели

    В результате выбора всех инструментов, получаем следующую схему имитационно-статистической модели тестирования ПМУ, изображенную на рис. 32.

    Эффективность предложенного алгоритма генерации тестовых сценариев Целевая функция эффективности генерации тестовых сценариев описывается N формулой (3): Eff (G) = —100% , где N х L G - граф прототипа ПМУ, N x L - общее количество переходов, совещенных алгоритмом в результате обхода, Ne = V max(i. ",s." ) - минимальное и достаточное количество переходов, которые нужно совершить для покрытия всех переходов РКА (в соответствии с теоремой Эйлера). В среднем количество состояний ПМУ лежит в следующих приделах: К є [30,...,70]. Соответствующий граф расширенного конечного автомата должен быть связным, следовательно, наименьшее количество переходов равно: М MIN = К -1 . Оценка максимального количества переходов: К х Мах М МАХ = , где Мах = max (ш. + outi) - максимальная по узлам 2 іє Nodes сумма исходящих и входящих ветвей в узел. Таким образом, среднее К х М ах М ах + 2 количество ветвей графа: М = + К - 1 « К . Проведенный анализ различных прототипов приложений, построенных на основе расширенных конечных автоматов, показывает, что среднее значение Мах 1 порядка М ах « 5 , поэтому М — К « 2 К . (52) Для оценки эффективности работы модели разработанного алгоритма был рассмотрен набор РКА одинаковой структуры, но различным количеством параметров (состояний, переходов, условий, переменных). Структура прототипов подбиралась так, чтобы удовлетворялись 2 условия: РКА должен эмулировать реальное приложение. РКА должен обладать хорошей масштабируемостью.

    В мобильных приложениях взаимодействия пользователя и приложения в общем случае происходит по следующему сценарию: 1. Пользователь находится в виде, где предусмотрено введение данных. 2. Пользователь вводит данные. 3. Приложение проверяет валидность введенных данных. 4. Если данные невалидны, приложение выводит на экран следующий вид с сообщением об ошибке. Пользователь принимает сообщение и возвращается на экран ввода данных. 5. Если данные валидны, пользователь попадает в новый вид, где могут быть отображены результаты его действий. 6. Пользователь переходит в новый вид, где предусмотрен ввод данных либо возвращается к предыдущему виду. Назовем РКА, соответствующий описанному сценарию «ядром тестовых РКА». Рассмотрим граф ядра, изображенный на рис 33. валидные дан.

    Структура тестовых РКА Для получения численных показателей эффективномти были рассмотрены соответствующие объединения ядер тестовых РКА для различных значений N. Для каждого РКА генерация тестов запускалась в расширенном режиме (с учетом уловий на переходах РКА). В качестве генератора оппонента был рассмотрен инструмент МВТ Tigris (53). Данный инструмент работает с graphML (40) представлением РКА и позволяет генерировать пути обхода графа РКА с различными критериями. Инструмент позволяет задавать различные условия обхода и использовать различные алгоритмы генерации. При получении результатов данному инструменту было задано условие полного покрытия с использованием алгоритма А . Благодаря этому ожидались аналогичные результаты работы в сравнении с предложенным алгоритмом.

    Похожие диссертации на Исследование и разработка метода, моделей и алгоритмов тестирования приложений для мобильных устройств