● 摘要
TTCN-3(Testing and Test Control Notation 3rd,测试和测试控制符号第3版)是由ETSI(European Telecommunications Standard Institute,欧洲电信标准化协会)与2000年制定和推动的测试规范和测试实现标准,并且被ITU(International Telecommunication Union,国际电讯联盟)进行了标准化。经过8年的发展,TTCN-3已经被广泛的应用在通信领域的一致性和功能测试中;针对各种通信应用的标准测试集也陆续被发布和维护。随着TTCN-3的应用范围逐渐扩大,越来越多的用户提出了使用TTCN-3进行性能测试的需求。性能测试的意义和目的在于在软件投入使用以前或软件负载达到极限以前,通过执行可重复的负载测试,预先分析出软件可承受的并发用户极限值和性能瓶颈,以帮助开发商或用户优化自己的程序,经济地规划系统配置,避免无谓的硬件投入,同时还可以减少系统的待机时间和因此带来的经济损失。然而,目前TTCN-3还很少用于性能测试,原因包括现有TTCN-3工具对性能测试的支持度、TTCN-3语言本身对性能测试的描述能力等都还存在一些不足。本文首先设计了一种分布式测试执行系统,提供了分布式环境下的节点通信、脚本部署、测试调度、执行器驱动和测试结果汇总的机制,为性能测试提供了基础的执行环境;其次,提出了一种负载模型,测试人员通过该模型来描述性能测试的负载需求;随后,提出了一种性能测试的框架,基于虚拟用户来模拟真实使用中的用户行为,以对被测系统产生负载,通过TTCN-3系统的标准接口来控制虚拟用户的执行;在性能测试执行后,通过提取日志的方法进行性能度量,从而为测试人员提供测试报告;最后,本文研究了一种复用TTCN-3功能测试用例进行性能测试的方法,使得测试人员不再需要为性能测试编写单独的代码,减小开发量,同时也降低在人工编写测试代码的过程中引入错误从而导致测试判定偏差的风险。最后,本文通过对BookStore网站进行的性能测试,分别展示了复用TTCN-3功能测试用例进行性能测试的方法的实用性和本文构建的分布式性能测试系统的测试能力。