- •Федеральное государственное бюджетное образовательное учреждение высшего образования
- •Актуальность модульного тестирования
- •Цели и задачи
- •Формальная постановка задачи
- •Обзор автоматизированных сред для модульного тестирования
- •Декомпозиция задачи тестирования модуля веб-приложения
- •Математическая постановка задачи модульного тестирования
- •Алгоритм разработки модульного теста
- •Алгоритм интерпретации модульных тестов
- •Алгоритм выполнения модульных тестов
- •Структура программного продукта
- •Диаграмма классов программного продукта
- •Пример тестирования модуля возведения в степень с выводом отчёта в консоль
- •Пример тестирования модуля сложения массивов с выводом отчёта в формате HTML
- •Методологии разработки ПО
- •Результат тестирования в экстремальных условиях среды модульного тестирования с выводом отчёта в формате
- •Анализ эффективности проведения тестирования
- •Результаты
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Уфимский государственный авиационный технический университет»
Математическое и программное обеспечение модульного тестирования веб- приложений
Студент группы МО-417 Ибрагимова К.Б.
Научный руководитель: к.т.н., доцент кафедры ВМиК Верхотурова Г.Н.
г. Уфа, 2022
2
Актуальность модульного тестирования
Модульное тестирование — это метод тестирования программного обеспечения, при котором выделяются модули, то есть небольшие части приложения, поведение каждого из которых проверяется отдельно.
Согласно исследованию «Экосистема разработки в 2021 году» компании JetBrains модульными тестами пользуются компании (команды) 67% респондентов.
3
Цели и задачи
Цель: повышение эффективности контроля реализации и обнаружения ошибок программного обеспечения посредством разработки математического и программного обеспечения автоматизированного модульного тестирования.
Задачи:
1.Ознакомиться с процессом проведения модульного тестирования.
2.Провести обзор и последующий анализ существующих сред модульного тестирования.
3.Провести анализ существующих инструментальных средств разработки автоматизированных тестов для веб-приложений.
4.Разработать программную среду, обеспечивающую создание, выполнение и анализ модульных тестов.
5.Провести тестирование и оценку эффективности разработанного программного продукта.
4
Формальная постановка задачи
5
Обзор автоматизированных сред для модульного тестирования
|
Mocha |
JEST |
Jasmine |
AVA |
|
|
|
|
|
|
|
Язык программирования |
JavaScript |
JavaScript, TypeScript |
JavaScript |
JavaScript, TypeScript |
|
|
|
|
|
|
|
Встроенные функции утверждения теста |
- |
+ |
+ |
+ |
|
|
|
|
|
|
|
Тестирование структуры модели представления |
- |
+ |
- |
+ |
|
|
|
|
|
|
|
Асинхронные тесты |
+ |
+ |
+ |
+ |
|
|
|
|
|
|
|
Параллельное выполнение тестов |
- |
+ |
- |
+ |
|
|
|
|
|
|
|
Возможность замены функций у проверяемого |
- |
+ |
- |
- |
|
модуля |
|||||
|
|
|
|
||
Наличие системы отслеживания изменений файлов |
- |
+ |
- |
+ |
|
|
|
|
|
|
|
Анализ покрытия кода тестами |
- |
+ |
- |
- |
|
|
|
|
|
|
|
Простота освоения |
+ |
- |
+ |
- |
|
|
|
|
|
|
Отсутствует одновременно простая в освоении и с наличием встроенных функций утверждений среда.
6
Декомпозиция задачи тестирования модуля веб-приложения
7
Математическая постановка задачи модульного тестирования
Дано:
–множество векторов входных значений для проведения модульных тестов.
–множество ожидаемых выходных значений при проведении модульных тестов. m – количество модульных тестов.
Обозначим:
модульный тест.
–множество выходных значений модуля при проведении модульного теста.
Найти: результаты проведения модульных тестов , где
.
8
Алгоритм разработки модульного теста
9
Алгоритм интерпретации модульных тестов
10