论文部分内容阅读
软件测试对于保证软件产品的质量有着十分重要的作用。尽早地检测软件中的错误是软件开发过程中的一个重要任务,也是降低软件开发成本的主要手段。软件测试自动化技术的研究目的是提出自动测试的模型及相应准则,达到无需人工干预即可自动测试软件的目的。特别是针对人机交互操作频繁,GUI界面繁多的软件,如CAD软件等,人们希望能通过自动测试提高测试效率,因此研究交互式软件的自动测试技术是非常有意义的。 本项研究以国家863基础类研究课题“三维数字化设计系统自动测试技术研究与系统实现”(课题编号:2002AA411510)为背景,研究基于用户操作流程的交互式软件自动测试技术。论文在分析了已有软件测试理论与模型的基础上,提出了一种新的软件测试用例生成模型和脚本测试语言General Test Language(简称GTL),并依据此模型与GTL语言实现了三维数字化设计系统的专用测试软件CADTesting(软件著作权号:2004SR07475)。主要工作如下: (1) 提出一种新的基于用户操作流程的测试用例生成模型,该模型首先智能学习用户的操作流程,然后对流程进行分析。测试时,依据测试人员的需要,修改已有流程以生成新的流程,从而生成测试用例; (2) 将软件的功能定义为一个个的对象,定义一种独立于被测试系统的通用脚本测试语言GTL,使用脚本语言描述这些对象及其调用的接口,测试人员可以通过书写脚本产生测试用例; (3) 依据上述测试用例生成模型与GTL语言,实现了三维数字化设计系统自动测试软件CADTesting,该软件智能地学习用户使用被测试系统的操作流程,产生新的流程,回放流程以驱动被测试系统运行,并实时监视其运行状态,从而达到测试目的:CADTesting也接受GTL脚本输入,能依据脚本指令生成测试用例。CADTesting是一个面向整个三维计算机辅助设计行业的,而不是针对某一个CAD软件的测试软件,它采用黑盒测试技术,与被测试系统的内部实现无关,完全站在用户的角度对被测试系统进行测试。 CADTesting不但能测试三维CAD系统,也能测试任意的具有人机交互特点的GUI软件。CADTesting已应用三维CAD系统TiGems的测试工作中,并发挥了一定作用。