Любой тестировщик сталкивается по своей жизни с тьмой багов. Иногда их так много, что хочется хоть как-то их сгруппировать и выделить какие-то правила по нахождению, а для этого требуется классификация. Русскоязычные ресурсы предлагают классифицировать баги по их серьезности, приоритету, размеру, месту и частоте возникновения.
Перелистывая материалы по классификациям багов, кажется, что оптимальный список находится вот в такой классификации (ниже мой любительский перевод) по типам:
- Комментарий — неадекватный/неправильный комментарий в коде;
- Ошибка компиляции — неправильная интерпретация формулировки или валидации в коде;
- Ошибка данных — неправильная организация/обновление данных;
- Ошибка базы данных — ошибка в схеме/дизайне базы;
- Отсутствующий дизайн — дизайнерские незадокументированные решения, которые из-за этого не соответствуют требованиям;
- Несоответствующий дизайн — отсутствующие уточнения, неточное или неполное описание дизайна;
- Неправильный дизайн — неправильный, неаккуратный дизайн;
- Непонятный дизайн — дизайнерские решения, непонятные пользователю/рецензенту. Использование двусмысленных слов;
- Упущенные условия границ — граничные условия неправильны/не заданы;
- Ошибки интерфейса — внутренняя/внешняя ошибка, которая отображается в интерфейсе, неправильные параметры, выравнивание, положение объектов или окна;
- Логические ошибки — отсутствующая, недостаточная, неуместная, неоднозначная функциональность исходного кода;
- Ошибка сообщения — отсутствие или неправильное сообщение об ошибке в исходном коде;
- Ошибка навигации — неправильно прописанная в коде навигация;
- Ошибка производительности — относится к производительности/оптимальности кода;
- Отсутствующие требования — явные/неявные требования пропущены или не задокументированы;
- Неадекватные требования — требования, которые нуждаются в доработке;
- Неправильные требования — описание требований не верное или не полное;
- Двусмысленные требования — непонятные рецензенту требования (включает двусмысленные слова — как, по типу, возможно, может быть и т.д.;
- Ошибка последовательности или времени — ошибка, которая возникает при неправильной последовательности в коде или неправильным/упущенным тайм-аутам;
- Стандарты — несоблюдение стандартов, требований;
- Системные ошибки — ошибки ОС, оборудования, недостаток памяти;
- Ошибки тест-планов, тест-кейсов — неправильные, двусмысленные, недостаточные, дублирующиеся, незаконченные тестовые случаи и скрипты;
- Типографические ошибки — грамматические, синтаксические и другие ошибки в документации и коде;
- Ошибки объявления переменных — неправильное объявление или использование переменных, несоответствие кода.
Но, с моей точки зрения, даже эту большую классификацию можно сгруппировать и немного упростить. Так же тут есть спорный момент: логической ошибкой считается недочет кода, хотя есть и такие ошибки в программных продуктах, которые делают user journey нелогичным процессом. То есть логика работы самого продукта вообще не рассматривается как источник багов.
В общем, предлагаю рассмотреть баги в собственной альтернативной классификации по группам:
- Логические — ошибки, нарушающие логику использования функционала. Это могут быть и ошибки кода, и ошибки логики использования приложения, и нарушения логического отображения данных, и описания функционала;
- Технические — все ошибки кода, архитектуры и т.д.;
- Комбинированные — оишбки, включающие в себя несколько групп;
- Локализированные — ошибки, которые зависят от среды (например, от браузера или ОС);
- Дизайнерские — все, что касается UI, usability;
- Соотношения — нарушение связей между элементами, back-end и front-end (это могут быть ошибки маппинга на сайтах, неверно настроенные ключи в базах данных, несоответствие объектов;
- Документации — ошибки любых документов.
Таким образом, совместив данную классификацию с указанной выше классификацией по типам, получим такую схему:
Буду рада выслушать все соображения, комментарии и критику по данному материалу, чтобы довести классификацию до ума. В последующих материалах смогу остановиться на каждой группе отдельно с примерами.
Благодарю за внимание!
Автор: ymkocv