Методы обеспечения высокого качества разрабатываемого программного обеспечения


Понятие тестирования. Основные принципы тестирования.   Тестирование — это процесс выполнения программы с целью обнаружения ошибок. Тестирование является одним из наиболее трудоемких этапов создания программного продукта (от 30% до 60% общей трудоем­кости). Причем доля стоимости тестирования в общей стоимости разработки имеет тенденцию возрастать при увеличении сложности комплексов программ и повышении требований к их качеству.

Раздел 5. Количественная оценка надежности программного обеспечения


5.1. Характеристика качества ПО «Надежность» по стандарту ISO 9126 Международный стандарт  ISO/IEC 9126 определяет 6 основных характеристик качества программного обеспечения: функциональность, надежность, практичность, эффективность, сопровождаемость, переносимость. Для характеристики надежность определено 4 подхарактеристики: завершенность, отказоустойчивость, восстанавливаемость и согласованность надежности.

Раздел 3. Обеспечение надежности функционирования сложных программных средств.


3.1. Обеспечение качества и надежности в процессе разработки сложных программных средств  3.1.1.Требования к технологии и средствам автоматизации разработки сложных программных средств

Раздел 2. Обеспечение качества программных компонент


2.1. Принципы, стратегии и этапы тестирования для обеспечения качества программных модулей и компонент 2.1.1. Принципы построения компонент для обеспечения надежности функционирования программных средств

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


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

Лекции по надежности программных средств. Раздел 1. Окончание.


1.4. Модель анализа надежности программных средств   Анализ надежности программных средств базируется на модели взаимодействия следующих компонентов: объектов уязвимости, дестабилизирующих факторов и угроз надежности, методов предотвращения угроз надежности, методов повышения надежности.

Раздел 1. Основные факторы, определяющие надежность функционирования программных средств.


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

Задания для контрольной работы для студентов заочной формы обучения ВКСС


Задания для контрольной работы по дисциплине «Надежность программного обеспечения» для студентов заочной формы обучения по специальности 220100 «Вычислительные машины, комплексы, системы и сети» 1. Контрольная работа состоит из двух частей – теоретической и практической. 2. В первой части нужно представить развернутый письменный ответ на теоретический вопрос. Номер теоретического задания выбирается в соответствии с номером в Читать далее

Генерация тестов для определения надежности сложных программных средств.


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

Организация и этапы тестирования при испытаниях надежности программных средств.


Этапы испытаний комплексов программ. Тестирование и испытания ПС в целом состоит из следующих этапов: 1. испытания в реальном времени по данным генераторов тестов, имитирующих отдельные объекты внешней среды; 2. испытания в реальном времени с имитаторами отдельных объектов внешней среды и с реальными воздействиями от операторов-пользователей; 3. испытания в полностью адекватной реальной или имитированной внешней среде Читать далее

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


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

Повышение надежности функционирования программных средств за счет избыточности


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

Сертификация для обеспечения надежности программных средств.


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

Виды тестирование для обеспечения надежности ПС.


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

Планирование и управление обеспечением качества и надежности ПС.


Эти задачи нужно отделять от выбора инструментальных средств разработки и планов управления процессом создания проги. Мероприятия, обеспечивающие надежность и безопасность прог должны охватывать весь ЖЦ ПС.

Требования к технологии с средством автоматизации разработки сложных ПС.


Содержание этапов и работ при создании компонент и ПС в целом определено стандартах и моделях ЖЦПС. Необходимая надежность объектов формируется и обеспечивается в процессе выполнения каждого этапа и окончательно удостоверяется испытаниями и док-ми при их испытании. Для обеспечения качества НПС стандартами рекомендуется формировать требования:  

Методика тестирования программных компонент


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

Методы и виды тестирования обработки данных


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

Сложность тестирования структуры ПМ


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

Стратегии тестирования программных модулей


При тестировании программных модулей используются 2 стратегии отладки:1. от структуры; 2. от данных. При первой стратегии за основу принимается структура модуля, построенная по тексту программы в виде направленного графа. В графе выделяются и упорядочиваются маршруты исполнения программы и условия, при которых они могут быть реализованы. Эти условия используются для подготовки тестовых наборов, каждый из которых Читать далее

Методы тестирования программных компонентов


1) Детерминированное тестирование. Задается конкретная совокупность исходных данных, которой соответствуют конкретные значения эталонных результатов. Результаты тестирования на выходных или в промежуточных точках сопоставляются с эталонами – это позволяет обнаружить и локализовать ошибку.

Принципы построения компонент для обеспечения надежности ПС


Надежность ПС в первую очередь определяется качеством их компонент – модулей и функциональных групп программ. Высокое качество программных компонент достигается систематическим тестированием и отладкой.

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


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

Мат. Модели описания статических характеристик ошибок в программах


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

Характеристики программных ошибок.


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

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


Анализ надежности ПС базируется на модели взаимодействия следующих компонент: — объектов уязвимости; — дестабилизирующих факторов и угроз надежности; — методов предотвращения угроз надежности; — методов повышения надежности.