CN115982013A - 自动化用例流程可视化方法、装置、计算机设备及存储介质 - Google Patents

自动化用例流程可视化方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN115982013A
CN115982013A CN202211652866.1A CN202211652866A CN115982013A CN 115982013 A CN115982013 A CN 115982013A CN 202211652866 A CN202211652866 A CN 202211652866A CN 115982013 A CN115982013 A CN 115982013A
Authority
CN
China
Prior art keywords
flow
automatic
tracking
python
use case
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211652866.1A
Other languages
English (en)
Inventor
何先军
王震
范云松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Xinyilian Information Technology Co Ltd
Original Assignee
Chengdu Xinyilian Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Xinyilian Information Technology Co Ltd filed Critical Chengdu Xinyilian Information Technology Co Ltd
Priority to CN202211652866.1A priority Critical patent/CN115982013A/zh
Publication of CN115982013A publication Critical patent/CN115982013A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明实施例公开了自动化用例流程可视化方法、装置、计算机设备及存储介质。所述方法包括:确定对Python脚本进行堆栈跟踪的对象;确定对Python脚本进行堆栈跟踪的深度;分析自动化用例的流程结构;结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构生成自动化用例流程;根据所述流程结构选择对应的可视化方式呈现所述自动化用例流程。通过实施本发明实施例的方法可实现有效提升自动化用例的准确性以及提高用例评审的效率。

Description

