面向测试用例描述的GUI自动化测试系统及其测试方法技术方案

技术编号:6150462 阅读:338 留言:0更新日期:2012-04-11 18:40
本发明专利技术提出一种面向测试用例描述的GUI自动化测试系统及其测试方法,属于软件测试领域。所述的测试系统包括测试管理子系统和测试执行子系统,测试管理子系统提供面向测试用例的规范描述语言元素,生成测试用例的测试步骤,自动转换测试步骤为相应的测试脚本发送给相应测试节点的测试执行子系统,测试执行子系统执行测试脚本生成测试结果。所述的测试方法生成规范化测试步骤,并针对该步骤自动生成测试脚本,并在测试脚本中增加有测试执行协同消息,针对分布式测试系统实现了自动化测试。本发明专利技术简化了目前繁重的GUI自动化测试的测试脚本编写任务,节省了时间、人力,并解决了针对分布式系统进行GUI自动化测试所面临的协同问题。

【技术实现步骤摘要】

本专利技术属于软件测试领域,涉及一种面向测试用例描述的GUI自动化测试系统及其测试方法
技术介绍
目前,针对软件系统的⑶I (Graphical User Interface,图形用户接口)测试可分为手工测试和自动化测试。手工测试具有一定的局限性,手工测试的缺点在于(1)手工测试需要很高的人力和物力投入;( 手工测试难以保证测试结果的准确性和可靠性;(3)对于大型复杂系统,特别是安全苛刻系统,手工测试实际上是不可行的。相比较而言,GUI自动化测试优点在于(1)能够很好的取代手工测试中的大量人为操作,完成对GUI界面的自动操作,自动触发应用程序的各个功能,检测控件属性和功能实现的正确性;(2)能够增强测试的覆盖性。例如,测试控件状态时,自动化测试能够很好的遍历控件的所有状态值,测试软件在这些状态值下所产生响应的正确性;C3)完成测试用例的自动生成、测试点自动生成以及测试结果的评估。然而,对于某些大型系统,特别是安全苛刻性系统,传统的GUI自动化测试也存在一定的局限性。安全苛刻系统是指系统功能一旦失效将引起财产、生命的重大损失以及环境可能遭到严重破坏的系统。它对系统功是能否正常、是否可预期执行等要求异常严格。 安全苛刻系统的可靠性主要是通过测试来评估和验证的。通过对系统进行全面、大量的测试,为评估系统的可靠性提供证据。对于这样一类系统,测试流程如下测试人员分析测试需求,然后编写测试用例,经过测试用例评审人员评审完后,开始执行测试用例,然后将测试结果反馈给开发人员。对此,传统的GUI自动化测试的缺点在于(1)测试脚本不具有很好的可读性,测试用例评审人员很难确定测试脚本所表述的测试内容;( 对于测试脚本编写人员,在参照测试用例编写测试脚本过程中,要耗费大量的时间,而且可能生成非正确性脚本;(3)不能很好的解决分布式系统自动化测试所存在的问题,主要是分布式系统中各个节点测试执行的协同问题。目前,针对传统自动化测试所存在的问题,提出了一些改进。例如包括,建立被测系统的状态机转换模型,然后根据该状态机模型自动生成测试脚本;建立被测系统的输入输出所引起的状态转换序列,经过对该序列进行分析,自动确定各节点测试的协同关系。然而,前者只存在理论上的可行性,对大型复杂系统建立状态机转换模型基本上是不可行的, 会存在状态空间爆炸的后果。后者所需的状态转换序列很难生成,而且对于一般测试用例评审人员不具有可读性。
技术实现思路
本专利技术针对目前GUI自动化测试存在的测试脚本编写任务繁重、确定测试脚本和测试用例的一致性耗费大量时间人力以及对分布式系统进行GUI自动化测试所面临的协同问题,提出了一种面向测试用例描述的GUI自动化测试系统及其测试方法。一种面向测试用例描述的GUI自动化测试系统,所述的自动化测试系统包括测试管理子系统和测试执行子系统;其中,测试管理子系统包括三个子模块测试用例自然描述语言元素库、测试用例转换模块以及测试任务管理监控模块;测试执行子系统也包括三个子模块测试用例执行管理监控模块、测试脚本解释执行模块以及测试后续处理模块。测试管理子系统布置在一台测试总控机上,连接到被测系统所在的局域网络中,在被测系统的每个主机上布置一个测试执行子系统。测试任务管理监控模块和各测试节点的测试用例执行管理监控模块建立有网络消息通信。所述的测试用例自然描述语言元素库存储有编辑测试用例的测试步骤所需的测试动作元素;所述的测试任务管理监控模块根据用户要完成的测试内容从测试用例自然描述语言元素库中选择相应的测试动作元素组织生成测试用例的测试步骤,并将生成的测试步骤发送给测试用例转换模块;所述的测试用例转换模块将收到的测试步骤转换为相应的测试脚本,并将该测试脚本发送给测试任务管理监控模块;所述的测试任务管理监控模块将所有的测试用例组成测试任务,并生成测试计划安排表,按照测试计划安排表,将测试用例的测试步骤对应的测试脚本,逐一分发到相应测试节点的测试用例执行管理监控模块; 所述的测试用例执行管理监控模块实时接收测试脚本,将收到的测试脚本发送给测试脚本解释执行模块,并与接收到的测试脚本所涉及到的测试节点的测试用例执行管理监控模块建立网络消息通信,在测试脚本执行过程中,发送从本测试节点的测试脚本解释执行模块传递来的测试动作协同消息,以及接收从其它测试节点接收的测试动作协同消息传递给本测试节点的测试脚本解释执行模块;所述的测试脚本解释执行模块解释执行该测试脚本, 操作被测节点系统的GUI控件,对被测节点的系统进行测试,并将每一步的测试结果传递给测试后续处理模块;所述的测试后续处理模块将接收到的测试结果写入测试结果文件中,并在该测试脚本执行完毕后将测试结果文件发送给测试用例执行管理监控模块,测试用例执行管理监控模块实时将收到的测试结果文件发送给测试任务管理监控模块;所述的测试任务管理监控模块接收各测试节点发回来的测试结果文件,生成测试报告,并提供给用户查看。一种应用上述测试系统的面向测试用例描述的GUI自动化测试方法,具体为步骤1 用户根据测试用例需要完成的测试内容,使用测试管理子系统的测试任务管理监控模块从测试管理子系统的测试用例自然描述语言元素库中选取需要的测试动作元素,生成测试用例的测试步骤;步骤2 测试用例转换模块将生成的测试用例的测试步骤转换成相应的测试脚本,然后判断用户是否继续编辑测试用例,若用户继续编辑,则转步骤1执行,若不再继续编辑,执行步骤3;步骤3 测试任务管理监控模块组织所有测试用例,生成测试任务以及测试计划安排表,并按照测试计划安排表逐一将测试任务中的测试用例的测试步骤对应的测试脚本发送给相应测试节点的测试执行子系统;步骤4:当前测试节点的测试执行子系统接收和执行测试脚本,具体包括以下步骤步骤4. 1 测试执行子系统的测试用例执行管理监控模块实时接收测试脚本,将收到的测试脚本发送给测试执行子系统中的测试脚本解释执行模块执行,同时,测试用例执行管理监控模块还与接收到的测试脚本所涉及到的测试节点的测试用例执行管理监控模块建立网络消息通信;步骤4. 2 测试脚本解释执行模块对接收到的测试脚本进行解释,操作被测系统的GUI控件,完成对被测节点系统的功能测试,并将每一步测试结果发送给测试执行子系统中的测试后续处理模块;步骤4. 3 测试执行子系统中的测试后续处理模块将接收到的测试结果写入测试结果文件中,并在该测试脚本执行完毕后将测试结果文件发送给测试用例执行管理监控模块,测试用例执行管理监控模块实时将收到的测试结果文件发送给测试任务管理监控模块;步骤5 判断该次测试任务是否执行结束,若是,测试任务管理监控模块整理收到的测试结果文件,生成测试报告,输出给用户,结束本次测试任务;否则,转步骤4执行。相对于传统的GUI自动化测试系统,本专利技术的优点和积极效果在于(1)简化了繁重的测试脚本编写任务用规格化的测试用例自然描述语言(测试执行元素)来对测试步骤进行描述,这样使得测试用例既保持了很好的可读性,又避免了按照传统测试用例编写方式编写的测试用例,语义上存在的二义性和不确定性,使得测试用例的评审人员只需审查测试用例的描述,无需设计测试脚本,从而能够控制测试脚本的执行内容,审查整个测试用例的执行内容;(2)节省了时间、人力测试脚本的自动化生本文档来自技高网
...

【技术保护点】
1.一种面向测试用例描述的GUI自动化测试系统,其特征在于,所述的自动化测试系统包括测试管理子系统和测试执行子系统;其中,测试管理子系统布置在测试总控机上,测试执行子系统布置在被测系统的每个测试节点上,测试总控机接入被测系统所在的局域网络;测试管理子系统包括三个子模块:测试用例自然描述语言元素库、测试用例转换模块以及测试任务管理监控模块;测试执行子系统也包括三个子模块:测试用例执行管理监控模块、测试脚本解释执行模块以及测试后续处理模块;所述的测试任务管理监控模块和各测试节点的测试用例执行管理监控模块建立有网络消息通信;所述的测试用例自然描述语言元素库存储有编辑测试用例的测试步骤所需的测试动作元素;所述的测试任务管理监控模块根据用户要完成的测试内容从测试用例自然描述语言元素库中选择相应的测试动作元素组织生成测试用例的测试步骤,并将生成的测试步骤发送给测试用例转换模块;所述的测试用例转换模块中存储了测试动作元素到相应的规格化测试脚本元素的转换规则,测试用例转换模块按照该转换规则将收到的测试步骤转换为相应的测试脚本,并将该测试脚本发送给测试任务管理监控模块;所述的测试任务管理监控模块将所有的测试用例组成测试任务,并生成测试计划安排表,按照测试计划安排表,将测试用例的测试步骤对应的测试脚本,逐一分发到相应测试节点的测试用例执行管理监控模块;所述的测试用例执行管理监控模块实时接收测试脚本,将收到的测试脚本发送给测试脚本解释执行模块,并与接收到的测试脚本所涉及到的测试节点的测试用例执行管理监控模块建立网络消息通信,在测试脚本执行过程中,发送从本测试节点的测试脚本解释执行模块传递来的测试动作协同消息,以及接收从其它测试节点接收的测试动作协同消息传递给本测试节点的测试脚本解释执行模块;所述的测试脚本解释执行模块解释执行收到的测试脚本,操作被测节点系统的GUI控件,对被测节点的系统进行测试,并将每一步的测试结果传递给测试后续处理模块;所述的测试后续处理模块将接收到的测试结果写入测试结果文件中,并在该测试脚本执行完毕后将测试结果文件发送给测试用例执行管理监控模块,测试用例执行管理监控模块实时将收到的测试结果文件发送给测试任务管理监控模块;所述的测试任务管理监控模块接收各测试节点发回来的测试结果文件,生成测试报告,并提供给用户查看。...

【技术特征摘要】

【专利技术属性】
技术研发人员:王志超余丹尹杰马世龙储大为张强张杨
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1