论文部分内容阅读
IP电话现在已广泛应用于公司的日常办公。IP电话在大量生产、销售前,需要经过不断的开发、测试,使功能完善;此外,随着市场需求的变化,产品会不断地升级,增加新的功能,采用新的硬件配置。项目组目前正在开发一款IP电话,称为Round Table Phone(简称RT Phone,圆桌会议电话),对于每一个版本的电话,在其投入生产前需对其进行测试,确保其能正确执行各项功能。测试的内容包括网络配置与通信信息验证、电话的配置与状态验证,通话功能的控制、电话应用程序的使用等。目前,项目组已设计出完善的测试用例,但是此前的测试完全是手动执行。由于电话不断进行版本升级,回归测试造成了大量重复的手工劳动,是对人力和时间的浪费。基于以上原因,开发IP电话自动化测试系统,用于RT Phone的自动化测试。自动化测试系统包括测试脚本运行平台和自动化测试框架。测试脚本运行平台用于批量运行脚本并生成报告和分析数据。自动化测试框架则用于完成测试的具体执行,又分为测试驱动、测试脚本及公共类库。测试驱动使得测试程序自动化执行,通过数据驱动,减轻自动化测试维护工作的负担;公共类库,以组建模型的方式,为测试脚本提供驱动电话功能执行的接口。为了使自动化测试框架具有通用性和可扩展性,将IP电话通用的功能类库与RT Phone特有的功能类库分离,使通用的功能类库可以用于今后其他类型IP电话的自动化测试。系统的规划和实施采用了PEARL (Purpose、Evaluation、Architecture、 Run and Debug、Link with manual test)自动化测试过程模型;系统的自动化测试框架开发采用数据驱动测试框架;由于RT Phone既包含硬件部分,又包含软件系统,因此选用TCL脚本语言进行自动化测试框架的开发。TCL语言经常被用于脚本开发和测试等方面,语法规则简单,容易进行扩展,且易于维护。通话功能是RT Phone最核心的功能,通话测试脚本及通话功能公共类库的实现均使用TCL语言。利用TCL语言的易扩展性,将IP电话通用通话功能与RT Phone特有的通话功能类库分别实现,使通话功能类库具有高复用性。根据数据驱动测试框架技术及配置文件读入技术,设计测试脚本的执行流程控制关键词和脚本配置文件的数据存储方式,完成测试程序自动化执行。自动化测试系统的实现将大量减少回归测试所需的人力和时间。测试框架分离IP电话的共性功能,使得框架易于移植到不同类型的IP电话上,也使框架的适用范围更广。