| О докладе: |
-
Знакомство: кто я и о чем собираюсь рассказать
-
Краткое описание процесса разработки системы Bazaar:
-
Эрик Реймонд "Cathedral and Bazaar"
-
Распределенная разработка системы
-
Процесс включения правок в основной репозитарий:
-
требования к новому коду и багфиксам (PEP-8, обязательное наличие тестов)
-
отслеживание статуса патчей через Bundle Buggy
-
code review, обратная связь
-
объединение правок с основным кодом через сервис PQM (patch queue manager, http://pqm.ubuntu.com), обязательный прогон тестов на сервере PQM.
-
Проблемы разработки кросс-платформенной системы:
-
краткий набор возможностей Bazaar и проблемы их тестирования
-
почему нужно использовать питон-фреймворк для тестирования
-
влияние ограничений различных платформ на тесты
-
обратное влияние тестов на написание основного кода системы, или как писать удобный для тестирования код.
-
Использование стандартной библиотеки unittest для построения тестовой подсистемы Bazaar:
-
возможности и ограничения библиотеки unittest
-
подсистема тестирования Bazaar: как расширяли возможности unittest (с конкретными примерами):
-
улучшенное представление результатов тестирования
-
расширенные базовые классы для тестов
-
возможность пропуска тестов (из-за ограничений конкретной платформы);
-
автоматическое создание наборов тестов по образцу при старте тестирования (клонирование тестов по единому образцу для ансамбля реализаций):
-
тестирование черного ящика и поддержки unicode
-
тестирование набора поддерживаемых транспортных протоколов (file://, sftp://, ftp://, http://, https://, bzr://);
-
тестирование различных поддерживаемых конфигураций работы с bzr (автономные ветки, ветки в общем репозитарии, работа в стиле CVS/SVN);
-
тестирование работы с различными поддерживаемыми форматами репозитария.
-
benchmarks: подсистема оценки скорости работы основных операций, или вы не можете увеличить скорость работы если вы не можете ее измерить.
-
много тестов: это хорошо или плохо? Влияние времени исполнения всех тестов на стиль работы:
-
частичное тестирование
-
останов по первой ошибке
-
запуск "своих" тестов первыми
-
муляжи, модели и реальные операции ввода-вывода
-
Вопросы и ответы.
-
Заключительное слово.
|