20
Контроль качества Java SE Павел Степанов, SUN Microsystems

Павел Степанов

  • Upload
    sqalab

  • View
    397

  • Download
    0

Embed Size (px)

Citation preview

Контроль качества Java SE

Павел Степанов, SUN Microsystems

J2SE в цифрах

• 130 000 000 загрузок в месяц*

• 100+ инженеров по качеству

• 8 различных продуктов или версий

• 3 или 4 релиза одновременно

• 1.5 релиза в неделю в среднем

J2SE в проектах

• JDK 7- новая версия Java

• SSR - обновления безопасности

• LU, FU и MU - другие обновления

• J4B – платные релизы

J2SE в графиках

неделя 1 2 3 4 5 6 7 8 9

J4b

SSR/LU

JDK 7

Структура проекта

Качество тестов

• ~95+% автоматических тестов

• Непрерывная разработка новых тестов

• Постоянная интеграция в предыдущие версии

Организация тестовой базы

Качество JDK 7

• Длинный тестовый цикл

• Много тестовых команд

• Наличие новых технологий, интегрированных в продукт (изначально непокрытых тестами)

Тестирование изменений

Тестовый цикл новой версии

b01b01 b02b02 b03b03

тестирование b01

тестирование b01

тестирование B02

тестирование B02

тестирование b03

тестирование b03

Критерий выхода

Пример критерия выхода

Жизненный цикл и критерий выхода

Synchronized Security Release

• Короткий тестовый цикл – два билда (если b02 удовлетворяет критерию выхода)

• Полностью под контролем одной команды тестировщиков

• 4 версии параллельно

• Тесная интеграция с разработчиками

Жизненный цикл и критерий выхода

Критерий выхода SSR

• Нет регрессий

• Все заявленные ошибки в безопасности исправлены

Java For Business

• Короткий тестовый цикл – один билд

• Полностью под контролем одной команды тестировщиков

• 3 версии параллельно, все исправления рассматриваются индивидуально

Процесс тестирования J4B

J4B критерий выхода

• Отсутствие регрессий– Если регрессии есть – билд выбрасывается,

соответствующие испоавления исключаются из пространства и строится новый билд.

• Ошибки исправлены– Если исправлены не все ошибки, но

регрессий нет, то подписчики все равно могут получить этот билд

Вопросы?