Метаэвристические методы генерации парных тестовых наборов
Изучение метаэвристических методов генерации парных тестовых наборов, которые имитируют природные явления или интеллектуальное поведение, такие как эволюционные алгоритмы, роевой интеллект, имитированный отжиг. Преимущества и недостатки их применения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 25.10.2024 |
Размер файла | 18,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Международная компания-разработчик программного обеспечения «Yucca Digital»
Метаэвристические методы генерации парных тестовых наборов
Шевчук В.И. инженер по контролю качества программного обеспечения
г. Витебск, Беларусь
Аннотация
Цель данной статьи - рассмотреть метаэвристические методы генерации парных тестовых наборов. Это методы основанные на методах оптимизации или поиска, которые имитируют природные явления или интеллектуальное поведение, такие как эволюционные алгоритмы, роевой интеллект, имитированный отжиг. В статье описываются принципы работы данных методов, а также преимущества и недостатки их применения при генерации парных тестовых наборов.
Ключевые слова: тестирование, программное обеспечение, парное тестирование, тестовый набор, метаэвристический метод, преимущества и недостатки. метаэвристический генерация имитированный отжиг
Abstract
Shauchuk V.I. software quality assurance engineer, International software company «Yucca Digital» (Vitebsk, Belarus)
METAHEURISTIC METHODS FOR GENERATING PAIRWISE TEST SUITES
The purpose of this article is to review metaheuristic methods for generating pairwise test suites. These methods are based on optimization or search techniques that mimic natural phenomena or intelligent behavior, such as evolutionary algorithms, swarm intelligence, simulated annealing. The article describes the principles of using these methods, as well as the advantages and disadvantages of their application in generating pairwise test suites.
Keywords: testing, software, pairwise testing, test suite, metaheuristic method, advantages and disadvantages.
Метаэвристические методы основаны на методах оптимизации или поиска, которые имитируют природные явления или интеллектуальное поведение, такие как эволюционные алгоритмы, роевой интеллект, имитированный отжиг, поиск по табу и т.д. Эти методы обладают некоторыми преимуществами, такими как адаптивность, надежность или разнообразие. Однако они также имеют некоторые недостатки, такие как сложность, случайность или нестабильность.
Один из наиболее распространенных метаэвристических методов основан на эволюционных алгоритмах (ЭА) [1, с. 25]. ЭА вдохновлены биологическим процессом эволюции, когда популяция особей подвергается отбору, скрещиванию и мутациям для получения новых особей, которые более приспособлены к окружающей среде. Данные алгоритмы могут использоваться для генерации парных наборов тестов путем кодирования каждого тестового примера как отдельного (например, вектора входных значений) и определения функции пригодности, которая измеряет попарный охват или качество набора тестов. В следующей таблице (табл. 1) показан процесс оценки для четырех параметров (A, B, C, D), каждый из которых имеет три возможных значения (1,2,3).
Таблица 1. Генерация парных наборов на основе эволюционного алгоритма
Поколение |
Популяция |
Годность |
|
0 |
Тестовый пример 1: A=1, B=1, C=1, D=1 |
4 |
|
Тестовый пример 2: A=2, B=2, C=2, D=2 |
4 |
||
Тестовый пример 3: A=3, B=3, C=3, D=3 |
4 |
||
Тестовый пример 4: A=1, B=2, C=3, D=2 |
6 |
||
1 |
Тестовый пример 5: A=1, B=1, C=1, D=1 |
4 |
|
Тестовый пример 6: A=2, B=3, C=1, D=3 |
8 |
||
Тестовый пример 7: A=3, B=1, C=2, D=1 |
8 |
||
Тестовый пример 8: A=1, B=2, C=3, D=2 |
6 |
||
2 |
Тестовый пример 9: A=2, B=3, C=1, D=3 |
8 |
|
Тестовый пример 10: A=3, B=1, C=2, D=1 |
8 |
||
Тестовый пример 11: A=2, B=1, C=3, D=1 |
10 |
||
Тестовый пример 12: A=3, B=2, C=1, D=2 |
10 |
Преимущество использования ЭА заключается в том, что они могут генерировать разнообразные и высококачественные наборы парных тестов с помощью гибкого и адаптивного алгоритма. Недостатком является то, что для получения хорошего решения может потребоваться большое количество итераций или оценок, и они могут не гарантировать оптимальность или полноту решения. Для повышения производительности или надежности алгоритма были предложены некоторые усовершенствования или вариации ЭА, такие как генетические алгоритмы [2, с. 437], генетическое программирование, дифференциальная эволюция и коэволюция [3, с. 1].
Другой метаэвристический метод основан на роевом интеллекте (РИ) [4, с. 187]. РИ вдохновлен коллективным поведением социальных животных или насекомых, таких как муравьи, пчелы, птицы или рыбы, которые сотрудничают и общаются друг с другом для достижения общей цели или решения сложной проблемы. РИ можно использовать для генерации парных наборов тестов путем моделирования каждого тестового примера как агента (например, муравья или пчелы), который перемещается и взаимодействует с другими агентами в пространстве поиска (например, графике или матрице) в соответствии с некоторыми правилами или стратегиями. В следующей таблице (табл. 2) показан процесс РИ для четырех параметров (A,B,C,D), каждый из которых имеет три возможных значения (1,2,3).
Таблица 2. Генерация парных наборов на основе роевого интеллекта
Цикл |
Агенты |
Тестовый набор |
|
0 |
A1B1C1D1 |
- |
|
A2B2C2D2 |
- |
||
A3B3C3D3 |
- |
||
A1B2C3D2 |
- |
||
1 |
A1B1C1D1 |
Тестовый пример 1 |
|
A2B2C2D2 |
Тестовый пример 2 |
||
A3B3C3D3 |
Тестовый пример 3 |
||
A1B2C3D2 |
Тестовый пример 4 |
||
2 |
A1B1C1D1 |
- |
|
A2B3C1D3 |
Тестовый пример 5 |
||
A3B1C2D1 |
Тестовый пример 6 |
||
A1B2C3D2 |
- |
||
3 |
A2B1C3D1 |
Тестовый пример 7 |
|
A2B3C1D3 |
- |
||
A3B1C2D1 |
- |
||
A3B2C1D2 |
Тестовый пример 8 |
Преимущество использования РИ заключается в том, что они могут генерировать разнообразные и высококачественные наборы парных тестов с помощью простого и надежного алгоритма. Недостатком использования РИ является то, что они могут зависеть от некоторых параметров или факторов, влияющих на поведение или производительность агентов, таких как количество агентов, начальные позиции агентов, механизмы коммуникации или сотрудничества и т.д. Поэтому были предложены некоторые улучшения или вариации РИ для оптимизации или адаптации этих параметров или факторов, такие как оптимизация колонии муравьев, оптимизация колонии пчел, оптимизация роя частиц и оптимизация искусственного косяка рыб [5, с. 369].
Третий метаэвристический метод основан на моделировании отжига (МО) [6, с. 671]. Написано, вдохновленное физическим процессом отжига, когда твердый материал нагревается, а затем медленно охлаждается до низкоэнергетического состояния или минимальной конфигурации. МО можно использовать для генерации парных наборов тестов, начиная с исходного набора тестов (например, сгенерированного случайным образом) и затем итеративно улучшая его, внося небольшие изменения (например, меняя местами или заменяя значения) с некоторой вероятностью, которая зависит от параметра температуры. В следующей таблице (табл. 3) показан процесс МО для четырех параметров (A, B, C, D), каждый из которых имеет три возможных значения (1,2,3).
Таблица 3. Генерация парных наборов на основе моделирования отжига
Цикл |
Тестовый набор |
Темпе ратура |
Измене ние |
Год ность |
|
0 |
Тестовый пример 1: A=1, B=1, C=1, D=1 |
100 |
- |
4 |
|
Тестовый пример 2: A=2, B=2, C=2, D=2 |
4 |
||||
Тестовый пример 3: A=3, B=3, C=3, D=3 |
4 |
||||
Тестовый пример 4: A=1, B=2, C=3, D=2 |
6 |
||||
1 |
Тестовый пример 1: A=1, B=1, C=1, D=1 |
90 |
- |
4 |
|
Тестовый пример 2: A=2, B=3, C=2, D=2 |
B2->B3 |
6 |
|||
Тестовый пример 3: A=3, B=3, C=3, D=3 |
- |
4 |
|||
Тестовый пример 4: A=1, B=2, C=3, D=2 |
- |
6 |
|||
2 |
Преимущество использования заключается в том, что он может генерировать почти оптимальные или достаточно хорошие наборы попарных тестов с гибким и адаптивным алгоритмом. Недостатком использования МО является то, что может потребоваться тщательная настройка или калибровка температурного параметра и графика охлаждения, чтобы избежать застревания в локальных оптимумах или преждевременного сближения. Для повышения производительности и надежности алгоритма были предложены некоторые улучшения или вариации МО, такие как адаптивный МО, параллельный МО и квантовый МО [7, с. 31].
Список литературы
1. Eiben A.E. and Smith J.E. Introduction to Evolutionary Computing // Springer- Verlag Berlin Heidelberg. 2003. С. 25-46
2. Cohen D.M., Dalal S.R., Fredman M.L. and Patton G.C. The AETG system: an approach to testing based on combinatorial design // IEEE Transactions on Software Engineering № 23(7). 1997. С. 437-444.
3. Potter M.A. and De Jong K.A. Cooperative coevolution: an architecture for evolving coadapted subcomponents // Evolutionary Computation № 8(1). 2000. С. 129.
4. Kennedy J. and Eberhart R. Swarm Intelligence // Morgan Kaufmann Publishers. 2001.
5. Ahmed B.S. A dynamic parameter tuning of particle swarm optimization for software testing // International Journal of Bio-Inspired Computation 5(6). 2013. С.369-384.
6. Kirkpatrick S., Gelatt C.D. Jr. and Vecchi M.P. Optimization by simulated annealing // Science № 220. 1983. С. 671-680
7. Alba E. and Troya J.M. A survey of parallel distributed genetic algorithms // Complexity. 2002. С. 31-52
Размещено на Allbest.ru
Подобные документы
Формирование требований к подсистеме генерации тестовых заданий в открытой системе дистанционного образования, проектирование подсистемы генерации тестовых заданий в открытой системе дистанционного обучения, реализация пользовательского интерфейса.
курсовая работа [3,3 M], добавлен 28.08.2012Применение тестовых заданий на уроках информатики. Основные виды тестовых заданий. Подбор тестовых заданий по темам курса информатики. Программные продукты для разработки и создания тестовых заданий. Общие правила оформления компьютерных тестовых заданий.
курсовая работа [2,2 M], добавлен 28.09.2011Создание информационного сайта "Компьютерные технологии в автоперевозках", назначение и область применения разработки. Инструкции по инсталляции программного обеспечения и его эксплуатации, по использованию тестовых наборов. Составление сметы затрат.
дипломная работа [2,2 M], добавлен 10.08.2014Понятие, виды и функции тестов, компьютерное тестирование. Государственные стандарты создания компьютерных тестов и практическая реализация комплекса генерации тестов: СУБД и язык программирования, пользовательский интерфейс, экономическая эффективность.
дипломная работа [2,1 M], добавлен 29.06.2012Таблица тестовых наборов, код программы, скриншоты. Разработка программы вычисления заданного целочисленного выражения для данных в формате 16 бит. Вычисление принадлежности точки с заданными координатами заштрихованной области. Разветвления в С++.
лабораторная работа [1,3 M], добавлен 23.11.2014Составление программы, которая по введенным значениям x, y и номеру действия выполняет то или иное арифметическое действие над положительными числами. Алгоритм и код программы. Проведение тестовых наборов. Тестирование и результат работы программы.
лабораторная работа [961,5 K], добавлен 23.11.2014Основные подходы при создании Windows приложений. Изучение навыков работы с 2D графикой в Windows приложениях. Методы генерации псевдослучайных чисел. Разработка игры "Сапер" с расположением мин на основе нескольких методов генерации случайных чисел.
курсовая работа [63,2 K], добавлен 18.02.2009Разработка программно-аппаратного комплекса на базе ПЭВМ типа Pentium IV, включающего в себя периферийное устройство для генерации сигнала в виде напряжения, меняющегося во времени, и программного обеспечения для управления процессом генерации.
дипломная работа [3,0 M], добавлен 30.06.2012Обзор технологий проектирования компьютерных тестов и анализ существующих систем тестирования. Создание системы автоматизированного тестирования студентов с динамической генерацией тестовых заданий при участии преподавателя, с функцией оценивания.
дипломная работа [3,6 M], добавлен 18.07.2012Написание программы для генерации случайных чисел, в которой реализуются возможности генерации абсолютно случайных чисел. Приложение на языке С/С++. Описание узла, содержащего данные; функций и методов работы; чтения данных из памяти и вывода их на экран.
курсовая работа [172,4 K], добавлен 23.05.2012