Как проверить надежность Программного обеспечения с помощью анализа? - PullRequest
2 голосов
/ 07 апреля 2010

Как мы можем проанализировать надежность программного обеспечения? Как проверить надежность любого приложения или продукта?

Ответы [ 4 ]

3 голосов
/ 07 апреля 2010

Сначала попытайтесь определить «надежность программного обеспечения» и способ ее количественной оценки.

Если вы выполните эту задачу, вы, вероятно, сможете «проверить» эту характеристику.

1 голос
/ 07 апреля 2010

Существуют различные методы определения того, соответствует ли часть программного обеспечения спецификации, но большинство действительно продуктивных делают это по своей конструкции, т. Е. Ограничивая способ написания программного обеспечения, чтобы его можно было легко показатьбудь прав.Проверьте VDM, Z и B инструментарий для схем для выполнения таких вещей.Обратите внимание, что это, как правило, дорогостоящие способы программирования, если вы не находитесь в системной среде, критичной для безопасности.

Доказательство правильности самой спецификации действительно нетривиально!

1 голос
/ 07 апреля 2010

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

0 голосов
/ 07 апреля 2010

Надежность - это непрерывность правильного обслуживания.

Лучший подход к оценке надежности программного обеспечения - динамический анализ, другими словами: тестирование.

Чтобы сократить время тестирования, вы можете использовать входные профили, отличные от рабочих.

Применяйте различные входные распределения, измеряйте, сколько времени ваше программное обеспечение работает без сбоев. Затем выясните, насколько далеко ваши входные распределения от рабочего профиля, и сделайте вывод о том, сколько времени программное обеспечение работало бы с рабочим профилем.

Это включает в себя методы моделирования, такие как цепи Маркова или стохастические сети Петри.

Для дальнейшего поиска полезны следующие ключевые слова: прогнозирование отказов и статистическое тестирование .

...