四、测试结果及分析

在协议栈一致性测试过程中,必须保证测试用例设计的完备性和准确性以及脚本程序编写无误,也就是说,测试用例不仅要覆盖协议栈功能的各个方面,而且还要符合协议的规定,程序的设计也要符合协议规范的要求.

前文中提到我们一共设计了三个测试集,这三个测试集包含了GMM/SM、MAP和RANAP三个协议的一致性测试,其中在进行GMM/SM,MAP协议测试时,没有发现协议不一致性的问题.但是在测试RANAP协议时,我们发现了被测的协议栈与标准协议不一致的地方.

在测试RAB建立过程时,根据用例,我们的预期结果是K1297端收到SGSN侧发送的RABAssignmentRequest 消息,并向SGSN侧回送一个RAB Assignment Response 消息,完成RAB的建立过程.实际的测试结果是当SGSN侧向K1297端发送RAB Assignment Request 消息时,K1297在接收这个消息时报"解析消息错误:缺少了必选的字段值".这种错误的发生是由于双方协议栈和测试仪表)对消息的编码格式不一致造成的.在确定了K1297测试仪表的消息编码格式与协议标准相一致后,我们将错误准确定位在所测的SS协议栈.而SS协议栈由许多层协议组成,所以我们仍需进一步确定错误发生在哪层协议.从协议栈运行结果的屏幕提示信息中,我们发现错误发生在RANAP协议.

RANAP用于RNC与核心网络的连接,是Iu接口协议.RANAP协议消息传输语法采用ASN.1语法格式.在RANAP层所有的消息都要以ASN.1语法格式进行编码,然后将编码后的消息从RANAP层传送到其它层.ASN.1(AbstractSyntaxNotationOne)是一种用于描述结构化客体结构和内容的语言,ASN.1类似于高级程序设计语言的数据描述部分,它提供若干语言构件用以定义类型和值,类型对应结构,值对应内容.

经过详细地分析Trillium协议栈的具体实现,我们发现协议栈中消息的编码格式与RANAP协议3GPP25.413)中规定的ASN.1编码格式有些不同.RANAP协议中规定,以ASN.1语法格式定义的"RABassignmentRequest"的消息中包含RABs To Be Setup Or Modified List信息字段,而RABs To Be Setup Or Modified List中又嵌套了两层sequence of结构,而在Trillium公司协议栈在RANAP层)消息结构定义中,RABs To Be Setup Or Modified List只嵌套了一层sequence of结构.所以出错的原因是Trillium协议栈中缺少一层ASN.1语法格式的结构,导致K1297不能正确的解析收到的消息.

五、结论与展望

近年来,测试技术是国际上非常关注的、也是发展较快的一个研究领域.随着WCDMA技术的成熟,各种WCDMA系统设备蜂拥而来,为确保多个厂家设备的互联成功,以及业务的正常提供,对设备进行协议一致性测试是十分必要的.WCDMA移动核心网络协议一致性测试集的编写和测试软件的开发将为研究开发移动通信产品及运营网络的操作维护提供理想测试.随着对WCDMA测试规范以及测试理论和方法技术的深入研究,将更进一步地保证经过测试以后的移动网络设备能够达到最大的一致性.


相关内容