Тесты на потерю функциональности

From The Document Foundation Wiki
Jump to: navigation, search

Введение

Разработчики просто люди. Их модификации иногда вызывают неожиданные побочные эффекты, которые вносят новые ошибки или необоснованное понижение производительности. Регрессивные тесты помогают найти такие проблемы. При помощи них проверяют правильность работы специфической функциональности.

Естественно, регрессионный тест выполнятся в каждой новой сборке. С другой стороны, на практике в каждой новой версии невозможно дотянуться до каждого укромного уголка столько масштабного программного пакета, как LibreOffice. Поэтому, у нас есть тест на регрессию для выборочного тестирования часто используемых сценариев или функций, и проводим их, используя для испытаний бета-версии и кандидатов на выпуск.

Существующие тесты

LibreOffice имеет строго определенные цикл и критерии выпуска. Существуют главная версия X.Y.0 с их дневными, бета и сборками кандидата на выпуск. Также существуют корректирующие выпуски X.Y.Z с их сборками кандидатов на выпуск. Во всех них необходимы следующие тесты:

  • тест "на дым"⁠Wikipedia logo v3.svg - тестs на общую работоспособность должны быть выполнены до того, как бета и кандидат на выпуск объявлены;
  • полный тест на регрессию⁠Wikipedia logo v3.svg - должен быть выполнен в каждой главной очередной версии;
  • базовый тест на регрессию⁠Wikipedia logo v3.svg - должен выполняться перед каждым корректирующим выпуском.

Тест на дым

Все сборки доступны за 1-2 дня до официального объявления. Мы должны убедиться насколько это возможно, что они работоспособны на всех платформах. Пожалуйста, помогите нам провести тестирование:

  • следите за предварительным извещением в почтовой рассылке libreoffice@lists.freedesktop.org;
  • загрузите сборку для своей платформы с сайта dev-builds;
  • установите её и проделайте основные операции, такие как открыть/сохранить документ в Writer, Calc, Impress и Draw;
  • если вы нашли ошибку которая делает сборку практически не пригодной, ответьте на письмо в почте, сообщив информацию о ней. Пожалуйста, следите за тем что бы все люди и список рассылки были в копии получателей в письме;
  • сообщите об ошибке в Bugzilla.

Существуют некоторые попытки автоматизировать эту задачу.

Полный тест на регрессию

Ручные тесты играют важную роль в обеспечении качества LibreOffice. Их стоит делать один раз каждом бета и RC (т.е. по меньшей мере полностью запускать каждый тест в Beta1 для BetaX, после чего сделать в RC1 для RCX).

Ручные тесты разделены на тестовые сценарии. Они переходят следующим путём в MozTrap:

  • Когда будет готова следующая тестовая сборка, о ней будет объявлено в списке рассылки libreoffice-qa;
  • Войдите в MozTrap и посмотрите, есть ли какой-нибудь тестовый прогон программы для этой сборки;
  • Скачайте и установите последнюю бета/RC сборку из официального сайта пре-релизов, или ссылке опубликованной в почтовом сообщении;
  • Выберите незавершённый тестовый сценарий для вашей платформы и отработайте его (HOWTO);
    • Лучше выбрать произвольный тест для работы, это может уменьшить некоторые потенциальные дублирующиеся усилия;
    • Если вы нашли ошибку и сообщили об этом в Bugzilla, не забудьте поставить номер ошибки в поле Associated Bug #s MozTrap;
  • Возьмите другой тестовый сценарий и отработайте его, как описано выше;
    • Если есть новая бета/RC версия, скачайте и установите её в фоновом режиме при переходе к новому тестовому сценарию. Нет необходимости прерывать или перезапустить тестирование, так как последующие сборки бета/RC для таких же версий.

Автоматические тесты в настоящее время работают в процессе сборки:

ВАЖНО: Есть даже задачи для не-разработчиков

  • IMPORTANT: Есть задачи не для разработчиков.

Базовый тест на регрессию

Версии с исправлениями ошибок выпускаются каждый месяц после каждого основного выпуска. Обычно в них не хватает времени для испытания полной регрессии. Разработчики стараются избегать регрессии в версиях с исправлениями ошибок путем анализа изменений. Но они только люди, так что имеет смысл запускать наиболее важные тестовые сценарии для поиска возможной регрессии. Обычно на этом этапе проводят P1 test и P2 test.