![](/user_photo/_userpic.png)
- •Федеральное государственное бюджетное образовательное учреждение высшего образования
- •Актуальность модульного тестирования
- •Цели и задачи
- •Формальная постановка задачи
- •Обзор автоматизированных сред для модульного тестирования
- •Декомпозиция задачи тестирования модуля веб-приложения
- •Математическая постановка задачи модульного тестирования
- •Алгоритм разработки модульного теста
- •Алгоритм интерпретации модульных тестов
- •Алгоритм выполнения модульных тестов
- •Структура программного продукта
- •Диаграмма классов программного продукта
- •Пример тестирования модуля возведения в степень с выводом отчёта в консоль
- •Пример тестирования модуля сложения массивов с выводом отчёта в формате HTML
- •Методологии разработки ПО
- •Результат тестирования в экстремальных условиях среды модульного тестирования с выводом отчёта в формате
- •Анализ эффективности проведения тестирования
- •Результаты
![](/html/66614/288/html_PBNiYdjupZ.sXvl/htmlconvd-4wQBqi11x1.jpg)
Алгоритм выполнения модульных тестов
11
![](/html/66614/288/html_PBNiYdjupZ.sXvl/htmlconvd-4wQBqi12x1.jpg)
Структура программного продукта
Анализ существующих инструментальных средств:
•Языки программирования: JavaScript, CoffeeScript, TypeScript
•Платформа:
Deno, Node.js
• Среда разработки:
Sublime text, Brackets, Visual Studio Code
12
![](/html/66614/288/html_PBNiYdjupZ.sXvl/htmlconvd-4wQBqi13x1.jpg)
Диаграмма классов программного продукта
13
![](/html/66614/288/html_PBNiYdjupZ.sXvl/htmlconvd-4wQBqi14x1.jpg)
Пример тестирования модуля возведения в степень с выводом отчёта в консоль
14
![](/html/66614/288/html_PBNiYdjupZ.sXvl/htmlconvd-4wQBqi15x1.jpg)
Пример тестирования модуля сложения массивов с выводом отчёта в формате HTML
15
![](/html/66614/288/html_PBNiYdjupZ.sXvl/htmlconvd-4wQBqi16x1.jpg)
Методологии разработки ПО
BDD (Behavior-driven development) – |
TDD (Test-driven development) – |
разработка через поведение |
разработка через тестирование |
16
![](/html/66614/288/html_PBNiYdjupZ.sXvl/htmlconvd-4wQBqi17x1.jpg)
Результат тестирования в экстремальных условиях среды модульного тестирования с выводом отчёта в формате HTML
17
![](/html/66614/288/html_PBNiYdjupZ.sXvl/htmlconvd-4wQBqi18x1.jpg)
Анализ эффективности проведения тестирования |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
Временные затраты |
|
|
10000 |
|
|
|
|
|
|
|
|
|
|
|
9000 |
|
|
|
|
|
|
|
|
|
• |
|
8000 |
|
|
|
|
|
|
|
|
|
секундах |
7000 |
|
|
|
|
|
|
|
|
|
|
где Tm – временные затраты на |
|
|
|
|
|
|
|
|
|
||
6000 |
|
|
|
|
|
|
|
|
|
||
ручное тестирование, сек; |
|
|
|
|
|
|
|
|
|
||
5000 |
|
|
|
|
|
|
|
|
|
||
Tr – время на ручное прохождение |
в |
4000 |
|
|
|
|
|
|
|
|
|
Время |
|
|
|
|
|
|
|
|
|
||
одного тест-кейса, сек; |
3000 |
|
|
|
|
|
|
|
|
|
|
I – количество тест-кейсов, ед.; |
2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
K – количество запусков, ед. |
|
1000 |
|
|
|
|
|
|
|
|
|
|
|
00 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
|
|
|
|
|
Ручное |
|
|
Количество запусков |
||
|
|
|
|
|
|
|
|
|
|||
, |
|
|
|
|
|
Автоматизированное с использованием разработанного ПО |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
где Ta – временные затраты на автоматизированное тестирование с использованием разработанного ПО, сек; |
|||||||||||
Td – время на разработку одного автоматизированного теста, сек; |
|
|
|||||||||
Tex – время на выполнение одного автоматизированного теста, сек; |
|
||||||||||
Tan – время на анализ результатов, сек. |
|
|
|
|
|
|
|
|
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
Результаты
1.На основе проведённого анализа выделены основные шаги процесса модульного тестирования (создание, интерпретация, выполнение).
2.Проведён обзор и анализ существующих сред модульного тестирования, который выделил библиотеку Jest по многим критериям сравнения.
3.В результате проведённого анализа существующих инструментальных средств разработки автоматизированных тестов для веб-приложений были выбраны: язык программирования TypeScript, платформа Node.js, среда разработки Visual Studio Code.
4.Разработана программная среда, обеспечивающая создание, выполнение и анализ модульных тестов.
5.Проведено тестирование и оценка эффективности разработанного программного продукта.
19