首页 / 一种测试平台

一种测试平台有效专利 发明

技术领域

[0001] 本发明涉及一种测试平台。

相关背景技术

[0002] 在开展业务测试的过程中,为了便于管理手工测试和自动化测试是两个互相独立的测试过程,使用两个独立的测试案例集,并且在一个测试周期内会执行多个轮次。为了提高脚本的复用性和灵活性,现有的自动化测试采用关键字驱动的方式开展,能够实现脚本与数据分离,界面元素名与测试内部对象名分离;这种方式存在以下的缺点:
[0003] 1、自动化脚本的开发效率低,编写自动化前需要先通过录制的方式生成对象库,并且对象库需要不断完善,同时自动化工程师需要通过尝试的方式总结页面上各个输入栏位的处理规则并转换成脚本的处理逻辑,这些因素导致自动化脚本开发的工作量非常大,并且对人员的要求也比较高;
[0004] 2、当开始一个新的测试周期后,自动化工程师需要预先执行一遍自动化测试案例,才能定位到已经失效的自动化脚本,并且还需要通过多次执行才能找到页面的变更点,这些工作导致自动化脚本的维护成本非常高,而且自动化脚本开发工程师需要参与脚本的变更维护;
[0005] 3、自动化执行程序和被测程序是两个独立的进程,自动化执行过程中为了确保被测程序能够做出正确的响应,需要在自动化脚本中插入大量同步点,导致自动化执行的速度非常慢;
[0006] 4、相同的测试案例在一个测试周期中会执行多次,每次执行都需要花费相同的时间,并且每次执行完测试案例后还需要编写测试报告,导致手工测试的效率比较低;
[0007] 5、当测试过程中发现的部分缺陷不能复现时,这些缺陷往往不能被开发人员认可,而且测试过程缺乏监控,测试报告可能被造假。

具体实施方式

