Научная статья на тему 'ПРИМЕНЕНИЕ ГРАФОВОЙ МОДЕЛИ И ЭВРИСТИЧЕСКОЙ ФУНКЦИИ ДЛЯ ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ'

ПРИМЕНЕНИЕ ГРАФОВОЙ МОДЕЛИ И ЭВРИСТИЧЕСКОЙ ФУНКЦИИ ДЛЯ ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
0
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
программное обеспечение / тестирование / графы / эвристические функции / системы хранения данных / пути выполнения / критические вершины графа / методика тестирования / software / testing / graphs / heuristic functions / data storage systems / execution paths / critical vertices of the graph / testing methodology

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бородин Даниил Вадимович, Пруцков Александр Викторович

Предлагается методика тестирования выполнения операций программного обеспечения с использованием графовой модели и эвристической функции оценки близости путей выполнения к эталонному. Предлагаемая методика включает следующие этапы: 1) построение графовой модели тестируемой операции; 2) определение начальных, конечных и критических вершин графа; 3) построение эталонного пути выполнения операции; 4) тестовое выполнение операции и вычисление эвристической функции пройденного пути; 5) классификация пути как эталонного, допустимого или недопустимого. Разработана эвристическая функция, учитывающая длину пути и наличие критических вершин для оценки близости пути к нормальному выполнению операции. Работоспособность методики подтверждена серией экспериментов по тестированию операций с данными в системах хранения на основе построенных графовых моделей.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бородин Даниил Вадимович, Пруцков Александр Викторович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

USING A GRAPH MODEL AND A HEURISTIC FUNCTION FOR SOFTWARE TESTING

We discover a new methodology for testing the execution of software operations using graph model and a heuristic function for assessing the proximity of execution paths to the reference one. The discovered methodology includes the following stages: 1) construction of a graph model of the operation being tested; 2) determination of the initial, final and critical vertices of the graph; 3) building a reference path for performing an operation; 4) test execution of the operation and calculation of the heuristic function of the path traveled; 5) classification of the path as reference, valid or invalid. We develop a heuristic function that takes into account the length of the path and the presence of critical vertices to assess the proximity of the path to normal operation. We verify the performance of the methodology by a series of experiments testing data operations in storage systems based on the constructed graph models.

Текст научной работы на тему «ПРИМЕНЕНИЕ ГРАФОВОЙ МОДЕЛИ И ЭВРИСТИЧЕСКОЙ ФУНКЦИИ ДЛЯ ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ»

МАТЕМАТИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ, КОМПЛЕКСОВ И КОМПЬЮТЕРНЫХ СЕТЕЙ

УДК 004.415.53

DOI: 10.24412/2071-6168-2024-3-650-651

ПРИМЕНЕНИЕ ГРАФОВОЙ МОДЕЛИ И ЭВРИСТИЧЕСКОЙ ФУНКЦИИ ДЛЯ ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Д.В. Бородин, А.В. Пруцков

Предлагается методика тестирования выполнения операций программного обеспечения с использованием графовой модели и эвристической функции оценки близости путей выполнения к эталонному. Предлагаемая методика включает следующие этапы: 1) построение графовой модели тестируемой операции; 2) определение начальных, конечных и критических вершин графа; 3) построение эталонного пути выполнения операции; 4) тестовое выполнение операции и вычисление эвристической функции пройденного пути; 5) классификация пути как эталонного, допустимого или недопустимого. Разработана эвристическая функция, учитывающая длину пути и наличие критических вершин для оценки близости пути к нормальному выполнению операции. Работоспособность методики подтверждена серией экспериментов по тестированию операций с данными в системах хранения на основе построенных графовых моделей.

Ключевые слова: программное обеспечение, тестирование, графы, эвристические функции, системы хранения данных, пути выполнения, критические вершины графа, методика тестирования.

Тестирование является одним из этапов разработки программного обеспечения (ПО), который позволяет выявлять дефекты и подтверждать корректность работы систем на всех стадиях жизненного цикла. При тестировании формируются тестовые наборы. Необходимо выбрать минимальное количество наборов, максимально покрывающих сценарии функционирования ПО [1]. С увеличением количества функциональных возможностей ПО число тестовых наборов значительно возрастает.

Рассмотрим наиболее используемые методы тестирования ПО, а также их недостатки.

