Найти в Дзене
Мир знаний

ГЕНЕТИЧЕСКИЙ АЛГОРИТМ ТЕСТИРОВАНИЯ ВЕБ-ПРИЛОЖЕНИЙ.

Веб-приложения, включая Web 2.0, претерпели значительные изменения и больше не представляются в виде статичных страниц. Сеть рассматривается как платформа, и на ее основе создаются программные приложения. Приложения Web 2.0 построены вокруг нескольких технологий, которые могут быть реализованы в рамках веб-страниц. Новые технологии создают дополнительные трудности при тестировании веб-приложений, такие как динамических элементов и состояний пользовательского интерфейса. Таким образом, разных методов веб-тестирования недостаточно, и требуются новые подходы. Планировщик автоматически генерирует тестовые сценарии, используя пары переходных состояний начального и конечного уровней. Liu et al предлагают формальную методику моделирования компонентов веб-приложений как объектов и генерируют тестовые примеры на основе потока данных между этими объектами. Эти методы расширяют традиционную генерацию тестов на основе траектории движения и использования формы разнообразных тестов на основе мо

Веб-приложения, включая Web 2.0, претерпели значительные изменения и больше не представляются в виде статичных страниц. Сеть рассматривается как платформа, и на ее основе создаются программные приложения.

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

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

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

 https://pixabay.com/ru/illustrations/%D1%82%D0%B5%D1%81%D1%82-%D1%87%D0%B0%D1%81%D1%8B-%D0%BA%D1%80%D0%B0%D0%B9%D0%BD%D0%B8%D0%B9-%D1%81%D1%80%D0%BE%D0%BA-%D0%B2%D1%80%D0%B5%D0%BC%D1%8F-361512/
https://pixabay.com/ru/illustrations/%D1%82%D0%B5%D1%81%D1%82-%D1%87%D0%B0%D1%81%D1%8B-%D0%BA%D1%80%D0%B0%D0%B9%D0%BD%D0%B8%D0%B9-%D1%81%D1%80%D0%BE%D0%BA-%D0%B2%D1%80%D0%B5%D0%BC%D1%8F-361512/

Не так много исследований проводилось по тестированию веб-приложений с динамическими возможностями с использованием схем перехода состояний. В разных методиках манипулирования DOM с помощью кода AJAX абстрагируется в модель состояния, где выполнение обратного вызова, вызванного асинхронными сообщениями, полученными с веб-сервера, связано с переходами в состояние. Тестовые примеры сгенерированы из государственной модели, основанной на понятии семантически взаимодействующих событий.

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

Тестирование и сопровождение веб-приложений становится более сложной задачей по сравнению с традиционным программным обеспечением. За последнее десятилетие произошли радикальные изменения в разработке веб-приложений и даже в концепции Интернета. Сеть рассматривается как платформа, на которой создаются программные приложения; таким образом, появляется новое поколение веб-приложений и веб-систем, известных как Web 2.0.

 https://pixabay.com/ru/illustrations/%D0%BE%D1%82%D0%B4%D1%8B%D1%85-%D0%B4%D0%BE%D1%81%D0%BA%D0%B0-%D1%88%D0%BA%D0%BE%D0%BB%D0%B0-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%BD%D0%B0%D1%8F-%D0%B4%D0%BE%D1%81%D0%BA%D0%B0-413103/
https://pixabay.com/ru/illustrations/%D0%BE%D1%82%D0%B4%D1%8B%D1%85-%D0%B4%D0%BE%D1%81%D0%BA%D0%B0-%D1%88%D0%BA%D0%BE%D0%BB%D0%B0-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%BD%D0%B0%D1%8F-%D0%B4%D0%BE%D1%81%D0%BA%D0%B0-413103/

Приложения Web 2.0 основаны на высокодинамичных веб-страницах, построенных на основе технологий AJAX, которые благодаря асинхронным вызовам сервера позволяют пользователям взаимодействовать и влиять на бизнес-логику на серверах. Динамические возможности Web 2.0 усложняют сложную задачу тестирования веб-приложений.

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

Некоторые инструменты основаны на обнаружении и систематическом изучении путей выполнения веб-приложений, которым может следовать пользователь в веб-приложении. Другие основаны на HttpUnits, где приложение разделено на HttpUnits и протестировано имитируя поведение веб-браузера.

  • Многие предлагают эффективный метод тестирования на основе состояния, который может быть использован для обработки сложных веб-приложений. Моделируются веб-приложения, связывая функции или веб-страницы с состояниями и событиями, которые представляют собой переходы между состояниями. Затем метаэвристика, а именно генетический алгоритм, предназначена для генерирования контролируемого количества тестовых случаев с максимальным разнообразием и охватом.

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

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

 https://pixabay.com/ru/illustrations/%D1%82%D0%B5%D1%81%D1%82-%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BE%D0%BF%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85-13394/
https://pixabay.com/ru/illustrations/%D1%82%D0%B5%D1%81%D1%82-%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BE%D0%BF%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85-13394/

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

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