IEC61850实现方案和测试-1作为介绍实现方案和测试的第二篇文章,后续会继续更新,欢迎关注。
UCA详细测试用例下载:
链接: https://pan.baidu.com/s/1TTMlYRfzKITgrkWwwtcrDg 提取码: wrwx
本篇主要介绍IEC61850的UCA测试用例,该篇主要介绍对服务器server的测试用例。
1、应用关联测试用例
sAss1,配置好正确的连接和认证参数,建立连接,释放链接,重复建立和释放链接250次
sAss2,配置好正确的连接和认证参数,建立连接,中断链接,重复建立和中断链接250次
sAss3,配置好正确的连接和认证参数,建立 max个连接,释放max个链接,重复建立和释放max个链接250次
sAss4,主要测试协商参数
sAssN1,server开启认证服务,配置错误的认证参数建立连接失败,server关闭认证服务,错误的认证参数建立连接成功
sAssN2,配置正确的认证参数请求连接成功,释放也成功,分别配置如下不正确的认证参数
• called / calling transport selector
• called / calling session selector
• called / calling presentation selector
• called / calling AP title
• called / calling AE qualifier
建立连接失败
sAssN3,测试支持同时连接的最大个数,配置正确的认证参数,建立n个连接,直到建立链接失败,重复250次
sAssN4,测试连接超时和超时检测,配置正确的认证参数,建立连接,读一个数据,client等待数倍超时时间,等待server发送keep alive心跳,确认超时时间,
断开网络连接时间长于连接检测时间在恢复网络,通过向之前建立的连接发送一个请求数据的命令,server不会应答,检测server已经检测到连接丢失
再次建立max个连接,释放max个连接
sAssN5,电源中断,配置正确的认证参数请求连接成功,中断电源供电,等待server断电,恢复供电,经过上电时间后,client再次请求建立连接,连接成功
sAssN6,测试释放的连接资源可重用,client1建立max个连接成功,然后释放1个连接,使用client2 建立连接,可以成功;断开client2的网络,大于超时时间,在恢复网络
,client2重新建立连接成功,请求数据也成功
2、模型和数据服务
sSrv1,获取服务目录测试,client建立连接成功,请求GetServerDirectory,server响应成功(包含逻辑设备的列表),继续sSrv2测试
sSrv2,获取逻辑设备目录测试,对sSrv1返回的每个逻辑设备请求GetLogicalDeviceDirectory,server响应成功(包含逻辑节点的列表),继续sSrv3测试
sSrv3,获取逻辑节点目录测试,对sSrv2返回的每个逻辑节点请求GetLogicalNodeDirectory,server响应成功(包含数据对象的列表),继续sSrv4测试
sSrv4,获取数据对象目录测试,对sSrv3返回的每个数据对象请求GetDataDirectory、GetDataDefinition、GetDataValues,server对各个请求响应成功
sSrv5,对数据分层进行读数据测试,至少读取如下数据
• Functional constrained data: LLN0$ST$Beh
• Functional constrained data attribute: LLN0$ST$Beh$stVal
• Functional constrained data attribute type attribute
sSrv6,设置数据测试
对功能约束为 FC=ST, MX or EX的数据对象发送当前值的设置请求,server应答为response- with data access error “object-access-denied”
对功能约束为 FC=BL, CF ,SP or DC的数据对象发送当前值的设置请求(写使能类型数据对象),只读数据回复response-,写使能回复response+(只读标志为valKind=”RO,写使能标志为valKind="Set”或者为设置),设置新值并读出对比
sSrv7,测试设置数据时最大数据对象个数
sSrv8,测试获取全部数据,针对每个逻辑节点和支持的功能约束fc,client发送获全部取数据值(至少包含一个FC=ST, MX, CF, SP, DC, EX, BL, OR)
对于每个逻辑节点,使用数据对象引用(<IED><LD>/<LN>$<FC>)的方式发送获全部取数据值
sSrv9,测量值含义测试
sSrv10,单点和双点信息含义测试
sSrv11,闭锁测试,针对支持blkEna的数据对象进行测试,当blkEna为真时,即使通过模拟器改变过程值,该闭锁对象的数据也不会变化,当blkEna为假时,通过模拟器改变过程值,该闭锁对象的数据会变化
sSrv12,mode测试, off, test and/or blocked
mode=off,请求mode、behaviour,health和过程值,mode和behaviour值更新,过程值品质为无效
mode=test,请求mode、behaviour,health和过程值,mode和behaviour值更新,过程值品质为test
mode=test/blocked,请求mode、behaviour,health和过程值,mode和behaviour值更新,过程值品质为test
mode=blocked,请求mode、behaviour,health和过程值,mode和behaviour值更新,过程值品质保持mode=on时的状态
mode=on,请求mode、behaviour,health和过程值,mode和behaviour值更新,过程值品质的值被clear
Mod、Beh、Health不是过程值,他们的品质总是validity=good
sSrv13,逻辑设备层次测试,引用一个不是无线循环的引用,引用格式GrRef.setSrcRef value in SCL is: “@<LDevice.inst>” or “<IED.name><LDevice.inst>” and in the online datamodel:
“<IED.name><LDevice.inst>” or <LDevice.ldName>
在mod的上级请求GetDataValues所有下层级数据,server响应成功
sSrv14,同sSrv11
sSrvN1,逻辑设备、节点、数据服务参数错误测试
对于GetLogicalDeviceDirectory、GetLogicalDeviceDirectory、GetDataDirectory / GetDataDefinition、GetDataValues、SetDataValues、GetAllDataValues 回复error “object-non-existent”
sSrvN2,设置数据值超出枚举值范围,回复data access error “object-value-invalid”
sSrvN3,设置数据值数据类型不匹配(如整数和浮点数),回复data access error “type-inconsistent”
sSrvN4,对只读数据进行设置,回复 data access error “object-access-denied”
3、数据集服务
sDs1,获取数据集信息测试,对每个逻辑节点,请求逻辑节点目录(DATA-SET),正常响应;对数据集请求数据集目录,正常响应;对数据集的数据请求值,正常响应
sDs2,创建永久数据集测试,创建包含一个成员的永久数据集,client1进行GetLogicalNodeDirectory(DATA-SET)操作,响应包含创建的数据集名字;client2进行GetLogicalNodeDirectory(DATA-SET)操作,响应包含创建的数据集名字;创建最大个数成员的永久数据集,操作同上
sDs3,创建非永久数据集测试,创建包含一个成员的非永久数据集,client1进行GetLogicalNodeDirectory(DATA-SET)操作,响应包含创建的数据集名字,client2进行GetLogicalNodeDirectory(DATA-SET)操作,响应不包含创建的数据集名字;创建最大个数成员的永久数据集,操作同上
sDs4,创建和删除永久数据集测试,创建一个永久数据集,至少包含2个成员,请求数据集数据,返回包含成员的数据集数据,删除刚才创建的数据集,删除成功
创建一个永久数据集,至少包含1个扩展成员,请求数据集数据,返回包含成员的数据集数据,删除刚才创建的数据集,删除成功
再次创建刚才创建的永久数据集,包含两个成员,但两个成员的顺序重新排列,请求数据集数据,返回包含成员的数据集数据(顺序与创建时候排序一致)
sDs5,创建和删除非永久数据集测试,测试同sDs4
sDs6,非永久数据集链接断开后类似于删除,变为不可用状态
sDs7,永久数据集链接断开后不删除,数据集依然可用状态
sDs8,多次创建和删除永久数据集测试,数据集为多成员数据集
sDs9,多次创建和删除非永久数据集测试,数据集为多成员数据集
sDs10,数据集获取数值和设置数值
sDs11,创建永久数据集(最大成员)最大个数
sDs12,创建非永久数据集(最大成员)最大个数
sDs13,创建永久数据集(最大名称长度32 char)最大个数
sDs14,创建非永久数据集(最大名称长度32 char)最大个数
sDs15,创建从少到多层级的FCDA元素
• MMXU.PhV
• MMXU.A.phsA
• MMXU.A.phsB.cVal
• MMXU.A.phsC.cVal.mag
• MMXU.A.neut.cVal.mag.f
sDsN1,数据集服务非法参数测试
sDsN2,重复创建两个完全相同的永久数据集测试,第二次创建时提示error with errorClass=definition errorCode=object-exists
sDsN3,重复创建两个完全相同的非永久数据集测试,第二次创建时提示error with errorClass=definition errorCode=object-exists
sDsN4,持续创建永久数据集,直到提示创建否定应答,response- with errorClass=resource and errorCode=capability-unavailable,已创建数据集总个数大于或等于支持的最大数据集个数
sDsN5,持续创建非永久数据集,直到提示创建否定应答,response- with errorClass=resource and errorCode=capability-unavailable,已创建数据集总个数大于或等于支持的最大数据集个数
sDsN6,使用未知的数据引用创建永久数据集,否应应答,response- with errorClass=definition and errorCode=object-undefined
sDsN7,使用未知的数据引用创建非永久数据集,否应应答,response- with errorClass=definition and errorCode=object-undefined
sDsN8,删除预配置的数据集(不可删除的,未被报告控制块引用的),response+ with numberMatched=1 and numberDeleted = 0
sDsN9,删除2次永久数据集,第一次应答 response+ with numberMatched=1 and numberDeleted = 1,第二次应答response+ with numberMatched=0 and numberDeleted = 0
sDsN10,删除2次非永久数据集,第一次应答 response+ with numberMatched=1 and numberDeleted = 1,第二次应答response+ with numberMatched=0 and numberDeleted = 0
sDsN11,删除被引用的永久数据集
引用数据集的URCB使能,删除数据集时响应 response- with MMS service error with errorClass “service”, errorCode “object-constraint-conflict”
and serviceSpecificInformation deleteNamedVarList 0
引用数据集的URCB禁能,删除数据集时响应response- with MMS service error with errorClass “service”, errorCode “object-constraint-conflict”
and serviceSpecificInformation deleteNamedVarList 0
引用数据集的URCB与数据集分离,响应response+ with numberMatched=1 and NumberDeleted=1
sDsN12,删除被引用的非永久数据集,测试同sDsN11
sDsN13,对只读数据属性进行SetDataSetValues设置数据集值操作,响应response- with errorCode=object-access-denied
4、服务追踪
sTrk1, 缓存报告控制块BRCB跟踪测试
client1为LTRK.BrcbTrk[SR]配置引用数据集的一个BRCB或URCB或LCB,配置触发选项为数据更新以及上报原因
server上报的报告包含跟踪的数据集成员对象或者创建了日志条目
client2配置另一个BRCB,配置触发选项、上报原因,使能上报,并执行总召GI请求
server上报的报告包含跟踪的数据集成员对象或者创建日志条目并记录原因
sTrk2, 非缓存报告控制块URCB跟踪测试,同sTrk1
sTrk3,日志控制块跟踪测试
sTrk4,goose控制块跟踪测试
sTrk5,多路采样值SV控制块跟踪测试、
sTrk6,单路采样值SV控制块跟踪测试
sTrk7,定值组控制块跟踪测试
client1为LTRK.SgcbTrk[SR] 配置引用数据集的一个BRCB或URCB或LCB,配置触发选项为数据更新以及上报原因
client2改变定制组状态,包括选择定值组,编辑定制组,设置定值组值,server发送给client1的报告包含跟踪的数据集成员或者创建日志条目并记录原因
sTrk8,单点控制跟踪测试
client1为LTRK.SpcTrk[SR]配置引用数据集的一个BRCB或URCB或LCB,配置触发选项为数据更新以及上报原因
client2进行单点控制,包括选择、执行、取消等操作,server发送给client1的报告包含跟踪的数据集成员或者创建日志条目并记录原因
sTrk9,双点控制跟踪测试,参考sTrk8
sTrk10,整形控制跟踪测试,参考sTrk8
sTrk11,枚举控制跟踪测试,参考sTrk8
sTrk12,整数步进控制跟踪测试,参考sTrk8
sTrk13,二进制步进控制跟踪测试,参考sTrk8
sTrk14,浮点型模拟设点控制跟踪测试,参考sTrk8
sTrk15,整型模拟设点控制跟踪测试,参考sTrk8
sTrk16,二进制模拟设点控制跟踪测试,参考sTrk8
sTrk17,其他支持服务跟踪测试,参考sTrk8
5、取代测试用例
sSub1,测试subEna为假时,subVal、subMag等取代值不会立即对过程值进行取代,subEna为真时,subVal、subMag等会立即取代过程值
sSub2,测试subEna为假时,设置subVal、subMag等取代值,再设置subEna为真,立即取代过程值,然后断开连接并重新连接,确认subVal、subMag等取代值未改变
sSub3,测试subEna为假时,设置subVal、subMag等取代值,再设置subEna为真,立即取代过程值,再继续设置subVal、subMag等取代值,确认subVal、subMag等取代值已取代了上次的取代值
6、控制测试用例
sCtl1,检查控制对象路径以及控制模式
sCtl2,改变控制模式测试,分别设置为direct-with-normal-security、SBO-with-normal-security、direct-with-enhanced-security、SBO-with-enhanced-security
正确响应
sCtl3,激活第二次激活的控制对象
client给控制对象1和控制对象2发送相同的时间激活时间operTm,两个都应答且到执行时间能够执行操作命令
sCtl4,stSeld状态测试,client发送选择(或选择带值)和执行,server响应并置stSeld状态
sCtl5,test flag和test mode测试,LN.Beh=on,client发送带有test flag的正确控制命令,命令无法下发
sCtl6,选择取消多个SBO控制对象
client选择多个SBO控制对象,无内联的多个控制对象响应正常,内联的多个控制对象响应异常
client 取消已经选择的控制对象,响应正确
sCtl7,Check条件检查
sCtl8,对SBO对象直接控制
sCtl9,对SBO对象连续选择2次
sCtl10,选择值或者操作值与当前值一样
sCtl11,对SBO对象从2个client进行选择2次测试
sCtl13,对直控对象进行选择
sCtl14,对直控对象从2个client进行操作2次测试
sCtl15,对不可控制的逻辑节点对象进行控制
逻辑节点Beh=off(设置Mod为Off,LLN0.Mod=Off)
sCtl16,对本地模式的控制对象操作
(LLN0.Loc=True or CSWI.Loc=True)
sCtl17 DOns,对本地模式的控制对象进行站控操作
(LLN0.Loc=True or CSWI.Loc=True)
sCtl17 SBOns,对本地模式的控制对象进行站控操作
(LLN0.Loc=True or CSWI.Loc=True)
sCtl17 SBOes,对本地模式的控制对象进行站控操作
(LLN0.Loc=True or CSWI.Loc=True)
sCtl18,当命令被闭锁的时候控制对象
(CmdBlk.stVal=TRUE, Mod.stVal = on)
sCtl20,选择后参数改变
sCtl21,改变达到极限测试
sCtl23,APC超越测试
sCtl24,APC测量值偏移
sCtl25,取消未选择测试
sCtl26,取消测试
sCtl27,对SBOns对象选择带值得测试
sCtl28,
DOns,Verify FC=OR attributes opOk, opRcvd, tOpOk
DOes,Verify FC=OR attributes opOk, opRcvd, tOpOk
SBOns,Verify FC=OR attributes opOk, opRcvd, tOpOk
SBOes,Verify FC=OR attributes opOk, opRcvd, tOpOk
7、文件传输
UCA详细测试用例下载:
链接: https://pan.baidu.com/s/1TTMlYRfzKITgrkWwwtcrDg 提取码: wrwx
欢迎关注!!