论文部分内容阅读
现阶段,绝大部分应用软件是基于图形用户界面(GUI)设计开发的,GUI设计的好坏,直接影响着用户对软件产品的认可度,作为保证软件质量的有效手段GUI测试显得越来越重要。随着GUI软件规模日趋庞大,产品复杂度不断增加,仅使用传统的手工测试已不能满足测试要求。为了保证测试质量,提高GUI软件的可靠性,在测试中迫切需要引入自动化测试技术。自动化技术的使用可以解决手工测试遇到的一些难题,在保证测试质量的同时降低测试成本。目前对GUI自动化测试的研究有很多,自动化测试工具的开发与实现就是一项重要的内容,它通过捕获/回放机制实现软件的自动化测试。然而,由于GUI控件的复杂性和多变性,在自动化测试实施时,单靠测试工具不能很好地解决测试过程中出现的各种问题,它对实际项目的支持上还存在着很多的不足。因此,根据测试项目的特点,结合测试工具,研究实现面向GUI软件的自动化测试框架,为软件自动化测试的实施提供一个有效的解决方案具有很大的实用价值。本论文首先对软件测试、GUI自动化测试的理论基础进行了阐述,分析了GUI自动化测试的特点、优势及可行性;深入学习了自动化测试技术,研究了GUI自动测试过程、测试框架驱动思想及测试框架设计原则等基本知识,为自动化测试框架的设计与实现提供理论与技术支持。从自动化测试框架提出的背景与目的出发,综合分析测试工具的优缺点,选用了VSTS2010(Visual Studio Test System2010)作为测试框架引入的自动化测试工具。依据自动化测试框架的设计原则,采用关键字驱动的框架思想,设计面向GUI软件的自动化测试框架的总体架构。该架构中包括Microsoft OS、VS2010(Visual Studio2010)、TAP (Test Automation Platform)、MTM2010(Microsoft Test Management2010)以及Test五大部分,论文对每一部分特别是TAP功能的设计与实现进行了详细论述。TAP作为自动化测试框架的核心部分,它由Requirement Engine、GUI Interaction、Test和Report四大模块组成,这四大模块实现了测试用例的自动生成、GUI各类控件属性和基本操作的封装,测试模板的定义以及测试报告输出等功能,它们共同完成自动化测试的主要任务,解决测试框架的关键问题。最后,将实现的自动化测试框架应用到实际项目中。在测试过程中,测试框架为自动化测试实施提供一个有效的解决方案,通过框架可以配置自动化测试环境,能够采用分层思想进行测试脚本的开发,可以对整个测试流程进行管理包括:测试任务的分配与自动执行、测试结果的收集、测试缺陷的跟踪等。在GUI自动化测试完成后,根据测试结果对框架的可用性和收益性进行了分析。目前,本论文实现的面向GUI软件自动化测试框架已大量投入使用,应用于CCS(Customer Configuration Software)各类产品和版本中,框架的使用大大提高测试效率和测试质量,保证了CCS软件质量。经测试,该测试框架已达到预期目标。