Методы тестирования на основе классов эквивалентности [2], анализа граничных значений [3] и попарного тестирования [4] не в полной мере решают проблему отбора подмножества приоритетных тестовых наборов из большого числа потенциальных сценариев. Тестирование на основе состояний и переходов [5] позволяет моделировать поведение системы, однако требует доработок в части оценки предпочтительности различных путей в графе переходов.

Применение таблиц принятия решений [6] и доменного анализа [7] эффективно в узкоспециализированных областях и не обеспечивает системный охват всевозможных сценариев. Методы интеграционного [8] и регрессионного [9] тестирования применяется на позднем этапе разработки ПО. Метод тестирования на соответствие и его улучшенные варианты требуют заранее разработанных спецификаций [10].

Использование графовых моделей [11] систем при генерации тестов является перспективным как с точки зрения системности подхода, так и возможностей количественной оценки путей. Алгоритм альфа-бета отсечения направлен на сокращение поиска и отбрасывание заведомо неоптимальных путей, что может привести к пропуску сценариев [12]. Поиск пути с использованием циклов замедляет процесс формирования тестовых наборов [13]. Существующие реализации данного подхода нуждаются в доработке эвристических механизмов нахождения лучших сценариев тестирования среди множества вариантов. Решение задачи формирования тестовых наборов с помощью графовых моделей позволит значительно повысить эффективность процесса тестирования сложных программных комплексов.

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

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

После успешной аутентификации пользователь может осуществлять действия с файлами, хранящимися в

системе.

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

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

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

При операции получения списка файлов в системе: клиент отправляет системе запрос на получение списка файлов в некоторой директории хранилища системы. Затем сервис проверяет существует ли указанная директория и обладает ли пользователь правом на чтение из нее. Если пользователь обладает правами доступа, система отправляет пользователю данные о файлах в указанной директории.

Каждая из этих операций состоит из последовательности действий, которые необходимо протестировать.

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

Методика тестирования выполнения операций программным обеспечением. Предлагается методика тестирования выполнения операций ПО, состоящая из следующих этапов:

¡.Построение графа возможных действий при выполнении тестируемой операции с данными. Вершины соответствуют состояниям выполнения операции, а дуги - действиям;

2. Определение в графе начальных и конечных вершин, соответствующих началу и завершению выполнения операции с данными;

3. Нахождение в графе критических вершин - вершин, соответствующих ключевым состояниям тестируемой операции;

4. Построение нормального пути выполнения операции;

5. Тестовое выполнение операции и построение пути выполнения на графе;

6. Вычисление значения эвристической функции для пути, пройденного при тестовом выполнении операции;

7. Определение типа пути: эталонного, допустимого и недопустимого и формулирование выводов по тестированию выполнения операции.

Терминология. Процесс функционирования ПО - это совокупность взаимосвязанных действий, направленных на выполнение некоторых операций. Совокупность действий можно представить орграфом:

в = в(у, Е),

где V - вершины графа - состояния процесса, Е - дуги графа - действия.

Путь в графе в - это последовательность вершин, соединенных дугами:

Рс = {VI, в12, Р2.....^п-1еп-1,прп)

или

Ро = (VI, Р2.....Рп-1Рп),

где VI Е V, I = 1,2,..., п, е^ Е Е , £ = 1,2,..., п — 1, ] = I + 1, образующих подграф:

Рс = СР(УР,ЕР), вр с в.

Длина пути определяется как

1(Ро) = №р\.

Граф в имеет множество начальных вершин 5 (в) и множество конечных вершин и (в). При этом \Б(С)\ = 1,\У(С)\ > 1.

Аналогично для пути Рс:

5(Рв) = Б(СР), и(Рв) = и(СР).

Путь в графе имеет отображение в множество рациональных числе й в виде эвристической функции близости пути к эталонному:

Н(Р0) = а, а Е й.

Эвристическая функция составляется и используется в зависимости от предварительно заданного критерия.

Графовая модель тестирования выполнения операции программным обеспечением. Предлагается графовая модель тестирования выполнения операции ПО.

Тестирование выполнения операции Н можно представить орграфом выполнения операции Т и путем нормального выполнения операции Рт в нем:

Н = (Т, Рт).

Пусть тест пройден по пути Р!Г.

Путь Р!г будем называть эталонным, если РТ = Р!г.

