Скачать презентацию Семинар 2 1 2 3 4 Модульное тестирование Скачать презентацию Семинар 2 1 2 3 4 Модульное тестирование

Семинар 2.ppt

  • Количество слайдов: 14

Семинар 2 1. 2. 3. 4. Модульное тестирование Интеграционное тестирование Разработка через тестирование Планирование Семинар 2 1. 2. 3. 4. Модульное тестирование Интеграционное тестирование Разработка через тестирование Планирование

Unit testing ЧТО ЭТО Оно же Unit-тестирование Тестируют модуль независимо от других Тестируется интерфейс Unit testing ЧТО ЭТО Оно же Unit-тестирование Тестируют модуль независимо от других Тестируется интерфейс модуля или класса Не тестируются функции реализации

Unit testing ТЕСТЫ Тесты – функции с определенной сигнатурой (обычно void) Тесты объединяются в Unit testing ТЕСТЫ Тесты – функции с определенной сигнатурой (обычно void) Тесты объединяются в группы (Suite) Группы тестов в отдельных модулях

Unit testing ЦЕЛИ ТЕСТОВ Тесты одной группы могут логически разделяться по типу тестируемой сущности: Unit testing ЦЕЛИ ТЕСТОВ Тесты одной группы могут логически разделяться по типу тестируемой сущности: Тесты вызова Тесты данных Тесты структуры

Unit testing ПРЕИМУЩЕСТВА Модуль проверен Модуль будет проверять при внесении будущих изменений – их Unit testing ПРЕИМУЩЕСТВА Модуль проверен Модуль будет проверять при внесении будущих изменений – их легче вносить Отличная документация к модулю

Unit testing НЕДОСТАТКИ Тесты долго разрабатывать Без ФАНАТИЗМА – не все заслуживает модульных тестов, Unit testing НЕДОСТАТКИ Тесты долго разрабатывать Без ФАНАТИЗМА – не все заслуживает модульных тестов, иногда стоит обходиться интеграционными/функциональными тестами или тестером

Unit testing ВАЖНЫЙ ПРИНЦИП НАШЕЛ БАГ - НАПИШИ ПРОВЕРЯЮЩИЙ ЕГО ТЕСТ Unit testing ВАЖНЫЙ ПРИНЦИП НАШЕЛ БАГ - НАПИШИ ПРОВЕРЯЮЩИЙ ЕГО ТЕСТ

Unit testing ЗАГЛУШКИ Используются заглушки для независимого тестирования модулей Основные типы заглушек это Моки Unit testing ЗАГЛУШКИ Используются заглушки для независимого тестирования модулей Основные типы заглушек это Моки (Mock) и Стабы (Stub)

Unit testing ТИПЫ ЗАГЛУШЕК Стабы – заглушки, которые только возвращают четко заданный результат без Unit testing ТИПЫ ЗАГЛУШЕК Стабы – заглушки, которые только возвращают четко заданный результат без реальной обработки входных данных Моки – осуществляют дополнительные данные по проверке данных и возвращают результат в зависимости от этого

Unit testing КАК СДЕЛАТЬ ЗАГЛУШКИ Для использования Заглушек в процедурном подходе используются указатели на Unit testing КАК СДЕЛАТЬ ЗАГЛУШКИ Для использования Заглушек в процедурном подходе используются указатели на функции Для использования Заглушек ООП используются Интерфейсы и Наследование

Модульное тестирование ПРИМЕРЫ Примеры в студию! Модульное тестирование ПРИМЕРЫ Примеры в студию!

TDD ЧТО ЭТО TDD – Test Driving Development – Разработка через тестирование Является одной TDD ЧТО ЭТО TDD – Test Driving Development – Разработка через тестирование Является одной из практик Экстремального программирования (XP)

TDD ПРИНЦИП В начале добиваемся НЕКОЕГО понимания модуля/модулей (задач, интерфейса, структуры), которые необходимо разработать TDD ПРИНЦИП В начале добиваемся НЕКОЕГО понимания модуля/модулей (задач, интерфейса, структуры), которые необходимо разработать Пишем тесты и при этом набрасываем интерфейс модуля. Все должно компилироваться, тесты – ПАДАТЬ Реализуем функции модуля – тесты перестают падать.

TDD ПРЕИМУЩЕСТВА Тесты точно будут! Взгляд на модуль со стороны его будущего пользователя – TDD ПРЕИМУЩЕСТВА Тесты точно будут! Взгляд на модуль со стороны его будущего пользователя – ИНТЕРФЕЙС ЛУЧШЕ Осмысление всех сложностей модуля до его реализации – РЕАЛИЗАЦИЯ ЛУЧШЕ