вторник, 18 декабря 2007 г.

Разница Между QA, QC & Testing (начало пути)

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


Рассмотрим следующую схему, где структурно показано место тестирования (Testing), контроля качества (QC) и обеспечении качества (QA) в общем процессе Обеспечения Качества:




Разница видна невооруженным взглядом. Постараюсь разъяснить ее подробнее:
Testing (тестирование) - это самый низкий уровень - прохождение тест кейсов и локализация дефектов… В принципе на это способны люди и без специального образования…
QC - следующий уровень - контроль качества продукта - анализ результатов тестирования и качества “билдов”, в процессе разработки.
QA - решает более глобальные задачи. Анализируя работу тестировщиков и QC, в случае возникновения проблем, вовремя находит пути ее решения и не дает ей развиться и повлиять на качество продукта.

В принципе все эти 3 роли можно объединить в одну - это не страшно для небольших проектов, но когда, либо кол-во маленьких проектов растет или мы имеем очень большой проект, то я бы предпочел выделить все 3 роли (тестеры, инженеры по контролю качества и обеспечению качества)…

Также зачастую, роль QC могут играть грамотно построенные диаграммы: результатов тестирования, диаграммы открытых багов в разрезе выпущенных билдов и т.д., на основании которых, QA может делать самостоятельные оценки качества.


Глава 1: Зачем нужен контролер?
У сотрудника по работе возник вопрос:
ЗАЧЕМ НУЖЕН КОНТРОЛЛЁР?

Наш ответ Чемберлену:
Может я конечно и передергиваю, но для всего должны быть специально обученные люди: тестировать должен тестер, контролировать должен контролер, а обеспечивать качество должен какой-нить, скажем, управленец.

Вот вам простейший пример:
есть в какой-нить конторе 3 команды тестирования. В каждой есть тестеры и лиды, и ими руководит QA менеджер. В этой структуре сразу выделяются 3 роли:
  1. тестер - тестер
  2. лид - QC
  3. менеджер - QA

А теперь допустим, что мы убрали лида, и что у нас таких команд было не 3, а допустим 10. Получаем, что 1 менеджер управляет и контролирует 10 проектов и 30 человек. А если каждая команда ведет не 1, а несколько проектов?
Согласитесь - сложно…

Вот поэтому я считаю, что QC никак нельзя исключать из этой цепочки.

Глава 2. Что делает QA команда?
На днях кастомер спросил:
What is the responsibility of the QA group?

Наш ответ Чемберлену:
The main responsibility of QA team is to ensure that the released product satisfies the quality criteria described in test plan. To achieve this goal QA team performs the following types of activities:

  1. Quality Assurance
  2. Quality Control
  3. Testing

Quality Assurance
It is not enough just to test application to release good quality product. It is extremely important to work by strictly organized processes. The main responsibility of QA is to ensure that all processes and procedures are being performed and followed in the correct way.

Quality Control
Each build passes BVT (Build Verification Tests) to ensure that build is valid for testing:

  • Core functionality is working and testable
  • New features are implemented correctly
  • Released build has better quality than the previous one
  • ...

Testing
Test team performes different types of testing which are fully described in test plan


Глава 3. Окончательный анализ
И вот, наконец, нашлось время и мечта была реализована. Я приблизился на шаг ближе к истине. Теперь с гарантией в 90% могу сказать, что понятия QA, QC & Testing определены. Читайте следующий пост Обеспечение Качества, Контроль Качества. Тестирование

4 комментария:

Анонимный комментирует...

Testing (тестирование) - это самый низкий уровень - прохождение тест кейсов и локализация дефектов… В принципе на это способны люди и без специального образования…
QC - следующий уровень - контроль качества продукта - анализ результатов тестирования и качества “билдов”, в процессе разработки.
QA - решает более глобальные задачи. Анализируя работу тестировщиков и QC, в случае возникновения проблем, вовремя находит пути ее решения и не дает ей развиться и повлиять на качество продукта.


Алексей, день добрый.

По моему, вы зря выделили Тестирование и QC и сузили определение QA.

Анализ результатов тестирования это этап Тестирования ПО, а не выделенная активность.

Тестирование, которое как вы пишите могут выполнять неквалифицированние работники не только проход по тестам, как мы с вами понимаем. Наверное, имеется в виду всё-таки "кликинг", или тупое прохождение тест-кейсов при black-box тестировании, а не тестирование как активность по проверке требований в самом широком смысле слова.

QA не контроль Тестирования и Тестировщиков, а контроль выполнения процессов производства ПО: бизнес-анализа, проектирования, разработки как кодирования , тестирования (в том числе тест-дизайн, тест-анализ и тест-менеджмент), внедрения и эксплуатации.

Про картинку: она по сути правильная, с учётом того что testing это часть QC в который также надо добавить test design, test analyze + test management, а не только test execution.

--
С уважением,
Слава Панкратов
www.it4business.ru

Dennis Melentyev комментирует...

Слава прав. QA к тестированию имеет мало отношения. Это значительно большая область деятельности, частью которой являются и тестеры, и девелоперы, и другие проектные роли (архитекторы, аналитики, тек райтеры, ...), не забывая и менеджмент.

Анонимный комментирует...

Я прошу прощение. Но мне кажеться вы путаете две совершенно не связанные вещи. QA как я понимаю это процесс отладки. То есть неотъемлемая часть разработки. QC(ОТК в бывшем СССР) это проверка качества производимой продукции. Да на сегодняшний день и для того и для другого необходима определённая квалификайи работников. На этом их связь заканчивается.

Alexey Bulat комментирует...

Господин, Анонимный.

Может быть вы что-то путаете? QA это никак не отладка!

Отладка (debugging) - процесс поиска, анализа, и устранения причин отказов в
программном обеспечении. (глоссарий терминов ISTQB)

QA или Обеспечение качества (англ. Quality Assurance, QA) — это процесс или результат формирования требуемых свойств и характеристик продукции по мере её создания, а также — поддержание этих характеристик при хранении, транспортировании и эксплуатации продукции. (wikipedia)


Так что могу предложить вам смотреть на понятия шире!

QC = ОТК - спорить не буду, т.к. так оно и есть.


В любом случае спасибо за ваш комментарий.

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

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