
- •Качество программного средства, уровень качества.
- •Математическая модель качества программного средства.
- •Методы контроля показателей качества программного средства.
- •Модели оценки качества программного средства с математической точки зрения.
- •Сбои и отказы. Классификация.
- •Понятие «правильной» программы.
- •Модель уязвимости программного средства: Объекты уязвимости.
- •Модель уязвимости программного средства: Внешние дестабилизирующие факторы и угрозы.
- •Модель уязвимости программного средства: Внутренние дестабилизирующие факторы и угрозы.
- •Модель уязвимости программного средства: Методы предотвращения угроз и повышения надежности.
- •Модель уязвимости программного средства: Оперативные методы повышения надежности.
- •Ошибки в программных средствах. Особенности выявления.
- •Ошибки в программных средствах. Первичные и вторичные ошибки. Виды ошибок.
- •Стратегия отладки программного обеспечения по тестовым данным.
- •Управление требованиями к разработки по.
- •Поведенческие модели по.
- •Модели системного окружения по.
- •Модели потоков данных.
- •Архитектурное проектирование по
- •Повторное использование компонент. Основные достоинства.
- •Повторное использование компонент. Основные недостатки.
Модель уязвимости программного средства: Методы предотвращения угроз и повышения надежности.
Методы предотвращения угроз:
1 CASE-технологии, набор инструментов и методов для проектирования и разработки ПО, которая помогает обеспечить высокое качество программ, минимизировать ошибки, упростить обслуживание и модификацию программ. продуктов.
(Создание компонент и модулей выс. качества, предотвращение дефектов за счет эффективности технологий и автоматизации обеспечения всего жизненного цикла комплексов программ и БД)
2 систематическое тестирование – позволяет находить и устранять ошибки на всех этапах жизненного цикла.
Тестирование – основной метод оценки качества, корректности и надежности на любых этапах разработки. Тестирование должно быть в плане разработки.
Принципы тестирования:
- по возрастающей
- простыми блоками
- понимание ожидаемых результирующих данных
- проверка сохранности данных
- оценка охвата тестов
3 Тестирование и сертификация.
Удостоверение достигнутого качества и надежности в процессе тестирования. Сертификация гарантирует соответствие ПО стандартам и нормативным док-там, надежность и безопасность использования.
Методы повышения надежности:
Нет гарантии достижения абсолютной надежности ПО при использовании методов предотвращения угроз, есть доп. Средства повышения надежности, для оперативного обнаружения дефектов путем избыточности.
1.Временная избыточность – нек. Часть производительности компьютера используется для контроля за: исполнением программ, восстановлением выч процесса для повторного выполнения операции.
2. Информационная избыточность – дублирование накопленной и промежуточной информации.
3.программная избыточность – сравнение результатов, полученными разными программами из одних исходных данных (для приема важных решений).
Модель уязвимости программного средства: Оперативные методы повышения надежности.
Нет гарантии достижения абсолютной надежности ПО при использовании методов предотвращения угроз, есть доп. Средства повышения надежности, для оперативного обнаружения дефектов путем избыточности.
1.Временная избыточность – нек. Часть производительности компьютера используется для контроля за: исполнением программ, восстановлением выч процесса для повторного выполнения операции.
2. Информационная избыточность – дублирование накопленной и промежуточной информации.
3.программная избыточность – сравнение результатов, полученными разными программами из одних исходных данных (для приема важных решений).
Модель уязвимости программного средства: Последствия нарушения надежности.
Разрушение вычисл. Процесса
Разрушение БД с информацией
Разрушение текста программы
Разрушение информации для потребителя
Ошибки в программных средствах. Особенности выявления.
- Отсутствие определенного эталона
- Сложность устранения и локализации ошибки путем сравнения с программой и (или) БД
Ошибки в программных средствах. Первичные и вторичные ошибки. Виды ошибок.
Первичные – причины возникновения аномалий.
Вторичные – последствия и результаты некоторых дефектов.
Первичные:
- технологические – ошибки подготовки носителей, документации, ввода программы в память ПК и вывода их на средства отображения
- программные – неправильная запись исходного текста на ЯП и ошибки трансляции
- алгоритмические – неполные условия, неверные задачи
- системные – отклонение функционирование ПС в реальной системе, отклонение хар-ристик внеш объектов от предусмотренных проектированием.
Вторичные:
- сбои – не отражаются на работе программ можно пренебречь.
-ординарные отказы – ущерб в допустимых пределах, отражаются на показателях надежности функционирования
-Катастрофические отказы – ущерб велик, возникает вопрос о безопасности использования такого ПО
Ошибки в программных средствах. Уровни детализации ошибок.
Дифференциально – с учетом типов ошибок, сложности и степени автоматизации их обнаружения, затрат на корректировку и этапов наиболее вероятного устранения;
Обобщенно – по суммарным характеристикам их обнаружения в зависимости от продолжительности разработки, эксплуатации и сопровождения комплекса программ.
Ошибки в программных средствах. Факторы, влияющие на характеристики обнаруживаемых ошибок.
Методология, технология и уровень структурного проектирования ПС, а также непосредственно программирования его компонент;
Длительность с начала процесса отладки и текущий этап разработки программ;
Класс ПС – размер(масштаб), типы тестируемых объектов;
Методы, виды и уровень автоматизации тестирования и их адекватности характеристикам отслеживаемых компонент предполагаемым и имеющимся в программах ошибкам;
Виды и достоверность эталонов, которые используются при обнаружении ошибок.
Зависимость качества программного средства в зависимости от его структуры.
Критерии выбора структуры.
Надежность функционирования и безопасность применения;
Эффективное использование памяти или производительности ЭВМ;
Трудоемкость или длительность разработки;
Модифицируемость ПС.
Особенность тестирования и отладки программных компонент.
Относительно высокая доля творческого труда специалистов осуществляющих тестирование приводит к необходимостиогбеспечения высокоэффективного интерактивного их взаимодействия со средами автоматизации отладки;
Непредсказуемость видов и мест выявляемых ошибок в программах ограничивает возможный уровень автоматизации их обнаружения и требует ориентироваться на частично автоматизированные методы и средства при творческой относительно высокой роли человека в отладке;
Активное участие в отладке специалистов различающихся по квалификации, опыту, темпераменту и творческим возможностям, а так же различия архитектуры и функций отлаживаемых программных компонент не позволяют жестко регламентировать методики и технологии применения видов и средств автоматизации тестирования;
Разнообразие возможных мест расположения и видов ошибок при относительно редком их обнаружении приводит к необходимости регистрации и анализа большого объема избыточной информации о процессе исполнения программ при тестировании;
Высокая сложность отлаживаемых программных компонент творческий и итерационный характер процесса тестирования затрудняют и ограничивают точность оценки полноты проведенного тестирования и достигнутого качества отладки компонент;
Процесс тестирования и аттестации, повторно используемых программных компонент сопровождается накоплением и хранением значительного объема информации содержащей тесты результаты тестирования и оценки качества программ.
Стратегии отладки программных компонент.
Проверка полноты функций;
Определение согласованности интерфейсов;
Выявление корректности выполнения функций и правильность функционирования системы в заданных условиях;
Надежность выполнения системы;
Проверка защиты от сбоев аппаратуры и не выявленных ошибок и др.
Классификация тестов по объектам тестирования. Тестирование спецификаций.
Тесты проверки:
Полноты и согласованности функций;
Согласованности интерфейсов.
Классификация тестов по объектам тестирования. Тестирование программ.
Тесты проверки:
Структуры программы;
Вычисления и преобразования данных;
Полноты выполняемых функций.
Классификация тестов по объектам тестирования. Тестирование комплекса.
Тесты проверки:
Структуры комплекса;
Интерфейса компонент;
Ограничений по памяти;
Длительность исполнения;
Полноты решения задач комплекса.
Классификация тестов по объектам тестирования. Тестирование при испытаниях.
Тесты проверки:
Соответствие требованиям;
Удобство установки рабочей версии;
Работы комплекса на оборудовании;
Удобство интерфейса пользователя;
Удобство модификации и сопровождения.
Тестирование программных компонент. Этапы процесса тестирования.
Тестируется идентичность исходного текста программ, представленного на носителе данных с исходным текстом, представленным в программном документе.
Производится комплексирование статики программных и информационных модулей, входящих в них компонент, при этом проверяются все интерфейсы между модулями и выявляются их нестыковки с описанием спецификации.
Производится анализ потоков управления в тексте программы, выделяющий основные подпрограммы, модули, процедуры операторы и функции и анализируются операторы управления вычислительным процессом. Для всех уровней иерархии программы строятся потоковые графы, которые используются для выделения маршрутов выполнения программ.
Выполняется анализ потоков данных, производится тестирование корректности обработки данных без использования программ. Цель этого этапа – установление соответствия между областями определения наборов данных и маршрутами их обработки в программе.
Устранения неувязок между программными и информационными модулями, входящими в компоненту.
Обработку результатов тестирования и оценка качества и коррекции в статике. Детерминированные и стохастические результаты использования тестов, сравнивая с эталонными значениями.
Детерминированные - при тестирование контролируется каждая комбинация исходных эталонных данных и соответствующая ей комбинация эталонных результатов.
Стохастические - тестирование при котором, исходные тестовые данные берутся случайным образом, с использованием статистического распределения.
Производится проверка полноты наборов тестов. Процесс тестирования считается завершенным, если были обработаны все наборы тестовых значений входных данных, и при этом не произошло отказов программы, остановок или искажений результатов.
Тестирование программных компонент. Ответственность инженера тестировщика.
Программы, тесты;
Тестовые ситуации;
Тестовые процедуры;
Оценка тестов;
План теста.
Принципы тестирования структуры программных модулей.
Детерминированное тестирование структуры программных модулей имеет целью проверку корректности выделенных исполнения программ и обнаружение в основном логических ошибок формирования маршрутов.
При отсутствии упорядоченного анализа потоков управления порядка 50% маршрутов оказываются пропущенными.
Стратегия отладки программного обеспечения по тексту программы.
Построение структуры ПМ по тексту программы
Выделение и упорядочение маршрутов по выбранным критериям
Формирование текста по условиям в предикаты выбранного маршрута
Тестирование ПМ по сформированному тексту
Сравнение реального маршрута с построенным графом
Выявление ошибок несоответствия маршрутов
Выявление ошибок в вычислениях
Оценка достаточности тестирования
Окончание отладки ПМ и регистрация степени отлаженности...