Testing schools overview

Post on 25-Jan-2015

506 views 7 download

description

 

Transcript of Testing schools overview

Школы тестирования

Алексей Лупан

Главный вопрос «жизни, вселенной и

всего такого»

Как

спрогнозировать качество ПО?

Что за школы

• Analytic school

• Standard school

• Quality school

• Agile school

• Context Driven school

Analytic school

• тестирование (как и софтостроение) = это

строгая научная работа

• ПО - это логический артефакт

• тестирование - аналитическая дисциплина

• без тест-кейсов тестировать невозможно

Analytic school

• Долго «втыкать» в экран...

• Долго думать — бумага, карандаш...

• Какой процент покрытия кода?

• Качество можно измерить циферками!

• Креативность – в топку!

Analytic school

• Тестирование бывает только правильное

• Все остальное тестирование -

неправильное

• Мы используем правильную технику

тестирования?

standard

Standard school

• "Фабрика", конвейер

• тестирование = измерение прогресса

разработки

• тестирование проверяет продукт, и ничего

более

• Testing validates the product

Standard school

• Тестированием можно управлять

• предсказуемость

• метрики

• повторяемость

• планирование

Standard school

• «Када будит гатова?»

• «Пачиму так долга?»

• «Я твой тест-дизайн шатал, тест-кейс

вертел!»

Standard school

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

процесса

• Непрерывность!

Standard school

• Качество - это стандарты

• Выдайте нам стандарты!

• Не отклоняемся от стандартов!

• Стандартизируем стандарты!

Standard school

• Софт, собранный из правильных

компонентов, будет качественным!

• Если проверять качество только

отдельных компонентов, то в итоге

система будет "окай"!

• Мы тестируем только то, о чем было

написано!

Standard school

• Где Traceability matrix?

Standard school

• Все тесты "зеленые", а софт все равно с

багами? Как же так?

• Но ведь наша работа была сделана

качественно!

quality

Quality school

• попробуем перевести это на русский

язык...

Quality school

• Качество = это стандарты, которые задает

клиент разработки

• Одного "правильного" стандарта не

существует!

• Напиши для нас твой стандарт!

Quality school

• Давайте тестировать интеграцию

компонентов!

• Тест-кейсы рулят!

• "Полицейский надзор" за качеством

Quality school

• Тестировщик подписывается кровью под

выпуском софта!

• Только тестировщик знает, когда все

"окай"

Quality school

• Программисты без присмотра накосячат!

• Впрочем, и под присмотром — тоже будут

косячить!

• Тестирование - самая важная часть всего

процесса

agile

Agile school

• Amigo, люди важнее документации!

• И работающий софт важнее

документации!

• Давайте искать только те баги, которые

имеют значение для клиента!

• Качество = это мнение клиента, а не

стандарт!

Agile school

• "Полицейский надзор" - фтопку!

• Тестировать могут все!

• Да что там тестировать - автоматизируй

все проверки!

• TDD rocks!

Agile school

• Так мы докажем, что софт полностью

функционирует ‗as expected‘!

• Так мы будем держать софт под

контролем!

jump

Agile school

• Все надо автоматизировать!

• Все надо автоматизировать!!

• Все надо автоматизировать!!!

• Все надо автоматизировать!!!!

• Все надо автоматизировать!!!!

• Дальше подсказать?

Context-driven

Context Driven school

1. The value of any practice depends on its context. 2. There are good practices in context, but there are no best practices. 3. People, working together, are the most important part of any

project's context. 4. Projects unfold over time in ways that are often not predictable. 5. The product is a solution. If the problem isn't solved, the product

doesn't work. 6. Good software testing is a challenging intellectual process. 7. Only through judgment and skill, exercised cooperatively

throughout the entire project, are we able to do the right things at the right times to effectively test our products.

http://www.context-driven-testing.com/

Context Driven school

• Всѐ — ерунда...

• Жизнь есть страдание...

• Shine on, you crazy diamond! <")))><

Context Driven school

• Нет, все ерунда, кроме нирваны...

Context Driven school

• Хотя нирвана - тоже ерунда...

Context Driven school

• Иногда тест-кейсы рулят...

Context Driven school

• Иногда без документации никак...

Context Driven school

• Иногда тестировать нужно по плану...

Context Driven school

• Иногда тестировать не нужно...

Context Driven school

• Все зависит от контекста

• Нет правильных подходов. Все зависит от

контекста. Правильно то, что работает

здесь и сейчас.

• There are good practices in context, but there

are no best practices.

Context Driven school

• В малых проектах выделенный

тестировщик тормозит процесс.

• А в больших?

o Слишком часто тоже тормозит. Но по другой

причине.

Context Driven school

• Тестировщики не то чтобы необходимы,

но иногда полезны. o Иногда и только после того, как внедрены другие

процессы.

Context Driven school

• Появление тестировщиков в индустрии в

том виде, в котором происходило это

внедрение - это скорее огромный вред.

o Модель разделения ролей ―РУТ‖ (разработка,

управление, тестирование) порочна.

Context Driven school

•«Testing is a skilled, mental

activity»

• Взаимоотношение людей важнее

контрактов

• Давайте сосредоточимся на тестировании

того, что имеет значение для клиента!

Context Driven school

• Ситуация на проектах развивается

неопределенно и неожиданно.

• И это нормально o_O

Context Driven school

• Программный продукт = решение какой-то

проблемы клиента, а не самоцель.

• Если проблема не решена - продукт

плохой.

• Good software testing is a challenging

intellectual process.

Ubi bene…