掌桥专利:专业的专利平台
掌桥专利
首页

软件测试进度分析方法、装置、设备及存储介质

文献发布时间:2023-06-19 12:18:04


软件测试进度分析方法、装置、设备及存储介质

技术领域

本发明涉及测试研发管理领域,尤其涉及一种软件测试进度分析方法、装置、设备及存储介质。

背景技术

在软件研发过程中,当项目需求移交测试时,项目周期进入测试阶段后,定期生成测试报告,其中,测试日报是一天中测试进度的重要反馈,是软件测试过程中必备的输出环节。这个工作往往由测试负责人来做,收集项目组所有测试的进展进行汇总及识别风险进行评估后发出。测试日报的特点是格式可模板固定化,根据项目需求进行内容填充,根据特定标准进行风险识别。

因此,可通过特定模板定期生成测试进度报告,则可长期节省测试负责人的时间及精力,且可避免人工收集进度时的出错,实现更加精准的日报输出。特别是在项目人力紧张、需求较多时,自动生成日报的方式更加省心、高效且可靠。但目前为止,对于测试进度报告的分析方法自动化程度并不高。

发明内容

本发明的主要目的在于解决测试进度报告的分析方法自动化程度不高的技术问题。

本发明第一方面提供了一种软件测试进度分析方法,包括:根据软件中各个页面节点的层级关系生成软件测试的测试树状图,并在所述测试树状图中的各测试节点上创造日志记录器;每隔预设周期,遍历各所述测试节点上的日志记录器,并依次通过各所述日志记录器获取对应测试节点上的至少一个测试信息;统计各测试节点上测试信息的数量,创建对应数量的任务处理对象,并采用所述任务处理对象处理各所述测试信息,生成对应的测试结果分析信息;提取所述测试结果分析信息中的进度数据,并将不同测试节点上各测试信息对应的进度数据依次写入预置报告模板中,生成软件测试进度报告并进行推送。

可选的,在本发明第一方面的第一种实现方式中,所述在所述测试树状图中的各测试节点上创造日志记录器包括:获取所述测试树状图中已生成相应测试代码的测试节点所包含的多个属性控件元素对应的测试代码,形成测试代码集合;获取所述测试树状图中未生成相应测试代码的测试节点所包含的多个属性控件元素对应的测试代码模板,形成测试代码模板集合;根据所述测试代码集合、所述测试代码模板集合和预设的测试数据集,构建所述测试树状图中不同测试路径的测试脚本;采用所述测试脚本生成各所述测试节点上的日志记录器。

可选的,在本发明第一方面的第二种实现方式中,在所述依次通过各所述日志记录器获取对应测试节点上的至少一个测试信息之后,还包括:根据所述测试信息的来源测试节点,采用对应的日志记录器生成所述测试信息的哈希路径;获取各所述页面节点的跳转URL,并根据所述跳转URL和所述哈希路径,采用对应的日志记录器生成所述测试信息的聚合路径;将所述聚合路径添加至对应的测试信息中,并根据所述聚合路径对所述测试信息进行分类处理。

可选的,在本发明第一方面的第三种实现方式中,所述统计各测试节点上测试信息的数量,创建对应数量的任务处理对象包括:根据各所述测试节点的类型,确定所述任务处理对象的类型;统计各测试节点上测试信息的数量,确定所述流程节点包含的数据处理任务的数量,并根据所述数据处理任务的数量,确定对应的任务处理对象的数量;根据确定的任务检查对象的类型和数量,创建对应类型和对应数量的至少一个任务处理对象。

可选的,在本发明第一方面的第四种实现方式中,所述采用所述任务处理对象处理各所述测试信息,生成对应的测试结果分析信息包括:采用所述任务处理对象处理各所述测试信息,并根据各所述测试信息的执行结果,计算软件测试的执行率、通过率和缺陷数量;若所述执行率大于或等于预设的执行率阈值,并且所述通过率大于或等于预设的通过率阈值,并且所述缺陷数量小于预设的数量阈值,则确认所述软件测试项目的项目测试结果为无风险;若所述执行率小于所述执行率阈值,或者所述通过率小于所述通过率阈值,或者所述缺陷数量大于或等于所述数量阈值,则确认所述软件测试项目的项目测试结果为存在风险;根据所述软件测试项目的项目测试结果,生成对应的测试结果分析信息。

可选的,在本发明第一方面的第五种实现方式中,在所述提取所述测试结果分析信息中的进度数据,并将不同测试节点上各测试信息对应的进度数据依次写入预置报告模板中,生成软件测试进度报告并进行推送之后,还包括:获取用户对软件的操作记录,并解析所述操作记录,得到操作记录中涉及的页面节点的层级关系;根据所述操作记录中涉及的页面节点的层级关系更新所述测试树状图。

可选的,在本发明第一方面的第六种实现方式中,在所述统计各测试节点上测试信息的数量,创建对应数量的任务处理对象之后,还包括:根据各测试节点上的测试信息,对所述任务检查对象进行更新赋值处理,其中所述任务处理对象包含下述至少一项:结果对象属性、公共属性和处理点属性。

本发明第二方面提供了一种软件测试进度分析装置,包括:创建模块,用于根据软件中各个页面节点的层级关系生成软件测试的测试树状图,并在所述测试树状图中的各测试节点上创造日志记录器;遍历模块,用于每隔预设周期,遍历各所述测试节点上的日志记录器,并依次通过各所述日志记录器获取对应测试节点上的至少一个测试信息;分析模块,用于统计各测试节点上测试信息的数量,创建对应数量的任务处理对象,并采用所述任务处理对象处理各所述测试信息,生成对应的测试结果分析信息;报告生成模块,用于提取所述测试结果分析信息中的进度数据,并将不同测试节点上各测试信息对应的进度数据依次写入预置报告模板中,生成软件测试进度报告并进行推送。

可选的,在本发明第二方面的第一种实现方式中,所述创建模块包括:分级单元,用于根据软件中各个页面节点的层级关系生成软件测试的测试树状图;日志记录器创建单元,用于获取所述测试树状图中已生成相应测试代码的测试节点所包含的多个属性控件元素对应的测试代码,形成测试代码集合;获取所述测试树状图中未生成相应测试代码的测试节点所包含的多个属性控件元素对应的测试代码模板,形成测试代码模板集合;根据所述测试代码集合、所述测试代码模板集合和预设的测试数据集,构建所述测试树状图中不同测试路径的测试脚本;采用所述测试脚本生成各所述测试节点上的日志记录器。

可选的,在本发明第二方面的第二种实现方式中,所述软件测试进度分析装置还包括:路径生成模块,用于根据所述测试信息的来源测试节点,采用对应的日志记录器生成所述测试信息的哈希路径;获取各所述页面节点的跳转URL,并根据所述跳转URL和所述哈希路径,采用对应的日志记录器生成所述测试信息的聚合路径;分类模块,用于将所述聚合路径添加至对应的测试信息中,并根据所述聚合路径对所述测试信息进行分类处理。

可选的,在本发明第二方面的第三种实现方式中,所述分析模块包括任务处理对象创建单元,所述任务处理对象创建单元用于:根据各所述测试节点的类型,确定所述任务处理对象的类型;统计各测试节点上测试信息的数量,确定所述流程节点包含的数据处理任务的数量,并根据所述数据处理任务的数量,确定对应的任务处理对象的数量;根据确定的任务检查对象的类型和数量,创建对应类型和对应数量的至少一个任务处理对象。

可选的,在本发明第二方面的第四种实现方式中,所述分析模块还包括分析单元,所述分析单元用于:采用所述任务处理对象处理各所述测试信息,并根据各所述测试信息的执行结果,计算软件测试的执行率、通过率和缺陷数量;若所述执行率大于或等于预设的执行率阈值,并且所述通过率大于或等于预设的通过率阈值,并且所述缺陷数量小于预设的数量阈值,则确认所述软件测试项目的项目测试结果为无风险;若所述执行率小于所述执行率阈值,或者所述通过率小于所述通过率阈值,或者所述缺陷数量大于或等于所述数量阈值,则确认所述软件测试项目的项目测试结果为存在风险;根据所述软件测试项目的项目测试结果,生成对应的测试结果分析信息。

可选的,在本发明第二方面的第五种实现方式中,所述软件测试进度分析装置还包括:解析模块,用于获取用户对软件的操作记录,并解析所述操作记录,得到操作记录中涉及的页面节点的层级关系;树状图更新模块,用于根据所述操作记录中涉及的页面节点的层级关系更新所述测试树状图。

可选的,在本发明第二方面的第六种实现方式中,所述软件测试进度分析装置还包括:任务检查对象更新模块,用于根据各测试节点上的测试信息,对所述任务检查对象进行更新赋值处理,其中所述任务处理对象包含下述至少一项:结果对象属性、公共属性和处理点属性。

本发明第三方面提供了一种软件测试进度分析设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述软件测试进度分析设备执行上述的软件测试进度分析方法。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的软件测试进度分析方法。

本发明提供的技术方案中,通过根据软件各页面节点的层级关系,生成软件测试的树状图,并创造日志记录器,以用于收集测试节点上的测试信息;然后为各测试信息创建对应的任务处理对象,通过任务处理对象处理各测试信息以对其进行测试分析,得到测试结果分析信息;最后将测试结果分析信息写入预先设置的模板上,即可实现软件测试进度报告的自动化生成,全称无需人工参与,减少人力资源成本,提升软件测试进度分析的效率和可靠性。

附图说明

图1为本发明实施例中软件测试进度分析方法的第一个实施例示意图;

图2为本发明实施例中软件测试进度分析方法的第二个实施例示意图;

图3为本发明实施例中软件测试进度分析方法的第三个实施例示意图;

图4为本发明实施例中软件测试进度分析装置的一个实施例示意图;

图5为本发明实施例中软件测试进度分析装置的另一个实施例示意图;

图6为本发明实施例中软件测试进度分析设备的一个实施例示意图。

具体实施方式

本发明实施例提供了一种软件测试进度分析方法、装置、设备及存储介质,根据软件中各个页面节点的层级关系生成软件测试的测试树状图,并在测试树状图中的各测试节点上创造日志记录器;每隔预设周期,遍历各测试节点上的日志记录器,并依次通过各日志记录器获取对应测试节点上的至少一个测试信息;统计各测试节点上测试信息的数量,创建对应数量的任务处理对象,并采用任务处理对象处理各测试信息,生成对应的测试结果分析信息,并依次写入预置报告模板中,生成软件测试进度报告并进行推送。本发明实现了软件测试进度的自动化分析,提升了软件测试进度分析的高效性和可靠性。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中软件测试进度分析方法的第一个实施例包括:

101、根据软件中各个页面节点的层级关系生成软件测试的测试树状图,并在测试树状图中的各测试节点上创造日志记录器;

可以理解的是,本发明的执行主体可以为软件测试进度分析装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。

本实施例中,根据软件中各个页面节点的层级关系生成软件测试的测试树状图,以表示各页面之间的层级关系,具体生成过程为:预先设置与软件各功能相应的的测试用例,得到测试用例集合;然后根据测试用例集合获取与各功能对应的页面节点及页面节点间的层级关系;接着根据页面节点及页面节点间的层级关系生成与各功能相应的测试树状图,得到测试树状图集合;最后合并测试树状图集合包含的测试树状图,得到与该软件相应的测试树状图。构建完测试树状图后,在测试树状图各测试节点上创建日志记录器,其中,记录器可直接暴露软件程序代码能直接使用的接口,包括debug、info、warn、error、critical,以记录各测试节点上的测试调式信息、报错异常信息等。

102、每隔预设周期,遍历各测试节点上的日志记录器,并依次通过各日志记录器获取对应测试节点上的至少一个测试信息;

本实施例中,软件测试采用自动化执行的方式,当达到预先设置的周期时,则会自动遍历各测试节点上的日志记录器,日志记录器上记录有软件测试过程中对应测试节点的测试信息,记录有测试数据、测试状态、测试时间等内容。

103、统计各测试节点上测试信息的数量,创建对应数量的任务处理对象,并采用任务处理对象处理各测试信息,生成对应的测试结果分析信息;

本实施例中,为各流程节点创建与测试信息数量相同的任务处理对象,首先可根据测试信息所属测试节点的类型,确定任务处理对象的类型;然后根据每个测试节点中测试信息的数量,其中,测试信息的数量与测试的业务数据文件、业务数据文件夹的数量相关;最后根据确定出任务处理对象的类型和数量,创建对应类型和对应数量的任务处理对象。

另外,将测试信息输入任务处理对象以执行测试脚本,开始对软件进行测试,在测试完成后,收集不同测试信息的执行结果,并进行执行效果的量化计算。其中,执行率为已经执行完成的测试信息在所有测试信息中的占比,通过率为测试通过的测试信息在已经执行完成的测试信息的占比,缺陷数量为软件缺陷的数量,软件缺陷为测试结果的未通过原因,也即软件缺陷为导致目标设备在执行测试信息的过程中无法执行的缺陷。

104、提取测试结果分析信息中的进度数据,并将不同测试节点上各测试信息对应的进度数据依次写入预置报告模板中,生成软件测试进度报告并进行推送。

本实施例中,测试结果分析信息中包含有测试用例的执行信息、测试缺陷信息、需求信息、测试流程涉及的测试模块,根据当前得到的测试结果分析信息中前述内容的参数标识,对测试结果分析信息进行提取,即可得到测试进度数据,包括总测试用例中已执行的测试用例、测试缺陷信息所在测试流程位置、已流转的测试模型等信息,

本实施例中,将各测试信息执行后得到的测试结果分析信息写入预置报告模板内,即可自动快速生成软件测试进度报告,根据测试周期不同,可以分为日报、周报、月报等,而根据测试版本不同,可以分为版本进度报告。

其中,软件测试进度报告具体可以包括以下内容:

1)日报邮件标题:版本信息+系统信息+日报日期;

2)该软件版本移交测试的时间点,及距离软件版本正式上线的时间;

3)软件测试的风险项目罗列;

4)阻碍问题:设定特定内容及格式,包括:问题描述、发现时间、涉及系统、测试提出人、开发跟进人、当前状态、备注等;

5)软件版本各需求详细进展:设定特定内容及格式,包括:需求描述、模块名称、开发人员、测试人员、案例总数、已执行、执行通过、执行不通过、未执行、执行率、通过率、缺陷数量、测试阶段等;

6)待解决问题列表:设定特定内容及格式,包括:序列、问题描述、测试阶段、所属系统、发现日期、处理时长、是否阻塞问题、解决状态、提出人、跟进人。

本发明实施例中,通过根据软件各页面节点的层级关系,生成软件测试的树状图,并创造日志记录器,以用于收集测试节点上的测试信息;然后为各测试信息创建对应的任务处理对象,通过任务处理对象处理各测试信息以对其进行测试分析,得到测试结果分析信息;最后将测试结果分析信息写入预先设置的模板上,即可实现软件测试进度报告的自动化生成,全称无需人工参与,减少人力资源成本,提升软件测试进度分析的效率和可靠性。

请参阅图2,本发明实施例中软件测试进度分析方法的第二个实施例包括:

201、根据软件中各个页面节点的层级关系生成软件测试的测试树状图,并获取测试树状图中已生成相应测试代码的测试节点所包含的多个属性控件元素对应的测试代码,形成测试代码集合;

202、获取测试树状图中未生成相应测试代码的测试节点所包含的多个属性控件元素对应的测试代码模板,形成测试代码模板集合;

203、根据测试代码集合、测试代码模板集合和预设的测试数据集,构建测试树状图中不同测试路径的测试脚本;

204、采用测试脚本生成各测试节点上的日志记录器;

本实施例中,测试树状图对于已有功能对应的测试节点,将其包含的各属性的控件元素对应的测试代码进行组合,得到测试代码集合,然后对于尚未有的功能,新建未有功能所涉及的控件元素。比如,社交软件首页对应的测试节点关联动态按钮控件元素,好友关注动态页面对应的测试节点则关联加关注按钮控件元素,选择分组的测试节点则关联新建分组按钮控件元素,新建分组页面对应的测试节点关联确定按钮控件元素。再将未有功能的控件元素进行组合,即可得到对应的测试代码模板。

进一步的,遍历测试树状图,分别生成各测试路径相应的测试脚本,具体为:生成测试路径A中不同测试节点之间相应的测试代码,以实现功能A;再生成测试路径B不同测试节点之间相应的测试代码,以实现功能B,其中,测试路径B和测试路径A可能存在重复的测试节点连接,则可复用与测试路径A重叠的测试代码,再结合其余测试节点之间的测试代码模板形成与测试路径A相对应的测试路径B的测试代码。以此类推,生成各测试路径相应的测试代码,并综合各功能的测试代码以生成软件测试的测试脚本,并部署在测试树状图上即可得到日志记录器。

205、每隔预设周期,遍历各测试节点上的日志记录器,并依次通过各日志记录器获取对应测试节点上的至少一个测试信息;

206、根据各测试节点的类型,确定任务处理对象的类型;

207、统计各测试节点上测试信息的数量,确定流程节点包含的数据处理任务的数量,并根据数据处理任务的数量,确定对应的任务处理对象的数量;

208、根据确定的任务检查对象的类型和数量,创建对应类型和对应数量的至少一个任务处理对象;

本实施例中,上述任务处理对象的数量,可以根据每个测试节点生成的数据处理任务的数量来定,具体来说,在软件测试流程运行的系统中,可能按照每个测试节点所涉及到的业务数据划分为多个文件或者多个文件夹,因此,可以本地数据文件为判断依据,即数据切分的文件或文件夹数量,确定各测试节点生成的数据处理任务,同理,也就需要对应创建相同数量的任务处理对象。

209、采用任务处理对象处理各测试信息,并根据各测试信息的执行结果,计算软件测试的执行率、通过率和缺陷数量;

210、若执行率大于或等于预设的执行率阈值,并且通过率大于或等于预设的通过率阈值,并且缺陷数量小于预设的数量阈值,则确认软件测试项目的项目测试结果为无风险;

211、若执行率小于执行率阈值,或者通过率小于通过率阈值,或者缺陷数量大于或等于数量阈值,则确认软件测试项目的项目测试结果为存在风险;

212、根据软件测试项目的项目测试结果,生成对应的测试结果分析信息;

具体地,先获取软件测试项目中包含的测试信息的总数量,然后根据测试信息的执行状态,统计已经执行完成的测试信息的执行数量,接下来根据测试信息的测试结果,统计测试结果为测试通过的测试用例的通过数量,根据执行数量与总数量计算执行率,根据通过数量与执行数量计算通过率,最后计算缺陷数量。

本实施例中,软件测试结果用于标识软件测试项目对应的测试软件,即执行测试信息的测试对象是否存在风险,软件测试结果包括有风险和无风险。

具体地,若计算出的执行率大于或等于预设的执行率阈值、通过率大于或等于预设的通过率阈值、且缺陷数量小于预设的数量阈值,则确认软件测试项目的项目测试结果为无风险。

具体地,若计算出的执行率小于执行率阈值,或者通过率小于通过率阈值,或者缺陷数量大于或等于预设的数量阈值,则确认目标测试项目的项目测试结果为存在风险。

213、提取测试结果分析信息中的进度数据,并将不同测试节点上各测试信息对应的进度数据依次写入预置报告模板中,生成软件测试进度报告并进行推送。

本发明实施例中,通过已生成测试代码的测试节点所包含的测试代码集合、未生成测试代码的测试节点包含的测试代码模板、以及预设数据集构建测试脚本,以用于生成日志记录器,再通过数据处理任务创建测试节点上的任务处理对象,以用于判别软件测试项目是否存在风险,提升软件测试进度分析的自动化程度。

请参阅图3,本发明实施例中软件测试进度分析方法的第三个实施例包括:

301、根据软件中各个页面节点的层级关系生成软件测试的测试树状图,并在测试树状图中的各测试节点上创造日志记录器;

302、每隔预设周期,遍历各测试节点上的日志记录器,并依次通过各日志记录器获取对应测试节点上的至少一个测试信息;

303、根据测试信息的来源测试节点,采用对应的日志记录器生成测试信息的哈希路径;

304、获取各页面节点的跳转URL,并根据跳转URL和哈希路径,采用对应的日志记录器生成测试信息的聚合路径;

305、将聚合路径添加至对应的测试信息中,并根据聚合路径对测试信息进行分类处理;

本实施例中,在对测试信息的检索阶段,可以根据测试信息的跳转URL检索对应的测试信息,在检索到目标测试节点的测试信息后,标记当前测试信息在所有测试信息中的行数,然后通过聚合路径中的哈希路径定位到目标测试信息的位置;如需继续检索则从上面标记的行数开始继续检索后面的记录。

日志处理器根据该测试节点的标识编号以及测试信息的内容生成唯一的哈希路径;根据测试节点的标识编号生成在存储系统中的绝对路径,即跳转URL(UniformResource Locator,统一资源定位器),后续可以对跳转URL的绝对路径进行HTTP(HyperText Transfer Protocol,超文本传输协议)的GET请求,即可将测试信息下载到本地。

在后续对测试信息进行统计时,亦可以进一步通过该聚合路径分别对不同测试节点上的测试信息进行统计。

306、统计各测试节点上测试信息的数量,创建对应数量的任务处理对象;

307、根据各测试节点上的测试信息,对任务检查对象进行更新赋值处理,其中任务处理对象包含下述至少一项:结果对象属性、公共属性和处理点属性;

本实施例中,上述至少一个任务检查对象的生成过程中首先按照测试节点的类型,创建对应的至少一个任务处理对象,例如job对象初始创建时,包含多种对象属性,例如数据库结果对象属性、公共属性和检查点属性,还有该job对象自身的属性等。

不同类型的任务节点,对应的job对象的类型是不同的,不同的部分有单独的类(class)去维护,但是其中也包含了许多的共性部分,共性部分会抽象封装成具体的方法;创建的任务检查对象,在初始时,其各项属性都是默认的属性,在对应的测试节点的测试完成之后,会对各数据处理任务进行测试结果的检查,并据此对创建时初始的默认属性值进行更新赋值。

测试节点的测试结果,会以多种形式存在于数据库、本地磁盘或者共享磁盘中。例如对整个流测试节点的测试结果信息(测试成功或测试失败)等信息存储于数据库中;软件测试过程较简单数据量较小的情形下,测试结果还可能存在数据处理系统所在服务器的本地,在软件测试过程较复杂数据量较大的情况下,整个数据处理系统会采用分布式的部署方式,这样,测试结果可能存储于各服务器的共享磁盘上,因此,需要根据读取这些存储的测试结果信息,来对job对象进行更新,以便完成后续报告生成的步骤。根据每个流程节点记录在数据库中的信息,对创建的数据库对象属性进行更新赋值。

以及根据资料处理流程运行的数据处理系统保存的运行测试数据,例如数据处理系统在本地或者共享磁盘中存储的时耗信息和该job对象对应的各测试节点的信息,对创建的job对象中的公共属性和检查点属性的赋值进行更新。

308、采用任务处理对象处理各测试信息,生成对应的测试结果分析信息;

309、提取测试结果分析信息中的进度数据,并将不同测试节点上各测试信息对应的进度数据依次写入预置报告模板中,生成软件测试进度报告并进行推送;

310、获取用户对软件的操作记录,并解析操作记录,得到操作记录中涉及的页面节点的层级关系;

311、根据操作记录中涉及的页面节点的层级关系更新测试树状图。

本实施例中,在用户对软件进行操作时,可以统计收集到的用户的操作记录,根据操作记录数量的高低,归纳用户对软件的操作习惯,并根据用户对软件的操作习惯,对测试树状图中的测试节点进行重新布置,并构建新的测试路径,以更新测试树状图,用于下次该软件的测试。

本发明实施例中,还介绍了通过测试信息中的哈希路径和页面节点的URL路径对测试信息进行分类,以便于后续对测试信息进行分析处理,提升自动化分析的效率;另外,还介绍了通过用户对软件的操作记录,更新测试树状图,更贴合用户使用的习惯,提升软件测试进度分析的高效性。

上面对本发明实施例中软件测试进度分析方法进行了描述,下面对本发明实施例中软件测试进度分析装置进行描述,请参阅图4,本发明实施例中软件测试进度分析装置一个实施例包括:

创建模块401,用于根据软件中各个页面节点的层级关系生成软件测试的测试树状图,并在所述测试树状图中的各测试节点上创造日志记录器;

遍历模块402,用于每隔预设周期,遍历各所述测试节点上的日志记录器,并依次通过各所述日志记录器获取对应测试节点上的至少一个测试信息;

分析模块403,用于统计各测试节点上测试信息的数量,创建对应数量的任务处理对象,并采用所述任务处理对象处理各所述测试信息,生成对应的测试结果分析信息;

报告生成模块404,用于提取所述测试结果分析信息中的进度数据,并将不同测试节点上各测试信息对应的进度数据依次写入预置报告模板中,生成软件测试进度报告并进行推送。

本发明实施例中,通过根据软件各页面节点的层级关系,生成软件测试的树状图,并创造日志记录器,以用于收集测试节点上的测试信息;然后为各测试信息创建对应的任务处理对象,通过任务处理对象处理各测试信息以对其进行测试分析,得到测试结果分析信息;最后将测试结果分析信息写入预先设置的模板上,即可实现软件测试进度报告的自动化生成,全称无需人工参与,减少人力资源成本,提升软件测试进度分析的效率和可靠性。

请参阅图5,本发明实施例中软件测试进度分析装置的另一个实施例包括:

创建模块401,用于根据软件中各个页面节点的层级关系生成软件测试的测试树状图,并在所述测试树状图中的各测试节点上创造日志记录器;

遍历模块402,用于每隔预设周期,遍历各所述测试节点上的日志记录器,并依次通过各所述日志记录器获取对应测试节点上的至少一个测试信息;

分析模块403,用于统计各测试节点上测试信息的数量,创建对应数量的任务处理对象,并采用所述任务处理对象处理各所述测试信息,生成对应的测试结果分析信息;

报告生成模块404,用于提取所述测试结果分析信息中的进度数据,并将不同测试节点上各测试信息对应的进度数据写入预置报告模板中,生成软件测试进度报告并进行推送。

可选的,在本发明第二方面的第一种实现方式中,所述创建模块401包括:

分级单元4011,用于根据软件中各个页面节点的层级关系生成软件测试的测试树状图;

日志记录器创建单元4012,用于获取所述测试树状图中已生成相应测试代码的测试节点所包含的多个属性控件元素对应的测试代码,形成测试代码集合;获取所述测试树状图中未生成相应测试代码的测试节点所包含的多个属性控件元素对应的测试代码模板,形成测试代码模板集合;根据所述测试代码集合、所述测试代码模板集合和预设的测试数据集,构建所述测试树状图中不同测试路径的测试脚本;采用所述测试脚本生成各所述测试节点上的日志记录器。

可选的,在本发明第二方面的第二种实现方式中,所述软件测试进度分析装置还包括:

路径生成模块405,用于根据所述测试信息的来源测试节点,采用对应的日志记录器生成所述测试信息的哈希路径;获取各所述页面节点的跳转URL,并根据所述跳转URL和所述哈希路径,采用对应的日志记录器生成所述测试信息的聚合路径;

分类模块406,用于将所述聚合路径添加至对应的测试信息中,并根据所述聚合路径对所述测试信息进行分类处理。

可选的,在本发明第二方面的第三种实现方式中,所述分析模块403包括任务处理对象创建单元4031,所述任务处理对象创建单元4031用于:

根据各所述测试节点的类型,确定所述任务处理对象的类型;

统计各测试节点上测试信息的数量,确定所述流程节点包含的数据处理任务的数量,并根据所述数据处理任务的数量,确定对应的任务处理对象的数量;

根据确定的任务检查对象的类型和数量,创建对应类型和对应数量的至少一个任务处理对象。

可选的,在本发明第二方面的第四种实现方式中,所述分析模块403还包括分析单元4032,所述分析单元4032用于:

采用所述任务处理对象处理各所述测试信息,并根据各所述测试信息的执行结果,计算软件测试的执行率、通过率和缺陷数量;

若所述执行率大于或等于预设的执行率阈值,并且所述通过率大于或等于预设的通过率阈值,并且所述缺陷数量小于预设的数量阈值,则确认所述软件测试项目的项目测试结果为无风险;

若所述执行率小于所述执行率阈值,或者所述通过率小于所述通过率阈值,或者所述缺陷数量大于或等于所述数量阈值,则确认所述软件测试项目的项目测试结果为存在风险;

根据所述软件测试项目的项目测试结果,生成对应的测试结果分析信息。

可选的,在本发明第二方面的第五种实现方式中,所述软件测试进度分析装置还包括:

解析模块407,用于获取用户对软件的操作记录,并解析所述操作记录,得到操作记录中涉及的页面节点的层级关系;

树状图更新模块408,用于根据所述操作记录中涉及的页面节点的层级关系更新所述测试树状图。

可选的,在本发明第二方面的第六种实现方式中,所述软件测试进度分析装置还包括:

任务检查对象更新模块409,用于根据各测试节点上的测试信息,对所述任务检查对象进行更新赋值处理,其中所述任务处理对象包含下述至少一项:结果对象属性、公共属性和处理点属性。

本发明实施例中,通过已生成测试代码的测试节点所包含的测试代码集合、未生成测试代码的测试节点包含的测试代码模板、以及预设数据集构建测试脚本,以用于生成日志记录器,再通过数据处理任务创建测试节点上的任务处理对象,以用于判别软件测试项目是否存在风险,提升软件测试进度分析的自动化程度;还介绍了通过测试信息中的哈希路径和页面节点的URL路径对测试信息进行分类,以便于后续对测试信息进行分析处理,提升自动化分析的效率;另外,还介绍了通过用户对软件的操作记录,更新测试树状图,更贴合用户使用的习惯,提升软件测试进度分析的高效性。

上面图4和图5从模块化功能实体的角度对本发明实施例中的软件测试进度分析装置进行详细描述,下面从硬件处理的角度对本发明实施例中软件测试进度分析设备进行详细描述。

图6是本发明实施例提供的一种软件测试进度分析设备的结构示意图,该软件测试进度分析设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对软件测试进度分析设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在软件测试进度分析设备600上执行存储介质630中的一系列指令操作。

软件测试进度分析设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图6示出的软件测试进度分析设备结构并不构成对软件测试进度分析设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种软件测试进度分析设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述软件测试进度分析方法的步骤。本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述软件测试进度分析方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 软件测试进度分析方法、装置、设备及存储介质
  • 一种软件测试数据分析方法、装置、系统及存储介质
技术分类

06120113240776