Автоматизация тестирования программного обеспечения автоматизированных комплексов скользящей опалубки
Автор: Короткий Дмитрий Анатольевич
Журнал: Вестник Донского государственного технического университета @vestnik-donstu
Рубрика: Технические науки
Статья в выпуске: 3 (64) т.12, 2012 года.
Бесплатный доступ
Рассмотрена модель универсальной тестовой системы, которая позволяет структурно описать задачи автоматизиции тестирования с целью эффективного использования существующих и создания новых тестовых инструментариев.
Автоматизированный комплекс, скользящая опалубка, тестирование, программное обеспечение, автоматизация, тестовый сценарий, оценка рисков, стратегия тестирования, универсальная модель, тестовая система, тестовый инструментарий
Короткий адрес: https://sciup.org/14249837
IDR: 14249837
Текст научной статьи Автоматизация тестирования программного обеспечения автоматизированных комплексов скользящей опалубки
Введение. Возведение высотных монолитных зданий и сооружений является сложной технической задачей. Для ее решения на практике используют технологию скользящей опалубки, позволяющую автоматизировать подъем опалубки, процессы укладки и уплотнения бетона. Автоматизированные комплексы и робототехнические системы, основанные на данном методе, являются исключительно перспективным направлением совершенствования монолитного строительства. В рамках проведенных исследований [1] была решена задача создания автоматизированного комплекса скользящей опалубки, позволяющего повысить эффективность возведения монолитных зданий и сооружений сложной архитектурной формы и имеющего следующие характеристики:
-
- обеспечение управления подъемом опалубки с отклонением от проектной вертикальной оси сооружения не более ±20 мм;
-
- осуществление регулирования радиального положения щитов опалубки, при этом погрешность установки не превышает ±2 мм;
-
- формирование измерительной информации о положении комплекса и щитов опалубки, высоте подъема, температуре воздуха, скорости ветра;
-
- обеспечение синхронизации работы подъемных и регулирующих механизмов комплекса;
-
- корректировка положения комплекса с учетом ограничений на управляемость, с обеспечением минимальной кривизны траектории подъема платформы.
Изучение автоматизированных комплексов скользящей опалубки указало на необходимость более детального рассмотрения вопросов тестирования их программного обеспечения. В первую очередь, это связано с высокой сложностью программного обеспечения, с его помощью решаемых задач и, как результат, большой вероятностью появления ошибок. Причем ошибки возможны как при формулировке требований к комплексу, так и в процессе написания самого программного кода. Таким образом, правильная работа автоматизированных комплексов скользящей опалубки не возможна без проведения тестирования ее программного обеспечения.
При тестировании должны отрабатываться как стандартные циклы управления опалубкой, так и проверка безопасности, надежности и устойчивости к сбоям. С технической точки зрения проведение таких тестов не возможно без их автоматизации. В данной статье рассматриваются вопросы автоматизации тестов и описывается универсальная модель построения тестовых автоматов.
Статья является результатом выполнения Московским государственным строительным университетом (МГСУ) проекта №5.1.11 (6/11) «Разработка, исследование и развитие математических методов и программно-алгоритмических средств, реализующих безопасную технологию возведения уникальных зданий и сооружений сложной архитектурной формы» тематического плана в рамках мероприятия 1 Аналитической ведомственной целевой программы «Развитие научного потенциала высшей школы (2009-2011годы)».
Автоматизация теста позволяет добиться экономической эффективности проведения тестирования за счет уменьшения работ, выполняемых разработчиками и тестировщиками скользящей опалубки. Кроме того, автоматизация теста дает возможность с наименьшими затратами времени и ресурсов воспроизвести и повторить большое число тестов, что важно при проведении регрессионного тестирования.
За последнее время для автоматизации теста были созданы различные тестовые инструментарии, ориентированные на решение конкретных задач в процессе тестирования. Так можно выделить инструментарии для создания тестовых сценариев, их администрирования и выполнения. Причем каждый из инструментариев имеет свою специфику и решает далеко не все задачи, которые необходимы в каждом конкретном случае. Для проведения тестирования автоматизированных комплексов скользящей опалубки зачастую приходится использовать несколько различных инструментариев. Многообразие применяемых инструментариев увеличивает затраты на проведение тестирования. В то же время несовместимые интерфейсы между инструментариями делают невозможным их оптимальное использование.
Если рассмотреть задачи различных тестовых инструментариев на абстрактном уровне, не вдаваясь в их специфику и особенности технических решений, то можно убедиться, что, в принципе, эти задачи совпадают. Таким образом, сгруппировав существующие задачи тестовых инструментариев, можно разработать модель тестовой системы с универсальной архитектурой [2], которая может быть использована для решения вопросов автоматизации тестирования любых комплексов скользящей опалубки.
Объект и цели тестирования. Прежде чем перейти к рассмотрению модели тестовой системы, необходимо определиться с объектом и целями тестирования. Целью тестирования является проверка правильности выполнения системных требований, а также безопасность и надежность скользящей опалубки. На основе этих целей формируются тестовые сценарии. Каждый тестовый сценарий связан с конкретным системным требованием, а каждое требование - с объектом тестирования (рис.1). Таким образом, число возможных тестовых сценариев для одного объекта тестирования бесконечно велико. Чтобы ограничить их количество, проводят оценку рисков системных требований и предопределяют методики, используемые при создании и проведении тестовых сценариев. Выбор методик и критериев оценки рисков описывается в стратегии тестирования [3].

Рис.1. Взаимосвязь между объектом тестирования и тестовыми сценариями
Как уже отмечалось ранее, в качестве объекта тестирования рассматривается программное обеспечение автоматизированных комплексов скользящей опалубки. При этом необходимо учитывать, что интерфейсы доступа к объекту тестирования изменяются в процессе разработки программного обеспечения и зависят от системных требований к скользящей опалубке и используемых мехатронных компонентов при ее реализации.
На ранних этапах разработки программное обеспечение рассматривается изолированно. Использование имитационных моделей позволяет воссоздать необходимое оборудование (окружение) скользящей опалубки и провести первые тесты контроля правильности работы программного обеспечения. Для автоматизации таких тестов используются так называемые программные интерфейсы взаимодействия процессов, которые предоставляются средой разработки имитационных моделей. Хотя имитационные модели влияют на поведение объекта тестирования, сами они рассматриваются лишь как окружение, необходимое для проведения тестирования.
В процессе разработки происходит последовательная интеграция программного обеспечения автоматизированного комплекса скользящей опалубки и ее компонентов в единую мехатрон- ную систему. В результате этого изменяются окружение и интерфейсы доступа к объекту тестирования, а именно, в качестве интерфейсов становится возможным использование информационнотехнических данных и физических величин. При этом объектом тестирования остается программное обеспечение.
Модель универсальной тестовой системы. На основе углубленного анализа целей, объекта тестирования, его окружения и обобщения задач, решаемых различными тестовыми инструментариями, была разработана модель универсальной тестовой системы для автоматизированных комплексов скользящей опалубки [4].
Тестовый автомат
Управление тестами
Выполнение и оценка тестов

