Процесс тестирования в распределенной команде

39
Процесс тестирования в распределенной команде Светлана Федянина, Softline

description

Презентация с SQA Days - 9, 22 апреля 2011, Казань

Transcript of Процесс тестирования в распределенной команде

Page 1: Процесс тестирования в распределенной команде

Процесс тестирования в распределенной команде

Светлана Федянина, Softline

Page 2: Процесс тестирования в распределенной команде

О себе

• в прошлом web-developer, scrum master• в настоящем – PM / Product Owner

Page 3: Процесс тестирования в распределенной команде

План доклада

1. Зачем распределенная команда?

Page 4: Процесс тестирования в распределенной команде

План доклада

1. Зачем распределенная команда?

2. Проблемы распределенной команды и ключевая роль тестирования в их решении

Page 5: Процесс тестирования в распределенной команде

План доклада

1. Зачем распределенная команда?

2. Проблемы распределенной команды и ключевая роль тестирования в их решении

3. Организация тестирования в Softline

Page 6: Процесс тестирования в распределенной команде

Наша распределенная команда

Page 7: Процесс тестирования в распределенной команде

Сложная система

Page 8: Процесс тестирования в распределенной команде

Проблемы в распределенной команде1. Коммуникации

Page 9: Процесс тестирования в распределенной команде

Проблемы в распределенной команде2. Критерий готовности

Page 10: Процесс тестирования в распределенной команде

Регулярная проблема

итерация 1 … итерацияN итерация1 … итерацияM

РЕЛИЗ 1 РЕЛИЗ 2

Пл

ани

ро

ван

ие

р

ел

изо

в

Page 11: Процесс тестирования в распределенной команде

Проблемы в распределенной команде

3. Качество разработанного продукта

Page 12: Процесс тестирования в распределенной команде

Тест – анализ

• Проработка тестовых случаев

– Модель тестирования

– Эффективность тестирования

Название Описание Приоритет (от 1 до 4) Автоматизация

Импорт программы из старой в новую платформу

В админке А1 добавить программу. Проверить импорт программы в А2. 4 да

Импорт пиктограммы из старой в новую платформу

Добавить пиктограмму к программе в А1. Проверить импорт пиктограммы в А2. 3 нет

Page 13: Процесс тестирования в распределенной команде

Необходимостьтест - планов1. Большой проект

Page 14: Процесс тестирования в распределенной команде

Необходимостьтест - планов1. Большой проект2. В команде несколько

QA - инженеров

Page 15: Процесс тестирования в распределенной команде

Тест - дизайн

Page 16: Процесс тестирования в распределенной команде

Тест - дизайн

• Decision Table Testing

• Boundary Value Testing

• Equivalence Class Testing

Page 17: Процесс тестирования в распределенной команде

Тест - дизайн

• Decision Table Testing

Page 18: Процесс тестирования в распределенной команде

Boundary Value Testing

Page 19: Процесс тестирования в распределенной команде

Boundary Value Testing

10-19, 20-49

1. {9,10,11}, {18,19,20}

2. {19,20,21}, {48,49,50}

Page 20: Процесс тестирования в распределенной команде

Тест - дизайн

• Equivalence Class Testing

10 - 19

20 - 49

-1 - 9

50 - 100

Page 21: Процесс тестирования в распределенной команде

Что(,) автоматизируем?

• Стратегия «Зачем? Что? Как?»

Page 22: Процесс тестирования в распределенной команде

Автоматизируем?

• Стратегия «Зачем? Что? Как?»

- Вам это не понадобится (YAGNI)

Page 23: Процесс тестирования в распределенной команде

Что(,) автоматизируем?

• Стратегия «Зачем? Что? Как?»

- Вам это не понадобится (YAGNI)

- Делай проще и короче (KISS)

Page 24: Процесс тестирования в распределенной команде

Что(,) автоматизируем?

• Стратегия «Зачем? Что? Как?»

- Вам это не понадобится (YAGNI)

- Делай проще и короче (KISS)

- Не повторяй себя (DRY)

Page 25: Процесс тестирования в распределенной команде

Проект фреймворка

Page 26: Процесс тестирования в распределенной команде

Баг – репортКатегоризация дефектов

Severity Priority Bug’s face

БлокирующаяКритическая

Высокий

Значительная Средний

НезначительнаяТривиальная

Низкий

Page 27: Процесс тестирования в распределенной команде

ДефектыРелизу – нет!

Page 28: Процесс тестирования в распределенной команде

ДефектыРелизу – ДА!

Page 29: Процесс тестирования в распределенной команде

Баг – репортГде? Что? Когда?

1. понимание проблемы

2. понимание, какую строку кода править

Page 30: Процесс тестирования в распределенной команде

Эстафета или каждый за себя?

Page 31: Процесс тестирования в распределенной команде

Применение инженерных практик• CI

• TDD

• Code Review

• XP

Page 32: Процесс тестирования в распределенной команде

Code Freeze

Page 33: Процесс тестирования в распределенной команде

Перенос кода и данных между средами

Page 34: Процесс тестирования в распределенной команде

Применение инженерных практик

За предоставление статистики спасибо коллегам: А. Клименкову (axoft.ru), Б. Вольфсону.

Page 35: Процесс тестирования в распределенной команде

Что есть критерий готовности?

Page 36: Процесс тестирования в распределенной команде

Что изменилось в QA?Раньше Сейчас

Кликер Автоматизирует,Тест – дизайн,Пишет и ревьюит код

«Что дали, то и тестирую»Хаотичный процесс

Планирование работы в итерации

Нет документации тестировщика

Есть чеклисты, план тесты по необходимости

Page 37: Процесс тестирования в распределенной команде

Что изменилось в QA?Раньше Сейчас

Находим баги методом случайного поиска

Выявляем тестовые случаи, тестируем по чеклисту,случайный поиск,автоматизация

Тестировщик «сам по себе» Тестировщик активно взаимодействует с аналитиками, разработчиками

Список багов Приоритезированный список багов

Нет четкого понятия «Все готово»

Отвечает за Критерийготовности

Page 38: Процесс тестирования в распределенной команде

Итоги

Распределенная команда:

• взаимодействия тестировщиков

• практики тестирования

• определение «Все готово»

РЕЗУЛЬТАТ - КАЧЕСТВО!

Page 39: Процесс тестирования в распределенной команде

Спасибо за внимание!

Вопросы

Светлана Федянина

[email protected]

http://twitter.com/Fedyanina

http://fedyanina.blogspot.com/