четверг, 3 января 2008 г.

Обеспечение качества. Контроль качества. Тестирование

Добрый день, Рад, что наконец смогу поделиться со всеми, тем что давно уже изучаю, исследую и обдумываю. А именно это вопрос определений Обеспечение качества (Quality Assurance), Контроль качества (Quality Control), Тестирование ПО (Software Testing). Казалось бы все просто и ясно, но на самом деле эти понятия связаны между собой, переплетены и запутаны. И как оказывается, нет единого мнения о том, что они представляют из себя.


В течении недели я проводил небольшой опрос среди своих коллег, занимающих разные позиции в разных компаниях, связанных и не связанных с тестированием и обеспечением качества и разработкой ПО. Было опрошено 15 человек: 3 тест менеджера, 1 руководитель группы тестирования, 2 ведущих тестировщика, 6 тестировщиков, 2 разработчика, 1 человек не имеющий отношения к разработке и тестированию вообще. Цифра конечно не большая, но уже из нее видно, что более менее адекватное и правильное определение этих понятий имеют не более половины опрошенных, что само по себе ужасно. Получается что половина опрошенных не понимают что такое качество, и как его достигать, а так как в основном отвечали на вопросы люди отвечающие за качество, то получается, что половина из них не до конца понимает, чем занимается.

Можно долго исследовать почему это происходит, от себя могу сказать, что основные причины:
1. недостаток структур, обучающих тестировщиков
2. большинство коммерческих структур обучают лишь практической стороне вопроса, не затрагивая теорию
3. персонал обучающий тестировщиков сам зачастую оказывается слабо квалифицированным

Не буду вдаваться в подробности темы обучения тестировщиков, так как она часто поднимается и уже, я думаю, что достаточно раскрыта. Речь идет о понятих Обеспечение качества (Quality Assurance), Контроль качества (Quality Control), Тестирование ПО (Software Testing).

До проведения опроса мое понимание данных определений было следущим:
Тестирование (Testing) - совокупность действий проводимых над объектом тестирования, а именно применение различных видов тестирования, для получения результата о его соответствии поставленным требованиям.
Контроль качества (Quality Control) - совокупность мероприятий проводимых в процессе разработки, для постоянного получения исчерпывающей информации о соответствии объекта тестирования поставленным требованиям. Сюда входят Test Management, Test Analysis, Test Design, Testing and etc.
Обеспечение качества (Quality Assurance) - совокупность мероприятий, охватывающих все подразделения компании, предпринимаемых на разных стадиях разработки, для улучшения качества выпускаемого продукта. Сюда входят, оптимизация имеющихся процессов: бизнес-анализа, проектирования, разработки, тестирования и т.п.

Но, проанализировав все полученные ответы, а также посоветовавшись с авторитентными людьми, я пришел к выводу, что понятие тестирования, представленное выше, слишком узко и сводится к банальному исполнению тестов (Test Execution). Немного переосмыслив могу резюмировать следующее:

QA (Quality Assurance, Обеспечение качества) - совокупность мероприятий, охватывающих все технологические этапы разработки, выпуска и эксплуатации ПО информационных систем, предпринимаемых на разных стадиях жизненного цикла ПО, для обеспечения качества выпускаемого продукта.
QC (Quality Control, Контроль качества) - совокупность действий проводимых над объектом тестирования в процессе разработки для получения информации об актуальном состоянии объекта тестирования в разрезах: "готовность Продукта к выпуску", "Соответствие зафиксированным требованиям", "Соответствие заявленному уровню качества продукта".
Software Testing является одной из техник контроля качества и включает в себя активности по планированию работ (Test Management), проектированию тестов (Test Design), выполнению тестирования (Test Execution) и анализу полученных результатов (Test Analysis).

Причем, разница между понятиями видна сразу и не требует дополнительных разъяснений.

Как все мы знаем: "Истина где-то рядом." Поэтому буду рад получить от вас комментарии и дополнения, которые приблизят нас еще на один шаг к правде о том, чем мы всетаки занимаемся. И кто знает, может нас ждет еще одна статья, в которой придется дополнить сделанные выводы.

Большое спасибо, всем, кто участвовал в опросе, а так же отдельное спасибо, Славе Панкратову, за качественные комментарии к предыдущей статье о разнице между QA, QC, Testing, которые сподвигли меня к проведению опроса и написанию этого материала.

Оригиналы ответов на опрос о разнице между Quality Assurance, Quality Control и Testing, можно найти здесь

Отправить комментарий

Условия копирования публикаций:

Все публикации в данном блоге являются частной собственностью авторов. Любое копирование информации допускается только при условии указания имени автора и активной ссылки на источник.