Научная статья на тему 'ПРОБЛЕМЫ ВЫБОРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ УПРАВЛЕНИЯ КАЧЕСТВОМ В ПРОЕКТАХ ИТЕРАТИВНОГО ЦИКЛА РАЗРАБОТКИ'

ПРОБЛЕМЫ ВЫБОРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ УПРАВЛЕНИЯ КАЧЕСТВОМ В ПРОЕКТАХ ИТЕРАТИВНОГО ЦИКЛА РАЗРАБОТКИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
12
6
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЕРИФИКАЦИЯ / ВАЛИДАЦИЯ / ИТЕРАТИВНЫЕ МОДЕЛИ / ИНСТРУМЕНТЫ ТЕСТИРОВАНИЯ / УПРАВЛЕНИЕ КАЧЕСТВОМ / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шашкова Ю.А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

PROBLEMS OF SELECTING SOFTWARE FOR QUALITY MANAGEMENT IN PROJECTS OF THE ITERATIVE DEVELOPMENT CYCLE

The article is devoted to problems of software selection for developers engaged in software development on iterative lifecycle models. The article covers verification problems and methods, as well as tools for testing software products.

Текст научной работы на тему «ПРОБЛЕМЫ ВЫБОРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ УПРАВЛЕНИЯ КАЧЕСТВОМ В ПРОЕКТАХ ИТЕРАТИВНОГО ЦИКЛА РАЗРАБОТКИ»

УДК 330 + 004

Шашкова Ю.А. студент магистратуры Университет ИТМО факультет методов и техники управления

академия «ЛИМТУ»

кафедра предпринимательства и коммерческой деятельности

специальность: № 27.04.02 Компьютерные системы управления качеством

Shashkova Julia, master student, ITMO University, Faculty of Management and Automation Controls, Department of Entrepreneurship and

Commerce, computer systems of quality management ПРОБЛЕМЫ ВЫБОРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ УПРАВЛЕНИЯ КАЧЕСТВОМ В ПРОЕКТАХ ИТЕРАТИВНОГО

ЦИКЛА РАЗРАБОТКИ PROBLEMS OF SELECTING SOFTWARE FOR QUALITY MANAGEMENT IN PROJECTS OF THE ITERATIVE DEVELOPMENT

CYCLE.

Аннотация:

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

Ключевые слова: верификация, валидация, итеративные модели, инструменты тестирования, управление качеством, программное обеспечение.

Annotation:

The article is devoted to problems of software selection for developers engaged in software development on iterative lifecycle models. The article covers verification problems and methods, as well as tools for testing software products.

Keywords: verification, validation, iterative models, testing tools, quality management, software.

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

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

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

Основные задачи верификации следующие:

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

- Выявление наиболее критичных и наиболее подверженных ошибкам частей создаваемой или сопровождаемой системы.

- Контроль и оценка качества ПО во всех его аспектах.

- Предоставление всем заинтересованным лицам информации о текущем состоянии проекта и характеристиках его результатов.

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

Рисунок. Методы верификации программного обеспечения

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

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

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

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

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

Если необходим мониторинг, то есть оценка поведения системы, наблюдение за системой и проверка ее соответствия проектным требованиям, то, как правило, здесь существует большой выбор готового ПО, однако данное ПО способно измерять лишь один из атрибутов качества: производительность, защищенность сети и т.д. Наиболее широко используемыми инструментами мониторинга являются профилировщики, входящие в состав инструментов разработки ПО (например, Visual Studio Team System Profiler, интегрированный с Microsoft Visual Studio). Из распространяемых отдельно профилировщиков можно отметить свободно распространяемый Valgrind, коммерческие Rational Purify Plus и Intel VTune Performance Analyzer .

Инструменты автоматизации тестирования делятся на следующие классы.

- Инструменты управления информацией о тестах. Эти инструменты собирают данные о тестах и их связях с другими артефактами разработки, предоставляя доступ к ней тестировщикам, инженерам по качеству, руководству проектов. Среди них наиболее известны TestManager от IBM/Rational и TestDirector от HP/Mercury.

- Инструменты сбора данных о тестовом покрытии. Такие инструменты позволяют измерять достигнутое при тестировании покрытие кода, обычно по критериям покрытия инструкций и/или ветвлений.

- Каркасы выполнения тестов. В рамках такого каркаса тесты

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

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

- Инструменты тестирования пользовательского интерфейса. Такие инструменты чаще всего основаны на записи действий пользователя (заполнения полей форм, нажатия кнопок, выбора пунктов меню и пр.) и возможности их воспроизведения. Эти инструменты обычно нацелены на проверку работы интерфейсов определенного типа — Windows GUI, GUI библиотек KDE или Gnome для Linux, WebUI. Наиболее известны из них IBM/Rational Robot, HP/Mercury QuickTest Professional, Empirix e-Tester.

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

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

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

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

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

информации о тестировании и мониторинге на проектах итеративного цикла разработки.

Использованные источники:

1. Управление качеством программного обеспечения: учебник / Б.В. Черников. - М.: ИД «ФОРУМ»: ИНФРА-М, 2012. - 240 с.: ил. - (Высшее образование).

2. IEEE 1012-2004 Standard for Software Verification and Validation. IEEE, 2005.

3. ISO/IEC 12207 Systems and software engineering - Software life cycle processes. Geneva, Switzerland: ISO, 2008.

УДК 004.3+621.52

Шостак Ю.А. магистрант 2 курса факультет «Энергомашиностроение»

Мишустин В.А магистрант 2 курса факультет «Энергомашиностроение» научный руководитель: Никулин Н.К., к.техн.н.

доцент

кафедра «Вакуумная и компрессорная техника» Московский Государственный Технический Университет им. Н.Э. Баумана Россия, г. Москва ОБЗОР КОНСТРУКЦИЙ ТУРБОМОЛЕКУЛЯРНЫХ НАСОСОВ С РАЗЛИЧНЫМИ ТИПАМИ МОЛЕКУЛЯРНЫХ СТУПЕНЕЙ Аннотация:

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

Ключевые слова: вакуумный насос, турбомолекулярный насос, молекулярный насос, насос Геде, насос Хольвека, насос Зигбана, молекулярный режим.

i Надоели баннеры? Вы всегда можете отключить рекламу.