| О докладе: |
-
Побочные эффекты динамизма языка:
-
даже опечатки требуют для своего обнаружения выполнения кода
-
refactoring — постоянный источник ошибок
-
pylint/pycheker обнаруживают только узкий класс проблем
-
легко "протащить" некачественный в "продакшн"
-
Тестировать необходимо, но как?
-
насколько глубоко копать
-
как найти баланс между гибкостью (скоростью внесения изменений) и надежностью кода
-
Муки выбора (стратегии тестирования):
-
ручное тестирование
-
модульное тестирование
-
функциональное тестирование
-
Инструментарий:
-
Использование nose (мини-туториал)
-
Приемы эффективного тестирования:
-
разработка-через-тестирование (TDD, bialix)
-
скорость исполнения тестов
-
изоляция тестов
-
заглушки (ввод/вывод, БД, внешние библиотеки)
-
не нужно бояться вносить "ненужные" тестовые расширения в "продакшн" код (logging, hooks, etc.)
-
Примеры проектов (с точки зрения тестирования)
-
Ссылки:
|