五、OSPF协议测试集的设计
测试集是协议一致性测试的基础,它是以最基本的测试事件序列的形式,详细定义了测试系统和协议实体的行为,从而作出测试“通过”或“失败”的判决,测试集有如下的层次结构:测试集→测试组→测试例→测试步→测试事件。采用TTCN形式化语言可以描述出测试集。
OSPF协议与OSI协议相比较,OSPF协议行为较简单,在对等实体之间没有用于建链或流控的数据包交换。我们按照ISO/IEC9646的建议,根据协议描述分析及条件合成,生成测试目的,设计和产生出OSPF协议测试集,编写出OSPF协议测试规范。产生的OSPF测试集包括5个测试组,共69个测试例(见表1)。
表1 OSPF测试集
|
测试组 |
测试目的 |
测试例 |
| Ospf-2areas | 域边界路由器功能 |
3 |
| Ospf-2qars | 交换扩散协议功能 |
36 |
| Ospf-3qars | 数据包的路径类型,AS外部LSA和AS汇总LSA功能 |
23 |
| Ospf-stress | 强度能力测试 |
6 |
| Ospf-stub | 末稍网络功能 |
1 |
这些测试组(例)涵盖了OSPF协议描述中的主要功能,具有较好的完备性。
六、测试应用
按照本文讨论的测试方法和结构,测试工具使用Agilent公司的QA Robot测试仪来进行OSPF协议一致性测试。也可使用清华大学研制开发的基于TTCN的PITS测试系统。QARobot测试仪使用QBOL语言生成ETS,通过QBOL编辑器进行编译,内部使用UNIX操作系统,有着可视化的界面操作。
我们参加了国家“863”宽带信息示范网核心路由器的测试工作。采用QARobot测试仪,分别对中兴公司、巨龙公司和大唐公司研制的核心路由器进行了OSPF协议的一致性测试。各路由器经过OSPF协议一致性测试后,其中的OSPF模块的功能和性能有了明显的改善,测试例通过率从50%提高到将近90%。
通过实践证明,在协议软件的设计和开发过程中,一致性测试是用来检测定位错误,同时又能提供修正建议的好方法。

