Не так давно, буквально три года назад, мир тестирования всполошила новость о том, что теперь наконец появится стандарт в области тестирования программного обеспечения, который будет выпущен как ISO (International Organization for Standardization).
Почему это так важно было для мира тестирования?
И это не просто мнение знакомых, даже такие мировые стандарты в области управления ИТ, как COBIT5 или ITIL пишут всего пару строк о тестировании.
«Тестирование должно быть!»
Потом в 2006 году миру представили ISO 25051 «Разработка программного обеспечения». Там уже не было фраз:
Но, почему так важен именно ISO? Стандарт ISO это общемировой стандарт, который принимается во многих странах мира. Если мы посмотрим на модель стандартов, то мы увидим, что многие стандарты являются профессиональными, коммерческими, национальными, но никак не международными.
Давайте поподробнее рассмотрим ISO 29119.
1 часть — Концепция и терминология (2013)
2 часть — Процесс тестирования (2013)
3 часть — Тестовая документация (2013)
4 часть — Технологии тестирования (2014)
5 часть — Keyword Driven Testing KDT (2015)
+ в дополнении ко второй части был выпущен ISO 33063 «Модель оценки процесса»
Итак, что же нам нового дал стандарт ISO?
А особо и ничего нового. По факту это получился стандарт, который собрали из всевозможных стандартов IEEE, BS. Практически каждая часть основывается на том или ином профессиональном или национальном стандарте.
- Итак, часть 1 — Концепция и терминология включает в себя описание того, что такое тестирование и зачем оно нужно, подходы к процессу, роль тестирования в жизненном цикле ПО, в общем все основное, что вам могут рассказывать на вводных занятиях по тестированию. Основой для первой части послужил стандарт BS 7925-1.
- Часть 2 становится уже более насыщенной, в ней начинают рассматривать вопросы организации, управления и выполнения процесса тестирования, которые в большей степени являются общепринятыми практиками в области тестирования ПО. В этой части видно влияние ISTQB, TMMI, т.к. многие аспекты процесса тестирования полностью идентичны.
- Часть 3 по факту является частичной копией IEEE 829 и также рассматривает тестовую документацию, но охват документации действительно впечатляет. В отличии от IEEE829, где рассматривается понятие «Master Test Plan» и «Level Test Plan», в ISO уже рассматривают привычные нам по TMMI и ISTQB понятия «Политики тестирования» и «Стратегии тестирования». Дополнительно разделены понятия проектного тест-плана и релизного тест-плана. Также, рассматриваемые в IEEE 829 тестовая документация в виде тест-кейса и тест дизайна, не попали в ISO и это большой плюс, т.к. это рассматривается в 4 части. Но зато мы имеем хорошее описание отчета о завершении тестирования и отчета по тестовым средам.
- И последняя часть, касаемая того тестирования, к которому мы привыкли — это 4 часть. Это часть полностью посвящена технологиям тестирования и техникам тест дизайна. Сдавшим ISTQB Advanced Level Test Analyst эта часть точно будет не интересная. Ничего нового в ней нет.
Пятую часть я даже не рассматриваю, потому что, мне вообще не понятно, почему они решили обратить внимание на KDT.
Зачем?
«ISO утверждает, что появился новый стандарт по тестированию ПО. Но ISO 29119 не является стандартом для тестирования. Это не может быть стандартом тестирования. Стандарт для тестирования ПО должен отражать ценности и практики мирового сообщества тестировщиков.»
«Если ISO 29119 приняли и оно получило признание в широком кругу, как описание лучших практик для тестирования ПО, то context-driven testing может быть примером того, как не стоит делать и все другие способы мышления вы не должны принимать, как правильный подход.«
Context-driven testing – это подход, который ориентирован на использование фокуса (или контекста) при выполнении тестирования ПО, где в первую очередь влияет время, стадия и цель проекта (ПО).
- Значение любой практики зависит от контекста
- Существуют хорошие практики, но нет наилучшей
- Люди работающие вместе – самая главная часть любого проекта
- Зачастую проекты развиваются непредсказуемо
- Продукт – это решение. Если проблема не решена, то продукт не работает
- Хорошее тестирование ПО – это сложный интеллектуальный процесс
- Для того, чтобы эффективно тестировать продукты, мы должны делать правильные вещи в правильное время и обязательно с помощью осуждения (обсуждения) и знаний, которые вырабатываются сообща на протяжении всего проекта
Таким образом, Канер говорит, что стандартизация процесса должна учитывать все мировые подходы к процессу тестирования. Именно в этом назначение международной организации по стандартизации.
Председатель группы:
- Dr Stuart Reid — British Standards Institute, United Kingdom
Соавторы ISO/IEC/IEEE 29119 Software Testing члены группы WG26:
- Anne Mette Hass (editor of ISO/IEC/IEEE 29119-3) — KOMBIT, Denmark
- Jon Hagar (product editor of ISO/IEC/IEEE 29119) — USA
- Matthias Daigl (editor of ISO/IEC/IEEE 29119-5) — imbus, Germany
- Prof Qin Liu (co-editor of ISO/IEC/IEEE 29119-4) — School of Software Engineering, Tongji University, China
- Sylvia Veeraraghavan (editor of ISO/IEC/IEEE 29119-2) — Janaagraha, India
- Dr Tafline Murnane (editor of ISO/IEC/IEEE 29119-4) — K. J. Ross & Associates, Australia
- Wonil Kwon (ISO/IEC 33063 Process Assessment Model for Software testing processes) — Software Testing Alliances, South Korea
Да, то, что появился стандарт в области тестирования, это хорошо, но во-первых, то, что он использует общепринятие практики и в принципе никак не описывает процесс тестирования как минимум в гибкой методологии — это не правильно.
Во-вторых, возникает мысль того, что этот стандарт просто очередная возможность набить карманы получить деньги. Делать стандарт платным? Зачем? Ну кроме, как наживиться, другого в голову не приходит.
Ну и в третьих, честно сказать, ничего нового стандарт ISO не открыл.
Спасибо! Надеюсь будет полезно!