ISO 29119 Testing Standard. Что такое? О чем? И главное зачем? |
28.03.2017 11:54 |
Не так давно, буквально три года назад, мир тестирования всполошила новость о том, что теперь наконец появится стандарт в области тестирования программного обеспечения, который будет выпущен как 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. Практически каждая часть основывается на том или ином профессиональном или национальном стандарте. Рассмотрим, кратко, основные составляющие каждой части.
Пятую часть я даже не рассматриваю, потому что, мне вообще не понятно, почему они решили обратить внимание на KDT. Зачем? Ну и давайте перейдем к самому интересному. Многие знают, что с момента выхода ISO 29119 разгорелись просто жесточайшие споры о том, нужен ли нам этот стандарт или нет? Мировые гуру тестирования стали сомневаться в компетентности данного стандарта. И действительно! Джеймс Бах, работавший в тестировании таких мировых гигантов, как Apple, Computer, Borland, сказал: «ISO утверждает, что появился новый стандарт по тестированию ПО. Но ISO 29119 не является стандартом для тестирования. Это не может быть стандартом тестирования. Стандарт для тестирования ПО должен отражать ценности и практики мирового сообщества тестировщиков.» Возможно это обида, но Сэм Канер, один из соавторов IEEE, соавтор концепции context-driven testing, поддержал, сказав: «Если ISO 29119 приняли и оно получило признание в широком кругу, как описание лучших практик для тестирования ПО, то context-driven testing может быть примером того, как не стоит делать и все другие способы мышления вы не должны принимать, как правильный подход.« Хочу вкратце напомнить о принципах context-driven testing. Context-driven testing – это подход, который ориентирован на использование фокуса (или контекста) при выполнении тестирования ПО, где в первую очередь влияет время, стадия и цель проекта (ПО).
Таким образом, Канер говорит, что стандартизация процесса должна учитывать все мировые подходы к процессу тестирования. Именно в этом назначение международной организации по стандартизации. Если посмотрим соавторов ISO 29119, то я не увидел не одного гуру тестирования, и даже мировой компании, которая бы приняла участия в разработке данного стандарта. Авторами ISO является рабочая группа WG26. Председатель группы:
Соавторы ISO/IEC/IEEE 29119 Software Testing члены группы WG26:
Да, кто все эти люди? Откуда они? Ну и чтобы расставить все точки, этот стандарт платный и стоит не много не мало 178 швейцарских франков за одну часть, а это порядка 11000 рублей. Практически столько же стоит сертификация ISTQB. Есть повод задуматься… Ну и в заключение скажу свое мнение. Да, то, что появился стандарт в области тестирования, это хорошо, но во-первых, то, что он использует общепринятие практики и в принципе никак не описывает процесс тестирования как минимум в гибкой методологии — это не правильно. Во-вторых, возникает мысль того, что этот стандарт просто очередная возможность набить карманы получить деньги. Делать стандарт платным? Зачем? Ну кроме, как наживиться, другого в голову не приходит. Ну и в третьих, честно сказать, ничего нового стандарт ISO не открыл. Отсюда скажу — стандартизация ISO процесса тестирования — это хороший шаг вперед, определяя процесс тестирования, как независимый от разработки процесс, но то, как этот стандарт реализовали, это ни в какие ворота не лезет. Все мировые компании пользуются стандартами ISTQB, TMMI, TPI и с выходом ISO 29119 ничего не изменилось. Продолжаем работать, как работали. Ну и чтобы не рушить свое повествование, в конце я хочу закончить полезными ссылками на те стандарты, о которых я вам говорил. Спасибо! Надеюсь будет полезно! ISO 29119 Software Testing — часть 1 ISO 29119 Software Testing — часть 2 ISO 29119 Software Testing — часть 3 ISO 29119 Software Testing — часть 4 ISO 29119 Software Testing — часть 5 IEEE 829 Standard for Software and System Test Documentation IEEE 1008 Standard for Software Unit Testing BS 7925-2 Standard for Software Component Testing BS 7925-1 Glossary of Software Testing Terms ИСО/МЭК 12119 Пакеты программ. Требование к качеству и тестирование |