Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Понятия ошибки в ПО.Понятие надежности ПО

Читайте также:
  1. I. Дайте определение понятиям
  2. III. Выявление несостоятельности демонстрации. Этот способ опровержения состоит в том, что показываются ошибки в форме доказательства.
  3. III. ОСНОВНЫЕ ТЕРМИНЫ И ПОНЯТИЯ
  4. III. ОСНОВНЫЕ ТЕРМИНЫ И ПОНЯТИЯ
  5. LINUX|| Процессы в ОС Linux. Общие понятия.
  6. LINUX|| Файловая система в ОС Linux. Общие понятия.
  7. БАЗОВЫЕ ПОНЯТИЯ
  8. Базовые понятия устойчивого развития
  9. Базовые понятия финансового риска организации
  10. Билет 17 и 18. ПРИЕМЫ, ЗАМЕНЯЮЩИЕ ПОНЯТИЯ.

Отказ программного обеспечения - появление в программном обеспечении ошибки, то есть программное обеспечение не выполняет того, что пользователю разумно от него ожидать. В общем случае под ошибкой подразумевается дефект, погрешность или неумышленное искажение обьекта или процесса.Возможно рассматривать надежность программного обеспечения, учитывая его как продукт производственно-технического назначения. Исходя из этого, надежность программного обеспечения - это комплексное свойство, состоящее, как и в случае технических объектов, из набора характеристик. Это корректность, устойчивость, восстанавливаемость и исправляемость программного обеспечения. В зависимости от области приложения программного обеспечения влияние каждого из этих свойств на интегральную характеристику надежности может быть различным. Наиболее общими из составляющих надежности следует считать корректность и устойчивость программ. Корректность - статическое свойство программы, определенное только в области изменения исходных данных. Устойчивость же зависит от уровня неустраненных дефектов и ошибок, и способности ПС реагировать на их проявления так, чтобы это не отражалось на показателях надежности.

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

Восстанавливаемость характеризуется полнотой и длительностью восстановления функционирования программ в процессе перезапуска (рестарта).

В основе теории надежности лежат понятия о двух возможных состояниях объекта или системы: работоспособном и неработоспособном. Работоспособным называется такое состояние объекта, при котором он способен выполнять заданные функции с параметрами, установленными технической документацией. В процессе функционирования
возможен переход объекта из работоспособного состояния в неработоспособное и обратно. С этими переходами связаны события отказа и восстановления.

Основные понятия и принципы тестирования ПО, методы тестирования.

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

-следует избегать тестирования программы автором;
-необходимо досконально изучать результаты каждого теста;

-необходимо проверять действие программы на неверных данных;

-необходимо проверять программу на неожиданные побочные эффекты на неверных, данных.

Формирование тестовых наборов.

Структурный подход базируется на том, что известна структура тестируемого ПО, в том числе и его программные алгоритмы. В этом случае тесты строятся так, чтобы проверить нравильность реализации заданной логики в коде программы.

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

На электронах кода
Пример:

1 Function Methog (var х: inte

ger)
Begin

2 if (x>17)

3 x:=17-x;

4 if (x=-13)

5 x:=0;

6 end;

Функциональное тестирование.

В этом случае программа рассматривается как «черный ящик» и целью тестирования является выяснение обстоятельств, в которых поведение программы не соответствует спецификации.
Тестирование черного ящика:

На основе требований

Виды:

1.Тестирование пунктов спецификации

2.Тестирование классов входных данных

3.Тестирование правил

4.Тестирование классов выходных данных

5.Тестирование функцией

6.Комбинированные критерии для программ и спецификаций

Тестирование модулей и комплексное тестирование.

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

Нисходящее тестирование. Оно органически связано с нисходящим проектированием и разработкой; как только, проектирование какого-либо модуля заканчивается, его кодируют и передают на тестирование. В этом случае автономно тестируется только основной модуль. Как только тестирование основного модуля завершено, к нему подключают модули, непосредственно им вызываемые, затем проводят их совместное тестирование. И так далее, пока не будет собрана вся система. Основной недостаток -отсутствие автономного тестирования модулей. Достоинство - ранняя проверка основных решений и качественное многократное тестирование сопряжения модулей в контексте ПО. Чаще применяют комбинированный подход- модули верхних уровней тестируют нисходящим способом, а нижних - восходящим. Это позволяет, с одной стороны начать

с тестирования интерфейса, а другой - обеспечивает тестирование модулей низших уровней.

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




Дата добавления: 2015-01-07; просмотров: 59 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.009 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав