Альтернативная классификация багов

в 15:50, , рубрики: баги, классификация багов, тестирование, Тестирование IT-систем, Тестирование веб-сервисов, Тестирование мобильных приложений

Любой тестировщик сталкивается по своей жизни с тьмой багов. Иногда их так много, что хочется хоть как-то их сгруппировать и выделить какие-то правила по нахождению, а для этого требуется классификация. Русскоязычные ресурсы предлагают классифицировать баги по их серьезности, приоритету, размеру, месту и частоте возникновения.

Перелистывая материалы по классификациям багов, кажется, что оптимальный список находится вот в такой классификации (ниже мой любительский перевод) по типам:

  • Комментарий — неадекватный/неправильный комментарий в коде;
  • Ошибка компиляции — неправильная интерпретация формулировки или валидации в коде;
  • Ошибка данных — неправильная организация/обновление данных;
  • Ошибка базы данных — ошибка в схеме/дизайне базы;
  • Отсутствующий дизайн — дизайнерские незадокументированные решения, которые из-за этого не соответствуют требованиям;
  • Несоответствующий дизайн — отсутствующие уточнения, неточное или неполное описание дизайна;
  • Неправильный дизайн — неправильный, неаккуратный дизайн;
  • Непонятный дизайн — дизайнерские решения, непонятные пользователю/рецензенту. Использование двусмысленных слов;
  • Упущенные условия границ — граничные условия неправильны/не заданы;
  • Ошибки интерфейса — внутренняя/внешняя ошибка, которая отображается в интерфейсе, неправильные параметры, выравнивание, положение объектов или окна;
  • Логические ошибки — отсутствующая, недостаточная, неуместная, неоднозначная функциональность исходного кода;
  • Ошибка сообщения — отсутствие или неправильное сообщение об ошибке в исходном коде;
  • Ошибка навигации — неправильно прописанная в коде навигация;
  • Ошибка производительности — относится к производительности/оптимальности кода;
  • Отсутствующие требования — явные/неявные требования пропущены или не задокументированы;
  • Неадекватные требования — требования, которые нуждаются в доработке;
  • Неправильные требования — описание требований не верное или не полное;
  • Двусмысленные требования — непонятные рецензенту требования (включает двусмысленные слова — как, по типу, возможно, может быть и т.д.;
  • Ошибка последовательности или времени — ошибка, которая возникает при неправильной последовательности в коде или неправильным/упущенным тайм-аутам;
  • Стандарты — несоблюдение стандартов, требований;
  • Системные ошибки — ошибки ОС, оборудования, недостаток памяти;
  • Ошибки тест-планов, тест-кейсов — неправильные, двусмысленные, недостаточные, дублирующиеся, незаконченные тестовые случаи и скрипты;
  • Типографические ошибки — грамматические, синтаксические и другие ошибки в документации и коде;
  • Ошибки объявления переменных — неправильное объявление или использование переменных, несоответствие кода.

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

В общем, предлагаю рассмотреть баги в собственной альтернативной классификации по группам:

  1. Логические — ошибки, нарушающие логику использования функционала. Это могут быть и ошибки кода, и ошибки логики использования приложения, и нарушения логического отображения данных, и описания функционала;
  2. Технические — все ошибки кода, архитектуры и т.д.;
  3. Комбинированные — оишбки, включающие в себя несколько групп;
  4. Локализированные — ошибки, которые зависят от среды (например, от браузера или ОС);
  5. Дизайнерские — все, что касается UI, usability;
  6. Соотношения — нарушение связей между элементами, back-end и front-end (это могут быть ошибки маппинга на сайтах, неверно настроенные ключи в базах данных, несоответствие объектов;
  7. Документации — ошибки любых документов.

Таким образом, совместив данную классификацию с указанной выше классификацией по типам, получим такую схему:

image

Буду рада выслушать все соображения, комментарии и критику по данному материалу, чтобы довести классификацию до ума. В последующих материалах смогу остановиться на каждой группе отдельно с примерами.

Благодарю за внимание!

Автор: ymkocv

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js