Специальный модуль 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" />
Где:
id - идентификатор теста;
on - признак “Тест включен”;
per - период повторения теста (секунд).
Кроме основных атрибутов осуществляется отражение входных параметров функций тестов на одноимённые атрибуты тега "prm". Например, атрибут "name" функции "Param" можно указать в теге "prm".
Допускается указание множества тегов "prm" для одного или разных тестов с одинаковыми или различными параметрами, указывая тем самым на отдельный запуск теста с указанными параметрами. Приведём пример описания всех доступных тестов:
Описание: Тест DAQ параметров. Вычитывает атрибуты и конфигурационные поля параметра. Параметры:
ID
Имя
Тип
Режим
По умолчанию
rez
Результат
Строка
Возврат
name
Адрес DAQ параметра
Строка
Вход
System.AutoDA.CPULoad
2. Разбор XML (XML)
Описание: Тест разбора файла XML. Парсит и отображает структуру указанного файла. Параметры:
ID
Имя
Тип
Режим
По умолчанию
rez
Результат
Строка
Возврат
file
XML файл
Строка
Вход
3. Сообщения (Mess)
Описание: Тест архива сообщения. Периодически вычитывает новые сообщения из архива, для указанного архиватора. Параметры:
ID
Имя
Тип
Режим
По умолчанию
rez
Результат
Строка
Возврат
arhtor
Архиватор
Строка
Вход
FSArch.StatErrors
categ
Шаблон категории сообщения
Строка
Вход
depth
Глубина сообщения (с)
Целый
Вход
10
4. Подключение SO (SOAttach)
Описание: Тест подключения/отключения модулей. Параметры:
ID
Имя
Тип
Режим
По умолчанию
rez
Результат
Строка
Возврат
name
Путь к модулю
Строка
Вход
mode
Режим (1-подключ.;-1-отключ.;0-изменение)
Целый
Вход
0
full
Полное подключение(при старте)
Bool
Вход
1
5. Атрибут параметра (Val)
Описание: Тест значений атрибута параметра. Выполняет периодический опрос последнего значения указанного атрибута, а также опрос архива на указанную глубину. Параметры:
ID
Имя
Тип
Режим
По умолчанию
rez
Результат
Строка
Возврат
name
Путь к атрибуту параметра
Строка
Вход
System.AutoDA.CPULoad.load
arch_len
Глубина запроса к архиву значений (с)
Целый
Вход
10
arch_per
Период запроса к архиву значений (мкс)
Целый
Вход
1000000
6. Тест БД (DB)
Описание: Полный тест БД. Выполняет:
создание/открытие БД;
создание/открытие таблицы;
создание множества записей (строк) предопределённой структуры;
модификация множества записей;
получение и проверка значений множества записей;
модификация структуры записи и таблицы;
удаление записей;
закрытие/удаление таблицы;
закрытие/удаление БД.
Параметры:
ID
Имя
Тип
Режим
По умолчанию
rez
Результат
Строка
Возврат
type
Тип БД
Строка
Вход
SQLite
addr
Адрес БД
Строка
Вход
./DATA/test.db
table
Таблица БД
Строка
Вход
test
size
Количество записей
Целый
Вход
1000
7. Транспорт (TrOut)
Описание: Тест выходных и/или входных транспортов. Выполняет тестирование исходящего транспорта путём отправления запроса к указанному входящему транспорту. Параметры:
ID
Имя
Тип
Режим
По умолчанию
rez
Результат
Строка
Возврат
addr
Адрес
Строка
Вход
TCP:127.0.0.1:10001
type
Модуль транспорта
Строка
Вход
Sockets
req
Текст запроса
Строка
Вход
8. Язык управления системой (SysContrLang)
Описание: Тест языка управления системой. Производит запрос элементов языка посредством полного пути. Полный путь к элементу языка имеет вид </Archive/%2fbd%2fm_per>. Полный путь состоит из двух вложенных путей. Первый </d_Archive/> это путь к узлу дерева контроля. Второй </bd/m_per> это путь к конкретному элементу узла. Параметры:
ID
Имя
Тип
Режим
По умолчанию
rez
Результат
Строка
Возврат
path
Путь к элементу языка
Строка
Вход
/Archive/BaseArh/mess_StatErrors/%2fprm%2fst
9. Буфер значений (ValBuf)
Описание: Тесты буфера значений. Содержит 13 тестов всех аспектов буфера значений (подсистема "Архивы"). Параметры:
ID
Имя
Тип
Режим
По умолчанию
rez
Результат
Строка
Возврат
10. Архив значений (Archive)
Описание: Тесты размещения в архиве значений. Содержит 7(8) тестов архиватора значений на проверку корректности функционирования последовательного механизма упаковки. Параметры: