本发明涉及软件测试技术领域,特别涉及一种软件自动化测试的报错日志的自动分析方法和系统。
背景技术:
在软件业十分成熟的今天,agile(敏捷)开发在业界日益流行,而面临的挑战也日益增多,不断变化的用户需求、缩短的开发周期、频繁的部署上线、复杂的产品架构和团队组织,如何继续保证软件的质量是一个不能回避的课题。
自动化集成是各大公司的测试趋势,而对测试用例的测试结果的分析一般是采用人工统计的方式,首先进入报错日志链接,然后再将报错日志拉到最底部,最后才能知道报错原因。现有的方式操作不便,测试结果的分析比较耗时,测试人员分析测试结果的效率较低。
技术实现要素:
本发明要解决的技术问题是为了克服现有技术中软件测试结果分析采用人工统计的方式操作不便、耗时、效率低的缺陷,提供一种能够提高测试人员分析报错日志的效率、减少分析及等待时间,从而提高自动化测试持续集成效率的软件自动化测试的报错日志的自动分析方法和系统。
本发明是通过下述技术方案来解决上述技术问题:
一种软件自动化测试的报错日志的自动分析方法,其特点在于,包括以下步骤:
s1、获取每条报错日志,对所述报错日志进行预处理,以得到第一日志,所述预处理用于去除所述报错日志中的干扰词,所述干扰词包括system、the、error和/或中文字符;
s2、判断所述第一日志的长度是否大于预设阈值,若是则执行步骤s3,若否则执行步骤s4;
s3、根据词库数据库对所述第一日志分词,以得到第二日志;
s4、步骤s2中若否则设置所述第一日志为第二日志;将所述第二日志与规则数据库中的归类规则进行匹配,以得到匹配的异常错误详细信息,获取所述匹配的异常错误详细信息对应的异常错误类型,设置所述对应的异常错误类型为所述报错日志的错误标识;每条所述归类规则包括一一对应的异常错误类型和异常错误详细信息。
本方案中,当每条测试用例执行完,如果有报错信息,则首先对报错日志进行预处理,以去除掉干扰词,从而提高后续错误日志分析的准确率;随后判断报错日志的字节数,如果超过预设阈值,说明长度过长,需要经过分词处理后再进行归类规则匹配,如果小于预设阈值则直接进行全文匹配。经过匹配后能够得到该条报错日志的错误标识,测试人员分析测试结果时通过该错误标识即可直观地获知该测试用例的报错原因,而不需要进入报错日志链接,再将报错日志拉到最底部才能知道报错原因。本方案在进行软件自动化测试的报错日志的分析时不需要测试人员手动操作即可直观获知报错原因,有效提高了测试人员分析报错日志的效率、减少分析及等待时间,从而提高自动化测试持续集成效率。
较佳地,所述自动分析方法还包括以下步骤:创建所述规则数据库。
本方案中,通过创建规则数据库为报错日志进行错误匹配提供匹配依据,规则数据库包括预先存好的归类规则,归类规则用于表示错误归属类别,包括一一对应的异常错误类型和异常错误详细信息,异常错误类型表示该报错日志属于哪一类错误,异常错误详细信息表示该报错日志包括的具体错误信息。
较佳地,所述自动分析方法还包括以下步骤:通过操作页面增加、删除和/或修改所述规则数据库中的归类规则。
本方案中,为用户提供操作页面,通过该操作页面用户可自行增加、删除和/或修改错误归属类别即归类规则。用户增加一个类别,可自行定义级别,根据用户定义的级别,可自动生成各种相对判断出错模式,同时用户可自行选择归类类别,可扩展性好,适用于不同的网络环境。
较佳地,步骤s4中进行匹配时挑选匹配度最高的异常错误详细信息作为所述匹配的异常错误详细信息。
本方案中,对于匹配时有多种能够匹配的归类规则的情况,此时选择匹配度最高的异常错误详细信息作为所述匹配的异常错误详细信息,能够提高自动分析报错原因的准确率。
较佳地,步骤s3为:根据所述词库数据库和所述规则数据库对所述第一日志分词,以得到所述第二日志。
本方案中,分词时不仅考虑传统的词库数据库,还结合了规则数据库,能够更加符合软件自动化测试的报错日志的自动分析的需求,使得分词后的结果更加合理,减少误判率。
本发明还提供一种软件自动化测试的报错日志的自动分析系统,其特点在于,包括预处理模块、长度判断模块、分词模块和匹配模块;所述预处理模块用于获取每条报错日志,对所述报错日志进行预处理,以得到第一日志,所述预处理用于去除所述报错日志中的干扰词,所述干扰词包括system、the、error和/或中文字符;所述长度判断模块用于判断所述第一日志的长度是否大于预设阈值,若是则调用所述分词模块,若否则所述调用匹配;所述分词模块用于根据词库数据库对所述第一日志分词,以得到第二日志;所述匹配模块用于在所述长度判断模块中若否时设置所述第一日志为第二日志;所述匹配模块还用于将所述第二日志与规则数据库中的归类规则进行匹配,以得到匹配的异常错误详细信息,获取所述匹配的异常错误详细信息对应的异常错误类型,设置所述对应的异常错误类型为所述报错日志的错误标识;每条所述归类规则包括一一对应的异常错误类型和异常错误详细信息。
较佳地,所述自动分析系统还包括规则数据库创建模块,所述规则数据库创建模块用于创建所述规则数据库。
较佳地,所述自动分析系统还包括归类规则处理模块,所述归类规则处理模块用于通过操作页面增加、删除和/或修改所述规则数据库中的归类规则。
较佳地,所述匹配模块在进行匹配时挑选匹配度最高的异常错误详细信息作为所述匹配的异常错误详细信息。
较佳地,所述分词模块根据所述词库数据库和所述规则数据库对所述第一日志分词,以得到所述第二日志。
本发明的积极进步效果在于:本发明提供的软件自动化测试的报错日志的自动分析方法和系统能够自动得到每条报错日志的错误标识,测试人员分析测试结果时通过该错误标识即可直观地获知该测试用例的报错原因,而不需要进入报错日志链接,再将报错日志拉到最底部才能知道报错原因。本发明在进行软件自动化测试的报错日志的分析时不需要测试人员手动操作即可直观获知报错原因,有效提高了测试人员分析报错日志的效率、减少分析及等待时间,从而提高自动化测试持续集成效率。
附图说明
图1为本发明一较佳实施例的软件自动化测试的报错日志的自动分析方法的流程图。
图2为发明一较佳实施例的软件自动化测试的报错日志的自动分析系统的示意图。
图3为发明一较佳实施例中规则数据库中存储的归类规则的示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
如图1所示,一种软件自动化测试的报错日志的自动分析方法,包括以下步骤:
步骤101、创建规则数据库,规则数据库用于存储归类规则,每条归类规则包括一一对应的异常错误类型和异常错误详细信息。
步骤102、通过操作页面增加、删除和/或修改规则数据库中的归类规则。
步骤103、获取每条报错日志,对报错日志进行预处理,以得到第一日志,所述预处理用于去除所述报错日志中的干扰词,干扰词包括system、the、error和/或中文字符。
步骤104、判断第一日志的长度是否大于预设阈值,若是则执行步骤105,若否则执行步骤106。
步骤105、根据词库数据库和规则数据库对第一日志分词,以得到第二日志。
步骤106、步骤104中若否则设置第一日志为第二日志;将第二日志与规则数据库中的归类规则进行匹配,挑选匹配度最高的异常错误详细信息作为匹配的异常错误详细信息,获取所述匹配的异常错误详细信息对应的异常错误类型,设置所述对应的异常错误类型为所述报错日志的错误标识。
如图2所示,一种基于图1所示自动分析方法的软件自动化测试的报错日志的自动分析系统,包括规则数据库创建模块1、归类规则处理模块2、预处理模块3、长度判断模块4、分词模块5和匹配模块6。
规则数据库创建模块1用于创建规则数据库,规则数据库用于存储归类规则,每条归类规则包括一一对应的异常错误类型和异常错误详细信息。
归类规则处理模块2用于通过操作页面增加、删除和/或修改规则数据库中的归类规则。
预处理模块3用于获取每条报错日志,对报错日志进行预处理,以得到第一日志,所述预处理用于去除报错日志中的干扰词,干扰词包括system、the、error和/或中文字符。
长度判断模块4用于判断第一日志的长度是否大于预设阈值,若是则调用分词模块5,若否则调用匹配模块6。
分词模块5用于根据词库数据库和规则数据库对第一日志分词,以得到第二日志。
匹配模块6用于在长度判断模块4中若否时设置第一日志为第二日志;匹配模块6还用于将第二日志与规则数据库中的归类规则进行匹配,挑选匹配度最高的异常错误详细信息作为匹配的异常错误详细信息,获取所述匹配的异常错误详细信息对应的异常错误类型,设置所述对应的异常错误类型为所述报错日志的错误标识。
下面继续通过具体的例子,进一步说明本发明的技术方案和技术效果。
基于本实施例提供的自动分析方法的软件具体实现时可以将api(应用程序编程接口)、ui(用户界面)和移动终端app(应用软件)三种平台自动化集成一体,用户可以自己选择采用哪种平台进行错误日志的分析。用户可以自己创建项目,可以托管执行测试用例,用户可以在web(全球广域网)页面查询测试用例的执行情况及查询测试报告,从软件后台可以清晰的查看到所有执行情况及日志信息,提供清晰的可视化平台。当每条测试用例执行完,如果有报错信息,本实施例会自动对其进行预处理,如果报错信息字节数小于预设阈值,则根据规则数据库来进行全文匹配,如果超过预设阈值,则是对报错日志进行分词处理,对应分词后的结构跟已有的归类规则进行过滤匹配,匹配度最高的归类规则对应的异常错误类型则是该测试用例的报错日志的错误标识。只要用户执行完测试用例,若有错误日志则可自动启动错误日志分析操作,从而能够自动得到该测试用例的报错原因,不用再一一点开报错日志,逐个分析,极大地节约了测试人员的时间。
如图3所示,规则数据库中存储的归类规则包括一一对应的异常错误类型和异常错误详细信息,这些归类规则一般为提前抓取的错误类别。本实施例还为用户提供了操作页面,方便用户对错误类别进行扩展,用户可以自行通过该操作页面实现对图3所示的规则数据库的操作,具体为增加、删除和/或修改归类规则,用户增加一个类别即增加一条归类规则后,可自行定义级别,根据用户定义的级别,可自动生成各种相对判断出错模式,同时用户可自行选择归类类别,可扩展性好,适用于不同的网络环境。本实施例从已有的错误日志中提取信息,经预处理后再根据情况决定是否分词,最后再使用规则数据库进行过滤匹配,从而匹配到合适的错误类别进行标识。本实施例针对待匹配的文本,有效地支持全文匹配和基于关键词的模糊匹配方法。全文匹配模式检索快速,适合需实时检测、实时反馈检测结果。基于关键词的模糊匹配,在基于关键字匹配的基础上,通过分析报错信息的变形规律,制定出一套常规的日志报错变种规则,并嵌入到匹配算法当中。
本发明能够自动对报错日志进行分析,快速获取所有测试用例的报错信息,并按归类规则对错误类型进行分类并标识,得到每条报错日志的错误标识,测试人员通过浏览错误标识就能够直观的看到所有报错信息,节省了手动点击链接再查看报错日志详情从而获取报错原因的时间,有效提高了测试人员分析报错日志的效率、减少分析及等待时间,从而提高自动化测试持续集成效率。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。