Смекни!
smekni.com

Методи оцінки та засоби підвищення надійності програмного забезпечення (стр. 6 из 6)


АННОТАЦИЯ

Дидковская М.В. Методы оценки и средства повышения надежности программного обеспечения. - Рукопись.

Диссертация на соискание ученой степени кандидата технических наук по специальности 05.13.06 - "Автоматизированные системы управления и прогрессивные информационные технологии" - Национальный технический университет Украины "Киевский политехнический институт", Киев, 2006.

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

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

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

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

Учитывая современные тенденции к использованию компонентно-базированного программирования, в котором зачастую компоненты представлены, как “черные ящики”, и доступны лишь их автоматы состояний, а не сам исходный код, автором было показано, что классические методы структурного тестирования с уровнем абстракции равным уровню операторов языка программирования не применимы. Возникла необходимость в разработке специализированных критериев для интеграционного тестирования, которые будут работать на ином уровне абстракции, и учитывать предоставляемые автоматы состояний компонентов, а также ставить акцент именно на взаимодействии между модулями, а не на их внутренней работе.

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

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

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

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

Ключевые слова: программное обеспечение, надежность ПО, модели оценивания надежности ПО, тестирование ПО, интеграционное тестирование ПО, критерии и метрики, компонентно-базированное ПО, автоматизация тестирования.


SUMMARY

Didkovska M.V. Estimation methods and means of software reliability increase. – Manuscript.

Thesis for a candidate’s degree in technical science by speciality 05.13.06 – Automatic control systems and modern information technologies. National Technical University of Ukraine “Kyiv Polytechnic Institute”, Kyiv, 2006.

The thesis is devoted to the development of software reliability estimation models and means of software reliability increase during the whole software life cycle, according to the modern tendencies in software development.

Generalized and extended software reliability estimation model based on the nonhomogeneous Poisson process was developed. Function of failure intensity of this model has complex form, which coincides with the results obtained in practice. It allows to take into account the process of learning during testing.

The application of reliability grows models is limited, because it’s not always possible to obtain all necessary input data for models. In such a case a testing can be used.

During the investigation the new integration testing criteria and measures that are based on design description of software component interaction were introduced. They are innovative and utilize formal design description as a basis. These criteria have practical value because the fulfillment of criteria can be automatically checked using well-known notation of UML-diagrams. Formal coverage criteria offer testers ways to select test data and provide necessary stopping rules. They allow to develop test plans in the early phases of software development.

Key words: software, software reliability, software reliability estimation, software testing, integration testing, component-based software, computer-aided testing.

WWW.LIBRAR.ORG.UA – Бібліотека України