Полная версия

Главная arrow Информатика arrow Введение в курс метрической теории и метрологии программ

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>

Детерминированная, стохастическая и динамическая корректность программ

До сих пор речь шла о корректности стационарных программ, когда результат решения задачи (или ответ на запрос) определялись исключительно набором значений входных переменных. При этом длительность работы программы с вероятностью, близкой к единице, не должна превышать заданный предел. Однако если время становится входной переменной, значения которой участвуют в расчетах промежуточных и итоговых результатов и управляют порядком решения частных задач, то рассмотренных выше методов тестирования и понятия корректности уже недостаточно. Становится необходимым введение таких понятий, как детерминированная, стохастическая и динамическая корректность программ, а также соответствующих видов тестирования [18].

При детерминированном тестировании задаются и контролируются каждая комбинация входных данных и соответствующие ей результаты работы программы. Кроме того, могут быть проверены промежуточные расчеты для более точной локализации возможной ошибки.

При стохастическом тестировании часть входных переменных задается множеством случайных величин с определенным законом распределения, а остальные - детерминированы. В результате тестовые данные охватывают более широкий интервал, чем это удается получить при детерминированном наборе. В качестве выходных результатов используются также распределения случайных величин. При этом анализ каждой реализации теста в данном случае не проводится: стохастическое тестирование позволяет только грубо обнаружить ошибку (по виду искажения выходного распределения). Для точной диагностики и локализации возвращаются снова к детерминированному тестированию.

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

Вопросы к гл. 4

  • 1. Дайте определения (пояснения) следующих понятий: ошибки, отказа, сбоя в процессе эксплуатации ПО.
  • 2. Дайте характеристику относительного распределения ошибок и их характера по технологическим переходам проектирования и разработки ПО.
  • 3. Определите понятия «наработки на отказ» (ошибку) и «среднего времени между сбоями». В чем заключается их различие?
  • 4. На каких этапах проектирования борьба с ошибками наиболее результативна?
  • 5. Дайте точное определение отладки и тестирования ПО. Почему вклад последнего в обеспечение надежности ПО ограничен?
  • 6. Проиллюстрируйте на каком-либо простом примере практическую неисчерпаемость тестирования.
  • 7. Поясните, что значит утверждение «Тестирование ПО - категория экономическая».
 
<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>