● 摘要
某公司致力于金融数据收集系统的研发,为各大交易所、银行提供实时的金融信息。针对这个项目背景,本文基于STAF/Robot框架,设计并实现了满足项目需求的自动化测试系统,主要实现自动化部署测试环境,测试用例管理,测试用例任务管理,测试结果管理这四个功能模块。
本文主要解决了两个关键问题:动态定位被测web界面元素,测试逻辑与测试数据分离。这两个问题均与测试用例管理模块相关。首先,本文采用Element Map方案解决Web界面元素动态定位问题。在Robot框架的基础上集成Selenium Remote Control(简称Selenium RC),将Web界面元素进行功能模块的抽取出来,建立Web界面元素逻辑名称与物理位置信息之间的映射关系,通过元素的逻辑名称便可定位到界面位置信息。采用Element Map方案替代了Web功能测试常用方案,即“录制—回放”模式生成测试脚本,降低了测试脚本的维护成本。其次,采用了关键字驱动技术来解决测试逻辑与测试数据分离的问题。Robot Framework通过封装低层关键字来构建公用脚本库,这个公共脚本库能够直接使用测试工具Amber作为驱动来与被测系统进行交互,使得测试框架不必关心任何被测系统的细节。测试人员在实现测试用例的时候,不需要太多的脚本知识背景,就可以通过调用与web操作相对应的各个子模块来实现测试用例的过程。
本文首先介绍了自动化测试技术的国内外研究现状,并对现有的自动化测试工具的优缺点进行了对比分析,切合本文所依托的项目提出了自动化测试系统的功能需求和非功能需求,以及需要解决的关键问题。接着介绍了自动化测试系统的整体解决方案,包括系统的框架设计,总体结构以及相关技术。在系统的设计与实现章节中,对环境部署、测试任务管理、测试用例管理、测试结果管理这四个功能模块的设计与实现进行了详细的讲解,并对功能实现所涉及的关键技术进行了深入阐述。最后,介绍了自动化测试系统开发完成后的系统测试方案以及部署实施。相比于手动测试,可以节省70%左右的测试时间,提高了测试效率。
相关内容
相关标签