Путь Р^ будем называть допустимым, если истинны все следующие условия: ) = Б(РТ), 0 < (к(Рт) — к(Р^)) < йкрит, и(Р') = и(Рт).

Путь Р^- будем называть недопустимым в остальных случаях.

Значение параметра йкрит зависит от количества вершин в пути и значений эвристической функции, определяется экспертом.

Тест считается пройденным, если путь, соответствующий тесту, был эталонным или допустимым.

Эвристическая функция. Для практического применения методики тестирования необходимо определить эвристическую функцию близости пути к эталонному. Традиционные эвристики не всегда позволяют это. Так эвристики Евклидового расстояния [14] и расстояния Чебышева [15] находят кратчайший путь без учета важности вершин, что в результате может привести к выбору неправильного пути. А эвристика оценки веса дуг [16] не учитывает, что в искомый путь могут быть включены циклы. Это определяет актуальность разработки адаптированного решения.

Необходимо определить эвристическую функцию близости пути выполнения тестирования операции к нормальному. Использование метода генерации эвристик может быть слишком обобщенными и не учитывать специфические особенности тестируемых операций [17].

На основе анализа предметной области и операций, выполняемых ПО, в нем предлагается следующая эвристическая функция близости пути к нормальному:

Н(РТ) = ^-^Ц + ч х тах(|Кс

" С,крит П Ур

1-1),

,крит I

где УСкрит - множество критических вершин графа б; д е [0,1] - коэффициент важности критических вершин.

Эвристическая функция состоит из двух слагаемых. Первое слагаемое позволяет учитывать отношение длины пути к количеству критических вершин. Второе слагаемое позволяет следующее: 1) увеличить значение функции в зависимости от количества критических вершин в пути; 2) учитывать ситуацию с отсутствием критических вершин в пути.

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

Экспериментальная часть. Правильность выбора предложенной эвристической функции была проверена в экспериментах на графах операций с данными в системах их хранения.

Для проведения экспериментов были построены 5 графов, описывающих определенные действия программы для рассматриваемой предметной области - операциями с данными в системах их хранения.

Для упрощения математической записи вершины обозначаются числами. Коэффициент ц равен 0,1 во всех экспериментах.

Эксперимент 1. Аутентификация в системе хранения данных. Сформируем тестовые наборы для аутентификации в системе хранения данных (рис. 1). Корректная аутентификация заканчивается в вершине 6. Вершины 2 и 4 являются критическими.

Г Ожидание

О

о

о

в ершин а с ос то яния системы

- вершина конечного состояния системы

критическая вершина состояния системы

Сервер сообщает сокету, что ауте нтиф и кацион ны е данные обнаружены

Сервер сообщает сокету, что ауте нтиф и кац ион ные данные не обнаружены

Рис. 1. Граф аутентификации в системе хранения данных

Были сформированы все пути в графе из вершины 1 в вершину 6. Для каждого пути было вычислено значение предложенной эвристической функции. Для графа путь РТ = (1,2,4,6). 5 путей с наименьшими значениями эвристической функции представлены в табл. 1.

Пути в графе аутентификации в системе хранения данных

Таблица 1

№п/п Путь Значение эвристической функции

1 (1, 2, 4, 6) 2,2

2 (1, 3, 1, 2, 4, 6) 3,2

3 (1, 2, 5, 6) 4,1

4 (1, 3, 1, 3, 1, 2, 4, 6) 4,2

5 (1, 3, 1, 3, 1, 3, 1, 2, 4, 6) 5,2

Пример расчета значения эвристической функции пути 1:

к(Рт) = 4 + 0,1х 2 = 2,2.

Эталонный путь 1 имеет наименьшее значение эвристической функции по сравнению с остальными путями. Путь 1 имеет минимальную длину и максимальное количество критических вершин. Тип пути определен корректно.

Эксперимент 2. Выгрузка файла из системы хранения данных. Еще одной операцией с данными является выгрузка файлов (рис. 2). Для этого графа путь Рт = (1,2,4,6,8,9,13,14). Корректная выгрузка файла заканчивается в вершине 14. Вершины 2, 6, 8, 9, 13 являются критическими.

О

о

о

вершина состояния системы

Рис. 2. Граф выгрузки файла из системы хранения данных

Начальная вершина графа - 1, а конечная - 14. Пути с наименьшими значениями эвристической функции представлены в табл. 2.

Таблица 2

Пути в графе выгрузки файла из системы хранения данных с наименьшими значениями эвристической

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

№ п/п Путь Значение эвристической функции

1 (1, 2, 4, 6, 8, 9, 13, 14) 2,1

2 (1, 2, 4, 6, 8, 9, 10, 14) 2,4

3 (1, 3, 1, 2, 4, 6, 8, 9, 13, 14) 2,5

4 (1, 2, 4, 6, 8, 10, 14) 2,63

5 (1, 2, 4, 13, 14) 2,7

Путь 1 является эталонным, что свидетельствует об адекватном значении эвристической функции.

Эксперимент 3. Загрузка файла в систему хранения данных. Загрузка файла является одной из основных операцией в системах хранения данных (рис. 3). Путь РТ = (1,2,4,6,8,9,13,14). Корректная выгрузка файла заканчивается в вершине 14. Вершины 6, 8, 9, 13 являются критическими.

Пути с наименьшими значениями эвристической функции представлены в табл. 3.

Эталонный путь 1 имеет наименьшее значение эвристической функции по сравнению с остальными путями, что подтверждает правильный выбор эвристической функции.

(Ожидание ^_.

подключения .

Клиент направил запрос сокету £ на загрузку файла

Успешная зафузка файла

1а не подходит

Типа файла нет среди возможных

к загрузке

__^ Сокет информирует

клиента о недопустимости загрузки файла данного типа

6

Информирование клиента об ошибке

Информирование клиента, что файл успешно загружен

О

о

о

- вершинасостояния

вершина конечного состояния СИСТЕМЫ

- критическая вершина состояния системы

Рис. 3. Граф загрузки файла е систему хранения данных

Таблица 3

Пути в графе загрузки файла в систему хранения данных с наименьшими значениями эвристической функции

№ п/п Путь Значение эвристической функции

1 (1, 2, 4, 6, 8, 9, 13, 14) 2,1

2 (1, 2, 4, 6, 9, 13, 14) 2,4

3 (1, 3, 1, 2, 4, 6, 8, 9, 13, 14) 2,5

4 (1, 2, 4, 6, 8, 9, 10, 14) 2,63

5 (1, 3, 1, 2, 4, 6, 9, 13, 14) 2,7

Эксперимент 4. Получение списка файлов из системы хранения данных. Еще одной операцией является получение списка файлов (рис. 4). Для этого графа путь РТ = (1,2,4,6,8,9). Процесс корректного получения списка файлов завершается в вершине 9. Вершины 2, 6, 8 являются критическими.

Первые 5 путей с наименьшими значениями эвристической функции представлены в табл. 4.

Таблица 4

Пути в графе получения списка файлов из системы хранения данных_

№ п/п Путь Значение эвристической функции

1 (1, 2, 4, 6, 8, 9) 2,3

2 (1, 3, 1, 2, 4, 6, 8, 9) 2,97

3 (1, 3, 1, 3, 1, 2, 4, 6, 8, 9) 3,63

4 (1, 2, 4, 9) 4,1

5 (1, 3, 1, 3, 1, 3, 1, 2, 4, 6, 8, 9) 4,3

Путь 1 имеет наименьшее значение эвристической функции и является эталонным, а также включает максимальное количество критических вершин. Путь найден корректно.

V.

(Ожидание \_Н

запроса j

_Кпиент направил запрос сокету на получение списка файлов

Сервер обнаружил директорию

о-о

- критическая вершина

Сервер не обнаружил директорию

Сервер проверяет есть ли право доступа к директории у клиента

Доступ к директории разрешен

Отправка пользователю списка файлов

Сокет сообщает клиенту об отсутствии директории

О

Доступ к директории

Отправка пользователю файлов

Рис. 4. Граф получения списка файлов в системе хранения данных

I подключения

-Клиент направил запрос сокету на

( удаление файла

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

Сервер об на ружия лраво на удаление файла

о-о

вершина состояния

- критическая вершина

Сервер не обнаружил права на удаление

Информирование клиента, что файл успешно удален

Рис. 5. Граф удаления файла из системы хранения данных

655

Эксперимент 5. Удаление файла из системы хранения данных. Сформируем тестовые наборы для удаления файла в системе хранения данных (рис. 5). Корректный процесс заканчивается в вершине 10. Критическими являются вершины 2, 6, 8, 9. Путь РТ = (1,2,4,6,8,9,10).

Пути с наименьшими значениями эвристической функции представлены в табл. 5.

Таблица 5

Пути в графе получения списка файлов из системы хранения данных_

№ п/п Путь Значение эвристической функции

1 (1, 2, 4, 6, 8, 9, 10) 2,15

2 (1, 2, 4, 6, 11, 9, 10) 2,63

3 (1, 3, 1, 2, 4, 6, 8, 9, 10) 2,65

4 (1, 2, 4, 9, 10) 2,7

5 (1, 3, 1, 3, 1, 2, 4, 6, 8, 9, 10) 3,15

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

Выводы о проведенных экспериментах. Проведенные эксперименты показали, что предложенная эвристическая функция корректно определяет тип пути выполнения тестируемой операции (эталонного, допустимого или недопустимого) в графе. Эвристическая функция также может использоваться для автоматизированного нахождения нормального пути выполнения операции.

Заключение. В работе получены следующие результаты:

1. Предложена методика тестирования выполнения функций программы, состоящая в следующем: 1) построении графа возможных действий при выполнении тестируемой операции с данными; 2) определении в графе начальных и конечных вершин, соответствующих началу и завершению выполнения операции; 3) нахождении в графе критических вершин; 4) построении нормального пути выполнения операции; 5) тестовом выполнении операции и построение пути выполнения на графе; 6) вычислении значения эвристической функции пути, пройденного при тестовом выполнении операции; 7) определении типа пути и формулирование выводов по тестированию выполнению операции.

2. Предложено формировать тестовые наборы и делить их на эталонные, допустимые и недопустимые на основе математического аппарата теории графов.

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

4. Разработана эвристическая функция, используемая для определения типа пути: эталонного, допустимого или недопустимого. Значение функции зависит от длины пути и количества критических вершин в графе. Показано, что эвристическая функция может использоваться для нахождения нормального пути выполнения операции в графовом представлении тестирования ПО.

Список литературы

1. Куликов С.С. Тестирование программного обеспечения: учеб. пособие. М.: Четыре четверти, 2019.

324 с.

2. Цветков В.Я. Методологические основы тестирования информационных и геоинформационных систем // Известия высших учебных заведений. Геодезия и аэрофотосъемка. 2000. №. 3. С. 93-102.

3. Караханова А.А. Анализ методов тестирования программного обеспечения // Синергия наук. 2019. №. 41. С. 271-279.

4. Bach J., Schroeder P. J. Pairwise testing: A best practice that isn't // Proceedings of 22nd Pacific Northwest Software Quality Conference. 2004. P. 180-196.

5. Шевчук В.И. Тестирование программного обеспечения на основе перехода состояний // Вестник науки. 2023. Т. 1. №. 6 (63). С. 949-954.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

6. Srivastava P. R., Patel P., Chatrola S. Cause effect graph to decision table generation // ACM SIGSOFT Software Engineering Notes. 2009. Vol. 34. No 2. P. 1-4.

7. Постовалова А. С. Алгоритм определения оптимального набора инструментов тестирования программного обеспечения: дис. ... канд. техн.

наук. Красноярск, 2017. 165 с.

8. Ipate F., Holcombe M. An integration testing method that is proved to find all faults // International journal of computer mathematics. 1997. Vol. 63. No. 3-4. P. 159-178.

9. Yoo S., Harman M. Regression testing minimization, selection and prioritization: a survey //Software testing, verification and reliability. 2012. Vol. 22. No. 2. P. 67-120.

10. Dorofeeva R., El-Fakih K., Yevtushenko N. An improved conformance testing method // International Conference on Formal Techniques for Networked and Distributed Systems. 2005. P. 204-218.

11. Furtak T., Buro M. Minimum Proof Graphs and Fastest-Cut-First Search Heuristics // IJCAI. 2009. Vol. 9. P.

492-498.

12. Рубинов К.В., Веденеев В.В., Парфенов В.Г. Метод разработки тестов для программных интерфейсов приложений на основе конечно-автоматной модели тестирования // Научно-технический вестник информационных технологий, механики и оптики. 2008. № 53. P. 273-280.

13. Hansen E.A., Zilberstein S. Heuristic search in cyclic AND/OR graphs // AAAI/IAAI. 1998. P. 412-418.

14. Кириллов Д.А., Яковлев К.С. Методы повышения вычислительной эффективности алгоритмов эвристического поиска в задачах планирования траектории // Интеллектуальные системы и технологии: современное состояние и перспективы. 2017. P. 95-104.

15. Чечулин В.Л., Грацилёв В.И. Пример тестирования алгоритма с итеративным определением весов // Вестник Мининского университета. - 2015. № 3 (11). С. 28-34.

16. Есин М.С., Корепанова А.А., Сабреков А.А. Агрегация и анализ сведений логистических компаний для построения сложного маршрута перевозки груза // Программные продукты и системы. 2023. Т. 36. № 2. С. 309319.

