ГОСТ Р 8.883-2015. Национальный стандарт Российской Федерации. Государственная система обеспечения единства измерений. Программное обеспечение средств измерений. Алгоритмы обработки, хранения, защиты и передачи измерительной информации. Методы испытаний
6.4. Проверка структуры программного обеспечения
6.4.1 Под проверкой структуры ПО понимают:
- проверку отсутствия недопустимого влияния на метрологически значимую часть ПО и данные, осуществляемого через интерфейс пользователя;
- проверку отсутствия недопустимого влияния на метрологически значимую часть ПО и данные, осуществляемого через интерфейсы связи;
- проверку правильности взаимодействия между метрологически значимой и незначимой частями ПО.
6.4.2 Проверка отсутствия недопустимого влияния на метрологически значимую часть ПО и данные, осуществляемого через интерфейс пользователя
6.4.2.1 Анализом документации на ПО убеждаются в том, что она включает в себя:
- полный перечень всех команд интерфейса пользователя вместе с изложением способа их организации (меню, пункты меню и т.д.);
- описание их назначения и воздействия на функции СИ и/или данные.
6.4.2.2 Проведением тестирования (функциональных проверок) всех команд интерфейса пользователя ПО СИ убеждаются в их соответствии описанным в документации. Проверяют однозначное назначение каждой команды для инициирования функции или изменения данных в соответствии с представленной документацией.
6.4.2.3 С помощью тестирования (функциональных проверок) убеждаются в том, что команды и данные, введенные через интерфейс пользователя ПО СИ, не оказывают влияние на достоверность результатов измерений. При этом проверяют:
- возможность обнаружения программным обеспечением СИ неправильно введенных через интерфейс пользователя данных (например, данных, превышающих установленные ограничения) и выдачу соответствующего предупреждения;
- невозможность изменения значений параметров ПО СИ, участвующих в вычислениях и влияющих на результат измерений, с помощью команд и данных, вводимых через интерфейс пользователя во время проведения измерений;
- невозможность искажения значений измеренных данных, хранящихся в памяти СИ, с помощью команд и данных, вводимых через интерфейс пользователя.
6.4.2.4 Проверкой исходного кода ПО и/или запросом у заявителя испытаний декларации об отсутствии недокументированных возможностей ПО СИ убеждаются в отсутствии недокументированных команд интерфейса пользователя, оказывающих влияния на функции метрологически значимой части ПО СИ и данные.
6.4.2.5 С помощью визуального осмотра и анализа элементов, находящихся внутри корпуса СИ, убеждаются в отсутствии устройств, не описанных в документации на СИ, способных быть частью интерфейса пользователя и оказывать влияние на функции метрологически значимой части ПО СИ, данные или команды интерфейса пользователя (переключатели, свободные контакты на печатной плате и т.д.).
6.4.2.6 В тех случаях, когда проводят испытания сложных измерительных систем или систем, используемых при коммерческих расчетах, или когда к этим системам предъявляются исключительные требования по безопасности и надежности их функционирования, проверку отсутствия недопустимого влияния на метрологически значимую часть ПО и данные, осуществляемого через интерфейс пользователя ПО СИ, дополнительно проводят при помощи анализа его исходного кода.
6.4.3 Проверка отсутствия недопустимого влияния на метрологически значимую часть ПО и данные, осуществляемого через интерфейсы связи
6.4.3.1 Анализом документации на ПО убеждаются в том, что она включает в себя:
- полный перечень всех интерфейсов связи, используемых ПО СИ (например, RS-232, USB и т.п.);
- полный перечень команд каждого интерфейса связи вместе с изложением способа их организации;
- описание их назначения и воздействия на функции СИ и/или данные.
6.4.3.2 Проведением тестирования (функциональных проверок) всех команд интерфейсов связи, используемых ПО СИ, убеждаются в их соответствии описанным в документации. Проверяют однозначное назначение каждой команды для инициирования функции или изменения данных в соответствии с представленной документацией.
6.4.3.3 С помощью тестирования (функциональных проверок) убеждаются, что команды и данные, переданные через интерфейсы связи, не оказывают влияние на достоверность результатов измерений СИ. При этом проверяют:
- возможность обнаружения программным обеспечением СИ неправильно переданных через интерфейсы связи данных (например, данных, превышающих установленные ограничения);
- невозможность изменения значений параметров ПО СИ, участвующих в вычислениях и влияющих на результат измерений, с помощью команд и данных, переданных через интерфейсы связи во время проведения измерений;
- невозможность искажения значений измеренных данных, хранящихся в памяти СИ, с помощью команд и данных, переданных через интерфейсы связи.
6.4.3.4 Проверяют, что недокументированные как команды сигналы или коды, переданные через интерфейсы связи, не оказывают влияние на функции метрологически значимой части ПО СИ и данные.
6.4.3.5 Проверяют, что команды, передаваемые (получаемые) через интерфейсы связи метрологически незначимой частью ПО СИ, не искажают команды и данные, передаваемые (получаемые) через интерфейсы связи метрологически значимой частью ПО СИ.
6.4.3.6 В том случае, когда в ПО СИ использована часть интерфейсов связи СИ (например, в случае СИ на основе универсального компьютера), проверяют, что сигналы или коды, переданные через неиспользуемые интерфейсы связи, не оказывают влияние на функции метрологически значимой части ПО СИ и данные.
6.4.3.7 Проверяют, что ПО, использующее интерфейс связи СИ для передачи (получения) команд и данных метрологически значимой части ПО СИ (например, ПО, разработанное организацией - разработчиком (производителем) СИ и используемое для обновления ПО), прошло подтверждение соответствия в установленном порядке.
6.4.3.8 С помощью визуального осмотра и анализа элементов, находящихся внутри корпуса СИ, убеждаются в отсутствии устройств, не описанных в документации на СИ, способных быть частью интерфейсов связи и оказывать влияние на функции метрологически значимой части ПО СИ, данные или команды интерфейсов связи.
6.4.3.9 В тех случаях, когда проводят испытания сложных измерительных систем или систем, используемых при коммерческих расчетах, или когда к этим системам предъявляются исключительные требования по безопасности и надежности их функционирования, проверку отсутствия недопустимого влияния на метрологически значимую часть ПО и данные, осуществляемого через интерфейсы связи, дополнительно проводят при помощи анализа его исходного кода.
6.4.4 Проверка правильности взаимодействия между метрологически значимой и незначимой частями программного обеспечения
6.4.4.1 Тестированием (функциональными проверками) убеждаются в том, что обмен данными между метрологически значимой и незначимой частями ПО СИ проходит через защищенный интерфейс. Проверяют однозначное назначение каждого набора команд, переданного через защищенный интерфейс, для инициирования функции или изменения данных в метрологически значимой части ПО СИ в соответствии с представленной документацией.
6.4.4.2 Проверяют, что все взаимодействия между метрологически значимой и незначимой частями ПО СИ и прохождение данных не оказывают искажающее воздействие на метрологически значимую часть ПО и данные.
6.4.4.3 Убеждаются в том, что взаимодействия между метрологически значимой и незначимой частями ПО СИ, не описанные в документации, не оказывают влияния на метрологически значимую часть ПО СИ и данные.
6.4.4.4 В тех случаях, когда проводят испытания сложных измерительных систем или систем, используемых при коммерческих расчетах, или когда к этим системам предъявляются исключительные требования по безопасности и надежности их функционирования, проверку правильности взаимодействия между метрологически значимой и незначимой частями ПО дополнительно проводят при помощи анализа его исходного кода.
6.4.5 Сведения об отсутствии недопустимого влияния на метрологически значимую часть ПО и данные, осуществляемого через интерфейс пользователя, об отсутствии недопустимого влияния на метрологически значимую часть ПО и данные, осуществляемого через интерфейсы связи, о правильности взаимодействия между метрологически значимой и незначимой частями ПО вносят в протокол испытаний.