From OpenSCADAWiki
Jump to: navigation, search
This page is a translated version of the page Modules/SystemTests and the translation is 100% complete.

Other languages:
English • ‎mRussian • ‎Українська
Модуль Имя Версия Лицензия Источник Языки Платформы Тип Автор Описание
SystemTests Тесты OpenSCADA и её модулей 1.8 GPL2 spec_SystemTests.so en,uk,ru,de x86,x86_64,ARM Специальные Роман Савоченко Предоставляет группу тестов для OpenSCADA и её модулей.

Модуль содержит набор тестов, предназначенных для тестирования различных подсистем и узлов OpenSCADA. Тесты выполнены в виде функций пользовательского API, следовательно их можно запускать как одноразово, во вкладке "Исполнить" страницы объекта функции, так и из пользовательских процедур, передавая в них нужные аргументы.

Для адресации к тестам можно использовать статический адрес вызова Special.SystemTests.{Test}() или динамический SYS.Special.SystemTests["{Test}"].call(), SYS.Special.SystemTests.{Test}(). Где Test — идентификатор функции в библиотеке.

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

Конфигурационные поля тестов помещаются в секцию модуля "SystemTests" подсистемы "Специальные". Формат конфигурационных полей <prm id="Test Id" on="1" per="10" />
Где:

  • id — идентификатор теста;
  • on — признак "Тест включен";
  • per — период повторения теста (секунд).

Кроме основных атрибутов осуществляется отражение входных параметров функций тестов на одноимённые атрибуты тега "prm". Например, атрибут "name" функции "Param" можно указать в теге "prm".

Допускается указание множества тегов "prm" для одного или разных тестов с одинаковыми или различными параметрами, указывая тем самым на отдельный запуск теста с указанными параметрами. Приведём пример описания всех доступных тестов:

<?xml version="1.0" encoding="UTF-8" ?>
<OpenSCADA>
    <station id="DemoStation">
        <node id="sub_Special">
            <node id="mod_SystemTests">
                <prm id="Param" on="0" per="5" name="LogicLev.experiment.F3"/>
                <prm id="XML" on="0" per="10" file="/etc/oscada.xml"/>
                <prm id="Mess" on="0" per="10" categ="" arhtor="DBArch.test3" depth="10"/>
                <prm id="SOAttach" on="0" per="20" name="../../lib/openscada/daq_LogicLev.so" mode="0" full="1"/>
                <prm id="Val" on="0" per="1" name="LogicLev.experiment.F3.var" arch_len="5" arch_per="1000000"/>
                <prm id="Val" on="0" per="1" name="System.AutoDA.CPULoad.load" arch_len="10" arch_per="1000000"/>
                <prm id="DB" on="0" per="10" type="MySQL" addr="server.diya.org;roman;123456;oscadaTest" table="test" size="1000"/>
                <prm id="DB" on="0" per="10" type="DBF" addr="./DATA/DBF" table="test.dbf" size="1000"/>
                <prm id="DB" on="0" per="10" type="SQLite" addr="./DATA/test.db" table="test" size="1000"/>
                <prm id="DB" on="0" per="10" type="FireBird" addr="server.diya.org:/var/tmp/test.fdb;roman;123456" table="test" size="1000"/>
                <prm id="TrOut" on="0" per="1" addr="TCP:127.0.0.1:10001" type="Sockets" req="time"/>
                <prm id="TrOut" on="0" per="1" addr="UDP:127.0.0.1:10001" type="Sockets" req="time"/>
                <prm id="TrOut" on="0" per="1" addr="UNIX:./oscada" type="Sockets" req="time"/>
                <prm id="TrOut" on="0" per="1" addr="UDP:127.0.0.1:daytime" type="Sockets" req="time"/>
                <prm id="SysContrLang" on="0" per="10" path="/Archive/FSArch/mess_StatErrors/%2fprm%2fst"/>
                <prm id="ValBuf" on="0" per="5"/>
                <prm id="Archive" on="0" per="30" arch="test1" period="1000000"/>
                <prm id="Base64Code" on="0" per="10"/>
            </node>
        </node>
  </station>
</OpenSCADA>

1 Параметр (Param)

Описание: "Тест DAQ параметров. Вычитывает атрибуты и конфигурационные поля параметра.
Параметры:

Идентификатор Имя Тип Режим По умолчанию
rez Результат Строка Возврат
name Адрес DAQ параметра Строка Вход System.AutoDA.CPULoad

2 Разбор XML (XML)

Описание: Тест разбора файла XML. Разбирает и отображает структуру указанного файла.
Параметры:

Идентификатор Имя Тип Режим По умолчанию
rez Результат Строка Возврат
file XML файл Строка Вход

3 Сообщения (Mess)

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

Идентификатор Имя Тип Режим По умолчанию
rez Результат Строка Возврат
arhtor Архиватор Строка Вход FSArch.StatErrors
categ Шаблон категории сообщения Строка Вход
depth Глубина сообщения, секунд Целый Вход 10

4 Подключение SO (SOAttach)

Описание: Тест подключения/отключения модуля.
Параметры:

Идентификатор Имя Тип Режим По умолчанию
rez Результат Строка Возврат
name Путь к модулю Строка Вход
mode Режим (1-подключение;-1-отключение;0-изменение) Целый Вход 0
full Полное подключение (при старте) Bool Вход 1

5 Атрибут параметра (Val)

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

Идентификатор Имя Тип Режим По умолчанию
rez Результат Строка Возврат
name Путь к атрибуту параметра Строка Вход System.AutoDA.CPULoad.load
arch_len Глубина получения архивных значений, секунд Целый Вход 10
arch_per Период получения архивных значений, микросекунды Целый Вход 1000000

6 Тест БД (DB)

Описание: Полный тест БД. Выполняет:

  • создание/открытие БД;
  • создание/открытие таблицы;
  • создание множества записей (строк) предопределённой структуры;
  • обновление множества записей;
  • обновление множества записей по ключу запроса;
  • получение и проверка значений множества записей;
  • сканирование записей;
  • сканирование записей предзагрузкой;
  • модификация структуры записи и таблицы;
  • удаление записей;
  • закрытие/удаление таблицы;
  • закрытие/удаление БД.

Параметры:

Идентификатор Имя Тип Режим По умолчанию
rez Результат Строка Возврат
type Тип БД Строка Вход SQLite
addr Адрес БД Строка Вход ./DATA/test.db
table Таблица БД Строка Вход test
size Количество записей Целый Вход 1000

7 Транспорт (TrOut)

Описание: Тест выходного и/или входного транспортов. Выполняет тестирование выходного транспорта путём отправки запроса к указанному входному транспорту.
Параметры:

Идентификатор Имя Тип Режим По умолчанию
rez Результат Строка Возврат
addr Адрес Строка Вход TCP:127.0.0.1:10001
type Модуль транспорта Строка Вход Sockets
req Текст запроса Строка Вход

8 Язык управления программой (SysContrLang)

Описание: Тест языка управления программой. Производит запрос элементов языка посредством полного пути. Полный путь к элементу языка имеет вид "/Archive/%2fbd%2fm_per". Полный путь состоит из двух вложенных путей. Первый "/Archive/" это путь к узлу дерева контроля. Второй "/bd/m_per" это путь к конкретному элементу узла.
Параметры:

Идентификатор Имя Тип Режим По умолчанию
rez Результат Строка Возврат
path Путь к элементу языка Строка Вход /Archive/BaseArh/mess_StatErrors/%2fprm%2fst

9 Буфер значений (ValBuf)

Описание: Тесты буфера значений. Содержит 13 тестов всех аспектов буфера значений (подсистема "Архивы-История").
Параметры:

Идентификатор Имя Тип Режим По умолчанию
rez Результат Строка Возврат

10 Архив значений (Archive)

Описание: Тест размещения в архиве значений. Содержит 7(8) тестов архиватора значений на проверку корректности функционирования последовательного механизма упаковки.
Параметры:

Идентификатор Имя Тип Режим По умолчанию
rez Результат Строка Возврат
arch Архив значений Строка Вход
period Период значений, микросекунды Целый Вход 1000000
archtor Архиватор Строка Вход

11 Base64 кодирование (Base64Code)

Описание: Тесты кодирования Mime Base64 алгоритмом.
Параметры:

Идентификатор Имя Тип Режим По умолчанию
rez Результат Строка Возврат