ieee 1073 testing mary brady rick rivello nist [email protected] [email protected]

13
IEEE 1073 IEEE 1073 Testing Testing Mary Brady Mary Brady Rick Rivello Rick Rivello NIST NIST [email protected] [email protected] [email protected] [email protected]

Upload: isabella-pope

Post on 28-Dec-2015

230 views

Category:

Documents


0 download

TRANSCRIPT

IEEE 1073 IEEE 1073 TestingTesting

Mary BradyMary BradyRick RivelloRick Rivello

[email protected]@[email protected]@nist.gov

Medical Device Testing

Medical Device Tests Atomic Tests Attribute Get’s/Set’s Dynamic Tests Event Reporting Alarm Reporting Scanners

Medical Device Tests Atomic Tests Attribute Get’s/Set’s Dynamic Tests Event Reporting Alarm Reporting Scanners

Test Accelerator Test Definitions Datatype Support Data Value Generation

Test Accelerator Test Definitions Datatype Support Data Value Generation

Schema Definitions:

• PDU – Structure• DIM – Medical Data

IEEE Medical Device Specifications

ValidatePDU Tool:

Check messages for:- Syntax- Structure - Correct Data

Schema Files FunctionSchema Files Function

Check Data TypesCheck Data Types Ensure Range Ensure Range Check for proper XML structuresCheck for proper XML structures Check syntax of XMLCheck syntax of XML

SCHEMA FILESSCHEMA FILES ROSE.ROSE.xsdxsd DIM.DIM.xsdxsd 7.1.2COMMONDATATYPE.xsd 7.1.2COMMONDATATYPE.xsd AssociateUserInfo.xsdAssociateUserInfo.xsd Association.xsdAssociation.xsd Association_Request.xsdAssociation_Request.xsd Association_Response.xsdAssociation_Response.xsd CMIP.xsdCMIP.xsd CPR.xsdCPR.xsd MDAP-TD.xsdMDAP-TD.xsd TD.xsdTD.xsd Vent-all.xsdVent-all.xsd

ROSEROSEROIVapdu ::= SEQUENCE {ROIVapdu ::= SEQUENCE {invokeID invokeID InvokeIDType,InvokeIDType,operation-value operation-value OPERATION,OPERATION,argument argument ANY DEFINED BY operation-valueANY DEFINED BY operation-value }}

<!-- PDU definition --> <!-- PDU definition --> <xsd:element name="rOIVapdu" type="ROIVapdu"/><xsd:element name="rOIVapdu" type="ROIVapdu"/><xsd:complexType name="ROIVapdu"><xsd:complexType name="ROIVapdu"><xsd:sequence><xsd:sequence><xsd:element name="invokeID" type="InvokeIDType"/><xsd:element name="invokeID" type="InvokeIDType"/><xsd:element name="operation_value" type="OPERATION"/><xsd:element name="operation_value" type="OPERATION"/><xsd:element name="argument" type="objsys:OpenType"/><xsd:element name="argument" type="objsys:OpenType"/></xsd:sequence></xsd:sequence></xsd:complexType></xsd:complexType>

ROSE (cont)ROSE (cont)

<!-- PDU definition --><!-- PDU definition --><xsd:elementname="invokeIDType"type="InvokeIDType"/><xsd:elementname="invokeIDType"type="InvokeIDType"/><xsd:simpleType name="InvokeIDType"><xsd:simpleType name="InvokeIDType"> <xsd:restriction base="xsd:unsignedShort"/><xsd:restriction base="xsd:unsignedShort"/></xsd:simpleType></xsd:simpleType>

ROSE (cont)ROSE (cont)<xsd:element name="oPERATION" type="OPERATION"/><xsd:element name="oPERATION" type="OPERATION"/><xsd:simpleType name="OPERATION"><xsd:simpleType name="OPERATION"><xsd:union memberTypes="xsd:integer"><xsd:union memberTypes="xsd:integer"><xsd:simpleType><xsd:simpleType><!-- Named Integer Information --><!-- Named Integer Information --><xsd:annotation><xsd:annotation><xsd:appinfo><xsd:appinfo><objsys:EnumInfo><objsys:EnumInfo><objsys:EnumItem name="cmipEventReport" value="0"/><objsys:EnumItem name="cmipEventReport" value="0"/><objsys:EnumItem name="cmipConfirmedEventReport" value="1"/><objsys:EnumItem name="cmipConfirmedEventReport" value="1"/>......<objsys:EnumItem name="cmipCreate" value="8"/><objsys:EnumItem name="cmipCreate" value="8"/><objsys:EnumItem name="cmipDelete" value="9"/><objsys:EnumItem name="cmipDelete" value="9"/></objsys:EnumInfo></objsys:EnumInfo></xsd:appinfo></xsd:appinfo></xsd:annotation></xsd:annotation><xsd:restriction base="xsd:token"><xsd:restriction base="xsd:token"><xsd:enumeration value = "cmipEventReport"/><xsd:enumeration value = "cmipEventReport"/><xsd:enumeration value = "cmipConfirmedEventReport"/><xsd:enumeration value = "cmipConfirmedEventReport"/>......<xsd:enumerationvalue="cmipCreate"><xsd:enumerationvalue="cmipCreate"><xsd:enumeration value ="cmipDelete"/><xsd:enumeration value ="cmipDelete"/></xsd:restriction></xsd:restriction></xsd:simpleType></xsd:simpleType></xsd:union></xsd:union></xsd:simpleType></xsd:simpleType>

