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 • ‎российский • ‎українська
Модуль Ім'я Версія Ліцензія Джерело Мови Платформи Тип Автор Опис
SystemTests Тести OpenSCADA та її модулів 1.7 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 Повне підключення (на старті) Логічний Вхід 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 Результат Рядок Повернення