论文部分内容阅读
随着软件工程体系的不断规范化和标准化,对软件质量的要求也越来越高。与此同时,软件测试作为软件开发生命周期中不可缺少的一个阶段也越来越受到重视,并形成了完整的测试技术体系,而采用自动化测试以提高测试效率是软件测试技术发展的趋势。近几年,自动化测试工具也得到了广泛的应用,已经可以实现大多数情况下的测试用例的自动化执行。国外很多的软件开发机构都尝试过在项目中引入自动化测试,但统计数据表明“80%的自动化测试尝试是失败的”,而导致失败的主要原因之一就是自动化测试脚本的维护工作量随着软件版本的更替和需求的改动越来越大,最终导致自动化测试投入回报比骤降而不得不放弃。图形用户界面(GUI)测试是软件测试活动中重要的一环。当前,GUI自动化测试存在着三大类GUI录制-回放自动化测试工具:一类是采用强大的脚本语言编写一段代码实现GUI动作的回放,这种方法完全依赖脚本语言的功能函数库,学习和操作复杂度高;第二类是采用文本保存GUI操作脚本,通过对文本的解析进行回放,脚本简单但回放效果受脚本解析的限制。对于Java语言编写的GUI,由于Java语言自身的复杂度,使得上述两类GUI测试工具在测试Java GUI时更加受到限制;第三类工具综合上述两类工具的优势,既可以录制脚本,又可以在脚本中插入功能函数,功能最为强大。本文通过对GUI自动化测试技术进行了比较深入的研究,以及现有的两类GUI自动化测试工具优劣的比较,提出了专门用于测试Java GUI的新的组件定位策略和代码脚本技术,将新的组件定位策略运用于GUI测试脚本的录制与回放当中,提高了脚本定位的速度,延长了脚本的寿命,降低了维护脚本的工作量。而代码断言技术运用于测试脚本的录制与回放,使得录制回放工具的功能更加强大,使用更加灵活。测试表明,组件定位策略和代码脚本技术完全达到了预期的要求。