
- •Основные понятия надежности. Классификация отказов. Составляющие надежности Основные понятия
- •Классификация и характеристики отказов
- •Составляющие надежности
- •Основные показатели надежности
- •Количественные показатели безотказности: общие понятия. Основные сведения из теории вероятностей Общие понятия
- •Показатели безотказности: вероятность безотказной работы, плотность распределения отказов, интенсивность отказов
- •3. Интенсивность отказов (ио)
- •Уравнение связи показателей надежности числовые характеристики безотказности
- •Математические модели теории надежности. Статистическая обработка результатов испытаний
- •Нормальный закон распределения наработки до отказа
- •Законы распределения наработки до отказа: экспоненциальный, логнормальный и гамма-распределение
- •Надежность систем. Общие понятия и определения
- •Надежность основной системы
- •Надежность систем с нагруженным резервированием
- •Надежность системы с ненагруженным резервированием
- •Надежность систем с облегченным и со скользящим резервом
- •1. Надежность систем с облегченным резервом
- •2. Скользящее резервирование
- •Надежность восстанавливаемых объектов и систем
- •1. Постановка задачи. Общая расчетная модель
- •2. Показатели надежности восстанавливаемых систем
- •3. Связь логической схемы надежности с графом состояний
- •Надежность объектов при постепенных отказах. Основные расчетные модели
- •1. Постановка задачи. Основные понятия и определения
- •2. Анализ случайных процессов изменения оп объектов
- •3. Модели процессов приближения объекта к отказам
- •3.1. Основные классы моделей
- •3.2. Основные типы моделей
- •Надежность объектов при постепенных отказах. Определение времени сохранения работоспособности
- •1. Состав рассчитываемых показателей
- •2. Общие модели расчета плотности распределения наработки до отказа
- •3. Определение времени сохранения работоспособности
- •4. Частные вопросы оценки параметрической надежности объектов
- •4.1. Оценка надежности объектов при разрегулировании
- •Качество асоиу Стандарты качества программных средств
- •Показатели качества при использовании
- •Модель характеристик качества
- •Характеристики качества
- •Основы эргономики
- •Оптимальные задачи эргономики
- •Место оператора пэвм в эргономической системе
- •Этапы операторской деятельности
- •Эргономическое обеспечение
- •Эргономическая экспертиза
- •Тестирование, верификация и валидация Место верификации среди процессов разработки программного обеспечения
- •Жизненный цикл разработки программного обеспечения
- •Модели жизненного цикла
- •Каскадный жизненный цикл
- •Спиральный жизненный цикл
- •Экстремальное программирование
- •Сравнение различных типов жизненного цикла и вспомогательные процессы
- •Современные технологии разработки программного обеспечения:
- •Сравнение технологий msf, rup и xp
- •Ролевой состав коллектива разработчиков, взаимодействие между ролями в различных технологических процессах
- •Задачи и цели процесса верификации
- •Тестирование, верификация и валидация – различия в понятиях
- •Документация, создаваемая на различных этапах жизненного цикла
- •Типы процессов тестирования и верификации и их место в различных моделях жизненного цикла Модульное тестирование
- •Интеграционное тестирование
- •Системное тестирование
- •Нагрузочное тестирование
- •Формальные инспекции
- •Верификация сертифицируемого программного обеспечения
- •Задачи и цели тестирования программного кода
- •Методы тестирования Черный ящик
- •Стеклянный (белый) ящик
- •Тестирование моделей
- •Анализ программного кода (инспекции)
- •Тестовое окружение
- •Тестирование удобства использования пользовательских интерфейсов
Задачи и цели процесса верификации
Сначала рассмотрим цели верификации. Основная цель процесса – доказательство того, что результат разработки соотвествует предъявленным к нему требованиям. Обычно процесс верификации проводится сверху вниз, начиная от общих требований, заданных в техническом задании и/или спецификации на всю информационную систему до детальных требований на программные модули и их взаимодействие. В состав задач процесса входит последовательная проверка того, что в программной системе:
общие требования к информационной системе, предназначенные для программной реализации, корректно переработаны в спецификацию требований высокого уровня к комплексу программ, удовлетворяющих исходным системным требованиям;
требования высокого уровня правильно переработаны в архитектуру ПО и в спецификации требований к функциональным компонентам низкого уровня, которые удовлетворяют требованиям высокого уровня;
спецификации требований к функциональным компонентам ПО, расположенным между компонентами высокого и низкого уровня, удовлетворяют требованиям более высокого уровня;
архитектура ПО и требования к компонентам низкого уровня корректно переработаны в удовлетворяющие им исходные тексты программных и информационных модулей;
исходные тексты программ и соответствующий им исполняемый код не содержат ошибок.
Кроме того, верификации на соответствие спецификации требований на конкретный проект программного средства подлежат требования к технологическому обеспечению жизненного цикла ПО, а также требования к эксплуатационной и технологической документации.
Цели верификации ПО достигаются посредством последовательного выполнения комбинации из инспекций проектной документации и анализа их результатов, разработки тестовых планов тестирования и тест-требований, тестовых сценариев и процедур и последующего выполнения этих процедур. Тестовые сценарии предназначены для проверки внутренней непротиворечивости и полноты реализации требований. Выполнение тестовых процедур должно обеспечивать демонстрацию соответствия испытываемых программ исходным требованиям.
На выбор эффективных методов верификации и последовательность их применения в наибольшей степени влияют основные характеристики тестируемых объектов:
класс комплекса программ, определяющийся глубиной связи его функционирования с реальным временем и случайными воздействиями из внешней среды, а также требования к качеству обработки информации и надежности функционирования;
сложность или масштаб (объем, размеры) комплекса программ и его функциональных компонентов, являющихся конечными результатами разработки;
преобладающие элементы в программах: осуществляющие вычисления сложных выражений и преобразования измеряемых величин или обрабатывающие логические и символьные данные для подготовки и отображения решений.
Определим некоторые понятия и определения, связанные с процессом тестирования, как составной части верификации. Майерс дает следующие определения основных терминов [Error: Reference source not found]:
Тестирование - процесс выполнения программы с целью обнаружения ошибки.
Тестовые данные – входы, которые используются для проверки системы.
Тестовая ситуация (test case) – входы для проверки системы и предполагаемые выходы в зависимости от входов, если система работает в соответствии с ее спецификацией требований.
Хорошая тестовая ситуация – та ситуация, которая обладает большой вероятностью обнаружения пока еще необнаруженной ошибки.
Удачный тест - тест, который обнаруживает пока еще необнаруженную ошибку.
Ошибка - действие программиста на этапе разработки, которое приводит к тому, что в программном обеспечении содержится внутренний дефект, который в процессе работы программы может привести к неправильному результату.
Отказ – непредсказуемое поведение системы, приводящее к неожидаемому результату, которое могло быть вызвано дефектами, содержащимся в ней.
Таким образом, в процессе тестирования программного обеспечения, как правило, проверяют следующее:
Проверка того, что программное обеспечение соответствует требованиям на него,
Проверка того, что в ситуациях, не отраженных в требованиях, программное обеспечение ведет себя адекватно, то есть не происходит отказ системы.
Проверка программного обеспечения на предмет типичных ошибок, которые делают программисты.