четверг, 6 сентября 2012 г.

Оцениваем качество релиза.


В борьбе за качество никак не обойтись без оценки...
Сейчас мы находимся в стадии определения метрик.
Метрики планируется снимать после каждого релиза.

Примерный перечень метрик:
  1. общее кол-во релизных задач
  2. общее кол-во автотестов
  3. кол-во  TоDo автотестов (которые запланированы с прошлых релизов, но из-за нехватки времени не реализованы)
  4. кол-во новых реализованных автотестов
  5. качество тестового покрытия
  6. глубина тестового покрытия
  7. кол-во тестов failed
  8. кол-во тестовых документов
  9. кол-во новых тестовых документов
  10. баги на демо (+критичность)
  11. пропущенные баги  - которые всплыли после релиза  (+критичность)
  12. кол-во хотфиксов
  13. кол-во открытых багов в текущем релизе (+критичность)
  14. кол-во закрытых багов в текущем релизе
  15. общее кол-во открытых багов
  16. качество новой функциональности на момент первичного тестирования
Столкнулись с массой проблем... 
Если с тестами и тестовой документацией как -то более или менее все понятно, то вот с остальным придется повозиться.. 

Проблемы следующие:
  1. несколько проектов, с разрозненным выпуском релизов, зачастую релиз выпускается позже обозначенного срока (в багтрекере об этом нет информации)
  2. Про баги на демо можно узнавать несколькими путями:
    - попросить ПМ-а сообщать о багах
    - попросить тестировщика сообщать о багах (менее интересный вариант)
    - посещать демо и отмечать самостоятельно(отнимает массу времени, да  и хочется как то автоматизировать этот процесс)
    - знать точную дату демо и мониторить ошибки созданные ПМ-ом (заранее договориться что эти баги будет создавать только он и к тому же в отдельных подзадачах - ошибках)
    Последний вариант наиболее приемлим, но требует изменения некоторых устояшихся процессов
  3.  Про пропущенные баги - аналогично - нужно договориться что заводит их только ПМ и привязывает к задаче с которой они связаны. Так же ввести дополнительный тип задачи - пропущенный баг
  4. Качество новой функциональности на момент первичного тестирования будет определять тестировщик по 5(10) бальной шкале. Нужно стремиться к тому чтобы на тестирование попадала задача хотя бы без блокировок, чтоб ускорить и облегчить процесс тестирования
  5. Качество и глубину тестового покрытия будет оценивать руководитель группы тестирования - показатель будет относительный (например если провели оптимизацию ставим к качеству+10), если увеличили кол-во тестовых сценариев ставим +20 к глубине. Текущее качество и глубину оценивать не вижу смысла. На данном этапе возможно ввести такой показатель как достаточность или недостаточность тестового сценария
  6. С fail-овыми тестами вообще отдельная тема для статьи. Нужно постоянно анализировать причины fail-ов, и по возможности оптимизировать.
  7. Ну и наконец как собирать всю эту информацию?? Источники абсолютно разные, а хотелось бы получать сразу готовую табличку, а еще лучше бы графики, диаграммы...
  8. Организация баг-треккинга немножко отличается между проектами - например а некоторых проектах просто -напросто все баги падают в папку багз, а в другой создаются в текущей релизной версии
  9. Метрики хочется снимать именно раз в релиз (релизы ориентировочно раз в 2 недели) т.к. хочется проводить сравнительный анализ по покрытию новых задач тестовой документацией и автотестами. 
В качестве результатов хотелось бы видеть следующие графики: 
  • график багов по резолюциям
  • график соотношения отрытых багов к общему кол-ву
  • график соотношения закрытых багов в общему кол-ву
  • график распределения багов по критичности 
Еще особое внимание хочется уделить багам которые ПМ/тестировщик обнаружил, занес в багтрекер, но по каким -либо причинам они не были исправлены.
Зачастую такие баги приходят в фидбеке