Создаем работающую сеть безопасности
TRANSCRIPT
![Page 1: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/1.jpg)
Создаем работающую сеть безопасности
@VitalyStakhov
![Page 2: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/2.jpg)
![Page 3: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/3.jpg)
О чем НЕ пойдет речь
• Секреты и хитрости юнит тестирования
• Шаблоны тестирования
• TDD или BDD, mock или stub и т.д.
![Page 4: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/4.jpg)
О чем пойдет речь
• Почему юнит тесты имеют тенденцию быть хрупкими
• Как с этим бороться
![Page 5: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/5.jpg)
Уровни тестов
![Page 6: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/6.jpg)
Жизненный цикл TDD
![Page 7: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/7.jpg)
Цели юнит тестирования
• Управлять созданием дизайна (TDD)
• Формировать сеть безопасности
![Page 8: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/8.jpg)
ДЕМОРеализация фичи с помощью TDD
![Page 9: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/9.jpg)
Цели юнит тестирования
• Управлять созданием дизайна
• Формировать сеть безопасности
![Page 10: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/10.jpg)
![Page 11: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/11.jpg)
Разделение ответственностей
• Тесты взаимодействий (interaction tests) –
управляют созданием дизайна
• Тесты компонентов (component tests) –
создают сеть безопасности
![Page 12: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/12.jpg)
Сферы деятельности тестов взаимодействий
![Page 13: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/13.jpg)
Тесты взаимодействий
• Фокусируются на проверке взаимодействия класса с соседями
• Мелкие. Как правило, тестируют отдельные методы
• Могут быть удалены при бОльших рефакторингах
![Page 14: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/14.jpg)
Сферы деятельности тестов компонентов
![Page 15: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/15.jpg)
Тесты компонентов• Проверяют внешние результаты логически
целостных компонентов
• Крупные. Тестируют логические компоненты целиком
• Заменяют реальные зависимости:
• Которые тяжело тестировать
• Над которыми мы не имеем контроля
![Page 16: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/16.jpg)
Тест не является юнит тестом, если
• Он обращается к базе данных
• Общается по сети
• Обращается к файловой системе
• Не может быть запущен с другим юнит тестом
• Требует изменения в окружении (например, в конфиг файлах)
![Page 17: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/17.jpg)
ДЕМОТестирование фичи целиком
![Page 18: Создаем работающую сеть безопасности](https://reader035.vdocuments.mx/reader035/viewer/2022062706/557ad5a9d8b42a0b188b5388/html5/thumbnails/18.jpg)
Уровни тестов. Итог.