Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Анализ взаимовлияний при интеграции новой функциональности в существующую систему средствами верификации и тестирования Тихомиров Владимир Александрович

Анализ взаимовлияний при интеграции новой функциональности в существующую систему средствами верификации и тестирования
<
Анализ взаимовлияний при интеграции новой функциональности в существующую систему средствами верификации и тестирования Анализ взаимовлияний при интеграции новой функциональности в существующую систему средствами верификации и тестирования Анализ взаимовлияний при интеграции новой функциональности в существующую систему средствами верификации и тестирования Анализ взаимовлияний при интеграции новой функциональности в существующую систему средствами верификации и тестирования Анализ взаимовлияний при интеграции новой функциональности в существующую систему средствами верификации и тестирования
>

Диссертация, - 480 руб., доставка 1-3 часа, с 10-19 (Московское время), кроме воскресенья

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Тихомиров Владимир Александрович. Анализ взаимовлияний при интеграции новой функциональности в существующую систему средствами верификации и тестирования : диссертация ... кандидата технических наук : 05.13.11 / Тихомиров Владимир Александрович; [Место защиты: С.-Петерб. политехн. ун-т].- Санкт-Петербург, 2009.- 167 с.: ил. РГБ ОД, 61 09-5/3069

Введение к работе

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

Возрастающая сложность программного обеспечения (ПО) в промышленных технологиях производства требует применения интеграционного тестирования, для реализации которого необходимы:

поддержка интеграционного тестирования, начиная с ранних этапов разработки;

организация распределенного интеграционного тестирования для поддержки распределенной разработки ПО;

использование методов, предоставляющих детализированные результаты тестирования;

локализация области, содержащей найденную ошибку;

поддержка автоматической генерации и выполнения тестов;

организация тестирования на разных этапах разработки с обеспечением преемственности (переиспользования) уже полученных результатов и наработок.

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

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

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

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

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

Для достижения цели в работе решены задачи:

анализа существующих методов и инструментария интеграционного тестирования, определение их недостатков и преимуществ;

построения модели взаимодействия системы и интегрируемого компонента с возможностью обеспечения контроля построенной модели для ее последующей верификации;

разработки технологической цепочки интеграционного тестирования программного обеспечения, включающей в себя комплекс взаимосвязанных технологических процедур;

проверки работоспособности предложенных методик и инструментальных средств на четырех проектах.

Разработка и результаты решения этих задач выносятся на защиту.

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

  2. Методы исследования. В диссертации используется теория атрибутных транзиционных систем и принципы инсерционного программирования, теория агентов и сред.

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

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

6. Научные результаты и их новизна. В диссертации разработаны
методологические основы технологии создания систем интеграционного тестирования.
Суть этих результатов сводится к следующему.

  1. Предложен механизм верификации взаимодействия формализованного компонента и системы на основе теории агентов и сред. Механизм позволяет проводить интеграционные проверки на стадии контроля и интерпретации спецификаций.

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

  3. Формализован процесс определения интерфейсов взаимодействия для формальных, процедурных и объектно-ориентированных языков. Разработан соответствующий инструментарий, автоматизирующий построение взаимодействующих сущностей для процедурных и объектно-ориентированных языков программирования.

  4. Разработан процесс выделения взаимодействующих регионов кода для процедурных и объектно-ориентированных языков программирования, позволяющий идентифицировать области кода, отвечающие за взаимодействие.

  5. На базе взаимодействующих регионов кода разработан метод построения модели взаимодействия в терминах базовых протоколов и метод создания модели для случая формализованных компонентов. Предложенные методы обеспечивают построение модели взаимодействия в соответствии с созданной теоретической моделью (п.2).

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

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

(Basic Protocols (MSC), C, C++, Java).

Применение созданной технологии интеграционного тестирования позволило в среднем сократить время интеграционного тестирования на 30%.

  1. Апробация работы. Основные результаты и выводы диссертации докладывались на конференции "Технологии Microsoft в теории и практике программирования" в 2007 г, на международной научной конференции "12th International Olympiad on Automatic Control" (СПб, 2008 г.), конференции "Motorola Technology Day" (СПб, 2007 г.). По материалам диссертации опубликовано 5 печатных работ, в том числе статья в издании из перечня ВАК, где изложены основные результаты работы.

  2. Внедрение. Разработанная технология интеграционного тестирования внедрена в ЗАО "Моторола ЗАО", ФГУП НПП «Сигнал» и использована при разработке учебно-методического материала СПбГПУ по курсу «Теоретические основы технологии программирования» на кафедре "Информационных и управляющих систем". Практическое использование представляемых на защиту результатов подтверждено соответствующими актами о внедрении.

10. Структура и объем работы. Работа содержит введение, 4 главы и заключение.
Объем работы 165 страниц, количество иллюстраций 58, список использованной
литературы содержит 94 наименования.

Похожие диссертации на Анализ взаимовлияний при интеграции новой функциональности в существующую систему средствами верификации и тестирования