Модуль | Имя | Версия | Лицензия | Источник | Языки | Платформы | Тип | Автор | Описание |
---|---|---|---|---|---|---|---|---|---|
SystemTests | Тесты OpenSCADA и её модулей | 1.5 | GPL2 | spec_SystemTests.so | en,uk,ru,de | x86,x86_64,ARM | Специальные | Роман Савоченко | Предоставляет группу тестов для OpenSCADA и её модулей. |
Специальный модуль "SystemTests" содержит набор тестов, предназначенных для тестирования различных подсистем и узлов 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" />
Где:
Кроме основных атрибутов осуществляется отражение входных параметров функций тестов на одноимённые атрибуты тега "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>
Описание: Тест DAQ параметров. Вычитывает атрибуты и конфигурационные поля параметра.
Параметры:
ID | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
name | Адрес DAQ параметра | Строка | Вход | System.AutoDA.CPULoad |
Описание: Тест разбора файла XML. Парсит и отображает структуру указанного файла.
Параметры:
ID | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
file | XML файл | Строка | Вход |
Описание: Тест архива сообщений. Периодически вычитывает новые сообщения из архива, для указанного архиватора.
Параметры:
ID | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
arhtor | Архиватор | Строка | Вход | FSArch.StatErrors |
categ | Шаблон категории сообщения | Строка | Вход | |
depth | Глубина сообщения, с | Целый | Вход | 10 |
Описание: Тест подключения/отключения модулей.
Параметры:
ID | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
name | Путь к модулю | Строка | Вход | |
mode | Режим (1-подключ.;-1-отключ.;0-изменение) | Целый | Вход | 0 |
full | Полное подключение(при старте) | Bool | Вход | 1 |
Описание: Тест значений атрибута параметра. Выполняет периодический опрос последнего значения указанного атрибута, а также опрос архива на указанную глубину.
Параметры:
ID | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
name | Путь к атрибуту параметра | Строка | Вход | System.AutoDA.CPULoad.load |
arch_len | Глубина запроса к архиву значений, с | Целый | Вход | 10 |
arch_per | Период запроса к архиву значений, мкс | Целый | Вход | 1000000 |
Описание: Полный тест БД. Выполняет:
Параметры:
ID | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
type | Тип БД | Строка | Вход | SQLite |
addr | Адрес БД | Строка | Вход | ./DATA/test.db |
table | Таблица БД | Строка | Вход | test |
size | Количество записей | Целый | Вход | 1000 |
Описание: Тест выходных и/или входных транспортов. Выполняет тестирование исходящего транспорта путём отправления запроса к указанному входящему транспорту.
Параметры:
ID | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
addr | Адрес | Строка | Вход | TCP:127.0.0.1:10001 |
type | Модуль транспорта | Строка | Вход | Sockets |
req | Текст запроса | Строка | Вход |
Описание: Тест языка управления программой. Производит запрос элементов языка посредством полного пути. Полный путь к элементу языка имеет вид "/Archive/%2fbd%2fm_per". Полный путь состоит из двух вложенных путей. Первый "Archive" это путь к узлу дерева контроля. Второй "/bd/m_per" это путь к конкретному элементу узла.
Параметры:
ID | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
path | Путь к элементу языка | Строка | Вход | /Archive/BaseArh/mess_StatErrors/%2fprm%2fst |
Описание: Тесты буфера значений. Содержит 13 тестов всех аспектов буфера значений (подсистема "Архивы").
Параметры:
ID | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат |
Описание: Тесты размещения в архиве значений. Содержит 7(8) тестов архиватора значений на проверку корректности функционирования последовательного механизма упаковки.
Параметры:
ID | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
arch | Архив значений | Строка | Вход | |
period | Период значений, мкс | Целый | Вход | 1000000 |
archtor | Архиватор | Строка | Вход |
Описание: Тесты кодирования Mime Base64 алгоритмом.
Параметры:
ID | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат |