- •1. Определение и сущность основных характеристик качества программ: функциональности, корректности и надежности, эффективности, сложности, трудоемкости и ресурсоемкости, производительности.
- •2. Понятие метрики. Типы метрик и шкал. Понятие критерия оценки качества. Функциональные и конструктивные критерии оценки качества программ.
- •3. Этапы жизненного цикла программ и обеспечение качества программ на различных этапах. Характеристика статических и динамических составляющих качества программ.
- •4. Классификация видов сложности программных продуктов и их краткая характеристика.
- •9. Методы и средства измерения характеристик программ. Схема проведения измерений. Способы регистрации измеряемых параметров. Типы измерительных мониторов и требования к ним.
- •11. Аппаратные измерительные мониторы (аим). Общая структура. Аим с фиксированной программой. Достоинства и недостатки.
- •12. Аппаратные измерительные мониторы (аим) с изменяемой программой (гибридные). Достоинства и недостатки.
- •17. Надежность программ. Основные понятия: отказ, сбой, ошибки и восстановление - применительно к программам. Количественные оценки(показатели) надежности.
- •27. Тестирование программных изделий. Методы и критерии тестирования. Понятие теста. Основные принципы тестирования.
- •28. Объекты тестирования. Категории тестов, для различных объектов тестирования.
- •29. Тестирование на основе потока управления. Критерий покрытия решений.
- •30. Тестирование на основе потока управления. Критерий покрытия условий.
- •31. Тестирование на основе потока управления. Критерий комбинаторного покрытия условий
- •32. Функциональное тестирование. Метод эквивалентного разбиения.
- •33. Функциональное тестирование. Анализ граничных значений.
- •34. Метод тестирования на основе предположения об ошибке. Критерии завершения тестирования.
3. Этапы жизненного цикла программ и обеспечение качества программ на различных этапах. Характеристика статических и динамических составляющих качества программ.
Конструктивные критерии зависят не от области применения, а от этапа жизненного цикла программы (ЖЦП). На различных этапах ЖЦП рекомендуется использовать разные критерии:
Критерии этапа разработки: трудоемкость (статическая сложность); корректность (правильность) программы.
Критерии этапа эксплуатации ПП: функциональность; производительность (ресурсоемкость); надежность.
Критерии этапа сопровождения: трудоемкость: понимаемость программы; производительность программы; надежность.
Составляющие качество ПО(3 основные):
1. Качество процесса разработки программных продуктов (исп. метрики процесса): трудоемкость (план., факт.); повторное использование; коэффициент риска; факт. длительность недели; обзор продуктов; ошибки и дефекты; отслеживания; завершения.
2. Качество ПП на стадии разработки (исп. метрики качества ПП): В статике (сложность, корректность, удобство использования, надежность); в динамике (корректность, производительность, мобильность, надежность).
3. Качество ПП на стадии исполнения (исп. метрики производительности[время-емкость, ресурсоемкость, сопровождаемость] и надежности[отказоустойчивость, восстанавливаемость]).
4. Классификация видов сложности программных продуктов и их краткая характеристика.
Сложность ПП (2 вида):
1. Статическая- трудоемкость разработки программных продуктов: 1.1 Интегральные характеристики сложности [определяются по внешним параметрам программы, не учитывающим ее внутреннюю структуру] (размер программы, метрики Холстеда); 1.2 Структурные характеристики сложности [учитывают внутреннюю структуру программы] (по маршрутам выполнения, по признакам графа управления, по потокам данных).
2. Динамическая- сложность выполнения программных продуктов [характеризует процесс выполнения программы] имеет три взаимосвязанных составляющих: 2.1 Программная [определяется составом и способом взаимодействия процедур или модулей, образующих программу, а также возможностью их размещения в кеш-памяти, основной памяти или на диске или даже в сетях]; 2.2 Временная [определяется временем выполнения программы или временем ее реакции на запрос пользователя]; 2.3 Информационная [определяется сложностью организации данных и доступа к ним, а также особенностями их размещения в кеш-памяти, основной памяти, на диске или на сетевом сервере].
Для получения достаточно полного представления о сложности ПП, статические и динамические характеристики сложности следует рассматривать в совокупности.
9. Методы и средства измерения характеристик программ. Схема проведения измерений. Способы регистрации измеряемых параметров. Типы измерительных мониторов и требования к ним.
Измерительные методы. Привлекательной стороной этих методов является их высокая достоверность. Поэтому они применяются для проверки имитационных и аналитических методов оценки характеристик программ по принципу: практика – лучший критерий истины.
Назначениеизмерительныхметодов1. Измерение параметров потребления программами ресурсов вычислительной системы с целью устранения дефектов производительности; 2. Предварительное измерение параметров системы для имитационных или аналитических моделей программ перед их последующим использованием. Связано со сложностью оценки параметров моделей при использовании новых системных средств с неизвестными динамическими параметрами (например: устройства ввода-вывода, нового процессора с не вполне известными характеристиками и т.п.); 3. Проверка адекватности имитационных или аналитических моделей и методов расчета характеристик выполнения программ по результатам моделирования.
Необходимые условия применения измерительных методов1. Наличие готовой программы, подлежащей измерительному исследованию;2. Наличие реальной вычислительной системы (а не её модели) для прогона программы3. Наличие аппаратных или программных средств проведения измерений4. Создание условий снижения искажений, вносимых в функционирование системы в процессе проведения измерений, до приемлемого уровня.
Схема проведения измерений:
Процесс измерения подготовки и проведения измерений включает следующие три этапа1. Выбор рабочей нагрузки; 2. Выбор (разработка) средств регистрации параметров потребления ресурсов системы; 3. Выбор (разработка) алгоритмов расчетов характеристик программ по результатам измерений.
Существует два способа регистрации измеряемых параметров: 1.Трассирующий- измеряемые параметры фиксируются в момент наступления какого-либо события (обращение к операторам программы, программным модулям, наборам данных, устройствам; прерывания), связанного с изменением управляющих таблиц операционной системы; 2.Выборочный– измерения производятся в моменты времени равноудаленные друг от друга.
По трассирующему методу получаем меньше данных, но сильно зависим от корректной работы системы, в выборочном методе, много лишних данных, из за того, что делаем замеры часто, чтобы не пропустить наступление события, зато прост в реализации.
Измерительные мониторы– средства обеспечивающие регистрацию измерений.
Требования к ним: 1. Минимальные искажения в системе при выполнении программы.
(Искажения бывают двух типов• временные искажения - искажения связанные с рассогласованием реального времени наступления события и временем регистрации параметра монитором• пространственные искажения - сам монитор и собираемые им данные занимают место в памяти ЭВМ и препятствуют размещению объектов программы). 2. Достаточная точность измерений; 3. Достаточно высокая разрешающая способность (по интервалам времени фиксации событий); 4. Независимость от измеряемой системы; 5. Низкая стоимость; 6. Простота использования.
Измерительные мониторы бывают: 1. Аппаратные «АИМ» [Встроенные (с фиксированной программой, Автономные (с фиксированной или изменяемой программой)]; 2. Гибридные; 3. Программные «ПИМ» [Встроенные, Автономные].
10. Виды измеряемых характеристик программ. Детерминированные и статистические характеристики. Трассировочные записи, временные и частотные профили. Классификация измерительных мониторов. Сущность и особенности каждого класса мониторов.
Вида характеристик: 1. Трассировочнаязапись – множество пар {ri(параметр)j(время регистрации) }. Наиболее полная характеристика, может быть 10-ки тысяч записей. [+] хронология последовательности выполнения программы. 2.Профиль(динамический) 2 вида: 2.1.Частотный- определяет количественное распределение потребления рассматриваемых ресурсных параметров; 2.2.Временной- задает распределение времён потребления ресурсов в абсолютном или относительных масштабах. [+] Выявление узких мест программы в монопольном режиме, для дальнейшего усовершенствования. [-] Не содержит хронологии потребления ресурсов программой, не провести анализ конвейерных систем или взаимодействующих процессов.
АИМ подразделяются на: 1. Встроенные АИМ- включаются в аппаратуру системы заводом изготовителем, как правило, для выполнения тестовых измерений в фиксированном наборе внутренних точек устройств системы. Основное назначение встроенного АИМ - для проверки, контроля и настройки ВС. Но т.к. в его составе могут находиться триггеры состояний схемы, счетчики и некоторые другие устройства, то они могут использоваться и ддя измерения параметров программ; 2.Автономные АИМ - подключаются к измерительным точкам извне системы через специальные разъемы и могут задавать любые точки доступные для измерений. Автономные АИМ наиболее общий случай.