Окружение ОТ
Объект тестирования (ОТ)
Рис.2. Модель универсальной тестовой системы скорость реакции
Управление тестовой средой
Стимуляция и наблюдение ОТ
Модель универсальной тестовой системы (рис.2) представляет собой пятиуровневую архитектуру. Все уровни отличаются по своей функциональности. На верхнем уровне модели решаются главным образом организационные и административные задачи, в то время как нижний уровень (окружение) находится в непосредственном контакте с объектом тестирования. Представленная модель учитывает изменение объема данных (тестовые сценарии, тестовые отчеты, план тестирования, информация о конфигурации и т.п.) и скорость их обработки. Управление тестами обычно не критично по времени, ввиду ограничений, связанных со скоростью работы человека, а стимуляция и наблюдение, напротив, напрямую зависят от времени реакции объекта тестирования. В случае автоматизированной скользящей опалубки необходимое время реакции тестовой системы лежит в области микро- и миллисекунд, что возможно достичь только за счет автоматизации тестирования.
Управление тестами. Уровень управления тестами решает задачи организационного характера и включает в себя пользовательский интерфейс для управления тестовой системой. Согласно стандарту IEEE 829 [5] уровень отвечает за планирование, подготовку и конфигурацию процесса тестирования. Сюда же относится, например, спецификация тестовых сценариев и их реализация на подходящем языке программирования или в виде тестовых скрипов. Кроме того, административные задачи включают группировку, конфигурацию и параметрирование тестовых сценариев.
Для эффективного решения задач на уровне управления тестами целесообразно использовать следующие компоненты:
-
- редактор для создания, внесения изменений, сохранения и загрузки тестовых сценариев;
-
- управление версиями тестовых сценариев, отчетов и конфигурации окружения и объекта тестирования, помогающее при проведении регрессионного тестирования;
-
- контроль за ходом тестирования, позволяющий связать проверку функциональных требований с выполнением тестовых сценариев и своевременно выявить отклонение от плана тестирования (дефицит ресурсов);
-
- оценка рисков, позволяющая расставить приоритеты в последовательности выполнения тестовых сценариев и тем самым сократить затраты времени на проведение тестирования.
Уровень управления тестами необходим не только при автоматизированном тестировании, а также может оказать значительную поддержку пользователю при тестировании вручную.
Выполнение и оценка тестов. Выполняются отдельные тестовые сценарии в соответствии с их описанием и дается оценка реакций объекта тестирования на его стимуляцию. Для этого тестовые сценарии разбиваются на отдельные шаги тестирования и передаются в тестовую среду для их непосредственного выполнения. Наблюдаемые реакции объекта тестирования протоколируются и сравниваются с заданными в тестовом сценарии ожидаемыми значениями. На основе сравнения наблюдаемого и ожидаемого поведения объекта тестирования проводится оценка и выносится результат выполнения тестового сценария (успешно либо с ошибкой). Тестовые сценарии должны быть описаны в пригодной форме для их автоматической обработки. Тестовый отчёт, включая результаты тестирования, передается затем на уровень управления тестами для администрирования.
Управление тестовой средой. На уровне выполнения и оценки тестов тестовые сценарии разбиваются на отдельные шаги. Шаг тестирования означает выработку сигнала (стимуляция), настройку компонента тестовой среды или чтение и анализ сигнала (наблюдение) объекта тестирования. Система управления отвечает за выполнение шагов тестирования за счет воздействия на компоненты тестовой среды, представленные на рис.З.

