Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Дестабилизирующие факторы и угрозы надежности




ЛЕКЦИЯ 3

Дестабилизирующие факторы и угрозы надежности

План.

1. Контрольный опрос

2. Объекты уязвимости

3. Внешние дестабилизирующие факторы

4. Методы повышения надежности

 

Дестабилизирующие факторы и угрозы надежности.

Анализ надежности ПС базируется на модели взаимодействия следующих компонент:

— объектов уязвимости;

— дестабилизирующих факторов и угроз надежности;

— методов предотвращения угроз надежности;

— методов повышения надежности.

Объектами уязвимости, влияющими на надежность ПС являются:

— вычислительный процесс;


— объектный код программ;

— информация БД;

— информация выдаваемая потребителям.

На эти объекты воздействуют различные дестабилизирующие факторы, которые делятся на внутренние и внешние.

Внутренние источники угроз надежности функционирования сложных ПС присущи самим объектам уязвимости:

— ошибки проектирования при постановке задачи;

— алгоритмические ошибки разработки при спецификации функций ПС, при определении структуры и взаимодействия компонент комплексов программы, а также при использовании информации БД.

— ошибки программирования в текстах программ и ошибки в документации на ПС.

— недостаточное качество средств защиты.

Внешние дестабилизирующие факторы обусловлены средой, в которой функционируют объекты уязвимости. Ими являются:

— ошибки персонала при эксплуатации;

— искажение информации в каналах связи;

— сбои и отказы аппаратуры;

— изменение конфигурации аппаратуры информационной системы.

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

Методы предотвращения угроз надежности:

— предотвращение ошибок проектирования;

— систематическое тестирование;

— обязательная сертификация. Методы повышения надежности:

— временная избыточность;

— информационная избыточность;

— программная избыточность.

Последствия нарушения надежности:

— разрушение вычислительного процесса;

— разрушение информации БД;

— разрушение текста программы;

— разрушение информации для потребителей.

Методы обеспечения НПО: в современных автоматических технологиях создания ПО есть методы, позволяющие:

— создавать программные модули и функциональные компоненты высокого качества;

— предотвращать дефекты проектирования за счет эффективных технологий;

— обнаруживать и устранять различные ошибки и дефекты проектирования, разработки и сопровождения программы путем систем тестирования на всех этапах ЖЦ ПС.

— удостоверять достигнутого качества и надежности ПС в процессе их испытаний и сертификации;

— оперативно выявлять последствия дефектов программ и данных и восстанавливать надежное функционирование программ.


Комплексное применение этих методов позволяет значительно уменьшить влияние угроз. Т. е. уровень достигаемой надежности зависит от ресурсов, выделяемых на его достижение, и от качества технологии, используемой на всех этапах ЖЦ ПС. Предотвращение ошибок и улучшение технико-экономических показателей ПС обеспечивается применением современных технологий и САПР, которые объединяются понятием CASE-технологии и языки IV поколения. CASE-технологии – это высокопроизводительные ресурсосберегающие технологии создания комплексов программ. Они позволяют значительно снизить уровень системных, алгоритмических и программных ошибок. Для обнаружения и устранения ошибок проектирования все этапы разработки и сопровождения ПС д. б. поддержаны методами и средствами системного автоматизированного тестирования. Тестирование – это основной метод измерения качества, определения корректности и реальной надежности функционирования программ на любых этапах разработки. Результаты тестирования должны сравниваться с требованием технического задания или спецификации. Кроме вышеперечисленных методов предотвращения угроз надежности существуют оперативные методы повышения надежности: временная, информационная и программная избыточности.

 

Контрольные вопросы:

1. Назовите объекты уязвимости

2. Охарактеризуйте внешние дестабилизирующие факторы

3. Охарактеризуйте методы повышения надежности

 

ЛЕКЦИЯ 4

Методы тестирования ПО

План.

1. Контрольный опрос

2. Тестирование: ручное и автоматизированное

3. Различные типы тестов

4. Как автоматизировать тесты

 

Есть множество разных типов тестов, которые вы можете применить, чтобы убедиться, что изменения в вашем коде работают по сценарию. Не все типы тестирования идентичны, хотя здесь мы рассмотрим, насколько основные практики тестирования отличаются        друг  от                                                        друга. Сначала надо понять различия между ручными и автоматизированными тестами. Ручное тестирование проводится непосредственно человеком, который нажимает на кнопочки в приложении или взаимодействует с программным обеспечением или API с необходимым инструментарием. Это достаточно затратно, так как это требует от тестировщика установки среды разработки и выполнения тестов вручную. Имеет место вероятность ошибки за счет человеческого фактора, например опечатки или пропуска шагов в тестовом                                                                                                                       сценарии.

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

Автоматизированные тесты – это ключевой компонент непрерывной интеграции (Continuous Integration) и непрерывной доставки (continuous delivery), а также хороший способ масштабировать ваш QA процесс во время добавления нового функционала для


вашего приложения. Однако в ручном тестировании все равно есть своя ценность. Поэтому в статье мы обязательно поговорим об исследовательском тестировании (exploratory testing).

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...