论文部分内容阅读
随着软件的飞速发展与普遍应用,软件质量已经变成重要的研究课题。软件测试是提高软件质量最直接,最有效,也是应用最广泛的方法之一[1]。关于软件测试,研究人员和业内人士一直梦想着[2]:统一的测试理论,100%测试自动化,基于测试的模型和高效的测试工程。当前,软件测试面临的难点有:测试管理的复杂性,测试环境的多样性,难以保证的测试完备性[3]。TTCN-3是ETSI(欧洲电信标准化组织)发布的针对测试领域的专用语言。它定义了很多特定抽象简洁的语言元素,有利于测试的分层,分工和复用,为高效的测试工程发展提供了很好的机制,为不同领域的测试提供了一个统一的测试框架,有利于统一的测试理论形成,有利于软件测试自动化推进,有利于测试模型的发展与应用。在概念上,TTCN-3为测试过程提供了很好的抽象与支持。当然,TTCN-3的测试解决方案,有赖于自身的进一步发展与完善。针对软件测试的三个难点,本文研究了使用TTCN-3进行测试建模、测试分析、测试执行的理论和技术,提出了一个基于TTCN-3的测试框架。首先,用TTCN-3对抽象的测试对象和测试过程进行建模。然后,解析TTCN-3脚本,提取语义信息,建立起测试过程的可执行对象,接着,通过不同的测试对象适配器,完成对不同测试对象的测试过程。最后,在此基础上完成基于符号执行的分析技术和解释执行、翻译执行技术,改善了TTCN-3测试框架的可用性,提高了测试过程的自动化程度。本文的主要贡献如下:1.提出将测试共有特征向TTCN-3测试模型转换的方法,以及使用TTCN-3对GUI测试,Web测试进行建模的方法。由此将不同的测试过程,转换成统一的TTCN-3测试模型;将不同的测试实施过程,转换为统一的TTCN-3编译执行过程。2.详细论述了TTCN-3编译器的构造方法,提出了TTCN-3语言的符号执行技术,以及使用符号执行技术进行TTCN-3脚本正确性分析、测试输入自动生成的方法。3.详细论述了两种模式执行器(编译-编译-执行模式、虚拟机平台模式)的实现方法及其特点,并由此提出一个集成两种模式的执行器,提出了分析TTCN-3执行器性能的方法,并给出了相关数据。4.以Web测试,NFC测试为例,提出了通用编解码器框架,介绍了如何在大规模的工业测试中,应用本文提出的TTCN-3测试框架。