sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

29
ПОСЛАНИЕ АНАЛИТИКОВ ТЕСТИРОВЩИКАМ Денис Бесков Chief Systems Analyst, Kaspersky Lab 19 ноября, SQA Days 2010, Санкт-Петербург

Upload: alexei-lupan

Post on 16-Jun-2015

733 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

ПОСЛАНИЕ АНАЛИТИКОВТЕСТИРОВЩИКАМ

Денис Бесков

Chief Systems Analyst, Kaspersky Lab

19 ноября, SQA Days 2010, Санкт-Петербург

Page 2: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Кто такой Денис Бесков

• 10 лет в разработке ПО• 5 лет в разработке БД• 5 лет в системном анализе и архитектуре

• СоорганизаторРИТ-2008/2009,SQA-II, UML2.ru

• Докладчик на …• Ведущий блогаhttp://system-analysis.ru

Page 3: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

О чём речь

1. Как мы обычно работаем (if at all)

2. Какие проблемы возникают

3. Каковы причины этих проблем

4. Как мы могли бы работать1. Планирование требований

2. Разработка требований

3. Согласование требований

4. Поддержка требований (not today)

5. Что теперь со всем этим делать?

Page 4: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

КАК БЫВАЕТОрганизовано взаимодействиеаналитиков и тестировщиков

Page 5: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Типичный рабочий цикл

Page 6: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Типичные проблемы

1. Качество требований• Требования недостаточно полны (ширина)• Часть требований недостаточно подробны (глубина)• Часть требований избыточна• В требованиях много ошибок

2. Нехватка времени• Для исправления ошибок нужно значительное время• Уже нет времени переделывать требования,

т.к. разработка уже идёт

3. Результат?• Взаимное недовольство и конфликт

между аналитиком и тестировщиком• Плохое качество тестов

Page 7: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Причины типичных проблем / 1

Менеджер проекта выбирает сроки разработки требованийбез учёта их качества

•У менеджера проектанет инструмента для оценкии управления качеством требований• Аналитик не договорился с потребителями о качестве требований на базестоимости их разработки

Page 8: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Причины типичных проблем / 2

Ожидания поставщика и потребителя требованийне согласованы

• Аналитик выбирает формати детализацию требованийбез учёта потребителяи согласования с ним• Аналитик пишет требования «для себя», по книжке• Тест-дизайнер недоступен для раннего вовлечения

Page 9: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Причины типичных проблем / 3

Глубина проработки требованийравномерно одинаковаяпо всем фичам• Необходимая глубина проработкиразных фич не определялась• Фичи не взвешивались по сложности тестирования

Page 10: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Однородность глубины /1

Выбирается один раз на проект

Фиксированная глубина:

1. Либо User Story / Feature (Cost = X)

2. Либо основные потоки способов применения (Cost = 3X)

3. Либо полные сценарии способов применения (Cost = 10X)

Page 11: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Однородность глубины /2

Формат Ф1 Ф2 Ф3 Ф4 … … … ФN

User Story X X X X X X X X

Основной потокUse Case

X X X X X X X X

Все потокиUse Case

Page 12: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

На шкале времени

Разработкатребований

Согласованиетребований

Page 13: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

КАК МОЖНО РАБОТАТЬВместе?

Page 14: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Возможные принципы

• Клиентоориентированность аналитика• Предварительные договорённости о качестве требований с тест-дизайнером

• Рентабельность разработки требований• Выбор глубины проработки требований на основе сложности тестирования

• Выбор ширины проработки требований на основе стоимости проработки

Page 15: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Но как?

Page 16: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Цикл сотрудничества

Page 17: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

СОВМЕСТНОЕ ПЛАНИРОВАНИЕ ТРЕБОВАНИЙ

Page 18: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Планирование требований

Page 19: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Цикл совместного планирования

1. Аналитик уточняет формулировки (F) фич

2. Заказчик выставляет приоритеты (P) фич

3. Ведущий тест-дизайнер оцениваетрискованность (R) тестирования (неопр, N искл.)

4. Аналитик оценивает трудоёмкость (C) запрошенной проработки требований пофично (N UC)

5. Менеджер проекта выбираетширину и глубину проработки требований, оперируя как трудоёмкостью, так и рисками, обсуждая решение с аналитиком и тестировщиком

6. Заказ на детализацию требованийсформирован и согласован

Page 20: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Рентабельная глубина

Формат Ф1 Ф2 Ф3 Ф4 … … … ФN

User Story X X X X X X X X

Основной потокUse Case

X X X X X X

Все потокиUse Case

X X X

Page 21: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

СОВМЕСТНАЯРАЗРАБОТКАТРЕБОВАНИЙ

Page 22: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Разработка требований. Подход

1. Способы применения (use cases)как основной формат требований, удобный для тестировщика

2. Аналитик передаёт требованияна изучение порционно —и по глубине и по ширине (3-5 UC)

Page 23: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Разработка требований. Цикл

1. Аналитик разрабатывает основной потокспособа применения и выявляет точки расширения

2. Тест-дизайнер изучает основной поток,даёт замечания, выявляет исключения

3. Аналитик описывает обработку исключений и расширений

4. Тест-дизайнер вычитывает исключения и расширения

5. Аналитик обрабатывает замечания тест-дизайнера

Page 24: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

СОВМЕСТНОЕСОГЛАСОВАНИЕ (?)ТРЕБОВАНИЙ

Page 25: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Согласование требований

НЕ нужно !

Если мы (почти)всё делали вместе

Page 26: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Новая шкала времени

Совместнаяразработкатребований

«Согласование»требований

Планированиетребований

Page 27: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

ЗАКЛЮЧЕНИЕ

Page 28: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Начинайте сотрудничество!

1. Договаривайтесь сглавным аналитиком о необходимости совместного планированиякачества требований

2. Пробуйте планировать вместе

3. Продавайте менеджеру проектавыгоды вашей совместной работы

4. Работайте вместе, а не по очереди

Page 29: Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction

Благодарности

Спасибо за идею,доклада и обсуждения!

•Юлии Нечаевой•Тимуру Хайрулину