автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Методы автоматизации распределённого тестирования реактивных систем
Автореферат диссертации по теме "Методы автоматизации распределённого тестирования реактивных систем"
Тютин Борис Викторович
МЕТОДЫ АВТОМАТИЗАЦИИ РАСПРЕДЕЛЁННОГО ТЕСТИРОВАНИЯ РЕАКТИВНЫХ СИСТЕМ
Специальность 05.13.11 — Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных
сетей
АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук
17 АПР 2014
Санкт-Петербург - 2013
005547092
Работа выполнена в Федеральном государственном бюджетном образовательном учреждении высшего профессионального образования «Санкт-Петербургский государственный политехнический университет».
Научный руководитель:
Котляров Всеволод Павлович,
кандидат технических наук, доцент
Официальные оппоненты:
Воробьёв Владимир Иванович,
д.т.н., профессор, заведующий Лабораторией информационно-вычислительных систем ФГБ УН «СПИИРАН»
Гаврилова Татьяна Альбертовна,
д.т.н., профессор, заведующая кафедрой информационных технологий в менеджменте Высшей школы менеджмента ФГБОУ В ПО «СПбГУ»
Ведущая организация: ОАО «НПО «Импульс»
Защита состоится «15» мая 2014 г. в 14:00 на заседании диссертационного совета Д 212.229.18 при ФГБОУ ВПО «Санкт-Петербургский государственный политехнический университет» по адресу: 195251, Санкт-Петербург, Политехническая ул., д.29, 9 уч. корп., ауд. 325.
С диссертацией можно ознакомиться в Фундаментальной библиотеке ФГБОУ ВПО «Санкт-Петербургский государственный политехнический университет».
Автореферат разослан » апреля 2014 г.
Ученый секретарь
диссертационного совета 1
Д 212.229.18, к.т.н., доцент К ' - - Васильев Алексей Евгеньевич
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность работы. В настоящее время в процессе производства программного продукта (ПП) много внимания уделяется обеспечению его качества - соответствию начальным требованиям, эффективности решения поставленной задачи, надёжности работы. В силу особенностей решаемых задач непосредственная выгода от улучшения характеристик создаваемых информационных систем для заказчика часто неочевидна и скрыта. В первую очередь, это связано с тем, что существующие инструменты и методы проверки программных продуктов ориентированы на разработчиков, а не конечных пользователей и заказчиков. Это делает полученную информацию о свойствах программы недоступной для всех заинтересованных лиц, что приводит к снижению эффективности их взаимодействия.
Наиболее популярным инструментом управления качеством программного продукта является тестирование. Актуальная задача уменьшения его стоимости решается с помощью автоматизации путем объединения в технологическом процессе различных готовых инструментов. Существенным недостатком такого подхода является сложность интеграции разнородных средств автоматизации тестирования в существующий процесс разработки и их стыковки с уже использующимся инструментарием. Выполнение данной задачи существенно усложняется тогда, когда требуется обеспечить связь тестирования с исходными требованиями.
Помимо развития подходов к управлению качеством появление новых технологий в сфере создания программного обеспечения (ПО) расширяет круг возможных областей применения средств автоматизации тестирования, а также распределённых тестовых стендов. Одним из наиболее молодых и интенсивно развивающихся направлений являются кластерные и облачные вычисления. Принципы, лежащие в основе предоставления программных средств и комплексных решений как сервиса (SaaS - software as a service, и IaaS - infrastructure as a service) могут быть распространены на автоматизацию тестирования.
Современный уровень развития средств автоматизации тестирования позволяет путём исследований в области параллельных алгоритмов решить проблемы ускорения выполнения тестового набора. Использование формальных нотаций для работы с требованиями позволяет снять ограничения существующих подходов к построению тестового набора, а также представлять информацию о тестировании в более высокоуровневом виде. В связи в этим тематика работы актуальна, исследование востребовано с точки зрения науки и практики.
Степень разработанности темы. Проблемам формализации и автоматизации методов верификации и тестирования, а также из применения на практике посвящены работы таких авторов, как Липаев В.В., Петренко А.К., Карпов Ю.Г, Летичевский А.А.. Среди зарубежных авторов наиболее значимыми с точки зрения близости к теме работы можно назвать труды R. Alura, Н. Wenhong, В. Bollig, К. Beck, М. Fewster, R. Osherove и других.
Указанными авторами были опубликованы как фундаментальные работы, сформировавшие теоретическую базу для дальнейших изысканий в области автоматизации тестирования и верификации ПО с применением формальных моделей, так и труды, обобщающие богатый опыт индустриального производства программного продукта. В научных статьях, издаваемых в течение последнего десятилетия, освещаются вопросы автоматического создания тестов и анализа спецификаций.
Однако в данных работах недостаточно рассмотрены вопросы интеграции современных подходов к тестированию, предлагаемые авторами методы автоматизации построения тестового набора обладают известными ограничениями на способ описания тестовых сценариев. При детальной проработке аспектов верификации не до конца раскрывается потенциал её объединения с тестированием.
Цели и задачи диссертационной работы. Целью диссертации является разработка группы методов, автоматизирующих этапы тестирования ПО, начиная с получения тестового набора на основе формальных спецификаций и заканчивая формированием результатов тестирования и их анализом, а также реализация средств поддержки, предоставляющих инструментарий для организации тестирования на различных этапах жизненного цикла ПО — модель, код, исполняемая программа.
Для достижения поставленной цели в работе были решены следующие задачи:
1) Разработка метода создания тестов, основанного на DDT (Data-Driven Testing) и К DT (Keyword-Driven Testing), и имеющего возможность выполнения нелинейных сценариев;
2) Определение способа взаимодействия тестирующей системы с моделью и её компонентами (интеграционное и модульное тестирование) на разных уровнях;
3) Создание метода построения параметризованных тестов с определением набора значений параметров отдельно от тестовых сценариев;
4) Формулировка методов масштабирования выполнения тестового набора;
5) Создание средств автоматизации тестирования, реализующих разработанные методы;
6) Разработка метода автоматизированного тестирования, основанного на созданных программных средствах, и интегрирующего результаты исследования.
Научные результаты и их новизна.
1) Разработан метод создания параметризованного тестового набора на основе формальных спецификаций, сочетающий принципы тестирования, управляемого данными, и тестирования на основе ключевых слов, свободный от ограничений на описание нелинейного поведения и параллельных взаимодействий в тестовых сценариях;
2) Создан метод автоматизации выполнения тестового набора на основе плана тестирования. Его научная новизна заключается в применении символьных поведенческих трасс, которые затем автоматически конкретизуются и выполняются согласно плану тестирования;
3) Предложен метод анализа результатов тестирования и коррекции тестов, автоматизирующий идентификацию точек останова в ходе выполнения теста и отображение поведенческих трасс, ведущих к этой точке, на исходной формальной модели системы;
4) Предложено решение задачи масштабирования выполнения тестового набора с помощью разработанного метода кластеризации группы тестов по критериям её объёма и суммарной сложности тестов и метода параллельного выполнения тестов. Реализация методов автоматически обеспечивает изоляцию среды выполнения тестов, тем самым, исключая их взаимное влияние и снижая сложность автоматизации тестирования;
5) На основе результатов работы создан метод автоматизированного тестирования, интегрирующий анализ требований, метод тестирования, управляемого данными, метод тестирования, основанного на ключевых словах, и автоматизацию масштабирования выполнения тестового набора.
Теоретическая п практическая значимость работы. Созданы методы, автоматизирующие различные этапы основанного на тестировании процесса контроля качества ПО. Теоретической основой методов являются разработанные модель параллельного запуска тестирования и расширение аппарата символьной верификации, разработанного A.A. Летичевским. Предложенные методы формализованы до уровня алгоритмов, на основе которых созданы инструментальные средства поддержки. Последние базируются на технологии верификации VRS и технологии автоматизации тестирования TAT. На основании объединения разработанных методов была создана методика автоматизации тестирования. Использование плана тестирования и конкретизации параметров тестов позволило упростить автоматизацию тестирования и снизить сложность выполнения тестовых процедур. Разработанные методы и средства масштабирования тестирования решили задачу автоматизации настройки и запуска больших тестовых наборов.
Разработанные методы, алгоритмы и программные средства могут быть отчуждены для использования в сторонних методах и информационных системах. В рамках четырёх проектов по тестированию ПО применение результатов исследования позволило получить сокращение времени фазы тестирования в пределах 50-70%.
Исследование проводилось при поддержке в форме гранта Правительства Санкт-Петербурга для студентов, аспирантов вузов и академических институтов, расположенных на
территории Санкт-Петербурга (2013 г.), а также стипендии Президента Российской Федерации (2012 г.).
Предметом исследовании являются методы и инструментальные средства автоматизации процесса контроля качества программного продукта (ПП).
Методология и методы исследования. Для решения поставленных в работе задач используются теория графов, теория алгоритмов в области параллельного программирования, теория конечных автоматов, теория инсерционного программирования, аппарат формальных спецификаций. Применяются стандарты языков Use Case Maps (UCM) и Message Sequence Charts (MSC), а также стандарт Message Passing Interface (MPI).
Основные результаты и положения, выносимые на защиту:
— Методы автоматизации этапов тестирования ПО:
1) автоматическое создание параметризованного тестового набора;
2) автоматическое тестирование на основе плана;
3) автоматизированный анализ результатов тестирования;
4) автоматизированное масштабирование выполнения тестирования;
— Реализация современных подходов к тестированию на базе символьной верификации;
— Адаптация технологии VRS/TAT для использования в облачных и кластерных
вычислительных системах;
— Результаты экспериментальных исследований ускорения выполнения тестового набора
при масштабировании запуска.
Обоснованность и достоверность полученных результатов обеспечивается корректным использованием теории графов ¡1 теории алгоритмов, использованием формальных моделей проектирования параллельных вычислений, сравнением результатов применения в индустриальных проектах разработанных методов и программных средств и аналогичных существующих подходов, соответствие данных практических экспериментов теоретическим оценкам.
Апробация работы. Основные положения и результаты диссертационной работы были представлены на научных конференциях "Технологии Microsoft в теории и практике программирования" (СПб, 2012, 2011, 2010), 6th Spring/Summer Young Researchers' Colloquium on Software Engineering (Пермь, 2012), XXXIX неделя науки СПбГПУ (СПб, 2010).
Публикации. По теме диссертационной работы было опубликовано 10 печатных работ, 5 из них в изданиях из перечня ВАК.
Внедрение. Разработанные методы и инструменты поддержки внедрены в компаниях ЗАО «Моторола Солюшнз», ООО «Научно-Техническин Центр «Северо-Западная Лаборатория» и использованы при разработке учебно-методического комплекса СПбГПУ по
курсам "Технология разработки программного обеспечения" и "Технология параллельных вычислений" на кафедре "Информационные и управляющие системы". Практическое использование представляемых на защиту результатов подтверждено соответствующими актами о внедрении.
Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения, списка литературы и семи приложений. Объем диссертации - 144 страницы машинописного текста, объем приложений - 41 страница, диссертация содержит 43 рисунка, 22 таблицы, список литературы состоит из 106 наименований.
КРАТКОЕ СОДЕРЖАНИЕ РАБОТЫ
Во ппедеипп обоснована актуальность темы исследования; сформулированы цели и задачи работы; описаны основные аспекты её научной и практической значимости, апробация и публикация результатов; приведена структура изложения материала диссертации.
В первой главе проведён обзор критериев тестирования, применяемых при формировании тестового набора. Изучены свойства актуальных подходов к тестированию, сформулированы их ограничения и область применения. Исследованы технологии параллельного программирования и возможности их применения в тестировании. 11а основании обзора инструментов автоматизации тестирования делается вывод о том, что актуальные задачи в области автоматизации тестирования на данный момент решены лишь частично.
Современные подходы к построению тестового набора имеют ряд ограничений и недостатков. Подход к тестированию, основанный на данных (DDT), не подразумевает возможность создания сложной структуры тестов. Реализующее его ПО не обладает возможностью редактирования тестовых сценариев в графическом виде. Подход к тестированию, основанный на ключевых словах (KDT), также имеет указанные недостатки. Общим недостатком обоих подходов является отсутствие поддержки нелинейных конструкций в коде тестовых сценариев. Однако важным преимуществом, которое предоставляют DDT и KDT, является гибкость системы тестирования и возможность её интеграции со сторонними средствами.
На основании анализа в работе сформулированы проблемы интеграции отдельных компонент и подсистем в технологические цепочки цикла тестирования. Определены основные ограничения к применению существующих систем автоматизации тестирования:
• ориентация на те или иные технологии создания ПО;
• отсутствие взаимодействия со средами разработки ПО;
• тесная связь с одной определённой технологией создания ПО.
Технология VRS/TAT выбрана из рассмотренных по критерию полноты функциональности и возможности устранения выявленных ограничений. Определен ряд недостатков данной технологии: отсутствие поддержки распределённого тестирования, недостаточно полная реализация современных подходов к тестированию, невозможность выполнения тестов в кластерной и облачной среде.
На основании обнаруженных пробелов и ограничений в области автоматизации тестирования сформулирована цель работы и задачи, решение которых необходимо для ее достижения.
Во второй главе представлены методы, разработанные для устранения недостатков существующих подходов к автоматизации тестирования. Они автоматизируют процесс тестирования, начиная с этапа создания тестового набора и заканчивая получением и анализом результатов выполнения тестовых сценариев.
Основой для написания тестов служат требования. При автоматизации тестирования их необходимо привести к формальному представлению. Для создания формальной спецификации в работе были использованы нотации UCM, Base Protocols (BP) и MSC, а также технология VRS. Она основана на принципах инсерционного программирования, сформулированных в работах А.А. Летичевского, и позволяет автоматически создавать поведенческие трассы по модели системы в нотации BP. Трасса получается, как результат соединения нескольких базовых протоколов в последовательную цепочку и может быть записана в виде следующей формулы:
где BPi ... ВР„ - множество базовых протоколов, So - начальное состояние, S„ -конечное состояние. Подобная трасса представляет одно из возможных поведений системы, и может служить основой для тестовых сценариев. Создание модели системы в нотации ВР является достаточно трудоёмким процессом, поэтому форматом спецификации системы, создаваемой вручную, был выбран UCM. Автоматическое преобразование модели системы из UCM в ВР осуществляется с помощью инструмента UCM2FM. Алгоритмы и реализация данного инструмента, а также методы формализации, основанные на его использовании, предложены в работах И.В. Никифорова.
В третьей главе разработанные методы формализованы до уровня алгоритмов, на основании которых реализованы программные инструменты на базе технологий TAT и VRS.
Разработанный в ходе данного исследования метод создания параметризованного тестового набора на основе требований к продукту интегрирует формализацию требований и построение поведенческих трасс, позволяя автоматически получить тестовые сценарии на основании формальной модели требований к ПО.
Данный метод состоит in следующих шагов:
1) Формулирование требований к программному продукту и построение формальной модели системы путём преобразования требований в совокупность элементов UCM диаграмм:
MREQ е R,TRACE = in,},!/,eU,U = U и (У „„, ul/ ,„, где R - множество исходных требований, U - модель системы в нотации UCM, TRACE -отображение требования на набор элементов модели Uj. Данный шаг разработанного метода опирается на исследования диссертационной работы П.В. 11икифорова;
2) Анализ формальной модели и определение ключевых параметров функционирования системы;
3) Построение модели системы в нотации BP. Этот и предыдущий шаги выполняются на основе технологии UCM2FM, разработанной в рамках исследований Никифорова И.В.;
4) Построение средствами VRS символических поведенческих MSC трасс, покрывающих модель, на основании критериев, задаваемых с помощью гидов;
5) Преобразование полученных поведенческих трасс в тесты.
В рамках данного метода был разработан подход к интерпретации MSC, обеспечивающий поддержку нелинейного поведения и параллельных взаимодействий для реализации концепции отделения данных от логики тестов. Данный подход базируется на исследованиях в области интерпретации и анализа MSC (М. Yannakakis, A. Roychoudhury) и фундаментальных работах Э. Кларка и Б. Боэма. Основными его аспектами являются:
1) Интерпретация сущности в тесте как независимого процесса;
2) Выполнение блоков конструкции parallel независимо с сохранением порядка следования событий. Условие перехода может быть представлено в следующем виде:
.»-»{»,' :£,',....v;v :£,v| -».v'.VE е/VfÄ где i,..k - индексы текущих возможных событий для каждого блока, s п s' - текущее и последующее состояние поведенческой трассы, EkJ - очередное событие в блоке, St1 текущее состояние при условии выполнения очередного события в блоке;
3) Выполнение событий concurrent region в произвольном порядке:
5 -» i.V. : /Г, ,....vЛ, : Ех | -> .s', VE е COREGION Скорость разработки тестового набора была повышена путём параметризации тестов за счёт их получения из символьных поведенческих трасс. При таком подходе трассы представляются в виде двоек L = <В, Rb >, где В - базовый протокол, RB - ограничения на параметры этого протокола. С помощью аппарата предикатных трансформеров, описанного в работах A.A. Летичевского, для трасс может быть получена таблица конкретизации параметров, которая была применена для автоматизации формировании плана тестирования.
Для интеграции данного подхода в разработанный метод был реализован алгоритм преобразования параметризованных поведенческих трасс в тесты. Пусть X - множество инстанций окружения, Y - множество тестируемых компонент системы, S - множество событий в тесте, X(s) - функция получения имён сущностей, относящихся к событию s. Возможны следующие действия над набором сущностей в тесте:
1) Объединение нескольких сущностей в одну:
f(M)-.M^-{SUT\, Г=/(П, y=S-U,(VxeA(s».xeK] где f(M) - преобразование множества сущностей в один элемент,
2) Замещение тестируемых компонент автоматически создающимися заглушками с поведением, определяемым тестовым сценарием:
X = Xvjr,r={YuJm...\, Г, Swb„ Y„ -*Stubh,...
Данные действия автоматизированы в рамках разработанного метода и позволяют автоматически получить параметризованный тестовый набор, готовый к запуску. В рамках созданного метода автоматизации выполнения тестового наборы на основе плана тестирования осуществляется автоматическое конфигурирование тестового набора для запуска, конкретизация параметров тестов, построение тестового набора и запуск тестирования. Метод состоит из следующих шагов:
1) Построение таблицы параметров тестового набора. Данный этап выполняется с применением технологии VRS. Базовый протокол В(х) можно определить как выражение вида:
V.v(ür (х) ->< Pix) > ß(x)) где х - список параметров протокола, а(х) и ß(x) - логические формулы, определяющие пре- и постусловие В(х). Для получения таблицы фактических ограничений на параметры сигналов происходит последовательное применение прямого предикатного трансформера pt, позволяющего получить текущее состояние системы на основе ее первоначального состояния и поведенческой трассы, ведущей к текущей точке:
В(х) = Vx(a(x) ->< Р(х) > /?(*)),£' = />/(£ла(.*),/?(.т))
2) Уточнение пользователем способов генерации тестовых данных на основанни таблицы параметров тестового набора (Рис. 1);
Решением задачи автоматизации конкретизации тестовых сценариев является созданный в ходе исследования модуль MscSubst, взаимодействующий с модулем конкретизации трасс VRS. VRS по набору символьных трасс создает таблицу конкретизации, которая служит основой тестового плана. Данный план детализируется
пользователем, который определяет желаемые значения переменных в терминах команд управления: Я, М, Ь, О,С.
Var name Signal name Type User option Range Value
ч-ЮТОМ1'.!*: ^ДГНГ^пее d L • 2М745ШЗ <-2'' *"'"'
C'jp.eni.j-iip'? ci 4 =f-fj l^.ç il__''/-.l.!.!.! еЛ^-.с? F-CI HJ7V74IM»
rtrMngJ'ijJ.tfj? HÇÎJ^'tT't' с AUTO, CS, R M.PEV _AIJT0
Рис. I. Пример таблицы конкретизации Команда R управляет подстановкой значения равного правой границе интервала
допустимых значений (ИДЗ) соответствующей переменной:
VS„ : V/;, е l',i>, = RIGIIT(RANGE,) Команда L управляет подстановкой левого значения ИДЗ: V«(J: V/;, е Р,/>, = LEFT(RANGE,) Команда М предусматривает вычисление и подстановку среднего значения ИДЗ:
V«s : V/;: е Р, р, = A VG(RANGE,) Команда О предусматривает подстановку значения, находящегося за границами ИДЗ:
V«„ : V/;, е Р, р, =Х, -V € RANGEI Команда С управляет подстановкой конкретного значения, определенного пользователем;
3) Генерация наборов значений параметров тестового набора. На основании полученного плана тестирования разработанные в ходе исследования инструмент MscSubst создаёт тестовые трассы с конкретными значениями согласно строкам таблицы:
TRACE, {TEST,): р, = CMD „(RANGE „), р, е !«„, е TRACE,
4) Генерация кода тестового набора на основании наборов тестовых данных и тестовых сценариев;
5) Выполнение тестового набора;
6) Представление результатов выполнения тестового набора с разделением тестов на прошедшие и проваленные.
Информация, полученная в результате запуска тестов, может быть использована для получения статистических и диагностических данных. Первые отражают количество пройденных и проваленных тестов. Второй тип данных используется для локализации дефектов, обнаруженных в ходе тестирования. Их поиск нетривиален, сложен для автоматизации и зачастую требует глубокого анализа полученной информации. В общем случае для её решения требуется участие человека. Рассматриваемый в данной работе метод
автоматизации анализа результатов тестировании и коррекции тестов частично решает данные задачи и состоит из следующих этапов:
1) Внедрение маркеров в тесты и исходные требования,
2) Выполнение тестирования,
3) Формирование вердиктов и диагностической информации на основе журналов тестирования с внедрёнными маркерами,
4) Извлечение маркеров и анализ точки завершения тестов,
5) Визуализация ошибок в тестах и требованиях,
6) Редактирование требований, тестов и наборов тестовых данных.
Метод позволяет при редактировании требований и тестов к программному продукту пользоваться результатами предыдущего прогона без необходимости их ручного анализа.
Для реализации рассматриваемого метода был разработан инструмент MscMarker, который осуществляет преобразование служебных пометок, содержащихся в поведенческих сценариях и комментариях языка MSC. Он написан на С++ и использует библиотеку ядра ТЛТ для работы с объектным представлением языка MSC.
VMARK е (B,U\3MARC(OUTCOME): MARK(L)— > TEST,
Из результатов тестирования можно автоматически извлечь имена базовых протоколов, между которыми произошла ошибка, а также тэг соответствующего элемента UCM диаграммы. Для отображения данной информации в средствах визуализации UCM был разработан инструмент MseGather. Он извлекает информацию о точке останова и формирует на её основе файл с пометками, которые могут быть использованы средствами визуализации BP и UCM.
При выполнении больших тестовых наборов становится актуальной задача уменьшения временных затрат. В области распределённой обработки информации для решения этой задачи используются технологии масштабирования. Применительно к тестированию понятие масштабирования можно определить как способность тестирующей системы ускорять выполнение тестового набора за счет параллельного выполнения его частей.
В ходе данного исследования были разработаны два метода масштабирования выполнения тестового набора — метод кластеризации группы тестов и метод параллельного запуска тестовых сценариев.
В контексте задач тестирования понятие кластеризации можно определить как разбиение набора тестовых сценариев на отдельные группы тестов. При этом необходимо обеспечить выполнение связанных между собой тестов в рамках одного кластера в необходимом порядке. В работе предложены следующие критерии кластеризации: • Критерий количества тестов в группах;
• Критерий суммарной сложности тестов в группах. Данную величину можно выразить следующей формулой:
■V
C = Yjui*ci i-1
где С - суммарная сложность тестов, ni - множитель для конкретного события или управляющей конструкции в тестовом сценарии, ci - весовой коэффициент, соответствующий выражению, N - общее количество событий в тесте.
Созданный в ходе выполнения данной работы метод кластеризации тестового набора состоит из следующих шагов:
1) Определение тестов, входящих в тестовый набор;
2) Определение взаимозависимостей между тестами;
3) Кластеризация тестового набора по одному из критериев, предложенных в работе;
4) Сборка и выполнение частей тестового набора;
5) Фиксация результатов выполнения тестирования.
Для реализации данного метода был разработан модуль MscSplit. Он был выполнен в виде сценария на языке Perl. Модуль кластеризации интегрирован в инфраструктуру системы ТЛТ. Он использует служебные переменные среды, библиотеки работы с MSC и конфигурационными файлами, общие для всех инструментов.
После успешного завершения этапа кластеризации, так же, как и при его отсутствии, возможен параллельный запуск тестов. При выполнении отдельных тестов на различных процессорах системы необходимо сохранить свойства изолированности тестов и воспроизводимости тестового набора.
Предлагаемый в данной работе метод параллельного выполнения тестового набора состоит из следующих шагов:
1 ) Определение тестов, входящих в тестовый набор;
2) Определение зависимостей между тестами двух типов: необходимость совместного выполнения и невозможность совместного выполнения;
3) Сборка тестового набора;
4) Выполнение тестового набора в многопроцессорной вычислительной среде;
5) Фиксация результатов выполнения тестирования.
Данная функциональность была реализована путём изменения генераторов кода тестового набора с целью использования библиотеки, реализующей стандарт MPI. Выполнение поставленной в рамках данного аспекта задачи было разделено на два этапа: разработка параллельного алгоритма выполнения тестового набора и его реализация в коде.
Наиболее соответствующим задаче выполнения тестовых сценариев является подход, основанный на распараллеливании по данным. Минимальной подзадачей при запуске тестового набора является исполнение содержащихся в отдельном тесте команд. Цепочки взаимозависимых тестов объединяются в единую подзадачу. В рамках рассматриваемого подхода между подзадачами происходит обмен результатами выполнения тестов, вердиктами, сообщениями об ошибке и также журналами событий.
Выполнение подзадач равномерно распределяется между имеющимися процессами, при этом каждый процесс получает число подзадач, определяющееся следующей формулой N = С/р, где С - количество подзадач, полученных из тестового набора, р - количество процессов. Масштабирование производится путём пересчёта количества подзадач, получаемых одним процессом, и определение части тестового набора, подлежащей исполнению на конкретном процессе. Данный набор определяется следующей формулой:
T = {t„tM...t^N},.i=N*n где п - порядковый номер процесса, начинающийся с нуля, t -подзадача. Определённый таким образом алгоритм параллельного выполнения тестового набора был реализован в коде инструментов TAT. Была добавлена возможность осуществлять генерацию кода тестового набора как с поддержкой возможностей MPI, так и без таковой.
На основании инструментов, созданных для автоматизации кластеризации тестового набора возможна организация работы с ним как с сервисом путём удалённой сборки и запуска тестов, что позволяет разворачивать технологию в облачной инфраструктуре.
Разработанные методы автоматизации этапов тестирования позволяют в совокупности сформировать единую технологическую цепочку, реализующую автоматизацию контроля качества на протяжении всего жизненного цикла ПП. Она реализует метод автоматизированного тестирования с обратной связью, основанный на анализе требований, который разделён на тринадцать этапов. Этапы выполняются последовательно, в цепочку включены обратные связи, реализованные с помощью инструментов поддержки. Укрупняя, шаги метода можно определить следующим образом:
1) Автоматическое построение параметризованного тестового набора на основе формальной спецификации;
2) Автоматизированное формирование плана тестирования;
3) Автоматическая сборка и запуск тестового набора на основе плана тестирования с возможностью масштабирования;
4) Автоматизированная обработка результатов тестирования, коррекция требований и тестовых данных.
.-1 ручное СОЦаННС [-1
I Поведенческие трассы I_—™---l I
1---Г| Тесты Г-^,-1-.
План тестирования , j Л Тестовын наоор -^-1 | конфигурация —У1--1
--уточненне
Рис. 2. Итерашвнын процесс разработки тестового набора
Предложенный метод тестирования позволяет организовать итеративную процедуру выполнения ряда этапов (Рис. 2). Такая модель цикла тестирования позволяет уменьшить временные затраты, а также уточнять и дополнять тесты в процессе разработки программного продукта.
В чётвёртой главе представлены результаты практического использования разработанных методов в рамках решения задачи тестирования в четырёх проектах. Modeminterface - проект, реализующий часть стандарта организации спутниковой связи для систем передачи видеосигнала, основан на 121 требовании. Для организации тестирования потребовалось создание библиотек-драйверов для передачи информации через механизм сокетов и файловый вывод. GMCPanel - проект, реализующий оконный пользовательский интерфейс модуля конфигурирования телекоммуникационного ПО для агрегации и обработки данных. Тестирование было основано на 54 требованиях и реализует проверку части интерфейса, отвечающей за редактирование численных параметров. Проект тестирования сервера SMTP-протокола предполагал проверку 24 требований, описывающих правила отправки электронных сообщений с хоста на сервер. EBROKER - проект тестирования веб-сервисов биржи обмена электронных валют, в рамках которого на основании WSDL-спецификации было определено 34 требования, покрывающих базовые сценарии взаимодействия клиентских приложений с сервисом.
Первым шагом, который выполнялся для каждого из проектов, являлось получение параметризованного тестового набора. Конкретизация и адаптация полученных трасс для получения тестовых сценариев, пригодных для генерации кода тестового набора, производилась с использованием разработанных инструментов. При наличии необходимых статистических данных осуществлялась оценка трудоёмкости создания аналогичного тестового набора в рамках других технологий тестирования. Запуск тестирования осуществлялся с масштабированием и без такового. Построение и запуск тестового набора проводилось как в рамках использования технологии TAT как сервиса, так и традиционным способом. Также в ходе апробации разработанного метода тестирования была произведена оценка затрат на внесение изменений в тестовый набор.
Полученные данные позволили оценить ключевые характеристики результатов работы. Сокращение временных затрат на выполнение тестов, полученное за счёт предложенных в
работе методов масштабирования выполнения тестового набора, достигло 85%, нелинейно возрастая при увеличении количества потоков выполнения (Рис. 3). Автоматизация позволила избавиться от необходимости вручную настраивать тестовый набор и управлять запуском при его раздельного выполнения.
Реализация подходов KDT и DDT с поддержкой нелинейных сценариев в рамках предложенного метода создания тестового набора привела к сокращению количества тестовых сценариев, которое необходимо для покрытия требований.
Была расширена область применения системы автоматизации TAT и методов тестирования, основанных на её использовании, благодаря реализованной функциональности. Использование стандарта MPI для метода параллельного запуска тестового набора сделало возможным запуск тестирования на вычислительных системах с кластерной архитектурой. Реализация механизмов кластеризации тестового набора позволяет одновременно выполнять запуск его частей на удалённых рабочих станциях, в том числе и в облачной среде.
fvfodemtn^rface шсралы U s.« .....................
j', z- ?.. зз т » № V:- га г;; ги ?
Рис. 3. Время выполнения тестового набора
В заключении описаны основные результаты, полученные в ходе выполнения
диссертационной работы, и сформулированы возможные направления дальнейшего развития исследования.
В приложении I описаны критерии тестирования, которые применяются при составлении тестового набора и определении задач тестирования в индустриальных проектах. В приложении 2 приводится классификация видов тестирования по типам объекта тестирования. Приложение 3 содержит описание актуальных на данный момент технологий параллельного программирования. Приложение 4 посвящено обзору существующих инструментов и каркасов для их создания в области автоматизации тестирования. В приложении 5 описаны формальные нотации ВР и иСМ и возможности их применения для задания спецификации программного
обеспечения. В приложении 6 представлена грамматика языка GDL. Приложение 7 посвящено описанию базовых технологий, использованных в данной работе.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ
1) Разработан подход к интерпретации формальной нотации MSC, реализующий возможность использования нелинейных конструкций и описания параллельных поведений в тестовых сценариях, представленных в данной нотации;
2) Сформулирован метод автоматизации создания тестового набора, основанный на применении формальных нотаций MSC и UCM и принципах DDT и KDT;
3) Разработан метод автоматизации выполнения тестового набора на основе плана тестирования, в рамках которого реализуется создание тестовых сценариев на базе параметризованных поведенческих трасс и их автоматическая конкретизация с помощью тестовых данных;
4) Разработан метод анализа результатов тестирования и коррекции тестов, позволяющий автоматизировать редактирование требований и тестового набора согласно диагностической информации о выполнении тестов;
5) Разработаны методы масштабирования выполнения тестового набора, применяющие критерии разделения тестового набора на независимые части для их параллельного выполнения;
6) Разработанные методы формализованы до уровня алгоритмов и реализованы в виде базирующегося на технологиях TAT и VRS программного обеспечения в объёме 275 KLOC. Объем разработанной сопроводительной документации составил 178 страниц;
7) Разработан метод автоматизированного тестирования, основанный на созданных программных средствах, и реализующего полный набор действий по контролю качества программного продукта в течение всего цикла его создания;
8) Методы и инструменты, созданные в ходе данной работы, апробированы в рамках решения задачи автоматизации тестирования в четырёх проектах. Согласно полученным результатам, методы позволяют не только сократить время выполнения тестового набора, но также его объём и количество операций, которые выполняются вручную при тестировании.
Полученные на этапе апробации результаты применения созданных методов и программного обеспечения позволяют сделать вывод о решении поставленных задач и достижении цели данной работы. По своей значимости её можно отнести к современным технологиям автоматизации тестирования и управления качеством программного продукта.
ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ
Основное содержание работы изложено в следующих публикациях (статьи 1-3, 6, 10 опубликованы в изданиях, включенных в перечень ВАК).
1. Средства поддержки интегрированной технологии для анализа и верификации спецификаций телекоммуникационных приложений / U.C. Ануреев, С.Н. Баранов, Д.M. Белоглазов, Е.В. Бодин, П.Д. Дробинцев, A.B. Колчин, В.П. Котляров, A.A. Летичевский, A.A. Летичевский мл., В.А. Непомнящий, И.В. Никифоров, C.B. Потиенко, Л.В. Прийма, Б.В. Тютин // Труды СПИИРАН. 2013. №3 (26). С. 349-383.
2. Тютин Б.В., Веселов А.О., Котляров В.П. Масштабирование выполнения тестового набора при автоматизированном тестировании // Научно-технические ведомости СПбГПУ. 2013. №3(174). С. 118-122.
3. Тютин Б.В, Никифоров И.В., Котляров В.П. Построение системы автоматизации статической и динамической проверки требований к программному продукту // Научно-технические ведомости СПбГПУ. 2012. № 4 (152). С. 119-123.
4. B.V. Tyutin, I.V. Nikiforov, V. P. Kotlyarov. Distributed Testing of Multicomponent Systems // Proceedings of the 6th Spring/Summer Young Researchers' Colloquium on Software Engineering. 2012. pp. 75-78.
5. Тютин Б.В., Веселов A.O., Котляров В.П. Разработка метода тестирования телекоммуникационных приложений в распределённой среде // Технологии Microsoft в теории и практике программирования: Материалы межвузовского конкурса-конференции студентов, аспирантов и молодых ученых Северо-Запада. 2012. С. 76-77.
6. Автоматическая настройка тестового окружения телекоммуникационных проектов / А.О. Веселов, A.C. Иванов, Б.В. Тютин, В.П. Котляров // Научно-технические ведомости СПбГПУ. 2011. № 4 (128). С. 149-152.
7. Тютин Б.В., Котляров В.П. Система управления распределённым тестированием // XXXIX Неделя науки СПбГПУ: Материалы международной научно-практической конференции. 2010. С. 118-119.
8. Иванов A.C., Тютин Б.В., Котляров В.П. Использование SDL Value Notation в качестве формата представления данных при организации удалённого взаимодействия с реактивными информационными системами // XXXVIII Неделя науки СПбГПУ: Материалы международной научно-практической конференции. 2009. С. 106-108.
9. Автоматизация нагрузочного тестирования сетевых служб / А.О. Веселов, A.C. Иванов, Б.В. Тютин, В.П. Котляров // Технологии Microsoft в теории и практике программирования: Материалы межвузовского конкурса-конференции студентов, аспирантов и молодых ученых Северо-Запада. 2009. С. 24-25.
10. Автоматизация тестирования телекоммуникационных приложений / А.О. Веселов, A.C. Иванов, Б.В. Тютин, В.П. Котляров // Научно-технические ведомости СПбГПУ. 2009. №3(80). С. 208-212.
Подписано в печать 08.04.2014. Формат 60x84/16. Печать цифровая. Усл. печ. л. 1,0. Тираж 100. Заказ 11768Ь.
Отпечатано с готового оригинал-макета, предоставленного автором, в типографии Издательства Политехнического университета. 195251, Санкт-Петербург, Политехническая ул., 29. Тел.:(812)550-40-14 Тел./факс: (812)297-57-76
Текст работы Тютин, Борис Викторович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования "Санкт-Петербургский государственный политехнический университет"
и^и \ ч-ГЗ г о - (
На правах рукописи
Тютин Борис Викторович
Методы автоматизации распределённого тестирования реактивных систем
Специальность 05.13.11 -Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
Диссертация на соискание ученой степени кандидата технических наук
Научный руководитель -кандидат технических наук, доцент В.П. Котляров
Санкт - Петербург - 2013
Введение..................................................................................................................................................4
Глава 1. Современные подходы к автоматизации создания и выполнения тестового набора.....11
1.1 Критерии тестирования.............................................................................................................11
1.2 Актуальные подходы к тестированию.....................................................................................12
1.2.1 Тестирование, управляемое данными...............................................................................14
1.2.2 Тестирование на основе ключевых слов...........................................................................17
1.3 Параллельное программирование в тестировании.................................................................21
1.3.1 Разработка параллельного алгоритма...............................................................................22
1.3.2 Оценка качества параллельного алгоритма......................................................................24
1.3.3 Характеристики параллельных алгоритмов.....................................................................26
1.5 Инструментальные средства автоматизации тестирования...................................................28
1.5.1 Сравнение средств автоматизации тестирования............................................................30
Выводы..............................................................................................................................................41
Глава 2. Подходы к реализации этапов технологии распределённого тестирования...................43
2.1 Метод создания параметризованного тестового набора на основе требований к продукту ............................................................................................................................................................43
2.1.1 Анализ формальной модели и построение поведенческих трасс с символическими параметрами..................................................................................................................................44
2.1.2 Требования к языку описания тестовых сценариев.........................................................48
2.1.3 Преобразование поведенческих трасс в тесты.................................................................49
2.1.4 Формулировка метода построения параметризированных тестовых сценариев..........50
2.2 Метод автоматизации выполнения тестового набора на основе плана тестирования........51
2.2.1 Конкретизация тестового набора и составление плана тестирования...........................52
2.2.2 Сборка тестового набора....................................................................................................53
2.2.3 Выполнение тестового набора...........................................................................................56
2.2.4 Формирование результатов тестирования........................................................................57
2.2.5 Формулировка метода автоматизации тестирования......................................................58
2.3 Метод автоматизации анализа результатов тестирования и коррекции тестов...................59
2.4 Методы масштабирования выполнения тестового набора....................................................61
2.4.1 Возможные подходы к масштабированию.......................................................................62
2.4.2 Изолирование среды исполнения тестов..........................................................................64
2.4.3 Метод кластеризации тестового набора............................................................................64
2.4.4 Метод параллельного выполнения тестов........................................................................67
2.5 Метод автоматизированного тестирования с обратной связью, основанный на анализе
требований........................................................................................................................................68
Выводы..............................................................................................................................................71
Глава 3. Реализация этапов технологии распределённого тестирования.......................................73
3.1 Реализация метода автоматизации создания параметризованного тестового набора на основе требований к продукту........................................................................................................73
3.1.1 Формализация требований.................................................................................................74
3.1.2 Генерация тестовых сценариев..........................................................................................77
3.1.3 Изменение набора сущностей............................................................................................79
3.2 Реализация метода автоматизации выполнения тестового набора на основе плана тестирования.....................................................................................................................................82
3.2.1 Конфигурирование тестового набора................................................................................82
3.2.2 Конкретизация параметров тестового сценария..............................................................86
3.2.3 Интерпретация языка тестовых сценариев.......................................................................90
3.2.4 Построение тестового набора............................................................................................94
3.2.5 Запуск тестирования...........................................................................................................96
3.2.6 Завершение тестирования...................................................................................................97
3.3 Реализация метода автоматизации анализа результатов тестирования и коррекции тестового набора...............................................................................................................................98
3.4 Реализация методов масштабирования тестового набора....................................................101
3.4.1 Модуль кластеризации тестового набора.......................................................................102
3.4.2 Параллельное выполнение тестов...................................................................................104
3.4.3 Сборка и запуск тестового набора при масштабировании............................................106
3.5 Реализация метода автоматизированного тестирования с обратной связью, основанного на анализе требований........................................................................................................................107
3.5.1 Шаги метода......................................................................................................................108
3.6.2 Контуры обратной связи...................................................................................................110
Выводы............................................................................................................................................112
Глава 4. Результаты применения разработанных методов автоматизации тестирования..........113
4.1 Практическое применение результатов работы....................................................................113
4.1.1 Внедрение разработанных методов.................................................................................113
4.1.2 Анализ затрат на изменение исходных требований и их проверку.............................114
4.1.3 Описание проектов для апробации метода.....................................................................115
4.2 Оценка эффективности результатов внедрения разработанных методов применительно к реальным проектам........................................................................................................................117
4.2.1 Анализ времени построения тестового набора..............................................................119
4.2.2 Анализ объёма тестового набора при использовании параметризованных тестов.... 120
4.2.3 Анализ времени конфигурирования тестового набора при ручном и автоматическом масштабировании.......................................................................................................................122
4.2.4 Анализ ускорения выполнения тестового набора при масштабировании..................124
4.2.6 Анализ преимуществ использования системы тестирования как сервиса..................128
4.2.7 Анализ затрат на внесение изменений в требования.....................................................130
Выводы............................................................................................................................................131
Заключение.........................................................................................................................................134
Список сокращений и условных обозначений................................................................................137
Литература..........................................................................................................................................138
Приложение 1, Критерии тестирования...........................................................................................145
Критерии «чёрного ящика»...........................................................................................................145
Критерии «белого ящика».............................................................................................................147
Приложение 2. Виды объектов тестирования.................................................................................149
Приложение 3. Технологии параллельного программирования...................................................153
MPI...............................................................................................................................................153
OpenMP.......................................................................................................................................156
Приложение 4. Обзор инструментальных средств автоматизации тестирования.......................159
Fit.................................................................................................................................................159
Robot Framework.........................................................................................................................164
JUnit.............................................................................................................................................166
TAT..............................................................................................................................................169
UniTesK.......................................................................................................................................170
HP Quick Test Professional.........................................................................................................172
IBM Rational Functional Tester...................................................................................................174
Приложение 5. Формализация требований......................................................................................176
Приложение 6. Синтаксис языка гидов VRS...................................................................................181
Приложение 7. Используемые в работе технологии и инструменты............................................184
Введение
Актуальность работы. В настоящее время в процессе производства программного продукта (ПП) много внимания уделяется обеспечению его качества - соответствию начальным требованиям, эффективности решения поставленной задачи, надёжности работы. В силу особенностей решаемых задач непосредственная выгода от улучшения характеристик создаваемых информационных систем для заказчика часто неочевидна и скрыта. Потому в случае сокращения издержек производства, в первую очередь сокращаются затраты на поиск ошибок и расхождений между требованиями к программному продукту и его реализацией [59], что, в свою очередь, приводит к снижению ценности создаваемых программ.
Наиболее популярным инструментом управления качеством ПП является тестирование [60]. Актуальная задача снижения времени и стоимости тестирования решается с помощью автоматизации путем объединения в технологическом процессе тестирования различных готовых инструментов. Существенным недостатком такого подхода является интеграция разнородных средств автоматизации тестирования в существующий процесс разработки и их стыковка с уже использующимся инструментарием. Постепенное накопление опыта решения подобных задач привело к появлению каркасов для построения систем автоматизации тестирования [76]. Обзор наиболее известных из них представлен в Приложении 4. Проведенный в работе анализ, представленный в пункте 1.5, позволяет сделать вывод о том, что в области построения систем автоматизации тестирования всё ещё существуют проблемы, решение которых приведёт к созданию высокоэффективных инструментов.
Основная цель контроля качества программного продукта (ПП) - увеличить его ценность за счёт уменьшения количества ошибок реализации, обеспечения соответствия исходным требованиям и снижения стоимости сопровождения. Для достижения этой цели необходимы формализованный процесс и программные средства его поддержки. В то время как методы разработки программных продуктов становятся более гибкими (в качестве примера можно привести
идеологию Agile), использование сложных, бюрократизированных процессов для них практически невозможно. По этой причине возникает потребность в адаптируемых методах управления качеством программного продукта, обеспечивающих не только автоматизацию тестирования, но и проверку соответствия готового ПО его спецификациям, а также непротиворечивость последних [65]. Основным требованием к технологиям становится возможность построения единой методологической цепочки, обеспечивающей контроль качества разрабатываемых продуктов. В отличие от ранее предлагаемых решений, в текущих условиях наибольшую эффективность обеспечивают процессы, базирующиеся на инструментах, которые могут быть легко адаптированы и расширены.
Основным недостатком подобного подхода является то, что различные фазы процесса (хранение и модификация требований, построение тестового набора и другие) реализованы на основании разнородных готовых инструментов, интеграция которых в эффективную технологическую цепочку затруднена, а степень автоматизации недостаточно высока.
Развитие технологий разработки программного продукта, а также эволюция структуры рабочих коллективов приводят к появлению новых подходов в тестировании. Так в пункте 1.2 описаны современные подходы к организации автоматизированного тестирования, указаны их недостатки и ограничения. Возможности, предоставляемые ими, позволяют существенно снизить стоимость тестирования. Потому решение задачи устранения недостатков таких подходов, как тестирование, управляемое данными, и тестирования на основе ключевых слов, является востребованным при построении новых средств автоматизации тестирования. Среди рассмотренных в пункте 1.5 программных инструментов выбрана технология VRS/TAT, которая покрывает весь цикл управления качеством программного продукта, что не избавляет ее от некоторых из упоминаемых недостатков.
Помимо новых подходов к управлению качеством, появление новых технологий в сфере создания программного продукта расширяет круг возможных
областей применения средств автоматизации тестирования, а также способов его организации. Одни из наиболее молодых и интенсивно развивающихся направлений в данный момент это кластерные и облачные вычисления. Принципы, лежащие в основе предоставления программных средств и комплексных решений как сервиса (SaaS - software as a service, и IaaS -infrastructure as a service) могут быть распространено на автоматизацию тестирования. Это открывает перспективную область для научных исследований и разработок, результаты которых могут быть применены на практике.
Степень разработанности темы. Проблемам формализации и автоматизации методов верификации и тестирования, а также из применения на практике посвящены работы таких авторов, как Липаев В.В., Петренко А.К., Карпов Ю.Г. Среди зарубежных авторов наиболее значимыми с точки зрения близости к теме работы можно назвать труды R. Alura, Н. Wenhong, В. Bollig, К. Beck, М. Fewster, R. Osherove и других.
Указанными авторами были опубликованы как фундаментальные работы, сформировавшие теоретическую базу для дальнейших изысканий в области автоматизации тестирования и верификации ПО с применением формальных моделей, так и труды, обобщающие богатый опыт индустриального производства программного продукта. В научных статьях, издаваемых в течение последнего десятилетия, освещаются вопросы автоматического создания тестов и анализа спецификаций.
Однако в данных работах недостаточно рассмотрены вопросы интеграции современных подходов к тестированию, предлагаемые авторами методы автоматизации построения тестового набора обладают известными ограничениями на способ описания тестовых сценариев.
С другой стороны, при детальной проработке аспектов верификации, не до конца раскрывается потенциал её объединения с тестированием.
Цели и задачи диссертационной работы. Целью диссертации является разработка группы методов, автоматизирующих этапы тестирования ПО, начиная с получения тестового набора на основе формальных спецификаций и заканчивая
формированием результатов тестирования и их анализом, а также реализация средств поддержки, предоставляющих инструментарий для организации тестирования на различных этапах жизненного цикла ПО — модель, код, исполняемая программа.
Для достижения поставленной цели в работе были решены следующие задачи:
1) Разработка метода написания тестов, основанного на DDT (Data-Driven Testing) и KDT (Keyword-Driven Testing), и имеющего возможность выполнения нелинейных сценариев;
2) Определение способа взаимодействия тестирующей системы с моделью и её компонентами (интеграционное и модульное тестирование) на разном уровне;
3) Создание метода построения параметризованных тестов с определением набора значений параметров отдельно от тестовых сценариев;
4) Формулировка методов масштабирования выполнения тестового набора;
5) Создание средств автоматизации тестирования, реализующих разработанные подходы;
6) Разработка метода автоматизированного тестирования, основанного на созданных программных средствах, и реализующего полный набор действий по контролю качества программного продукта в течение всего цикла его создания.
Научные результаты и их новизна.
• Разработан метод создания параметризованного тестового набора на основе формальных спецификаций, сочетающий принципы тестирования, управляемого данными, и тестирования на основе ключевых слов, свободный от ограничений на описание нелинейного поведения и параллельных взаимодействий в тестовых сценариях;
• Создан метод автоматизации выполнения тестового набора на основе плана тестирования. Его научная новизн
-
Похожие работы
- Оптимизация развития и функционирования системы энергоснабжения с распределённой генерацией
- Исследование распределенных систем с дискретными управляющими воздействиями
- Методы организации распределенной обработки знаний в локальных сетях ЭВМ
- Информационные технологии синтеза и управления эксплуатацией мобильных компонентов территориально распределенных систем
- Организационная структура распределенной системы технического контроля и диагностики процесса изготовления РЭА
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность