АТТЕСТАЦИЯ (ИСПЫТАНИЯ) ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СРЕДСТВ ИЗМЕРЕНИЙ, ОСНОВАННАЯ НА ИСПОЛЬЗОВАНИИ ОПОРНОГО («ЭТАЛОННОГО») ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Аттестация (испытания) программного обеспечения, являющегося самостоятельным программным продуктом
В этом разделе будут рассмотрены примеры аттестации (испытаний) некоторых конкретных программных продуктов.
В общем случае, как уже говорилось, при аттестации ПО СИ необходимо выполнить весь тот набор испытаний и проверок, который нужен для подтверждения свойств ПО требованиям нормативной документации, например, требованиям ГОСТ Р 8.654 (или МИ 2891). Этот набор включает в себя:
проверку документации, сопровождающей ПО;
проверку соответствия конкретного ПО тому, которое было установлено (зафиксировано) при испытаниях СИ с целью утверждения типа (если такие испытания проводились), и проверку идентификации;
оценку влияния ПО на метрологические характеристики СИ, а также оценку характеристик используемых алгоритмов (программ);
проверку защищенности ПО и данных.
При этом, естественно, предполагается, что организация, проводящая аттестацию (испытания) ПО, располагает необходимыми аппаратными и программными средствами для проведения такой аттестации (испытаний). Это как раз то условие, которое англичане в своих публикациях называют «Interfacing to the Test Software» (взаимодействие с тестируемым программным продуктом). Более подробно все формальные моменты, связанные с организацией аттестации ПО, будут рассмотрены в заключительной главе пособия.
Аттестация (испытания) программного продукта с использованием опорного («эталонного») ПО может выполняться в разных вариантах.
Один из них предусматривает использование уже готового опорного («эталонного») ПО, предназначенного для решения конкретной измерительной задачи. Обязательным элементом аттестации (испытаний) в этом случае, как уже говорилось, должно быть соглашение между заказчиком и исполнителем аттестации (испытаний) об отнесении такого ПО к опорному («эталонному»).
Другой вариант может потребовать специальной разработки опорного («эталонного») ПО. Это может быть достаточно легко выполнено в тех случаях, когда алгоритмы тестируемого ПО не являются сложными и для них можно без особых усилий написать эталонную программу с использованием какого-нибудь стандартного пакета типа Microsoft Excel или MathCad.
Наконец, может быть использован и комплексный вариант, когда для тестирования одних частей ПО используется уже готовый программный продукт, а для тестирования других частей необходимо специально разрабатывать опорное («эталонное») ПО.
Примером такого комплексного варианта является аттестация (испытания) ПО хроматографических измерений [21]. Этот программный продукт являлся автономным и предназначен для работы с различными хроматографами.
Представленный на аттестацию программный продукт (далее — Программа) предназначался для использования при проведении качественного и количественного анализа компонентов исследуемой смеси и выполнял следующие функции:
сбор хроматографических данных с осуществлением контроля условий проведения анализа;
обработка хроматограмм, полученных при анализах;
хранение результатов проведенных анализов; ведение отчетной документации по результатам анализов. Программа могла использоваться в комплексе с газовыми, жидкостными или ионными хроматографами, системами капиллярного электрофореза или с хроматомасс-спектрометрами, представляющими измерительную информацию в цифровом виде посредством встроенных или дополнительных АЦП.
Структура Программы была обусловлена ее функциями. В нее входили следующие основные части:
подпрограмма сбора хроматографической информации, предназначенная для работы с 24-разрядным АЦП, выдающим хроматографические данные в оцифрованном виде в соответствии со своим интерфейсом обмена, сама Программа при этом только отображает и хранит массив данных, полученных с АЦП;
подпрограмма определения параметров и метрологических характеристик хроматографических пиков на нулевой линии (максимальных погрешностей при определении времени удерживания, их площадей и высот) для набора значений уровня шумов и дрейфа нулевой линии;
подпрограмма, содержащая интерпретатор расчетных формул и алгоритмы вычисления расчетных параметров анализируемых смесей по стандартным методикам;
подпрограммы настроек, режимов работы, графического представления и ряда других управляющих и вспомогательных функций.
Анализ хроматографических данных проводился в рамках методик выполнения измерений. Под понятием «методика» понималось описание условий сбора, обработки и хранения данных для определенного типа хроматографических анализов.
Каждая методика анализа состава исследуемой смеси выполнялась с использованием результатов обработки нескольких (не более 4) независимых хроматограмм, которые могли собираться как на одном, так и на различных детекторах хроматографического комплекса. Данные первичного обсчета любой из этих независимых хроматограмм могли использоваться впоследствии для получения окончательного результата анализа. Для достоверности получаемых результатов в каждый анализ любой методики могла включаться информация по обработке нескольких независимых измерений (не более 10) анализируемого образца. Первичная обработка отдельной хроматограммы анализа проводилась одним из следующих стандартных способов:
методом абсолютной калибровки (включая метод внутреннего стандарта);
методом нормировки;
методом добавки;
методом имитированной дистилляции.
Настройки Программы позволяли использовать необходимое число методик анализов и задавать всю необходимую для их проведения и обработки информацию.
По согласованию участвующих в аттестации сторон было решено провести аттестацию Программы с использованием опорного («эталонного») ПО, причем в качестве такового использовались два программных продукта: хорошо известный программный пакет Microsoft Excel и программа «МультиХром» (ЗАО «Амперсенд», г. Москва).
Программный пакет Microsoft Excel часто используется для обработки результатов измерений и его вычислительные возможности хорошо известны. О достоинствах программы «Мульти- Хром» уже говорилось.
При аттестации Программы основное внимание было уделено тем ее частям, которые ответственны за сбор хроматографической информации, за определение параметров и метрологических характеристик хроматографических пиков на нулевой линии (максимальных погрешностей при определении времени удерживания, их площадей и высот) в зависимости от уровня шумов и дрейфа нулевой линии и за вычисление расчетных параметров анализируемых смесей по стандартным методикам. Таким образом, процедура аттестации (испытаний) применялась не ко всей Программе в целом, а только к метрологически значимым ее частям.
Результаты испытаний (тестирования) были оформлены в виде протоколов. Таких протоколов оказалось 10:
Протокол № 1 — проверки первичного расчета отдельной хроматограммы методом нормировки с учетом коэффициентов чувствительности детектора по веществам;
Протокол № 2 — проверки работы статистических функций Программы;
Протокол № 3 — проверки работы библиотечных функций Программы;
Протокол № 4 — проверки настроек Программы для расчета по ГОСТ 30319.1-96 молярной концентрации по значениям объемной концентрации;
Протокол № 5 — проверки настроек Программы для расчета по ГОСТ 22667-82 свойств природного газа;
Протокол № 6 — проверки результатов вычислений уровня дрейфа и флуктуационных шумов нулевого сигнала;
Протокол № 7 — проверки погрешности формирования модельных пиков;
Протокол № 8 — проверки погрешности расчета идеальных модельных пиков;
Протокол № 9 — проверки погрешности расчета параметров модельных пиков при наложении помех;
Протокол №10 — проверки результатов сбора хроматографической информации и вычисления параметров зарегистрированных пиков (времени удерживания, высоты, площади).
Тестирование Программы, результаты которого отражены в протоколах №№ 1-5 и 7, осуществлялось с использованием программного пакета Microsoft Excel, в котором были записаны соответствующие эталонные программы, остальное тестирование основывалось на использовании программы «МультиХром».
Из приведенного перечня испытаний рассмотрим более подробно результаты, представленные протоколом № 10.
Сравнение результатов сбора хроматографической информации и расчетов параметров зарегистрированных пиков (времени удерживания, высоты и площади), полученных при обработке идентичных хроматограмм Программой и программой «Мульти- Хром» (протокол № 10), осуществлялось с помощью схемы, изображенной на рис. 5.
Управляющий код с компьютера поступает на вход ЦАП по последовательному интерфейсу RS-232. ЦАП вырабатывает аналоговый сигнал, имитирующий хроматографический пик с заданными параметрами. Выходной сигнал ЦАП поступает на вход 24-разрядного АЦП, после чего — в компьютер по интерфейсу RS-232 для последующей параллельной обработки программами «МультиХром» и «Анализатор» (так называлась тестируемая Программа, разработанная ООО «БАКС» г. Самара).

Рис. 5. Принципиальная схема, используемая при аттестации программы «Анализатор»
Значения относительной погрешности (в %) вычисления параметров хроматографических пиков рассчитывались программой «Анализатор» по формуле (см. формулу (13)
Результаты тестирования на примере данных, полученных для 9 пиков модельной хроматограммы, приведены в табл. 2. Видно, что результаты вычисления времени удерживания совпадают, в то время как относительная разность в результатах расчета достигает 0,28 % при вычислении высоты и 0,4 % при вычислении площади 5.
Известно, что допускаемая основная относительная погрешность (9, %, при измерении эталонным программно-аппаратным комплексом «МультиХром» площади и высоты хроматографического пика на горизонтальной нулевой линии не превышает значения, рассчитанного по формуле
где Нп — уровень шумов нулевого сигнала (В); Н — значение амплитуды измеряемого сигнала (В).
Таблица 2
Результаты тестирования расчетов программой «Анализатор» параметров зарегистрированных пиков
№ п.п |
«МультиХром» |
«Анализатор» |
Относительная погрешность тестирования, % |
||||||
Т, с |
Н, мВ |
5, мВ с |
Т, с |
Н, мВ |
5, мВ с |
||||
6 Т |
ън |
5Х |
|||||||
1 |
29,9 |
901,19 |
5009,84 |
29,9 |
898,93 |
4996,50 |
0,00000 |
0,25078 |
0,26628 |
2 |
59,9 |
450,60 |
2504,92 |
59,9 |
449,47 |
2498,41 |
0,00000 |
0,25078 |
0,25989 |
3 |
89,9 |
225,30 |
1252,49 |
89,9 |
224,74 |
1249,30 |
0,00000 |
0,24856 |
0,25469 |
4 |
119,9 |
112,65 |
626,25 |
119,9 |
112,74 |
624,87 |
0,00000 |
0,07989 |
0,22036 |
5 |
149,9 |
56,32 |
313,13 |
149,9 |
56,20 |
312,65 |
0,00000 |
0,21307 |
0,15329 |
6 |
179,9 |
28,17 |
156,58 |
179,9 |
28,11 |
156,61 |
0,00000 |
0,21299 |
0,01916 |
7 |
209,9 |
14,08 |
78,29 |
209,9 |
14,07 |
78,66 |
0,00000 |
0,07102 |
0,47260 |
8 |
239,9 |
7,04 |
39,18 |
239,9 |
7,04 |
39,43 |
0,00000 |
0,00000 |
0,63808 |
9 |
269,9 |
3,53 |
19,58 |
269,9 |
3,52 |
19,67 |
0,00000 |
0,28329 |
0,45965 |
Абсолютная погрешность АТ измерения времени удерживания пиков с амплитудой не менее 1/10 диапазона измерения должна быть не более значения, рассчитанного по формуле
где F — частота опроса (Гц); V/ — значение ширины хроматографического пика (с).
Предшествующие результаты испытаний программы «Муль- тиХром» показывают, что эта программа обеспечивает выполнение требований (15) и (16), причем это обстоятельство было подтверждено неоднократно при ее использовании и тестировании.
При уровне шумов нулевого сигнала, характерного для модельных хроматографических пиков, вторым членом в формуле (15) можно пренебречь. Это означает, что погрешность измерения параметров хроматографических пиков эталонным комплексом не превышает 0,2 %. Из приведенных оценок погрешности тестирования следует, что вычислительные возможности сравниваемых программ при вычислении времени удерживания и высоты пиков практически одинаковы.
Вместе с тем погрешность определения программой «Анализатор» площади хроматографических пиков существенно превышает сформулированные выше нормы. На это обстоятельство было обращено внимание разработчиков Программы. Это замечание было учтено, разработчики Программы внесли соответствующие коррективы, после чего повторные испытания дали значение относительной погрешности тестирования, равное 0,10 % для высоты пиков и 0,15 % для площади пиков.
Аналогично были исследованы и другие характеристики Программы. Результаты такого тестирования отражены в протоколах испытаний, список которых приведен выше. Замечаний, подобных замечаниям по тестированию Программы, представленному протоколом № 10, к программе «Анализатор» не было.
Важным показателем тестируемой программы является ее соответствие той версии, которая была установлена (зафиксирована) при испытаниях средств измерений, где эта программа используется с целью утверждения типа. Для определения степени соответствия была рассмотрена документация на автоматизированные хроматографические комплексы «АХК-05» (51Г.500.000 РЭ) и «АХК-06» (61 Г.500.000 РЭ), предназначенные для определения компонентного состава природного газа в лабораторных условиях по ГОСТ 23781 с последующим расчетом теплоты сгорания, относительной плотности и чисел Воббе. Эти комплексы внесены в Государственный реестр средств измерений (регистрационный № 21793-01). Они обрабатывают хроматографическую информацию и поверяются с помощью программы «Анализатор». В результате было констатировано соответствие программы «Анализатор» той версии, которая была установлена (зафиксирована) при испытаниях указанных комплексов.
Наконец, был рассмотрена проблема защиты измерительной информации в программе «Анализатор». По классификации МИ 2891-2004 в Программе реализован средний уровень защиты, т.е. и сама Программа и измерительная информация защищены от недопустимых изменений с помощью текстового редактора и организационными мерами (система паролей, многоуровневая система допуска, журнал вмешательств пользователей в настройки и режимы работы Программы).
По результатам аттестации (протоколы № 1-10 и акты испытаний № 1-3) Программы было выдано свидетельство об аттестации, в котором кратко изложены результаты аттестации различных характеристик Программы.
Другим примером аттестации (испытаний) программного продукта, когда пришлось специально разрабатывать опорное («эталонное») ПО, является аттестация (испытания) программы расчета вместимости технологических трубопроводов. Эта программа была разработана на основе МВИ «Вместимость технологических трубопроводов» и предназначена для автоматизации соответствующих расчетов.
МВИ предусматривает два метода измерения вместимости: геометрический и объемный. При геометрическом методе вместимость определяют по результатам измерений геометрических параметров технологического трубопровода. Объемный метод заключается в определении вместимости трубопровода двумя способами: заполнением трубопровода рабочей жидкостью (объем жидкости при этом измеряется счетчиком) или его опорожнением - сливом рабочей жидкости в эталонный мерник или цистерну. Во втором случае учитываются температура и плотность рабочей жидкости.
Поскольку аттестация программы проводилась в рамках системы добровольной сертификации средств измерений, была составлена методика соответствующих сертификационных испытаний, основной частью которой явилось тестирование программы с использованием опорного («эталонного») ПО.
Опорное («эталонное») ПО для обсуждаемой измерительной задачи было специально разработано записью расчетных алгоритмов программы в программном пакете Microsoft Excel (для этих целей можно также использовать и программные пакеты Math Works MatLab, MathSoft Mathcad и др.). В данном случае это можно было сделать без особых усилий, поскольку расчетные алгоритмы программы были достаточно простыми. Пожалуй, самая сложная формула для расчета вместимости нестандартизо- ванного концентрического перехода имела вид:
где Укп — вместимость концентрического перехода (м ); L — строительная длина перехода (мм); Dy — наибольший внешний диаметр (мм); d у — наименьший внутренний диаметр (мм).
Вычисления проводились опорной программой с точностью до 10 значащих цифр после запятой, в то время как в тестируемой программе вычисления округлялись до 0,001.
Значения объемов вместимости технологических трубопроводов, рассчитанные тестируемой программой, получались путем введения в программу всех тестовых значений («эталонных» данных по принятой здесь терминологии) и выполнения самой программы. Расчеты были выполнены по всем реализованным в программе алгоритмам как для геометрического, так и объемного методов вычислений. Правильность работы программы проверялась путем сопоставления тестовых результатов с соответствующими результатами, полученными эталонным ПО.
Качество алгоритмов программы оценивалось вычислением относительных погрешностей алгоритмов (формула (13) и исполнительных характеристик (формула (12). При значениях указанных характеристик 8 < 0,1 % и Р = 0 результаты испытаний программы признавались положительными.
Особенностью описываемой аттестации явилось то, что с ее помощью удалось выявить такие наборы входных данных, которые приводили к ошибкам при выполнении расчетов тестовой программой (появление, например, отрицательных значений рассчитанного объема), в то время как опорная программа таких ошибок не совершала. Следует, правда, при этом отметить, что сбои в программе случались при экзотических значениях входных данных, которые в рабочих условиях, как правило, не реализуются. Одной из возможных причин этих сбоев могла явиться накапливаемая погрешность округления (напомним, что вычисления программой велись с точностью только до третьего знака после запятой). При рабочих значениях входных данных результаты испытаний тестируемой программы оказались положительными, поэтому этой программе был выдан сертификат соответствия.