Перфоманс Лаб

ISO
стандарты тестирования
27 января, 2017

ISO 29119 Testing Standard. Что такое? О чем? И главное зачем?

Время чтения: 10 мин.
27 января, 2017

ISO 29119 Testing Standard

Не так давно, буквально три года назад, мир тестирования всполошила новость о том, что теперь наконец появится стандарт в области тестирования программного обеспечения, который будет выпущен как ISO (International Organization for Standardization).

Почему это так важно было для мира тестирования?

Тестирование достаточно молодая профессия и лишь небольшая часть в целом всей ИТ отрасли. Возьмите своих знакомых не из ИТ, и спросите, что они знают о тестировании?

-Тестирование? Что? Это анкеты заполнять? Программы? Не, не слышали?

И это не просто мнение знакомых, даже такие мировые стандарты в области управления ИТ, как COBIT5 или ITIL пишут всего пару строк о тестировании.

«Тестирование должно быть!»

И это ужасно! ISO 29119 это первый стандарт, который полностью стандартизирует процесс тестирования. До этого тестирование обычно включалось в состав разработки ПО или качества ПО. Например, 16 лет назад был покрытый от пыли и съеденный крысами давно забытый всеми ISO 12119 «Пакеты программ. Требование к качеству и тестирование». Почитайте его и почувствуйте себя в советском союзе, где до сих пор люди смотрят телевизоры «Рубин». 

Потом в 2006 году миру представили ISO 25051 «Разработка программного обеспечения». Там уже не было фраз:

ISO 12119: «Функции должны выполняться методом, соответствующим рабочей программы.»
В ISO 25051 тестирование уже включало в себя среды тестирования, тестовую документацию, план тестирования и многое другое. Но все же это был стандарт разработки ПО.
Были и другие стандарты, такие как IEEE 829 «Test Documentation», IEEE 1008 «Software Unit Testing», BS 7925-2 «Software Component Testing».

Но, почему так важен именно ISO? Стандарт ISO это общемировой стандарт, который принимается во многих странах мира. Если мы посмотрим на модель стандартов, то мы увидим, что многие стандарты являются профессиональными, коммерческими, национальными, но никак не международными.

Тестирование еще никогда не имело свой собственный стандарт ISO, полностью описывающий процесс тестирования!

Мировые стандарты

Давайте поподробнее рассмотрим ISO 29119.

Стандарт включает в себя 4 части, каждая из которых рассматривает различные аспекты процесса тестирования.

1 часть — Концепция и терминология (2013)

2 часть — Процесс тестирования (2013)

3 часть — Тестовая документация (2013)

4 часть — Технологии тестирования (2014)

5 часть — Keyword Driven Testing KDT (2015)

+ в дополнении ко второй части был выпущен ISO 33063 «Модель оценки процесса»

Keyword Driven Testing — это визуальное представление тестовых скриптов, когда каждому действию (щелчок мышью, нажатие клавиш, выбор элементов списка и т.п.) сопоставляются ключевые слова (доступна на TestComplete).

Итак, что же нам нового дал стандарт 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 29119 разгорелись просто жесточайшие споры о том, нужен ли нам этот стандарт  или нет?
Мировые гуру тестирования стали сомневаться в компетентности данного стандарта. И действительно!
Джеймс Бах, работавший в тестировании таких мировых гигантов, как Apple, Computer, Borland, сказал:

«ISO утверждает, что появился новый стандарт по тестированию ПО. Но ISO 29119 не является стандартом для тестирования. Это не может быть стандартом тестирования. Стандарт для тестирования ПО должен отражать ценности и практики мирового сообщества тестировщиков

Возможно это обида, но Сэм Канер, один из соавторов IEEE, соавтор концепции context-driven testing, поддержал, сказав:

«Если ISO 29119 приняли и оно получило признание в широком кругу, как описание лучших практик для тестирования ПО, то context-driven testing может быть примером того, как не стоит делать и все другие способы мышления вы не должны принимать, как правильный подход.«

Хочу вкратце напомнить о принципах context-driven testing.

Context-driven testing – это подход, который ориентирован на использование фокуса (или контекста) при выполнении тестирования ПО, где в первую очередь влияет время, стадия и цель проекта (ПО).

  1. Значение любой практики зависит от контекста
  2. Существуют хорошие практики, но нет наилучшей
  3. Люди работающие вместе – самая главная часть любого проекта
  4. Зачастую проекты развиваются непредсказуемо
  5. Продукт – это решение. Если проблема не решена, то продукт не работает
  6. Хорошее тестирование ПО – это сложный интеллектуальный процесс
  7. Для того, чтобы эффективно тестировать продукты, мы должны делать правильные вещи в правильное время и обязательно с помощью осуждения (обсуждения) и знаний, которые вырабатываются сообща на протяжении всего проекта

Таким образом, Канер говорит, что стандартизация процесса должна учитывать все мировые подходы к процессу тестирования. Именно в этом назначение международной организации по стандартизации.

Если  посмотрим соавторов ISO 29119, то я не увидел не одного гуру тестирования, и даже мировой компании, которая бы приняла участия в разработке данного стандарта. Авторами ISO является рабочая группа WG26.

Председатель группы:

  • 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
Да, кто все эти люди? Откуда они?
Ну и чтобы расставить все точки, этот стандарт платный и стоит не много не мало 178 швейцарских франков за одну часть, а  это порядка 11000 рублей. Практически столько же стоит сертификация ISTQB. Есть повод задуматься…
Ну и в заключение скажу свое мнение.

Да, то, что появился стандарт в области тестирования, это хорошо, но во-первых, то, что он использует общепринятие практики и в принципе никак не описывает процесс тестирования как минимум в гибкой методологии — это не правильно.

Во-вторых, возникает мысль того, что этот стандарт просто очередная возможность набить карманы получить деньги. Делать стандарт платным? Зачем? Ну кроме, как наживиться, другого в голову не приходит.

Ну и в третьих, честно сказать, ничего нового стандарт ISO не открыл.

Отсюда скажу — стандартизация ISO процесса тестирования — это хороший шаг вперед, определяя процесс тестирования, как независимый от разработки процесс, но то, как этот стандарт реализовали, это ни в какие ворота не лезет.
Все мировые компании  пользуются стандартами ISTQB, TMMI, TPI и с выходом ISO 29119 ничего не изменилось.
Продолжаем работать, как работали.
Ну и чтобы не рушить свое повествование, в конце я хочу закончить полезными ссылками на те стандарты, о которых  я вам говорил.

Спасибо! Надеюсь будет полезно!

Чтобы узнать подробнее о наших услугах