自动化用例流程可视化方法、装置、计算机设备及存储介质
技术领域
本发明涉及,更具体地说是指自动化用例流程可视化方法、装置、计算机设备及存储介质。
背景技术
当前主流使用的自动化测试语言为Python,其自动化测试的主要过程为:制定测试计划;分析测试需求;搭建测试环境以及设计测试用例;编写测试脚本;执行自动测试,判断测试是否通过,通过则结束,不通过则分析问题,当存在问题时修复问题,并回归测试,执行自动测试;对于执行自动化测试过程中,每日构建或反复执行。
但是现有的自动化测试流程存在的问题为:设计的测试用例与最终的实现的自动化用例脚本的一致性不容易评估,特别是对于用例业务规模较大的场景,测试代码可能多达数百行,用例评审人员无法、基本也没有精力去完整阅读测试代码,准确评估出自动化脚本与用例设计的一致性;同时,当业务发生变化时,如果自动化脚本维护人员发生变化,脚本修改将会比较困难。
因此,有必要设计一种新的方法,实现有效提升自动化用例的准确性以及提高用例评审的效率。
发明内容
本发明的目的在于克服现有技术的缺陷,提供自动化用例流程可视化方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:自动化用例流程可视化方法,包括:
确定对Python脚本进行堆栈跟踪的对象;
确定对Python脚本进行堆栈跟踪的深度;
分析自动化用例的流程结构;
结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构生成自动化用例流程;
根据所述流程结构选择对应的可视化方式呈现所述自动化用例流程。
其进一步技术方案为:所述对Python脚本进行堆栈跟踪的对象包括自动化AW以及框架库。
其进一步技术方案为:所述流程结构包括条件分支以及条件循环。
其进一步技术方案为:所述结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构生成自动化用例流程,包括:
采用Python第三方开源工具pycallgraph,结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构对自动化用例执行结果进行跟踪,并根据设置的层级跟踪对象,以得到自动化用例流程。
本发明还提供了自动化用例流程可视化装置,包括:
对象确定单元,用于确定对Python脚本进行堆栈跟踪的对象;
深度确定单元,用于确定对Python脚本进行堆栈跟踪的深度;
分析单元,用于分析自动化用例的流程结构;
生成单元,用于结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构生成自动化用例流程;
可视化单元,用于根据所述流程结构选择对应的可视化方式呈现所述自动化用例流程。
其进一步技术方案为:所述生成单元,用于采用Python第三方开源工具pycallgraph,结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构对自动化用例执行结果进行跟踪,并根据设置的层级跟踪对象,以得到自动化用例流程。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
本发明与现有技术相比的有益效果是:本发明通过确定对Python脚本进行堆栈跟踪的对象以及深度,采用Python第三方开源工具pycallgraph进行自动化用例的流程结构的分析,结合对象、深度以及流程结构生成自动化用例流程,再将自动化用例流程进行可视化,实现有效提升自动化用例的准确性以及提高用例评审的效率。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的自动化用例流程可视化方法的应用场景示意图;
图2为本发明实施例提供的自动化用例流程可视化方法的流程示意图;
图3为本发明实施例提供的自动化用例流程可视化装置的示意性框图;
图4为本发明实施例提供的计算机设备的示意性框图;
图5为本发明实施例提供的自动化用例流程的跟踪示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的自动化用例流程可视化方法的应用场景示意图。图2为本发明实施例提供的自动化用例流程可视化方法的示意性流程图。该自动化用例流程可视化方法应用于服务器中。该服务器与终端进行数据交互,配置Python脚本堆栈跟踪的参数,包括跟踪的深度、需要跟踪的函数库等;实现通过脚本,该脚本参数为自动化用例入口脚本,运行该脚本后,将自动生成自动化脚本执行流程图。
图2是本发明实施例提供的自动化用例流程可视化方法的流程示意图。如图2所示,该方法包括以下步骤S110至S150。
S110、确定对Python脚本进行堆栈跟踪的对象。
在本实施例中,所述对Python脚本进行堆栈跟踪的对象包括自动化AW以及框架库。该对象不包括系统内置库及第三方库中的函数和类。
S120、确定对Python脚本进行堆栈跟踪的深度。
在本实施例中,不同的用例对应的跟踪深度不同,默认配置深度需要根据各自的自动化实现代码确定,找到适合的跟踪深度;跟踪太深则细节太多、跟踪太浅则无法与设计用例步骤匹配。
S130、分析自动化用例的流程结构。
在本实施例中,所述流程结构包括条件分支以及条件循环。
在本实施例中,采用Python第三方开源工具pycallgraph分析自动化用例的流程结构。
S140、结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构生成自动化用例流程。
具体地,采用Python第三方开源工具pycallgraph,结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构对自动化用例执行结果进行跟踪,并根据设置的层级跟踪对象,以得到自动化用例流程。
对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构进行跟踪后形成自动化用例流程,对该跟踪过程的效果如图5所示。
S150、根据所述流程结构选择对应的可视化方式呈现所述自动化用例流程。
在本实施例中,根据流程结构数据,可以选择不同的可视化效果,以不同的方式、展示相同的自动化用例流程。
通过堆栈跟踪技术,将自动化用例脚本和执行结果以流程图的方式直观地展示出来,使得相关人员通过流程图可以快速了解用例的实际执行过程,有效提升自动化用例的准确性(与设计一致)、用例评审的效率(看图效率高于看代码)。
上述的自动化用例流程可视化方法,通过确定对Python脚本进行堆栈跟踪的对象以及深度,采用Python第三方开源工具pycallgraph进行自动化用例的流程结构的分析,结合对象、深度以及流程结构生成自动化用例流程,再将自动化用例流程进行可视化,实现有效提升自动化用例的准确性以及提高用例评审的效率。
图3是本发明实施例提供的一种自动化用例流程可视化装置300的示意性框图。如图3所示,对应于以上自动化用例流程可视化方法,本发明还提供一种自动化用例流程可视化装置300。该自动化用例流程可视化装置300包括用于执行上述自动化用例流程可视化方法的单元,该装置可以被配置于服务器中。具体地,请参阅图3,该自动化用例流程可视化装置300包括对象确定单元301、深度确定单元302、分析单元303、生成单元304以及可视化单元305。
对象确定单元301,用于确定对Python脚本进行堆栈跟踪的对象;深度确定单元302,用于确定对Python脚本进行堆栈跟踪的深度;分析单元303,用于分析自动化用例的流程结构;生成单元304,用于结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构生成自动化用例流程;可视化单元305,用于根据所述流程结构选择对应的可视化方式呈现所述自动化用例流程。
在一实施例中,所述生成单元304,用于采用Python第三方开源工具pycallgraph,结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构对自动化用例执行结果进行跟踪,并根据设置的层级跟踪对象,以得到自动化用例流程。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述自动化用例流程可视化装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述自动化用例流程可视化装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图4示的计算机设备上运行。
请参阅图4,图4是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图4,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种自动化用例流程可视化方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种自动化用例流程可视化方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
确定对Python脚本进行堆栈跟踪的对象;确定对Python脚本进行堆栈跟踪的深度;分析自动化用例的流程结构;结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构生成自动化用例流程;根据所述流程结构选择对应的可视化方式呈现所述自动化用例流程。
其中,所述对Python脚本进行堆栈跟踪的对象包括自动化AW以及框架库。
所述流程结构包括条件分支以及条件循环。
在一实施例中,处理器502在实现所述结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构生成自动化用例流程步骤时,具体实现如下步骤:
采用Python第三方开源工具pycallgraph,结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构对自动化用例执行结果进行跟踪,并根据设置的层级跟踪对象,以得到自动化用例流程。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
确定对Python脚本进行堆栈跟踪的对象;确定对Python脚本进行堆栈跟踪的深度;分析自动化用例的流程结构;结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构生成自动化用例流程;根据所述流程结构选择对应的可视化方式呈现所述自动化用例流程。
其中,所述对Python脚本进行堆栈跟踪的对象包括自动化AW以及框架库。
所述流程结构包括条件分支以及条件循环。
在一实施例中,所述处理器在执行所述计算机程序而实现所述结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构生成自动化用例流程步骤时,具体实现如下步骤:
采用Python第三方开源工具pycallgraph,结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构对自动化用例执行结果进行跟踪,并根据设置的层级跟踪对象,以得到自动化用例流程。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (8)