XML INSTANCE FILESXML INSTANCE FILES AS-SetOperational-State.xmlAS-SetOperational-State.xml 10.5.1.1.1.1.1.110.5.1.1.1.1.1.1 AS-SetOperational-StateConfirm.xmlAS-SetOperational-StateConfirm.xml 10.5.2.1.1.1.1.1 10.5.2.1.1.1.1.1 ASSEReportNoActiveAlerts.xmlASSEReportNoActiveAlerts.xml 10.5.3.1.1.1.1.1 10.5.3.1.1.1.1.1 ASSEReportThreeActiveAlerts.xmlASSEReportThreeActiveAlerts.xml 10.5.3.1.1.1.1.2 10.5.3.1.1.1.1.2 CCSInvokeCCSInvoke..xmlxml 10.2.1.1.1.1.1.1 10.2.1.1.1.1.1.1 CCSResult.xmlCCSResult.xml 10.2.2.1.1.1.1.1 10.2.2.1.1.1.1.1 CSOCNERConfirmation.xmlCSOCNERConfirmation.xml 10.2.4.1.1.1.1.110.2.4.1.1.1.1.1 CSOCNEReport1.xmlCSOCNEReport1.xml 10.2.3.1.1.1.1.110.2.3.1.1.1.1.1 CSOCNEReport2.xmlCSOCNEReport2.xml 10.2.3.1.1.1.1.210.2.3.1.1.1.1.2 CSOCNEReport3.xmlCSOCNEReport3.xml 10.2.3.1.1.1.1.310.2.3.1.1.1.1.3

XML INSTANCE FILES XML INSTANCE FILES (cont)(cont)

ESGAResponse.xmlESGAResponse.xml 10.3.6.1.1.1.1.210.3.6.1.1.1.1.2 ESSALRequest.xmlESSALRequest.xml 10.3.5.1.1.1.1.110.3.5.1.1.1.1.1 ESSOSConfirm.xmlESSOSConfirm.xml 10.3.2.1.1.1.1.110.3.2.1.1.1.1.1 ESSOState.xmlESSOState.xml 10.3.1.1.1.1.1.110.3.1.1.1.1.1.1 ESSSLConfirm.xmlESSSLConfirm.xml 10.3.8.1.1.1.1.1 10.3.8.1.1.1.1.1 ESSSLRequest.xmlESSSLRequest.xml 10.3.7.1.1.1.1.1 10.3.7.1.1.1.1.1 ESUSERConfirmation.xmlESUSERConfirmation.xml 10.3.4.1.1.1.1.1 10.3.4.1.1.1.1.1 ESUSEReport1.xmlESUSEReport1.xml 10.3.3.1.1.1.1.2 10.3.3.1.1.1.1.2 ESUSEReport2.xmlESUSEReport2.xml 10.3.3.1.1.1.1.3 10.3.3.1.1.1.1.3 ESUSEReportsraf.xmlESUSEReportsraf.xml 10.3.3.1.1.1.1.410.3.3.1.1.1.1.4

XML INSTANCE FILES XML INSTANCE FILES (cont)(cont)

FPS-SETOperatinal-State.xmlFPS-SETOperatinal-State.xml10.4.1.1.1.1.1.110.4.1.1.1.1.1.1

FPS-SETOperatinal-StateConfirm.xmlFPS-SETOperatinal-StateConfirm.xml10.4.2.1.1.1.1.110.4.2.1.1.1.1.1

FPSBSEReport.xmlFPSBSEReport.xml 10.4.3.1.1.1.1.1 10.4.3.1.1.1.1.1 MDS-Attribute-UpdateER.xmlMDS-Attribute-UpdateER.xml

10.1.3.1.1.1.1.110.1.3.1.1.1.1.1 MDS-Attribute-UpdateERResult.xmlMDS-Attribute-UpdateERResult.xml 10.1.4.1.1.1.1.1 10.1.4.1.1.1.1.1 MDS-GETAttributeGroups.xmlMDS-GETAttributeGroups.xml

10.1.5.1.1.1.1.1 10.1.5.1.1.1.1.1 MDS-GETAttributeGroupsResponse.xmlMDS-GETAttributeGroupsResponse.xml 10.1.6.1.1.1.1.1 10.1.6.1.1.1.1.1 Mds-Create-NotificationER.xmlMds-Create-NotificationER.xml 10.1.1 10.1.1 Mds-Create-NotificationERConfirmation.xmlMds-Create-NotificationERConfirmation.xml

10.1.2.1.1.1.1.1 10.1.2.1.1.1.1.1

XML Instance FilesXML Instance FilesTest EnvironmentTest Environment

XERCES XML Parser that validates XERCES XML Parser that validates the schema files.the schema files. XMLGrammarBuilder Java program usedXMLGrammarBuilder Java program used to validate xml instance files to validate xml instance files

against the schemas. against the schemas. ECLIPSE IDE used to run java test ECLIPSE IDE used to run java test code code ANT Tool used within ECLIPSE to runANT Tool used within ECLIPSE to run the series of tests.the series of tests.

ValidatePDU ToolValidatePDU Tool

The value 'aaa' of element 'invokeID' is not valid.'aaa' is not a valid 'integer' value

Next StepsNext Steps Determine if schema coverage is complete. Determine if schema coverage is complete. Determine if additional schema elements need Determine if additional schema elements need

toto be created.be created. Determine is schema needs to be tightened. Determine is schema needs to be tightened.

Build Demo Tool Build Demo Tool Build Test Generator based on SchemaBuild Test Generator based on Schema Determine format for testsDetermine format for tests Determine test environmentDetermine test environment