Намеренное добавление ошибок для оценки процессов обеспечения качества

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

К сожалению, я не могу найти этот документ или любой аналогичный с описанием этого трюка. Может ли кто-нибудь указать мне на такой документ?

ИЗМЕНИТЬ

Чтобы порадовать Евгения, перефразирую последнее предложение первого абзаца:

«Процесс контроля качества не завершен, пока не будут обнаружены все преднамеренные ошибки»


person Boris Gorelik    schedule 07.06.2010    source источник
comment
Потрясающий! В следующий раз, когда QA обнаружит ошибку, я скажу им, что намеренно добавил ее, чтобы проверить их... ;)   -  person Ganesh Shankar    schedule 07.06.2010
comment
хе-хе, я постоянно этим занимаюсь, не только в SW, но и в домашних заданиях, техотчетах и ​​т.д. Шучу :-)   -  person Boris Gorelik    schedule 07.06.2010
comment
bgbg рад, что Евгений счастлив   -  person Boris Gorelik    schedule 11.06.2010


Ответы (3)


Одним из названий этой техники является «внедрение ошибок». Одна из старых книг на эту тему — 'Software Fault Injection: «Прививка программ от ошибок» Джеффри Воаса и Гэри МакГроу.

person Jonathan Leffler    schedule 07.06.2010

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

Принципиально невозможно знать, что все ошибки (или «как можно больше ошибок») были обнаружены. Все, что вы можете сделать, это следовать тщательному, хорошо продуманному подходу к тестированию, чтобы получить хороший шанс.

person EMP    schedule 07.06.2010

Обычно я обнаруживаю, что QA может найти множество ошибок, без необходимости вводить какие-либо преднамеренные ошибки! Я бы предпочел, чтобы моя команда QA продолжала находить ошибки, о которых я даже не подозревал, что они могут быть в системе.

Как и Евгений, я бы с осторожностью называл процесс контроля качества завершенным, когда был обнаружен набор известных ошибок. Я предпочитаю использовать такие критерии выхода, как:

  • Были ли реализованы все функции, определенные для этого выпуска?
  • Все ли запланированные тестовые случаи выполнены?
  • Соответствует ли количество открытых ошибок принятым ограничениям (например, нет критических ошибок или ошибок с высоким приоритетом, менее 10 ошибок с низким приоритетом и т. д.)
person gareth_bowles    schedule 07.06.2010