![](/user_photo/70644__xXXN.png)
- •Этапы проектирования
- •Метрики Джилба
- •Статическое тестирование
- •Тестирование «белого» и «черного» ящика
- •Динамическое тестирование
- •Тест
- •тестирование «белого» и «черного» ящика
- •Модульное тестирование
- •Модульное тестирование
- •Модульное тестирование
- •Модульное тестирование
- •Модульное тестирование
- •Модульное тестирование
- •Модульное тестирование
- •Unit - тестирование
- •Модульное тестирование(методика)
- •Модульное тестирование
- •Модульное тестирование
- •Модульное тестирование
- •Модульное тестирование
- •Пример программы исследования
- •Пример программы исследования
- •Пр программы исследования
- •Модульное тестирование
- •Модульное тестирование
- •Модульное тестирование
- •Модульное тестирование в Visual Studio
- •Тестовый отчет
- •Модульное тестирование
- •Модульное тестирование
- •Матрица соответствия
![](/html/70644/137/html_KOvdkL2rtd.NKn_/htmlconvd-JasjqE11x1.jpg)
Модульное тестирование
2 вариант.
Автоматизированное тестирование. (Unit -тестирование)
Автоматизированное тестирование заключается в использовании специально разработанных тестовых сред, которые проверяют работу модуля и выявляют ошибки в данном модуле.
Особенности автоматизированного модульного тестирования.
1. Для каждой функциональной части составляется отдельный модульный тест.
Применять один и тот же тест для проверки разных компонентов нельзя.
(т.е. тесты не должны дублироваться и т.о. каждый тест проверяет только одно поведение функционала или один кейс).
![](/html/70644/137/html_KOvdkL2rtd.NKn_/htmlconvd-JasjqE12x1.jpg)
Модульное тестирование
2.Проверяемый модуль должен быть изолирован от ядра и других компонентов. Поэтому модульная проверка проводиться не в естественной среде, а в специально разработанной - тестовой.
3.Использование автоматизированной тестовой среды позволяет смоделировать различные тестовые сценарии поведения кода. Если в процессе будут выявлены ошибки система останавливает процесс до их устранеия разработчиком.
4.Тесты должны проверять как позитивные , так и негативные сценарии.
5.Соблюдение граничных условий.
Методы.
Часто используется метод «белого ящика».
![](/html/70644/137/html_KOvdkL2rtd.NKn_/htmlconvd-JasjqE13x1.jpg)
Модульное тестирование
Рассмотрим метод «белого» ящика 1 этап модульного тестирования.
Разработчик-тестировщик изучает внутреннюю структуру кода ,
функционал и поведение исследуемого компонента(если разработчик-тестировщик не участвовал в создании данного кода).
2 этап.
Создание тест-кейса. (тест-кейс представляет собой модель и сценарий поведения проверяемого модуля на практике.
Т.е. кейс-тесты создают исскуственную среду, максимально близкую к реальной обстановке , но без привлечения внешних ресурсов (напр. веб-серверов , баз данных и т.д.)
3 этап. Тестирование модуля
![](/html/70644/137/html_KOvdkL2rtd.NKn_/htmlconvd-JasjqE14x1.jpg)
Модульное тестирование
3 этап Тестирование модуля
Проверяемый компонент (модуль) , предварительно изолированный от ядра данного приложения и других компонентов , запускается в тест-кейсе.
При этом разработчик смотрит как реагирует проверяемый компонент на вхолные сигналы, как работает сам код, соответствует ли его структура выполняемым задачам. Разработчик анализирует возможные ошибки, устраняет их и далее проверяет.
![](/html/70644/137/html_KOvdkL2rtd.NKn_/htmlconvd-JasjqE15x1.jpg)
Unit - тестирование
![](/html/70644/137/html_KOvdkL2rtd.NKn_/htmlconvd-JasjqE16x1.jpg)
Модульное тестирование(методика)
![](/html/70644/137/html_KOvdkL2rtd.NKn_/htmlconvd-JasjqE17x1.jpg)
Модульное тестирование
Класс - некий проект (чертеж) из которого создается объект (в данном случае тест)
Напр. класс «Автомобили» (Тойота объект класса Автомобили)
В данном случае используем класс Тест (наш Тest 1 будет объктом класса Test)
Свойства класса - его переменные
методы - его функции (т.е. программы работы с данными класса)
К классу применимы следующие особенности
инкапсуляция - это принцип объединения в единой консрукции и данных и программ (что позволяет изолировать объект, получаемый из класса от внешнего воздействия)
наследование -один класс получается из другого
![](/html/70644/137/html_KOvdkL2rtd.NKn_/htmlconvd-JasjqE18x1.jpg)
Модульное тестирование
Пример
TEST CLASS(Unit Test2) [ public
ТEST METOTOD(Test Method1)
{
// Arrange
float num1=2.0f; float num2=3.0f; // Act
float resalt=num1+num2; // Assert
Assert:: AreEqual(result,5.0f);
}
![](/html/70644/137/html_KOvdkL2rtd.NKn_/htmlconvd-JasjqE19x1.jpg)
Модульное тестирование
«Arrange» - этап подготовки тестового окружения : т.е.
1)инициализация переменных,
2)задать параметры тестов и ожидаемые результаты
при этом можно сделать дополнительные настройки, чтобы гарантировать выполнение тестов
«Act»- это шаг выполнения действий в тесте. (т.е. на данном шаге выполняется код , который требуется протестировать.
Напр. если мы тестируем функцию, то на шаге Act будет вызвана тестируемая функция с определенными параметрами. Результат бвыполнения этого кода будет проверен на следующем шаге.
![](/html/70644/137/html_KOvdkL2rtd.NKn_/htmlconvd-JasjqE20x1.jpg)
Модульное тестирование
Позитивные тесты – проверяют наличие правильных действий ПО.
(пример, приемочное тестирование)
Негативные тесты – проверяют реакцию ПО на некорректные действия.
Цель негативных тестов:
Проверить устойчивость ПО к негативным входным данным
Проверить устойчивость ПО к ошибкам пользователя
Проверить , что у ПО нет неожиданных побочных эффектов