Анализ и измерение качеством программного обеспечения

Качество программного обеспечения измеряет, соответствует ли программное обеспечение его требованиям. Требования к программному обеспечению классифицируются как функциональные или нефункциональные.
Функциональные требования определяют, что должно делать программное обеспечение. Они могут быть вычислениями, техническими деталями, манипулированием данными и их обработкой или любой другой специфической функцией, которая определяет, для чего предназначено приложение.
Нефункциональные требования определяют, как должна работать система. Также известные как «атрибуты качества», к нефункциональным требованиям относятся такие вещи, как аварийное восстановление, переносимость, конфиденциальность, безопасность, поддержка и удобство использования.
Обратите внимание, что большинство факторов, определяющих качество программного обеспечения, относятся к категории нефункциональных требований. И хотя очевидно, что программное обеспечение делает то, для чего оно предназначено, это тот минимальный уровень, который можно ожидать от любого приложения.
Ниже приведены некоторые примеры тестовых метрик и методов измерения важных аспектов качества программного обеспечения. Эффективное измерение и тестирование качества программного обеспечения - это единственный способ максимизировать шансы на выпуск высококачественного программного обеспечения в современных динамичных средах разработки.
Вы можете измерить надежность, посчитав количество высокоприоритетных ошибок, обнаруженных в производстве. Вы также можете использовать нагрузочное тестирование, которое оценивает, насколько хорошо программное обеспечение функционирует в обычных условиях использования. Важно отметить, что «обычные условия использования» могут варьироваться от низких нагрузок до высоких нагрузок - дело в том, что такие среды ожидаются.
Нагрузочное тестирование также полезно для измерения эффективности работы. Стресс-тестирование - это важный вариант нагрузочного тестирования, который используется для определения максимальной работоспособности приложения.
Стресс-тестирование проводится путем наполнения программного обеспечения запросами, значительно превышающими его обычные и ожидаемые модели использования, чтобы определить, насколько далеко система может быть передана до ее взлома. Благодаря стресс-тестированию вы получаете возможность восстановления программного обеспечения при его поломке - в идеале система, которая выходит из строя, должна иметь плавное восстановление.
Вы можете измерить безопасность, оценив, сколько времени потребуется для исправления уязвимостей программного обеспечения. Вы также можете проверить фактические инциденты безопасности из предыдущих версий программного обеспечения, включая информацию о том, была ли система взломана, и вызвали ли какие-либо нарушения время простоя для пользователей. Все предыдущие проблемы безопасности, конечно, должны быть решены в будущих выпусках.
Подсчет количества строк кода является простой мерой удобства обслуживания - программное обеспечение с большим количеством строк кода сложнее поддерживать, а это означает, что изменения с большей вероятностью приведут к ошибкам.
Существует несколько подробных тестовых показателей, используемых для проверки сложности кода, таких как цикломатическая сложность, которая подсчитывает количество линейно независимых путей в исходном коде программы.
Вы можете проверить скорость доставки, посчитав количество выпусков программного обеспечения. Другой мерой является количество «историй» или требований пользователя, отправленных пользователю.
Вы можете протестировать графический интерфейс, чтобы убедиться, что он прост и не расстраивает конечных пользователей. Проблема заключается в том, что тестирование графического интерфейса пользователя является сложным и трудоемким процессом - существует множество возможных операций и последовательностей графического интерфейса, которые требуют тестирования в большинстве программ. А это значит, что на разработку тестовых случаев уходит много времени.
Сложность тестирования GUI конкурирует с целью быстрого выпуска программного обеспечения, что потребовало внедрения автоматизированного тестирования. Доступно несколько наборов тестов, которые полностью имитируют поведение пользователя.
Производители Анализ и измерение качеством программного обеспечения
F.A.Q. Анализ и измерение качеством программного обеспечения
Что такое метрики качества программного обеспечения?
Слово «метрика» относится к стандартам для измерений. Метрики качества программного обеспечения означают измерение атрибутов, относящихся к качеству программного обеспечения наряду с процессом его разработки.
Термин «метрики качества программного обеспечения» иллюстрирует картину измерения качества программного обеспечения путем регистрации количества дефектов или пробелов в безопасности, присутствующих в программном обеспечении. Однако измерение качества не ограничивается подсчетом дефектов или уязвимостей, но также охватывает другие аспекты таких качеств, как ремонтопригодность, надежность, целостность, удобство использования, удовлетворенность клиентов и т. д.
Для чего используются метрики качества программного обеспечения?
- Определить и классифицировать элементы для лучшего понимания каждого процесса и атрибута.
- Оценить каждый из этих процессов и сопоставить их с данными требованиями и спецификациями.
- Прогнозировать и планировать следующий шаг с учетом требований к программному обеспечению и бизнесу.
- Улучшить общее качество процесса и продукта, а затем и проекта.
Метрики качества программного обеспечения: подкатегория метрик программного обеспечения
Это в основном подкласс метрик программного обеспечения, который делает упор на качественные активы программного продукта, процесса и проекта. Метрика программного обеспечения представляет собой более широкую концепцию, которая в основном состоит из трех типов:
- Метрики продукта: включают в себя размер, дизайн, сложность, производительность и другие параметры, которые связаны с качеством продукта.
- Метрики процесса: включают такие параметры, как длительность времени для обнаружения и устранения дефектов, время отклика для решения проблем и т. д.
- Метрики проекта: могут включать в себя количество команд, разработчиков, стоимость и продолжительность проекта и т. д.
Особенности хороших показателей качества программного обеспечения:
- Измерения конкретного атрибута или атрибута большей важности.
- Широкий спектр сценариев.
- Не следует учитывать атрибуты, которые уже были измерены каким-либо другим показателем.
- Надежная работа при любых условиях.
- Должно быть легко и просто для понимания и работы.

What Software Quality (Really) Is and the Metrics You Can Use to Measure It
https://www.altexsoft.com/blog/engineering/what-software-quality-really-is-and-the-metrics-you-can-use-to-measure-it/Software Quality Metrics
http://www.professionalqa.com/software-quality-metrics