17. Arfaee S.J., Zilles S., Holte R.C. Learning heuristic functions for large state spaces //Artificial Intelligence. 2011. Vol. 175. No 16-17. P. 2075-2098.

Бородин Даниил Вадимович, аспирант, dvoranchik@yandex. ru, Россия, Липецк, Липецкий государственный педагогический университет имени П.П. Семенова-Тян-Шанского,

Пруцков Александр Викторович, д-р техн. наук, профессор, mail@prutzkow. com, Россия, Липецк, Липецкий государственный педагогический университет имени П.П. Семенова-Тян-Шанского

USING A GRAPH MODEL AND A HEURISTIC FUNCTION FOR SOFTWARE TESTING

D.V. Borodin, A.V. Prutzkow

We discover a new methodology for testing the execution of software operations using graph model and a heuristic function for assessing the proximity of execution paths to the reference one. The discovered methodology includes the following stages: 1) construction of a graph model of the operation being tested; 2) determination of the initial, final and critical vertices of the graph; 3) building a reference path for performing an operation; 4) test execution of the operation and calculation of the heuristic function of the path traveled; 5) classification of the path as reference, valid or invalid. We develop a heuristic function that takes into account the length of the path and the presence of critical vertices to assess the proximity of the path to normal operation. We verify the performance of the methodology by a series of experiments testing data operations in storage systems based on the constructed graph models.

Key words: software, testing, graphs, heuristic functions, data storage systems, execution paths, critical vertices of the graph, testing methodology.

Borodin Daniil Vadimovich, postgraduate, dvoranchik@yandex. ru, Russia, Lipetsk, Lipetsk State Pedagogical

University,

Prutzkow Alexander Viktorovich, doctor of technical sciences, professor, mail@prutzkow. com, Russia, Lipetsk, Lipetsk State Pedagogical University

УДК 004

DOI: 10.24412/2071-6168-2024-3-657-658

РАЗРАБОТКА ЦИФРОВЫХ ПРОДУКТОВ ИНСТРУМЕНТАЛЬНЫМИ СРЕДСТВАМИ ПРОЕКТИРОВАНИЯ WEB-ПРИЛОЖЕНИЙ

Т.Ж. Базаржапова, Е.Н. Бадмаева

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

Ключевые слова: PHP, МySQL, разработка сайта, web-сайт, бердвотчинг, орнитология, web-приложения.

Цифровая трансформация различных сфер жизнедеятельности человека коснулась области охраны природы и сохранения биоразнообразия, в частности мониторинга и охраны птиц. Различные инструментарии позволяют сегодня отслеживать перемещение птиц, вести съемки, обрабатывать большое количество наблюдений, проводить анализ введенных данных. Современный специалист орнитолог, привлекая любителей птиц, математиков, программистов, может собрать большое количество информации, спрогнозировать динамику изменений, определить влияние различных факторов на нее. Такие базы знаний актуальны и востребованы, поскольку представляют собой средства для применения знаний экспертов к решению разных задач [1].

Целью проекта является построение web-ориентированной информационной системы учета систематического состава Неворобьиных (Nonpasseriformes) птиц Республики Бурятия в пределах ее административной территории с указанием характера пребывания и территориального размещения каждого вида в республике и разных его географических районах.

Материалы и методы. Работа основана на анализе литературных данных и исследований кафедры зоологии и экологии ФГБОУ ВО Бурятский государственный университет, проведенных с 1975 г. по настоящее время. Информация о видах птиц получена из источников [2]. Авторами отмечено, что на территории республики выделено четыре эколого-географических округа (Восточный Саян, Прибайкалье, Селенгинское Забайкалье и Витимское плоскогорье), каждый округ разделен на районы. Зарегистрировано в Республике Бурятия 236 видов неворобьиных птиц, относящихся к 19 отрядам, 33 семействам и 32 родам. Среди них перелетных гнездящихся видов оказалось — 137, включая оседлых — 29 и перелетных — 108; пролетных видов — 55; зимующих — 10; летующих — 7; залетных — 84 видов. Из 133 гнездящихся неворобьиных видов птиц Бурятии 71 вид (53,3%) представлен краевыми популяциями. По эколого-географическим регионам структура орнитофауны представлена следующим образом. В Восточном Саяне отмечено 176 видов, в том числе перелетных гнездящихся — 81 вид, оседлых — 21, пролетных — 33; зимующих — 11; летующих — 4; залетных — 21 вид. В Прибайкалье: всего зарегистрировано 249 видов, в том

657

i Надоели баннеры? Вы всегда можете отключить рекламу.