Содержание
- 2. Что такое Unit-тест Фрагмент кода, написанный разработчиком, для провеки очень маленького, специфичного фрагмента функциональности кода. «
- 3. Зачем нужно возиться с тестами они делают жизнь проще они делают дизайн приложения лучше они значительно
- 4. Чего мы добиваемся написанием тестов Ответов на вопросы: Делает ли код то, что ожидает от него
- 5. Как писать юнит-тесты Ответить на вопрос: как мы будем тестировать новый метод. Написать тест и тестируемый
- 6. Типичные отговорки Написание тестов занимает слишком много времени Запуск тестов занимает слишком много времени Это не
- 7. Написание тестов занимает слишком много времени Перед тем, как использовать эту отговорку оцените: Сколько времени вы
- 8. Написание тестов занимает слишком много времени
- 9. Что тестировать
- 10. Структура теста Создать условия, необходимые для тестов (создать объекты, моки, ресурсы и др.) Настроить моки (если
- 11. Right-BICEP Right – верны ли результаты? B – Boundary верны ли граничные условия? I – Inverse
- 12. Right верны ли результаты Если результаты выполнения кода верны, то как я об этом узнаю?
- 13. B – Boundary Проверка граничных условий CORRECT Conformance – верен ли формат значения? Ordering – является
- 14. I - Inverse проверка обратных связей
- 15. C - Cross-check проверка результат другими методами
- 16. E – Force Error conditions вызов ошибочных состояний Типичные ошибочные состояния Кончилась память Кончилось место на
- 17. P – Performance параметры производительности Производительность алгоритма Скорость выделения ресурсов Скорость доступа к ресурсам Время обработки
- 18. Свойства хорошего теста A-TRIP: Automatic – тесты должны запускаться автоматически и проверять результаты автоматически. Thorough –
- 19. Automatic Не пишите тесты, которые требуют ввода пользователя Если метод требует ресурс (базу данных, соединение по
- 20. Thorough (целостность) Чем больше процент покрытия тестами кода, тем меньше проблем. Баги имеют свойство группироваться в
- 21. Repeatable Результаты тестов не должны зависеть от чего-то, находящегося под вашим непосредственным контролем (ресурсы, данные из
- 22. Independent Убедитесь, что вы тестируете только одну вещь одновременно. Разбивайте сложные операции на несколько более мелких
- 23. Professional Используйте все принципы хорошего дизайна: DRY (Don’t Repeat Yourself), сохраняйте инкапсуляцию, уменьшайте связность компонентов. Не
- 24. Тестирование тестов Не тестируйте тесты – чаще всего в этом нет необходимости. Улучшайте тесты по мере
- 25. Как исправлять баги Идентифицировать баг Написать тест, который «поломается» от этого бага, чтобы подтвердить наличие бага.
- 26. Red-Green-Refactor
- 27. Подведем итоги
- 28. Общие принципы Тестируйте все, что может сломаться Тестируйте все, что уже сломалось Новый код признается виновным,
- 29. Вопросы, которые стоит задавать при написании кода и тестов Если код выполнился правильно, как я об
- 31. Скачать презентацию