1.自动化用例流程可视化方法,其特征在于,包括:
确定对Python脚本进行堆栈跟踪的对象;
确定对Python脚本进行堆栈跟踪的深度;
分析自动化用例的流程结构;
结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构生成自动化用例流程;
根据所述流程结构选择对应的可视化方式呈现所述自动化用例流程。
2.根据权利要求1所述的自动化用例流程可视化方法,其特征在于,所述对Python脚本进行堆栈跟踪的对象包括自动化AW以及框架库。
3.根据权利要求1所述的自动化用例流程可视化方法,其特征在于,所述流程结构包括条件分支以及条件循环。
4.根据权利要求1所述的自动化用例流程可视化方法,其特征在于,所述结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构生成自动化用例流程,包括:
采用Python第三方开源工具pycallgraph,结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构对自动化用例执行结果进行跟踪,并根据设置的层级跟踪对象,以得到自动化用例流程。
5.自动化用例流程可视化装置,其特征在于,包括:
对象确定单元,用于确定对Python脚本进行堆栈跟踪的对象;
深度确定单元,用于确定对Python脚本进行堆栈跟踪的深度;
分析单元,用于分析自动化用例的流程结构;
生成单元,用于结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构生成自动化用例流程;
可视化单元,用于根据所述流程结构选择对应的可视化方式呈现所述自动化用例流程。
6.根据权利要求5所述的自动化用例流程可视化装置,其特征在于,所述生成单元,用于采用Python第三方开源工具pycallgraph,结合对Python脚本进行堆栈跟踪的对象、对Python脚本进行堆栈跟踪的深度以及所述流程结构对自动化用例执行结果进行跟踪,并根据设置的层级跟踪对象,以得到自动化用例流程。
7.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的方法。
8.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的方法。
CN202211652866.1A 2022-12-21 2022-12-21 自动化用例流程可视化方法、装置、计算机设备及存储介质 Pending CN115982013A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211652866.1A CN115982013A (zh) 2022-12-21 2022-12-21 自动化用例流程可视化方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211652866.1A CN115982013A (zh) 2022-12-21 2022-12-21 自动化用例流程可视化方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN115982013A true CN115982013A (zh) 2023-04-18

Family

ID=85957535

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211652866.1A Pending CN115982013A (zh) 2022-12-21 2022-12-21 自动化用例流程可视化方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN115982013A (zh)

Similar Documents

Publication Publication Date Title
CN107506300B (zh) 一种用户界面测试方法、装置、服务器和存储介质
US8627290B2 (en) Test case pattern matching
US7895565B1 (en) Integrated system and method for validating the functionality and performance of software applications
US9448908B2 (en) System and method for model based session management
US9317400B2 (en) Code coverage rate determination method and system
US9904517B2 (en) System and method for automatic modeling of an application
CN107111545B (zh) 一种用于生成计算机可执行图的方法及系统
CN106776338B (zh) 一种测试方法、装置及服务器
US20130179867A1 (en) Program Code Analysis System
WO2013184364A2 (en) Visualized code review
US11201806B2 (en) Automated analysis and recommendations for highly performant single page web applications
US11055208B1 (en) Systems and methods for automatically assessing and conforming software development modules to accessibility guidelines in real-time
US10209984B2 (en) Identifying a defect density
KR101519450B1 (ko) 멀티스레드 프로그램에 대한 테스트 커버리지 정보를 이용한 자동 테스트 생성 장치, 방법 및 기록매체
CN111666217A (zh) 用于测试代码的方法和装置
US11249890B2 (en) Software defect creation
CN117370767A (zh) 基于大数据的用户信息评估方法及系统
US10579761B1 (en) Method and system for reconstructing a graph presentation of a previously executed verification test
US9348733B1 (en) Method and system for coverage determination
CN115982013A (zh) 自动化用例流程可视化方法、装置、计算机设备及存储介质
CN112965910B (zh) 自动化回归测试方法、装置、电子设备、存储介质
KR20200145269A (ko) 테스트 자동화 시스템
Tang et al. A tool for rejuvenating feature logging levels via git histories and degree of interest
CN109688025B (zh) 一种基于数字kvm的测试监控方法、装置、终端及存储介质
CN113377648A (zh) 软件系统诊断方法、装置、电子设备及计算机可读介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination