一种自动化测试的分析方法及装置与流程

文档序号:16880217发布日期:2019-02-15 22:03阅读:103来源:国知局
一种自动化测试的分析方法及装置与流程
本申请涉及软件自动化测试
技术领域
,具体而言,涉及一种自动化测试的分析方法及装置。
背景技术
:随着计算机软件和互联网的迅速发展,软件程序的测试工作量也呈爆发式增长,因此自动化测试在通讯、互联网行业已经是大势所趋,对于迭代开发,功能稳定的产品,有效的利用自动化测试工具能够极大的加快版本测试验证,节约测试成本。一般业界自动化测试平台的流程主要分为三大模块,即任务创建、自动化执行和报告分析,其中涉及人工操作的主要是任务创建和报告分析。一旦自动化任务失败率较高,则会有大量的自动化分析报告任务,测试人员需要在报告分析上花费大量的分析时间,如果是分析的问题未得到及时解决,将会导致长期大量的重复分析工作。并且现有的自动化测试的报告分析需要通过人工对测试用例的测试日志进行分析后填写,需要消耗大量的人力和时间,导致报告分析步骤效率低下。技术实现要素:有鉴于此,本申请实施例提供了一种自动化测试的分析方法及装置。第一方面,本申请实施例提供了一种自动化测试的分析方法,所述自动化测试的分析方法包括:获取执行失败的测试用例对应的测试日志;提取所述测试日志中的目标关键词,在预先建立的关联表中搜索与所述目标关键词匹配的关键词,获得所述匹配的关键词对应的错误分析结论,所述关联表包含所述目标关键词与所述错误分析结论的对应关系;将所述错误分析结论发送至测试平台,以使所述测试平台根据所述分析结论生成测试报告。通过关联表中的对应关系将关键词和对应的错误分析结论匹配起来,避免采用人工对测试日志进行错误分析确定其错误分析结论,提高了错误分析结论的获取效率,降低了人力和时间成本;该方法还直接获取执行失败的测试用例对应的测试日志、提取测试日志中的目标关键词并将错误分析结论发送至测试平台,从而实现了自动化测试中测试报告的自动生成,提高了自动化测试的整体效率。在一个可能的设计中,在所述获得所述匹配的关键词对应的错误分析结论之前,所述方法还包括:获取已生成测试报告的执行失败的测试用例的测试日志以及错误分析结论;从每个所述测试用例的测试日志中提取关键词,确定所述关键词与所述错误分析结论的对应关系;根据所有的关键词与对应的错误分析结论的对应关系生成所述关联表。采用已生成测试报告的执行失败的测试用例的测试日志以及错误分析结论作为参考材料,提高了关键词与错误分析结论的匹配可信度和精确度;同时根据关键词与错误分析结论的对应关系生成关联表,以使进行错误分析结论时直接通过关联表进行错误分析结论的迅速匹配,提高了错误分析结论的匹配效率和准确度。在一个可能的设计中,所述根据所有的关键词与对应的错误分析结论的对应关系生成所述关联表,包括:根据每个关键词与对应的至少一个错误分析结论生成弱关联表,所述弱关联表包括每个关键词与对应的所述至少一个错误分析结论中每个错误分析结论之间的对应概率。采用一个关键词与一个或多个错误分析结论对应的弱关联表进行错误分析结论的确定,保证了不会遗漏关键词可能对应的错误分析结论,从而提高了该分析方法的容错率。在一个可能的设计中,所述根据所有的关键词与对应的错误分析结论的对应关系生成所述关联表,还包括:基于逻辑关系对所述关键词进行组合以获得组合关键词,根据每个组合关键词与对应的错误分析结论的对应关系获得强关联表,所述强关联表中一个组合关键词只与一个错误分析结论对应。在测试日志中同时包含多个关键词时,基于“与”、“或”等逻辑关系将多个关键词组成的组合关键词,以使组合关键词对应的错误分结论仅有一个,提高了错误分结论的匹配精确度。在一个可能的设计中,所述提取所述测试日志中的目标关键词,在预先建立的关联表中搜索与所述目标关键词匹配的关键词,包括:在贪婪匹配模式下采用目标关键词对应的正则表达式从所述测试日志中提取所述目标关键词,在所述弱关联表中搜索与所述目标关键词匹配的关键词。在贪婪匹配模式下采用正则表达式进行目标关键词的提取,在贪婪模式下匹配获得的目标关键词为符合匹配条件的最长的匹配结果,扩大目标关键词在测试日志中的匹配范围,避免遗漏,同时在只对一个目标关键词进行匹配时尽量减少回溯,提高匹配效率。在一个可能的设计中,所述提取所述测试日志中的目标关键词,在预先建立的关联表中搜索与所述目标关键词匹配的关键词,包括:在非贪婪匹配模式下采用目标关键词对应的正则表达式从所述测试日志中提取所述组合关键词,在所述强关联表中搜索与所述目标关键词匹配的组合关键词。在非贪婪匹配模式下采用正则表达式进行多个关键词组成的目标关键词的提取,在需要进行多个关键词的匹配时通过非贪婪匹配模式进行多轮匹配,在多个关键词中某个关键词匹配失败时更快地报告失败以进行下一轮的匹配,提高了在测试日志中匹配组合关键词的效率。在一个可能的设计中,所述获取执行失败的测试用例对应的测试日志,包括:通过大数据平台从所述测试平台获取执行失败的测试用例对应的测试日志。通过大数据平台进行测试日志的获取,提高了数据获取的效率,同时大数据平台在进行数据获取时还可以对数据进行基础的过滤、筛选以及简单修正,提高了数据质量,进而提高了后续目标关键词提取以及关键词匹配的准确率和可靠性。第二方面,本申请实施例提供了一种自动化测试的分析装置,所述装置包括:获取模块,用于获取执行失败的测试用例对应的测试日志;匹配模块,用于提取所述测试日志中的目标关键词,在预先建立的关联表中搜索与所述目标关键词匹配的关键词,获得所述匹配的关键词对应的错误分析结论,所述关联表包含所述目标关键词与所述错误分析结论的对应关系;发送模块,用于将所述错误分析结论发送至测试平台,以使所述测试平台根据所述分析结论生成测试报告。在一个可能的设计中,所述装置还包括关联表建立模块,所述关联表建立模块包括:数据获取单元,用于获取已生成测试报告的执行失败的测试用例的测试日志以及错误分析结论;对应关系确定单元,用于从每个所述测试用例的测试日志中提取关键词,确定所述关键词与所述错误分析结论的对应关系;关联表生成单元,用于根据所有的关键词与对应的错误分析结论的对应关系生成所述关联表。在一个可能的设计中,所述获取模块具体用于通过大数据平台从所述测试平台获取执行失败的测试用例对应的测试日志。第三方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述任一方面所述方法中的步骤。本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。为使本申请实施例所要实现的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1是本申请第一实施例提供的自动化测试的分析方法的流程示意图;图2是本申请第一实施例提供的关联表建立步骤的流程示意图;图3是本申请第一实施例提供的子匹配步骤的流程示意图;图4是本申请第二实施例提供的自动化测试的分析装置的模块示意图。具体实施方式在软件产品开发迭代期间往往需要对软件产品进行自动化测试,现有技术中通常通过如下方式解决:现有的自动化测试方式中在填写报告分析确定测试用例的执行失败的错误分析结论时需要人工对测试日志进行分析后确定错误分析结论,在每一轮版本自动化测试过程中,有大量执行失败的用例结果需要进行分析。然而分析过程中发现,出现问题的用例中,自动化环境问题(测试仪出现故障、主辅测设备连通性等)、用例不匹配当前版本、脚本执行不稳定等非产品问题导致的执行失败,通过人工方式完整的进行分析。现有方法通过人工方式进行报告分析,需要耗费大量的时间排除这些非产品问题的失败脚本,投入产出效率较低,需要消耗大量的人力和时间,造成测试效率的低下和测试成本的高昂,严重影响了产品的迭代验证速度。现有技术中存在的上述缺陷,本申请人认为均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。为了解决上述技术问题,本申请实施例提供了如下的自动化测试的分析方法及装置,该方法通过对测试日志中的关键字确定匹配的错误分析结论,避免人工进行测试报告的填写,提高了测试报告的生成及分析效率。下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。下面对本实施例可能涉及的专业术语进行解释:自动化测试,是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。软件的自动化测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。大数据(bigdata),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大数据技术,简而言之,就是提取大数据价值的技术,是根据特定目标,经过数据收集与存储、数据筛选、算法分析与预测、数据分析结果展示等,为做出正确决策提供依据,其数据级别通常在pb以上。hadoop是一个分布式系统基础架构,实现了一个分布式文件系统(hadoopdistributedfilesystem),简称hdfs。hdfs有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。hdfs放宽了(relax)posix的要求,可以以流的形式访问(streamingaccess)文件系统中的数据。正则表达式,是对字符串(包括普通字符(例如,a到z之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。贪婪模式,即在整个表达式匹配成功的前提下,尽可能多的匹配;非贪婪模式,在整个表达式匹配成功的前提下,尽可能少的匹配。第一实施例请参见图1,图1示出了本申请第一实施例提供的自动化测试的分析方法的流程示意图,具体包括如下步骤:步骤s20:获取执行失败的测试用例对应的测试日志。获取执行失败的测试用例对应的测试日志,具体的方式可以为:通过大数据平台从所述测试平台获取执行失败的测试用例对应的测试日志。具体地,本实施例中的错误词可以是实际值与期望值不同的单元错误、脚本执行异常错误或约束条件错误等。步骤s40:提取所述测试日志中的目标关键词,在预先建立的关联表中搜索与所述目标关键词匹配的关键词,获得所述匹配的关键词对应的错误分析结论,所述关联表包含所述目标关键词与所述错误分析结论的对应关系。本实施例中,该目标关键词的提取可以是大数据平台根据预设关键词数据库中关键词的按重要程度或预设次序来确定,例如在大数据平台的预设关键词数据库中按重要程度从高到低排列的目标关键词有“词1”、“词2”、“词3”和“词4”,则首次在测试日志中尝试提取“词1”,若未成功提取到“词1”则继续依次进行“词2”、“词3”和“词4”的提取。具体地,本实施例中的错误分析结论可以包括自动化测试中常见的自动化环境问题(测试仪出现故障、主辅测设备连通性等)、用例不匹配当前版本、脚本执行不稳定等非产品问题。步骤s60:将所述错误分析结论发送至测试平台,以使所述测试平台根据所述分析结论生成测试报告。本发明实施例采用步骤s20-s60,通过关联表中的对应关系将关键词和对应的错误分析结论匹配起来,避免采用人工对测试日志进行错误分析确定其错误分析结论,提高了错误分析结论的获取效率,降低了人力和时间成本;该方法还直接获取执行失败的测试用例对应的测试日志、提取测试日志中的目标关键词并将错误分析结论发送至测试平台,从而实现了自动化测试中测试报告的自动生成,提高了自动化测试的整体效率。针对步骤s20,本实施例中可以是通过hadoop对关键词进行内容分类,其框架可以把一个应用程序分解为许多并行计算指令,跨大量的计算节点运行非常巨大的数据集,从而提高数据获取及检索的效率。在执行步骤s40之前,还应当建立后续步骤需要使用的关联表,请参见图2,图2示出了本申请实施例提供的关联表建立步骤的流程示意图。该关联表建立步骤可以为:步骤s31:获取已生成测试报告的执行失败的测试用例的测试日志以及错误分析结论。步骤s32:从每个所述测试用例的测试日志中提取关键词,确定所述关键词与所述错误分析结论的对应关系。步骤s33:根据所有的关键词与对应的错误分析结论的对应关系生成所述关联表。针对步骤s33,本实施例中的关键词与错误分析结论的对应关系可以是一对一,也可以是一对多。在上述对应关系为一对一时,步骤s33的具体步骤为:根据每个关键词与对应的至少一个错误分析结论生成弱关联表,所述弱关联表包括每个关键词与对应的所述至少一个错误分析结论中每个错误分析结论之间的对应概率。请参考表1,表1为本实施例提供的一种弱关联表。关键词分析结论概率关键词1分析结论160%分析结论225%分析结论315%关键词2分析结论150%分析结论240%分析结论310%表1弱关联表在上述对应关系为一对多时,步骤s33的具体步骤可以为:基于逻辑关系对所述关键词进行组合以获得组合关键词,根据每个组合关键词与对应的错误分析结论的对应关系获得强关联表,所述强关联表中一个组合关键词只与一个错误分析结论对应。应当理解的是,本实施例中的逻辑关系可以为检索式表示中的和、或等逻辑关系。请参考表1,表1为本实施例提供的一种强关联表。关键词分析结论关键词1分析结论1关键词2+关键词3分析结论2关键词4+关键词5.分析结论3表2强关联表本实施例通过步骤s31-s33采用已生成测试报告的执行失败的测试用例的测试日志以及错误分析结论作为参考材料,提高了关键词与错误分析结论的匹配可信度和精确度;同时根据关键词与错误分析结论的对应关系生成关联表,以使进行错误分析结论时直接通过关联表进行错误分析结论的迅速匹配,提高了错误分析结论的匹配效率和准确度。针对步骤s40,考虑到在需要在更大的检索范围中更稳定地提取到关键词,可以采用弱关联表作为匹配用的关联表,所述“提取所述测试日志中的目标关键词,在预先建立的关联表中搜索与所述目标关键词匹配的关键词”的步骤,可以具体包括:在贪婪匹配模式下采用目标关键词对应的正则表达式从所述测试日志中提取所述目标关键词,在所述弱关联表中搜索与所述目标关键词匹配的关键词。在贪婪模式下进行目标关键词的提取,减少了回溯次数,并且扩大了目标关键词在测试日志中的匹配字符长度及范围,从而在提高了匹配效率的同时提高了匹配容错率。进一步地,考虑到在进行报告分析时可能需要尽可能精确的错误分析结论,因此步骤s40可以采用强关联表作为匹配用的关联表,所述“提取所述测试日志中的目标关键词,在预先建立的关联表中搜索与所述目标关键词匹配的关键词”的步骤,可以具体包括:在非贪婪匹配模式下采用目标关键词对应的正则表达式从所述测试日志中提取所述组合关键词,在所述强关联表中搜索与所述目标关键词匹配的组合关键词。在本实施例中,在非贪婪匹配模式下采用目标关键词对应的正则表达式从所述测试日志中提取所述组合关键词,可以是经过多轮子匹配从测试日志中提取组合关键词,每轮子匹配完成组合关键词中一个关键词的匹配。确保最后的匹配关系为一对一,其匹配流程请参见图3,图3示出了本申请实施例提供的一种子匹配步骤的流程示意图。应当理解的是,在本实施例中,还可以在进行上述的选用弱关联表或强关联表之前向用户发送模式选择信息,以使用户在弱关联表和强关联表对应的匹配模式中进行选择,尽可能地满足用户的不同需求。第二实施例为了配合本发明第一实施例提供的分析方法,本发明第二实施例还提供了一种自动化测试的分析装置100。请参见图4,图4示出了申请实施例提供的自动化测试的分析装置的模块示意图,该分析装置100包括:获取模块120,用于获取执行失败的测试用例对应的测试日志。匹配模块140,用于提取所述测试日志中的目标关键词,在预先建立的关联表中搜索与所述目标关键词匹配的关键词,获得所述匹配的关键词对应的错误分析结论,所述关联表包含所述目标关键词与所述错误分析结论的对应关系。发送模块160,用于将所述错误分析结论发送至测试平台,以使所述测试平台根据所述分析结论生成测试报告。作为一种可选的实施方式,本实施例中的分析装置100还包括关联表建立模块130,该关联表建立模块130包括:数据获取单元,用于获取已生成测试报告的执行失败的测试用例的测试日志以及错误分析结论。对应关系确定单元,用于从每个所述测试用例的测试日志中提取关键词,确定所述关键词与所述错误分析结论的对应关系。关联表生成单元,用于根据所有的关键词与对应的错误分析结论的对应关系生成所述关联表。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。本申请还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第一实施例所述的方法。本申请还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一实施例所述的方法。本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一实施例所述的方法。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。综上所述,本发明实施例提供了一种自动化测试的分析方法及装置,该分析方法通过关联表中的对应关系将关键词和对应的错误分析结论匹配起来,避免采用人工对测试日志进行错误分析确定其错误分析结论,提高了错误分析结论的获取效率,降低了人力和时间成本;该方法还直接获取执行失败的测试用例对应的测试日志、提取测试日志中的目标关键词并将错误分析结论发送至测试平台,从而实现了自动化测试中测试报告的自动生成,提高了自动化测试的整体效率。需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1