QA Requirements

Введение

Требования к тестированию — очень тонкая часть дополнительных требований. Данные требования определяют как должно обеспечиваться, планироваться, готовиться и выполняться тестирования. Кто непосредственно выполняет тестирование и какие требования к исполнителям.

Когда тестирование важно

Важность требований к тестированию возрастает под действием следующих факторов:

  • Критичность ошибок для бизнеса — чем дороже обойдется ошибка в ПО для бизнеса тем важнее тестирование
  • Новизна технологий — чем новее технологии, чем меньше их промышленное использование тем важнее тестирование
  • Сложность решения — чем выше сложность тем важнее качественное тестирование
  • Масштаб использования — чем больше пользователей может использовать решение, чем шире географический охват, чем больше возможных пиков в нагрузках — тем важнее тестирование
  • Уровень зрелости команды — если вы экономите на команде разработки – у вас растет риск качества кода. Чем ниже качество команды разработки тем важнее тестирование
  • Качество требований — тестирование не является заменой плохо подготовленным требованиям. Тестирование может помочь компенсировать плохо выполненный анализ более качественной проработкой тестовых сценариев и планированием тестирования.

Минимальный набор требований к тестированию

В самом простом случае вы должны определиться с тем:

  • Как вы видите тестирование — какие типы тестирования вы считаете важным в рамках данного решения. Например для простых корпоративных решений часто нет необходимости в большинстве видов тестирования (нагрузочное, usability, проникновение)
  • Кто будет выполнять тестирование — типичная ошибка заключается в том что бизнес заказчик подписывается проводить тестирования сам. А потом оказывается что заказчик не готов принимать “сырое” решение и требует чтобы разработчики  тестировали все сами.
  • Чем должна подкрепляться работа тестировщика и какие результаты вы хотите видеть — например хотите ли вы видеть набор описанных тестовых сценариев
  • Какое покрытие тестами вы ожидаете — только важный функционал, только отдельную часть решения или все

типичные ошибки

Что нужно помнить при продумывании требований к тестированию:

  • Качество само собой разумеется и предполагается — увы нет.
    • Качество требует не только качественной разработки, но и проверки качества.
    • Все ошибаются.
    • Чем дешевле команда тем выше риск того что качество работы будет хуже.
    • Проверка качества — тестирование — требует времени, время стоит денег
  • Разработчик сам протестирует — увы нет. Это шаблонная проблема родитель-ребенок. Создателю трудно критиковать свое же творения, создателю тяжело переключиться с формата создания на формат разрушения. Разработчики в большинстве своем не любят тестировать.
  • Бизнес заказчик в большинстве случаев не умеет тестировать. Для того чтобы убедится в этом прочитайте перечень вопросов по сертификационному экзамену ICTQB
  • У заказчика в большинстве случаев нет времени на полноценное тестирование. Часто тестировщик на проекте занимается задачами тестирования полный рабочий день. Очень странно предполагать что бизнес отдаст своих экспертов для тестирования — это как микроскопом гвозди забивать.
  • Нужно все. Необходимость определенных видов тестирования определяется спецификой задачи, нужность относительна