Другой важной задачей системы управления тестовой средой является отделение уровня выполнения и оценки тестов от уровней окружения объекта тестирования и его стимуляции. Последнее необходимо при проведении тестирования с учетом требований соблюдения ограничений по времени. Примером такого разделения может являться размещение системы управления тестовой средой на независимой от тестового автомата платформе для обработки данных в режиме реального времени, что, в свою очередь, требует четкого определения интерфейсов между системой управления тестовой средой и уровнем выполнения и оценки тестов.
Таким образом, задачами уровня управления тестовой средой являются: конфигурация и инициализация тестовой среды, администрирование и синхронизация работы компонентов тестовой среды, выполнение команд отдельных шагов тестирования, а также обеспечение корректной работы обмена данными между тестовым автоматом и тестовой средой. В случае сбоев, например при разрыве связи между тестовым автоматом и тестовой средой или при некорректном поведении компонентов, система управления тестовой средой должна обеспечивать принятие соответствующих контрмер.
Стимуляция и наблюдение объекта тестирования. Модель тестовой системы включает функциональный уровень стимуляции и наблюдения объекта тестирования, на котором значение переменной отдельного шага тестирования преобразуется в сигнал стимуляции объекта тестирования и, наоборот, наблюдаемый сигнал представляется в виде конкретного значения переменной. Для достижения этой цели компоненты стимуляции и наблюдения должны с достаточной гибкостью взаимодействовать с доступными интерфейсами и окружением объекта тестирования.
На рис. 3 представлены компоненты тестовой среды, реализующие следующие функции:
-
- стимуляция (С) - обеспечение программного доступа к параметрам компонентов окружения объекта тестирования для установки значений параметров имитационной модели, посылки команд объекту тестирования или для запуска генератора ШИМ-сигнала и т.п.;
-
- генерация сигналов (Г) - фактическая выработка сигналов для воздействия на объект тестирования, например, сетевого пакета данных, ШИМ-сигнала, цифрового или аналогового сигналов;
-
- возмущения и помехи (В) - воспроизводимое изменение сигнала для приближения поведения окружения объекта тестирования к реальным условиям и вызова определенных ошибок, например, при использовании заведомо неверных данных;
-
- прием сигналов (П) - прием цифровых и аналоговых сигналов;
-
- анализ сигналов (А) - преобразование цифровых и аналоговых сигналов в приемлемую форму для последующей обработки на верхних уровнях модели тестовой системы;
-
- контроль сигналов (К) - непрерывная проверка граничных значений сигналов;
-
- наблюдение (Н) - обеспечение программного доступа к параметрам компонентов окружения объекта тестирования для считывания принятых сигналов, значений переменных объекта тестирования, параметров имитационной модели и т.п.
В зависимости от этапа процесса разработки и окружения объекта тестирования к компонентам тестовой среды предъявляются различные требования.
Окружение объекта тестирования. Как уже отмечалось ранее, объектом тестирования является программное обеспечение автоматизированных комплексов скользящей опалубки. Для оценки правильности работы программного обеспечения необходима среда, которой будет выполняться имеющийся программный код. Такой средой и является окружение объекта тестирования. Компоненты, необходимые для тестирования программного обеспечения, но недоступные на момент тестирования, должны быть заменены их моделями. При помощи имитационных моделей можно воссоздать, например, сигналы отдельных мехатронных компонент автоматизированного комплекса скользящей опалубки, либо в какой-то мере воспроизвести технический процесс подъема опалубки. При этом для объекта тестирования не должно существовать отличий в обмене сигналами с реальными окружением и его тестовой средой.
Использование модели. На рис.4 представлена схема использования модели универсальной тестовой системы. Первым шагом необходимо провести системный анализ разрабатываемого комплекса скользящей опалубки с целью выявления набора задач, решаемых на программном уровне. Кроме того, необходимо выбрать, как минимум, один набор тестовых сценариев с информацией о целях тестирования (функциональность, безопасность, надежность и др.) и доступных интерфейсах окружения объекта тестирования. В результате полученная информация упрощает выбор необходимых тестовых инструментариев для создания тестовой системы. При этом, с учетом требований рассматриваемого набора тестовых сценариев, проводится адаптация и реализация необходимых инструментариев с их последующей интеграцией в универсальную тестовую систему.

Рис.4. Использование модели универсальной тестовой системы
Заключение. Испытание предложенной модели проводилось на стендах автоматизированных комплексов скользящей опалубки на различных этапах ее разработки. В качестве инструментариев использовались программные продукты и компоненты HP QualityCenter, MI LabVIEW и пр. Интеграция этих инструментариев в тестовую систему подтверждает верность представленной модели универсальной тестовой системы, ее эффективность и пригодность на практике.
Модель универсальной тестовой системы позволяет структурно описать задачи автоматизированного тестирования и тем самым упрощает поиск и использование существующих тестовых инструментариев. Таким образом, снижаются затраты и увеличивается эффективность проведения всего процесса тестирования автоматизированных комплексов скользящей опалубки.
Список литературы Автоматизация тестирования программного обеспечения автоматизированных комплексов скользящей опалубки
- Короткий Д.А. Автоматизированный комплекс на базе технологии Profibus для возведения высотных монолитных сооружений: дис. … канд. техн. наук. -М., 2005. -170 с.
- Короткий Д.А. Универсальная архитектура тестовой системы для функционального тестирования встроенного программного обеспечения мехатронных устройств/Д.А. Короткий, А.Б. Устименко, Д.В. Ренжин//Мехатроника, автоматизация, управление. -М.: Новые технологии, 2008-9. -С.29-33.
- Siller A. Systematisch zu Testfällen -anforderungsbasierte Teststrategie für Test und Absicherung von Elektrik/Elektronik/A. Siller, D. Korotkiy//Hanser Automotive, Nr. 11/2011, München: Hanser Verlag, 2011, S.48-53, ISSN 1860-5699
- Korotkiy D. Universelle Testsystem-Architektur in der Mechatronik: Dissertation zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften (Dr.rer.nat.). Institutsreihe: Informationstechnik im Maschinenwesen (itm), Band 12,/D. Korotkiy. Göttingen: Sierke Verlag, 2010, S.140, ISBN 978-3-86844-238-0
- IEEE 829-2008 Standard for Software and System Test Documentation. 2008, ISBN 978-0-7381-5747-4