搭建自动化测试框架,提升入口测试效率

发布时间:[2012-7-10]     来源:     作者:     点击:

入口测试是中国大地财产保险股份有限公司信息技术部在每月运维任务大版本升级时,对版本重要内容和系统基本常用操作进行的测试,其中基本常用操作的测试具有重复性。为提高工作效率,大地保险采购了自动化测试工具QTP,并编写了核心业务系统、新意外险系统、理赔工作流系统、非车理赔系统、报销系统等几个关键系统的自动化测试脚本,涉及19个测试场景,用于基本常用操作的回归测试。随着IT系统建设的推进,陆续新增了中介管理系统、车险核保作业系统、新人身险系统等。
由于大地保险的业务随着每年的业务规模及业务形式的变化,旧的测试场景下的脚本及数据已经无法适应不断升级的业务系统。上海软件创新服务平台、上海市计算机软件评测重点实验室作为测试服务供应商具有为大型企业提供测试服务的经历。项目实施团队以QTP作为基础工具,通过分析测试需求,进行测试框架规划与实施,并将测试需求转化为最终的自动化测试脚本的能力,提炼出高度抽象化的测试框架,使其不但能够适应当前的业务系统自动化测试运行,并且具有高度的可扩展性,能够使新建系统对框架也具有高度的可纳入性。
根据入口测试的测试需求,测试服务团队为了能规划搭建完备的自动化测试框架,从系统的业务功能和原有自动化测试资源两方面进行详尽的分析。通过了解测试内容之间关联性,对测试内容进行模块化分解以度量其可复用性,为规划测试框架提供支持依据。
1.     规划
规划在整个测试服务过程中占据关键地位,它以分析的结果作为依据。在对自动化测试进行规划时,需要进行周全考虑,需要进界面元素名和测试工具定义的对象名分离,但需要在两者之间保留其映射关系,这样既能保证变动的逻辑执行,又能避免变动影响测试;执行动作和具体实现细节分离,使得可以由关键字驱动测试;规划测试数据,使脚本和数据皆可以进行独立的维护。应最大程度的减少执行动作、测试对象和测试数据之间的相互影响。规划的内容包含多个方面:
2.     框架规划(框架设计)
依据模块化的思想来设计框架,使框架内的资源的服用程度达到最高,从而提高效率并且保证资源的有效利用程度;
3.     脚本规划(脚本开发)
避免过于庞大和复杂的脚本,对脚本进行高度抽象化的编译,保证TestCase和Action之间能够进行简单有效的组合,实现高质精简的自动化程度,设计合适的参数调用关系和脚本调用,降低关联脚本的强耦合;
4.     对象规划(识别规划)
摒弃传统的对象库识别模式,改变成通过脚本在动态的执行过程中,来通过DOM编程方式,由属性来判别唯一的对象,从而可执行相应的指向性操作。以此来规避在常规QTP自动化项目中庞大的对象库维护工作;
5.     数据规划(数据筹备)
映射标签:封装具体交互的细节,从而实现元素名和测试对象之间的映射;
驱动数据:不同业务规则、不同的测试需求,提供不同类型的测试数据,包括输入数据、输出数据、指向型操作数据、流程判断数据等;
6.     执行规划(执行计划)
避免执行过程可能因为资源冲突等原因造成测试的异常中断,通过高效的执行规划,保证测试过程的可靠性和稳定性。
7.     执行
执行时应该通过有效控制,保证无论在有无测试值守人员的情况下,框架内的测试执行都能够有序的被进行。执行根据需求及实际情况,可分为串行执行、并行执行、重复执行三种基础方式,在复杂测试需求下,可以以混合多种基础方式来进行执行。执行过程需要有效的监测(人工或工具),并采集需要数据。
在测试开发机上设计基础脚本,并通过统一的管理调度,最终通过在测试执行机上运行任务,以完成对目标系统的最终测试。
大地保险入口测试项目作为新型的自动化功能测试项目,其研究以及应用的目标为目前业界热点的自动化测试框架技术。实验室测试服务团队在项目实施过程中,其在项目过程中遇到了大量设计规划盲点,以及技术实现瓶颈,在创新服务平台专家组及领导的大力帮助之下,通过大量学习资料研究及深入细致的分析尝试工作,克服了多种困难,保证了项目的有效开展,为客户业务系统的自动化测试实施作出了良好的保障工作,为创新服务平台在功能自动化框架研究方向提供了典型的示范型项目支撑。
关键字: