Erp软件自动化测试系统及方法
【专利摘要】本发明公开一种ERP软件自动化测试系统,包括:初始化模块,用于读取配置文件信息;用例分析模块,用于根据所述配置文件信息加载测试用例,并分析测试所涉及的ERP表单及各表单间的测试逻辑;表单处理模块,用于加载测试所涉及的ERP表单,并获取表单中的测试对象和数据;测试调度模块,用于根据所述表单间的测试逻辑,调度所需的测试对象和数据进行测试;错误监控模块,用于监控测试调度执行过程中出现的异常情况并确认是否能够进行处理,如果是,则进行对应处理,如果无法处理,则恢复到上一测试节点重新测试;以及报告整合模块,用于根据所述测试调度模块的测试结果,并结合错误监控模块监控到的异常情况,自动生成测试报告后分发至相关接口。
【专利说明】ERP软件自动化测试系统及方法
【技术领域】
[0001]本发明涉及软件测试领域,尤其涉及一种ERP软件自动化测试系统和ERP软件自动化测试方法。
【背景技术】
[0002]ERP是企业资源计划(Enterprise Resource Planning)的简称,其是针对物资资源管理、人力资源管理、财务资源管理、信息资源管理集成一体化的企业管理软件。ERP软件代表最为先进的管理模式,几乎能解决企业遇到的所有问题,通过ERP管理系统,企业能提高管理效率和市场竞争力,因此ERP软件的推广应用在国内外都很广泛。随着信息技术和制造业技术的不断发展,企业对ERP软件的依赖和需求都在增加。
[0003]每一个新业务需求的提出,都需要在原有的ERP软件上作一定的更改。而ERP软件业务流程复杂多变,对其中一个模块进行修改,会影响到业务流程节点上的所有模块。因此,测试人员面对ERP软件频繁的需求更新时,会需要花费较多的时间进行完整的系统测试。而实际上,许多升级的版本或只做少量更改的需求,只需针对修改的部分进行测试。在这种情况下,不仅浪费测试人员的时间,而且极有可能在业务系统上线时出现难以预料的错误。
【发明内容】
[0004]为了解决上述问题,本发明提供一种ERP软件自动化测试系统和ERP软件自动化测试方法,其执行速度快,能够节省人力、时间或硬件资源,且保证系统质量。
[0005]本发明实施例提供一种ERP软件自动化测试系统,用于对ERP软件进行自动化测试,所述ERP软件包括多个ERP表单。所述ERP软件自动化测试系统包括:初始化模块,用于读取配置文件信息,启动测试流程;用例分析模块,用于根据所述配置文件信息加载测试用例,并根据测试用例中的数据分析测试所涉及的ERP表单及各表单间的测试逻辑;表单处理模块,用于加载所述用例分析模块分析的测试所涉及的ERP表单,并获取表单中的测试对象和数据;测试调度模块,用于根据所述用例分析模块分析后的表单间的测试逻辑,调度所需的测试对象和数据进行测试;错误监控模块,用于监控测试调度执行过程中出现的异常情况并确认是否能够进行处理,如果是,则进行对应处理,如果无法处理,则恢复到上一测试节点重新测试;以及报告整合模块,用于根据所述测试调度模块的测试结果,并结合错误监控模块监控到的异常情况,自动生成测试报告后分发至相关接口。
[0006]优选的,所述初始化模块包括加载单元和用例驱动单元,所述加载单元用于读取指定路径下的配置文件中的信息,所述用例驱动单元用于根据配置文件信息读取所有测试用例信息。
[0007]优选的,所述用例分析模块包括读取单元和分析单元,所述读取单元用于加载所述用例驱动单元读取的测试用例信息,并读取测试用例中指定位置的信息,所述分析单元用于根据所述指定位置的信息,分析测试涉及的表单以及表单间的测试逻辑。[0008]优选的,所述测试用例包括ERP表单、操作以及路径描述的数据,所述ERP表单表示测试所涉及的表单,所述操作数据表示测试具体操作,所述路径描述记录表单间的逻辑关系,所述用例分析模块根据ERP表单列分析测试所涉及的表单,以及根据操作以及路径描述两列分析所述表单间的测试逻辑。
[0009]优选的,所述表单处理模块包括测试对象提取单元、测试对象池和表单数据存储区,所述测试对象提取单元用于获取所述用例分析模块分析的测试涉及的表单信息,并根据预设的关键字段,在测试涉及的表单中检索所有符合条件的测试对象,所述测试对象池用于存储所述所有符合条件的测试对象,所述表单数据存储区用于存储每个测试对象的数据。
[0010]优选的,所述测试调度模块包括逻辑处理单元和调度单元,所述逻辑处理单元用于将测试对象、测试对象的数据和所述表单间的测试逻辑封装成组件,且设定测试执行路径;所述调度单元用于在路径设定完毕后,从测试对象池和表单数据区提取所需测试对象和测试数据,并启动组件测试。
[0011]优选的,所述报告整合模块包括数据收集单元、错误定位单元和信息分发单元,所述数据收集单元用于收集测试执行结果,所述错误定位单元用于根据测试执行结果,判断是否需要进行错误定位,如需要进行错误定位,则定位到对应的错误节点,并将错误节点中异常信息整合在报告中,所述信息分发单元用于与邮件服务器产生交互,并将测试报告分发给项目相关人员。
[0012]优选的,所述错误监控模块包括错误检测单元和错误处理单元,所述错误检测单元用于检测测试过程中的异常信息,并确认是否能够进行处理所述异常信息,如果能够处理,则将异常信息提交给所述错误处理单元;如果无法处理,则恢复到上一测试节点重新测试,所述错误处理单元则用于根据异常信息类型,对异常信息作相应的处理。
[0013]本发明实施例另提供一种ERP软件自动化测试方法,其包括:读取配置文件信息,启动测试流程;根据所述配置文件信息加载测试用例,并根据测试用例中的数据分析测试所涉及的ERP表单及各表单间的测试逻辑;加载分析后的测试所涉及的ERP表单,并获取表单中的测试对象和数据;根据分析后的表单间的测试逻辑,调度所需的测试对象和数据进行测试;监控测试过程中出现的异常情况并确认是否能够进行处理,如果是,则进行对应处理,如果无法处理,则恢复到上一测试节点重新测试;以及根据测试结果,并结合监控到的异常情况,自动生成测试报告后分发至相关接口。
[0014]优选的,所述根据测试结果并结合监控到的异常情况自动生成测试报告后分发至相关接口的步骤进一步包括:判断是否需要进行错误定位,如需要进行错误定位,则定位到对应的错误节点,并将错误节点的异常信息整合在报告中。
[0015]本发明的上述实施例具有自动化测试的功能,方便测试人员对ERP软件进行测试,而且测试过程无需因为发生异常情况而重新测试,因此执行速度快,节省了人力、时间或硬件资源,从而提高测试效率,并且能够保证软件质量。
【专利附图】
【附图说明】
[0016]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0017]图1为本发明实施例提供的ERP软件自动化测试系统的框架示意图;
图2为图1的ERP软件自动化测试系统的细化框架示意图;
图3为本发明提供的ERP软件自动化测试方法的流程图;
图4为本发明实施例提供的ERP软件自动化测试方法处理ERP销售子系统出库模块的流程图;
图5为图4的ERP销售子系统出库模块的一自动化测试用例模板示意图;
图6为图4的ERP销售子系统出库模块的另一自动化测试用例模板示意图;
图7为图4的ERP销售子系统出库模块的自动化测试的配置文件模板示意图;
图8为图4的ERP销售子系统出库模块的测试报告模板示意图;
图9为图4的ERP软件自 动化测试方法的测试路径示意图。
【具体实施方式】
[0018]下面结合附图和【具体实施方式】对本发明的技术方案作进一步更详细的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
[0019]如图1所示,其为本发明的ERP软件自动化测试系统100的总体框架示意图,所述ERP软件自动化测试系统100包括初始化模块101、用例分析模块102、表单处理模块103、测试调度模块104、错误监控模块105以及报告整合模块106。
[0020]所述初始化模块101用于读取配置文件信息,并启动测试流程。所述配置文件信息记录着测试用例的路径信息、系统当前的环境变量和用户自定义的变量信息(请参考图7)。启动测试流程是本次自动化测试的正式开始。
[0021]所述用例分析模块102用于根据所述配置文件信息,加载测试用例,并根据测试用例中的数据分析测试涉及的表单和测试逻辑。本实施例中,所述测试用例是指初始化后,所述用例分析模块102根据所述配置文件信息中的路径信息所获取到的一个excel文件,其记录测试活动的相关信息,例如,表单名称、表单类型、具体测试操作以及表单间的逻辑关系可在测试用例中体现(请参阅图5、6)。测试涉及的表单是指测试用例中记录的ERP软件中预先存储的一个或多个表单(下称ERP表单)。表单间的逻辑关系是指测试涉及的各个表单之间的先后逻辑关系,例如在ERP软件上要先填采购订单,然后才能生成发货通知单,那么这两个表单之间的逻辑关系在测试用例上的表现形式就为“采购订单?发货通知单”。具体的,在本实施例中,测试用例(即excel表格)中有专门的字段记录所涉及的表单和表单间的逻辑关系,如图5所示,“ERP表单”一列记录本次测试所涉及的表单,“路径描述”一列则记录表单间的逻辑关系。通过读取测试用例中指定的列,例如“ERP表单”和“路径描述”两列,可分析出测试涉及的表单和表单间的逻辑关系。而所述测试逻辑是结合测试用例中的具体测试操作以及表单间的逻辑关系所获得的信息。具体的,请参阅图5,所述用例分析模块102读取“操作”和“路径描述”2列的信息,根据“操作”一列中的编号确定先后顺序,再对“路径描述”一列中的箭头标志进行分割,进行组合,形成表单间的测试逻辑:新增销售订单?新增发货检验申请单?审核发货检验单?新增出库单?新增发票。所述用例分析模块102分析出测试涉及到的ERP表单以及测试逻辑后,将涉及到的ERP表单信息传给表单处理模块103,以及将测试逻辑传给测试调度模块104。需要注意的是,所述测试用例的模板文件可由测试人员手工填写,也可自动加载。所述测试用例可直接存储于ERP软件中,或者存储于外接的存储设备中,当需要加载时,分别通过直接读取和USB读取方式进行获取。
[0022]所述表单处理模块103用于加载所述用例分析模块102分析出的测试涉及的表单,并封装表单中的测试对象和数据。其中,测试涉及的表单中的测试项都封装为测试对象,且每个表单的数据单独提取出来。更具体的,测试项是指测试涉及的表单中需要测试的字段。所述表单处理模块103获得测试涉及的表单信息后,根据预设的搜索字段,例如图6中的单据头字段和单据体字段,在测试涉及的表单中进行检索,遍历表单中所有测试项后,提取表单中符合条件的测试项和动作,封装成测试对象,进行编号后进行存储。如果两个表单中测试项字段名称重复,则在字段名前面加表单名以示区分。所述表单处理模块103提取完表单数据后,结果供测试调度模块104调用。
[0023]所述测试调度模块104用于根据所述测试逻辑,从表单处理模块103调度所需的测试对象和数据来执行测试。具体的,以图5为例,所述测试调度模块104根据所述测试逻辑,首先设定第一步路径为新增销售订单,接着找到封装的销售订单对象,并根据表单逻辑新增动作,组合成新增销售订单组件。同时,设定下一步路径为新增发货检验申请单。设定完毕后,再寻找发货检验申请单对象,根据表单逻辑新增动作,组合成新增发货检验申请单组件。以此类推,遍历完成5个业务节点的处理,通过不同组件的跳转,形成ERP软件的业务流程,启动组件的业务流程测试。
[0024]所述错误监控模块105用于在测试过程中,监控测试调度执行过程中出现的各种异常,并确认是否能够处理异常,如果能够处理,则首先是捕获异常,再提交给模块相应单元作进一步的处理,如果 无法处理,则恢复到上一测试节点,重新执行对应的测试步骤。可以理解,所述异常是指测试过程中任何能够阻塞测试的事件。
[0025]在测试结束后,所述报告整合模块106根据所述测试调度模块的测试结果,并结合错误监控模块105监控到的异常情况,自动生成测试报告后分发至相关接口。具体的,所述报告整合模块106根据所述错误监控模块105的监控结果,判断是否发生异常或错误。更具体地,如果判断发生异常或错误,则根据异常信息定位到发生错误的对应测试节点上,并将异常信息整合到测试报告中。如果判断未发生异常或错误,则生成“正常”的测试报告。所述测试报告是在采集数据后,根据预定义的报告格式完成的。报告的分发依靠公司的邮件接口和配置文件中的邮件接收人,进行自动发送。
[0026]如图2所示,其为图1的ERP自动化测试系统100的细化框架示意图。其中,所述初始化模块101包括加载单元1011以及用例驱动单元1012,所述用例分析模块102包括读取单元1021以及分析单元1022,所述表单处理模块103包括测试对象提取单元1031、测试对象池1032以及表单数据区1033,所述测试调度模块104包括逻辑处理单元1041以及调度单元1042,所述错误监控模块105包括错误检测单元1051以及错误处理单元1052,所述报告整合模块106包括数据收集单元1061、错误定位单元1062以及信息分发单元1063。
[0027]所述自动化测试系统100执行的测试过程可分为自动化测试准备阶段、自动化测试执行阶段和自动化测试结束阶段。[0028]在自动化测试准备阶段,初始化模块101中的加载单元1011加载配置文件,读取配置文件中的配置信息。读取完毕,通知用例驱动单元1012。用例驱动单元1012接到通知,根据配置信息中的路径读取所有测试用例信息,并将信息传给用例分析模块102。用例分析模块102中的读取单元1021加载所有测试用例,并读取指定单元列内的数据。在本实施例中,这些数据包括两类,一类是ERP表单的数据,包含单据头和单据体,另一类是表单动作,包含新增、保存、审核、退出、反写和自定义。所述分析单元1022根据测试用例中的数据分析出测试涉及的表单和测试逻辑,并进行路径组合,即获得如上述的“新增销售订单?新增发货检验申请单?审核发货检验单?新增出库单?新增发票”的信息。分析完毕,分析单元1022将测试涉及的表单信息传给表单处理模块103中的测试对象提取单元1031,以及将测试逻辑传给测试调度模块104中的逻辑处理单元1041。测试对象提取单元1031接收到测试涉及的表单信息后,根据预设的搜索字段,在测试涉及的表单中进行检索,遍历表单中所有测试项后,提取符合条件的测试项和动作,封装成测试对象,进行编号后存放到测试对象池1032中。ERP表单(即测试涉及的表单)的单据头和单据体数据加上对象编号后,会存放到表单数据存储区1033。
[0029]在自动化测试执行阶段,测试用例中涉及的所有ERP表单数据经表单处理模块103处理完毕后,逻辑处理单元1041根据分析单元1022传入的表单间的逻辑关系,将每个业务节点上涉及到的测试对象、数据和逻辑封装成组件。组件在整个测试过程中可以重复调用,通过不同组件的跳转,形成ERP软件的业务流程。组装完毕后,通知调度单元1042。调度单元1042到测试对象池1032和表单数据区1033按先后顺序提取所需测试对象和测试数据,启动组件的业务流程测试。在自动化测试进行过程中,错误监控模块105进行全程监控。错误检测单元1051收集程序和系统的错误信息,从而能够检测出测试过程中出现的异常信息。此外,错误检测单元1051还用于确认是否能够处理所述异常信息,如果能够处理,则将收到的信息分类后,提交给错误处理单元1052进一步处理。如果处理不了,即将测试路径恢复到上一测试节点,重新执行该测试步骤。以此类推,如果恢复失败,表示测试执行遭到阻塞,则进行日志记录,进行下一次测试迭代。所述错误处理单元1052则根据异常信息的类型,以预先设定的模式进行处理。
[0030]在自动化测试结 束阶段,报告整合模块106中的数据收集单元1061收集测试过程中的所有信息后,汇总各个信息的分类,例如,自动测试结果、测试过程数据度量、测试过程中的异常信息等等。错误定位单元1062根据测试执行结果,判断是否需要进行错误定位。具体的,如果发生异常或错误,则根据异常信息定位到发生错误的对应测试节点上,并将异常信息整合在报告中。最后,生成测试分析报告,信息分发单元1063将测试分析报告发送给预先设定的项目相关人员。
[0031 ] 如图3所示,其为本发明的ERP软件自动化测试方法的流程示意图,所述方法包括以下步骤:
步骤301,填写自动化测试的测试用例模板和配置文件,并在确认本次ERP软件自动化测试信息后,启动测试流程。本实施例中,由测试人员手动填写自动化测试的配置文件信息和建立测试用例模板。测试流程启动后,读取自动化测试配置文件,以获取本次自动化测试的相关信息。具体的,所述配置文件包括预先定义的配置信息,其记录着测试用例的路径信息、系统当前的环境变量和用户自定义的变量信息(请参考图7),可通过读取所述测试用例的路径信息来获得测试用例中记录的相关联信息。本实施例中,所述测试用例是指一个excel文件,其记录测试活动的相关信息,例如,表单名称、类型、具体测试操作以及表单间逻辑关系可在测试用例中体现(请参阅图5、6)。此外,所述测试用例可直接存储于ERP软件中,或者存储于外接的存储设备中,当需要加载时,分别通过直接读取和USB读取方式进行获取。
[0032]步骤302,自动加载测试用例,并根据测试用例中的数据获取测试涉及的表单和表单间的测试逻辑。本实施例中,所述测试用例是指初始化后,根据所述配置文件中的路径信息所获取到的一个excel文件,其记录测试活动的相关信息,例如,表单名称、表单类型、具体测试操作以及表单间的逻辑关系可在测试用例中体现(请参阅图5、6)。测试涉及的表单是指测试用例中记录的在ERP软件中预先存储的一个或多个表单(下称ERP表单)。表单间的逻辑关系是指测试涉及的各个表单之间的先后逻辑关系。具体的,在本实施例中,测试用例(即excel表格)中有专门的字段记录所涉及的表单和表单间的逻辑关系,如图5所示,“ERP表单” 一列记录本次测试所涉及的表单,“路径描述” 一列则记录表单间的逻辑关系。通过读取测试用例中指定的列,例如“ERP表单”和“路径描述”两列,可获得测试涉及的表单和表单间的逻辑关系。而所述测试逻辑是结合测试用例中的具体测试操作以及表单间的逻辑关系所获得的信息。具体的,请参阅图5,读取“操作”和“路径描述”2列的信息,根据“操作” 一列中的编号确定先后顺序,再对“路径描述” 一列中的箭头标志进行分割,进行组合,形成表单间的测试逻辑:新增销售订单?新增发货检验申请单?审核发货检验单?新增出库单?新增发票。
[0033]步骤303,自动加载测试涉及的表单,对表单进行测试对象封装和数据提取。其中,测试涉及的表单测试项都封装为测试对象,且每个表单的数据单独提取出来,所述测试项是指测试涉及的表单中需要测试的字段。更具体的,获得测试涉及的表单信息后,根据预设的搜索字段,例如图6中 的单据头字段和单据体字段,在测试涉及的表单中进行检索,遍历表单中所有测试项后,提取测试涉及的ERP表单中符合条件的测试项和动作,封装成测试对象,进行编号后进行存储。如果两个表单中测试项字段名称重复,则在字段名前面加表单名以示区分。此外,ERP表单的单据头和单据体数据加上对象编号后,也会另行存储。
[0034]步骤304,根据所述测试逻辑,调度所需的测试对象和数据进行逐一节点测试。在本实施例中,首先根据各个ERP表单间的逻辑关系(例如图5的“路径描述”一列),将每个表单上涉及到的测试对象、数据和逻辑关系封装成组件。完成组装后,根据所述逻辑关系,确定每一个测试步骤加载的表单。例如,在图5的“路径描述”一列中,逻辑关系是:销售订单?发货通知单?出库单?发票,那么设定的路径就是第一步加载销售订单,第二步加载发货通知单,第三步加载出库单,第四步加载发票单据。最后,按所述逻辑关系提取所需表单中的测试对象和测试数据,启动组件的业务流程测试。在本实施例中,首先设定第一步路径为新增销售订单,接着找到封装的销售订单对象,并根据表单逻辑新增动作,组合成新增销售订单组件。同时,设定下一步路径为新增发货检验申请单。设定完毕后,再寻找发货检验申请单对象,根据表单逻辑新增动作,组合成新增发货检验申请单组件。以此类推,遍历完成5个业务节点的处理,通过不同组件的跳转,形成ERP软件的业务流程,启动组件的业务流程测试。其中,组件在整个测试过程中可以重复调用,通过不同组件的跳转,形成ERP软件的执行流程。[0035]步骤305,对自动化测试过程进行监控,处理测试过程中发生的异常,产生日志文件。所述异常是指测试过程中任何能够阻塞测试的事件。当异常发生时,首先是捕获异常,再提交给模块相应单元作进一步的处理。如果处理不了,就将测试路径恢复到上一测试节点,重新执行该测试步骤。以此类推,如果恢复失败,表示测试执行遭到阻塞,则进行日志记录,进行下一次测试迭代。
[0036]步骤306,收集自动化测试结果,对结果进行错误定位,并作初步分析后形成测试报告,通过邮件服务器发送给相关人员。具体的,步骤306具体包括:根据所述自动化测试结果,判断是否发生异常或错误,如果判断发生异常或错误,则根据异常信息定位到发生错误的对应测试节点上,并将异常信息整合到测试报告中,如果判断未发生异常或错误,则生成“正常”的测试报告。所述测试报告是在采集数据后,根据预定义的报告格式完成制作。报告的分发依靠公司的邮件接口和配置文件中的邮件接收人,进行自动发送。
[0037]更具体的,请参阅图4,其为本发明提供的ERP软件自动化测试方法用于处理ERP销售子系统出库模块的流程图。所述ERP软件自动化测试方法包括以下步骤: 步骤401,根据销售子系统需要测试的出库模块填写测试用例模板文件。本次自动化测试需要填写主用例工作表和销售出库工作表信息,所述销售出库工作表为辅助工作表。主用例工作表如图5所示,包含编号、标识、模块、功能点、ERP表单、操作和路径描述。作为辅助工作表的销售出库工作表如图6所示,包含销售出库单据的单据头和单据体,记录着本次自动化测试数据。可以理解,如需要测试的模块增加,则增加对应的辅助工作表,以记录增加的表单数据即可。
[0038]步骤402,更改自动化测试框架下的配置文件。配置文件如图7所示,包含自动化测试用例路径、当前系统环境变量、Email地址和其它变量信息。在本步骤中,主要是修改本次出库模块测试用例的路径信息,确认系统当前的环境变量和测试人员自定义的邮件地
址等变量信息。
[0039]步骤403,启动自动化测试脚本,开始出库模块的自动化测试。具体的,初始化脚本加载指定路径下的配置文件,读取配置文件下的“自动化测试用例路径” 一列,获取本次自动化测试所需要执行的测试用例,同时检查当前系统的环境变量是否正确。然后,根据初始化脚本传过来的测试用例信息,打开指定路径下的测试用例,读取“ERP表单”、“操作”和“路径描述” 3列中的信息。本实施例中,首先读取“ERP表单” 一列中的信息,根据编号,获取所涉及到的ERP表单。本实施例中,涉及到5种表单:销售订单、发货检验申请单、发货检验审核单、出库单和发票。接着,读取“操作”和“路径描述”2列的信息,根据“操作”一列中的编号确定先后顺序,再对路径描述一列中的箭头标志进行分割,进行组合,形成表单间的测试逻辑:新增销售订单?新增发货检验申请单?审核发货检验单?新增出库单?新增发票。需要处理的表单信息传给表单处理脚本,表单间的测试逻辑传给测试调度脚本。表单处理脚本根据测试用例分析结果所得到需要进行处理的5种表单信息,到ERP软件中提取符合条件的测试项,并通过脚本封装成测试对象,测试对象包含着表单的测试项和对应的动作。对象封装成功后,自动生成对象编号,接着在ERP表单数据加上对象编号,指明对应关系,并放到表单数据存储区域。测试调度脚本根据传入的表单之间的测试逻辑,首先设定第一步路径为新增销售订单,接着找到封装的销售订单对象,并根据表单逻辑新增动作,组合成新增销售订单组件。同时,设定下一步路径为新增发货检验申请单。设定完毕后,再去寻找发货检验申请单对象,根据表单逻辑新增动作,组合成新增发货检验申请单组件。以此类推,遍历完成5个业务节点的处理,通过不同组件的跳转,形成ERP软件的业务流程,启动组件的业务流程测试。
[0040]步骤404,监控自动化测试过程,并判断是否发生异常,如果是,则进一步执行步骤405:判断是否能够处理异常;如果判断未发生异常,则执行步骤406:显示自动化测试正常结束。如果能够处理异常,则执行步骤407:捕获异常,再提交给模块相应单元作进一步的处理;如果无法处理,则执行步骤408:将测试路径恢复到上一测试节点,重新执行该测试步骤。具体的,请参阅图9,在本实施例中,包含了销售出库业务组件测试中的五个流程节点:订单节点、发货检验申请节点、发货检验节点、出库节点、发票节点,在自动化测试过程中,每个组件节点都设置一个还原点。脚本实时监控执行状态,一旦发生错误即调用相关模块。例如,在出库节点测试时ERP软件意外崩溃重启,测试受到了阻塞。此时,自动化测试脚本检测到出库节点出错,并捕获到了该异常。自动化测试脚本根据异常类型,与预先设定的异常进行匹配。匹配成功并进行日志记录后,启动组件还原点,将测试路径恢复到上一测试节点发货检验节点,重新执行该测试步骤,自动化测试流程得以持续进行。
[0041]步骤409,整合测试报告。本实施例中,无论是监控发生异常还是测试正常结束,均进入此步骤。具体的,在本步骤中,报告整合脚本首先读取如图8所示的自动化测试报告模板。然后,获取系统当前日期,填写日期一栏。接着读取图5测试用例中的“功能点”和“标识”,分别填写到“测试业务”和“用例号”两列。最后将每个业务节点的测试结果填写到“结果”一栏。测试报告模板填写完毕,读取图7配置文件中的Email地址信息,通过公司邮件服务器发送给测试人员。测试人员收到报告后,作进一步的分析。可以理解,本实施例中所述的填写,可由系统自行获取,也可由测试人员手动填写。
[0042]总的来说,本发明的ERP软件自动化测试系统及方法于初始化启动后,以测试用例作为输入点,接着将测试要素封装成组件进行自动化测试,直到测试结束都不需要测试人员手工干预,节省了人力和时间。此外,以用例驱动测试,再通过组件的封装,根据ERP软件不同的业务流程的重组,实现组件的重用,提高了测试覆盖率,加快了测试进度,缩短了测试周期。同时,当错误发生时,通过组件的错误定位能快速定位到相关流程节点上,迅速解决问题,提升软件质量。
[0043]需要说明的是,通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对【背景技术】做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0044]以上所揭露的仅为本发明实施例中的较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【权利要求】
1.一种ERP软件自动化测试系统,用于对ERP软件进行自动化测试,所述ERP软件包括多个ERP表单,所述ERP软件自动化测试系统包括: 初始化模块,用于读取配置文件信息,启动测试流程; 用例分析模块,用于根据所述配置文件信息加载测试用例,并根据测试用例中的数据分析测试所涉及的ERP表单及各表单间的测试逻辑; 表单处理模块,用于加载所述用例分析模块分析的测试所涉及的ERP表单,并获取表单中的测试对象和数据; 测试调度模块,用于根据所述用例分析模块分析后的表单间的测试逻辑,调度所需的测试对象和数据进行测试; 错误监控模块,用于监控测试调度执行过程中出现的异常情况并确认是否能够进行处理,如果是,则进行对应处理,如果无法处理,则恢复到上一测试节点重新测试;以及 报告整合模块,用于根据所述测试调度模块的测试结果,并结合错误监控模块监控到的异常情况,自动生成测试报告后分发至相关接口。
2.如权利要求1所述的ERP软件自动化测试系统,其特征在于,所述初始化模块包括加载单元和用例驱动单元,所述加载单元用于读取指定路径下的配置文件中的信息,所述用例驱动单元用于根据配置文件信息读取所有测试用例信息。
3.如权利要求2所述的ERP软件自动化测试系统,其特征在于,所述用例分析模块包括读取单元和分析单元,所述读取单元用于加载所述用例驱动单元读取的测试用例信息,并读取测试用例中指定位置的信息,所述分析单元用于根据所述指定位置的信息,分析测试涉及的表单以及表单间的测试逻辑。
4.如权利要求1所 述的ERP软件自动化测试系统,其特征在于,所述测试用例包括ERP表单、操作以及路径描述的数据,所述ERP表单表示测试所涉及的表单,所述操作数据表示测试具体操作,所述路径描述记录表单间的逻辑关系,所述用例分析模块根据ERP表单列分析测试所涉及的表单,以及根据操作以及路径描述两列分析所述表单间的测试逻辑。
5.如权利要求1所述的ERP软件自动化测试系统,其特征在于,所述表单处理模块包括测试对象提取单元、测试对象池和表单数据存储区,所述测试对象提取单元用于获取所述用例分析模块分析的测试涉及的表单信息,并根据预设的关键字段,在测试涉及的表单中检索所有符合条件的测试对象,所述测试对象池用于存储所述所有符合条件的测试对象,所述表单数据存储区用于存储每个测试对象的数据。
6.如权利要求5所述的ERP软件自动化测试系统,其特征在于,所述测试调度模块包括逻辑处理单元和调度单元,所述逻辑处理单元用于将测试对象、测试对象的数据和所述表单间的测试逻辑封装成组件,且设定测试执行路径;所述调度单元用于在路径设定完毕后,从测试对象池和表单数据区提取所需测试对象和测试数据,并启动组件测试。
7.如权利要求6所述的ERP软件自动化测试系统,其特征在于,所述报告整合模块包括数据收集单元、错误定位单元和信息分发单元,所述数据收集单元用于收集测试执行结果,所述错误定位单元用于根据测试执行结果,判断是否需要进行错误定位,如需要进行错误定位,则定位到对应的错误节点,并将错误节点中异常信息整合在报告中,所述信息分发单元用于与邮件服务器产生交互,并将测试报告分发给项目相关人员。
8.如权利要求1所述的ERP软件自动化测试系统,其特征在于,所述错误监控模块包括错误检测单元和错误处理单元,所述错误检测单元用于检测测试过程中的异常信息,并确认是否能够进行处理所述异常信息,如果能够处理,则将异常信息提交给所述错误处理单元;如果无法处理,则恢复到上一测试节点重新测试,所述错误处理单元则用于根据异常信息类型,对异常信息作相应的处理。
9.一种ERP软件自动化测试方法,其包括: 读取配置文件信息,启动测试流程; 根据所述配置文件信息加载测试用例,并根据测试用例中的数据分析测试所涉及的ERP表单及各表单间的测试逻辑; 加载分析后的测试所涉及的ERP表单,并获取表单中的测试对象和数据; 根据分析后的表单间的测试逻辑,调度所需的测试对象和数据进行测试; 监控测试过程中出现的异常情况并确认是否能够进行处理,如果是,则进行对应处理,如果无法处理,则恢复到上一测试节点重新测试;以及 根据测试结果,并结合监控到的异常情况,自动生成测试报告后分发至相关接口。
10.如权利要求9所述的ERP软件自动化测试方法,其特征在于,所述根据测试结果,并结合监控到的异常情况,自动生成测试报告后分发至相关接口的步骤进一步包括: 判断是否需要进行错误定位,如需要进行错误定位,则定位到对应的错误节点,并将错误节点的异常信息整合在报告中。
【文档编号】G06F11/36GK103631713SQ201310537410
【公开日】2014年3月12日 申请日期:2013年11月4日 优先权日:2013年11月4日
【发明者】曾宇涛, 宋丹 申请人:中安消技术有限公司