[0027] 下面将参照附图和具体实施例对本发明作进一步的说明。
[0028] 如图1所示:为本发明实施例提供的一种测试平台,包括可进行手工测试的测试监控平台以及可进行自动化测试的自动化测试平台,测试监控平台包括行为监控模块、测试报告模块、行为分析模块、脚本生成模块、案例链编排和参数化模块以及自动化回归模块,自动化测试平台包括UI分析模块、脚本辅助生成模块、脚本开发管理模块、变更分析模块、脚本运行模块、运行监控模块和设备仿真模块,测试监控平台通过行为分析模块和自动化测试平台中的脚本辅助生成模块相连,其中:
[0029] 行为监控模块用于实现对手工测试的操作过程监控,通过运行时接管被测程序的事件处理程序,记录手工操作引起的系统级事件和被测程序处理的应用级事件,并以功能为单位拆分操作过程,以结构化的方式保存测试过程日志并将其输出,同时该测试监控模块的执行效率非常高,不会对手工测试产生性能影响;
[0030] 测试报告模块用于接收测试过程日志并生成测试案例的测试报告将其输出,该测试报告包括案例执行过程中自动生成的屏幕截图以及通过测试日志生成的手工测试过程录像;
[0031] 行为分析模块用于接收测试报告模块输出的测试报告并完成测试日志的分类、页面跳转规则的分析、输入要素之间的约束规则分析、功能的操作时间趋势分析以及辅助生成业务功能的操作手册等;
[0032] 脚本生成模块用于接收测试报告模块输出的测试报告并负责分离手工测试日志的执行指令和测试数据,过滤操作系统引起的系统事件,并根据被测程序的业务事件自动生成自动化脚本并将其输出;
[0033] 案例链编排和参数化模块用于接收脚本生成模块输出的自动化脚本,同时以业务场景为单位,把多个业务功能的自动化脚本组合成一个具有完整意义的业务场景自动化脚本,并分析脚本之间的数据关系,形成数据传递关系和测试数据的参数化并将其输出;
[0034] 自动化回归模块用于接收案例链编排和参数化模块输出的数据传递关系和测试数据,同时负责手工测试案例在平行环境或后续测试轮次中的自动化执行,包括测试数据的创建、测试结果的比对;
[0035] UI分析模块用于完成被测程序的整体对象分析,通过扫描源程序(如JSP文件、JAVA执行程序、C#执行程序、界面原型、界面格式文件等),形成被测程序的完整对象库并将其输出;
[0036] 脚本辅助生成模块用于接收行为分析模块和UI分析模块输出的信息,辅助生成业务功能的自动化脚本和数据表并将其输出;
[0037] 脚本开发管理模块用于接收脚本辅助生成模块输出的自动化脚本和数据表,并对自动化脚本以功能目录的形式进行管理,提高人为管理和版本管理等功能,以图形化的方式对脚本进行编辑、智能提示、脚本调试和日志分析;
[0038] 变更分析模块用于完成当被测程序发生变化后,快速找出需要修改的自动化脚本,快速定位需要变更的指令;
[0039] 脚本运行模块用于根据自动化脚本和测试数据生成可执行脚本,并调用自动化脚本引擎完成脚本的执行,中间数据和测试日志的记录;
[0040] 运行监控模块用于在自动化脚本运行过程中,实现被测程序和自动化工具之间的操作同步处理;
[0041] 设备仿真模块负责完成外部设备的虚拟仿真,外部设备包括打印机、扫描仪、指纹仪、二代身份证读卡器、密码小键盘、磁条卡读写器以及IC卡读写器。
[0042] 作为上述实施例的优选实施方式,自动化测试平台还提供可视化界面;通过采用图形化的可视化界面完成测试执行日志管理、测试过程模拟回显、自动化案例的编排和参数化、自动化脚本管理、页面UI发现等功能,降低了软件的使用难度,有效提高了手工测试和自动化测试的效率。
[0043] 本发明使用客户服务器模式开发,服务器采用JAVA语言开发,客户机采用C/C++开发,其中,服务器采用JAVA语言开发,主要完成测试行为的分析模块,以及测试日志和自动化脚本的存储;客户机采用C/C++语言编写,主要完成测试报告模块、脚本生成模块、案例链编排和参数化模块、自动化回归模块、脚本辅助生成模块、脚本开发管理模块、变更分析模块、脚本运行模块;本发明的行为监控模块、UI分析模块、运行监控模块和设备仿真模块,采用与被测程序相同的语言开发,主要包括JAVA、C#、VB/VC、DELPHI/C++Builder等。
[0044] 本发明实施例提供的测试平台中手工测试的工作流程如下:
[0045] 步骤1:先打开手工测试管理工具,然后选择一个测试案例开始执行,测试行为监控程序会自动开始记录操作系统和被测程序的所有事件,并根据当前操作的页面信息自动截屏保存测试证迹,当案例执行完成后监控程序会根据测试过程中操作的多个业务功能,把记录下的操作日志自动分拆成以功能为单位的操作日志进行存储;
[0046] 步骤2:当手工测试案例执行完成并点击保存时,手工测试管理工具会调用测试报告模块自动生成测试报告并提交到测试库中;当打开测试报告文件时,测试报告模块会根据测试案例的日志信息,生成测试执行过程的录像文件并进行回放;
[0047] 步骤3:当一个测试工作日结束后,自动化测试人员把当日的所有手工案例执行日志转换成自动化脚本,并以测试案例为单位对自动化脚本进行编排,编排的脚本可以包含该案例的所有执行历史记录,案例链的内容可以任意组合。案例编排过程中需要完成脚本之间的数据传递规则、以及一次性测试数据的参数化处理;
[0048] 步骤4:当一个测试轮次结束后,回归测试工具可以把已经编排好的手工测试案例,在新的环境中进行全回归执行。也可以在准生产环境或灾备环境中进行全回归测试,验证软件版本的正确性。由于案例的环境要求、数据要求和日期要求等因素,部分测试案例在新环境中不能执行;
[0049] 步骤5:当一个测试工作日结束后,可以手工启动或自动批处理的方式启动测试行为分析功能对当日的测试日志进行处理,把测试日志拆分成执行指令,并以测试案例和业务功能的目录结构存储到数据分析库中。分析程序能够完成页面规则的抽取,包括页面跳转规则的分析,输入要素之间的约束规则分析;也能够分析被测程序的易用性,包括页面的无效操作概率和每个输入项的操作时间分析等。
[0050] 本发明实施例提供的测试平台中自动化测试的工作流程如下:
[0051] 步骤1:打开UI分析模块并指定被分析的测试程序,UI分析模块能够根据配置信息从服务器上下载被测程序的所有界面文件(如JSP、HTML、页面原型或页面格式文件等),并从页面文件中提取UI要素、对象类型和选择项等信息,生成被测程序的完整对象库;
[0052] 步骤2:在自动化脚本开发工具中输入一个功能代码,脚本开发工具能够工具功能的UI对象表、以及页面流和UI对象约束规则,自动生成测试脚本和测试数据表。脚本开发工具提供了对自动化脚本的编辑功能和调试功能、对象库的帮助手册、对象提取和脚本生成向导等功能简化脚本的开发;
[0053] 步骤3:在开始一轮自动化测试以前,可以通过变更分析模块检查哪些页面已经发生了变化。变更分析模块首先需要调用UI分析模块重新生成被测程序的UI对象表,然后对比两个版本的UI对象表找出已经变化的页面,并根据页面和脚本的关系确定脚本的变更范围,再把需要变更的脚本通过任务管理程序分派给自动化工程师。自动化工程师在任务表中查找变更脚本,在脚本开发工具中打开自动化脚本,并使用页面变更对比功能找出两个版本的页面差异,然后对脚本进行变更;
[0054] 步骤4:在测试环境中执行自动化脚本,脚本运行模块负责把一个测试任务中的自动化脚本分发到多个执行客户端,负载自动化客户端的压力;并利用运行监控模块实时监控被测程序的状态,实现自动化执行引擎和被测程序之间的同步;脚本运行模块利用设备仿真模块完成外部设备的仿真输入。
[0055] 最后应说明的是:以上所述的各实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页 第1页 第2页 第3页
相关技术
黄晓旭发明人的其他相关专利技术