Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ МО417 Ибрагимова КБ 24.06.docx
Скачиваний:
55
Добавлен:
14.09.2022
Размер:
4.85 Mб
Скачать
  1. Содержательная постановка проблемы

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

Задачи:

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

  2. Провести обзор и последующий анализ существующих сред модульного тестирования.

  3. Провести анализ существующих инструментальных средств разработки автоматизированных тестов для веб-приложений.

  4. Разработать программную среду, обеспечивающую создание, выполнение и анализ модульных тестов.

  5. Провести тестирование и оценку эффективности разработанного программного продукта.

  1. Обзор и анализ существующих программных продуктов

Mocha – многофункциональная среда тестирования JavaScript для программ Node.js с поддержкой браузера, асинхронным тестированием, отчетами о покрытии тестами и использованием любой библиотеки утверждений. Первый выпуск среды Mocha состоялся 22 ноября 2011 года. Mocha в настоящий момент является самой широко используемой библиотекой.

Преимущества

  • Большое количество расширений для использования в уникальных сценариях тестирования.

  • Тесты могут выполняться последовательно и имеют гибкую отчетность.

Недостатки

  • Применяет сторонние инструменты, что усложняет настройку среды.

JEST – среда тестирования JavaScript, поддерживаемая Meta (ранее Facebook), разработанная и созданная Кристофом Наказавой с упором на простоту поддержку больших веб-приложений.

Преимущества

  • Прост в настройке и использовании, подходит для начинающих пользователей.

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

Недостатки

  • Сложности при подключении сторонних библиотек к проекту тестирования.

Jasmine – основанная на поведении среда разработки для модульного тестирования JavaScript. Она используется для тестирования как синхронного, так и асинхронного кода JavaScript. Имеет простой синтаксис, которым может быть написан любой тест. Первый выпуск среды Jasmine состоялся 14 сентября 2010 года.

Преимущества

  • Обладает большим отзывчивым сообществом. Для Jasmine существует множество публикаций.

Недостатки

  • Для тестирования приложений в браузере требует дополнительной установки сторонних библиотек.

AVA – минималистичная среда модульного тестирования JavaScript для программ Node.js Тесты проводятся параллельно и последовательно. Параллельные тесты запускаются без перерыва. AVA также поддерживает асинхронное тестирование.

Преимущества

  • Высокая скорость выполнения автоматических тестов, так как тесты запускаются параллельно в виде отдельных процессов Node.js.

  • Удобна при использовании в процессе разработки, так как среда позволяет быстро тестировать изменённый код.

Недостатки

  • Не рассчитана для тестирования компонентов пользовательского интерфейса.

Таблица 1.1. – Сравнение сред модульного тестирования

Mocha

JEST

Jasmine

AVA

Язык программирования

JavaScript

JavaScript, TypeScript

JavaScript

JavaScript, TypeScript

Встроенные функции утверждения теста

-

+

+

+

Тестирование структуры модели представления

-

+

-

+

Асинхронные тесты

+

+

+

+

Параллельное выполнение тестов

-

+

-

+

Возможность замены функций у проверяемого модуля

-

+

-

-

Наличие системы отслеживания изменений файлов

-

+

-

+

Анализ покрытия кода тестами

-

+

-

-

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

+

-

+

-

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