CN109032923A - 基于调用链的软件测试方法、装置、终端 - Google Patents
基于调用链的软件测试方法、装置、终端 Download PDFInfo
- Publication number
- CN109032923A CN109032923A CN201810643835.7A CN201810643835A CN109032923A CN 109032923 A CN109032923 A CN 109032923A CN 201810643835 A CN201810643835 A CN 201810643835A CN 109032923 A CN109032923 A CN 109032923A
- Authority
- CN
- China
- Prior art keywords
- test
- node
- test node
- relation
- instruction
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种基于调用链的软件测试方法,包括:解析携带有调用链关系的配置文件得到调用链关系,调用链关系包括多个测试节点、多个测试节点之间的内联关系和每个测试节点的测试类型;对于调用链关系中的任一测试节点,生成与测试节点的测试类型对应的测试指令;根据多个测试节点之间的内联关系,依次执行与测试节点对应的测试指令,并获取与测试节点对应的测试对象输出的反馈信息。本发明的方法能在一次测试过程中执行多种类型的测试任务,并按照内联关系对测试节点进行测试,进而从调用链的角度做全局分析,快速定位到导致测试节点发生错误的具体原因,提高测试效率。本发明还提供了一种基于调用链的软件测试装置、终端。
Description
技术领域
本发明涉及软件测试技术领域,具体而言,本发明涉及一种基于调用链的软件测试方法、装置、终端。
背景技术
现有的软件测试技术中,大多数的测试框架功能独立,只能独立执行同一类型的测试任务,如只能独立执行UI(User Interface,用户界面)测试,或独立执行API(Application Programming Interface,应用程序编程接口)测试。然而,从端到端进行链路分析可知,各类测试任务之间具有内在联系,例如在API测试过程中,引起被测试接口报错的原因可能是接口调用错误,也可能是后台的数据库调用错误。由于各种类型的测试任务相互独立,因此,在一次测试过程中无法精准定位到引起该接口错误的具体原因,这就需要在完成所有类型的测试任务后,由测试人员综合各类测试任务的测试结果,才能确认引起错误的最终原因。因此,现有的测试方法大大降低了测试效率。
发明内容
本发明的目的旨在至少能解决上述的技术缺陷之一。
第一方面,本发明提供一种基于调用链的软件测试方法,包括如下步骤:
解析携带有调用链关系的配置文件得到调用链关系,调用链关系包括多个测试节点、多个测试节点之间的内联关系和每个测试节点的测试类型;
对于调用链关系中的任一测试节点,生成与测试节点的测试类型对应的测试指令;
根据多个测试节点之间的内联关系,依次执行与测试节点对应的测试指令,并获取与测试节点对应的测试对象输出的反馈信息。
在其中一个实施例中,调用链关系还包括每个测试节点的测试参数;
对于调用链关系中的任一测试节点,生成与测试节点的测试类型对应的测试指令,包括:对于调用链关系中的任一测试节点,根据测试节点的测试参数,生成与测试节点的测试类型对应的测试指令。
在其中一个实施例中,根据测试节点的测试参数,生成与测试节点的测试类型对应的测试指令,包括:
获取与测试节点的测试类型对应的指令生成规则;
根据测试节点的测试参数,按照对应的指令生成规则生成测试指令。在其中一个实施例中,获取与测试节点对应的测试对象输出的反馈信息之后,本实施例的方法还包括:
分析反馈信息,得到测试结果。
在其中一个实施例中,调用链关系还包括每个测试节点对应的断言;
分析反馈信息,得到测试结果,包括:
将测试节点对应的断言与测试节点的反馈信息进行比对;
若测试节点对应的断言与测试节点的反馈信息一致,则确定测试节点通过测试;
若测试节点对应的断言与测试节点的测试结果不一致,则确定测试节点未通过测试。
在其中一个实施例中,分析反馈信息,得到测试结果之后,本实施例的方法还包括:
生成用于显示测试节点之间内联关系的思维导图;
在思维导图中标注未通过测试的测试节点。
在其中一个实施例中,所述分析所述反馈信息,得到测试结果之后,本实施例的方法还包括:
对未通过测试的测试节点进行报警。
第二方面,本发明还提供了一种基于调用链的软件测试装置,包括:
解析单元,用于解析携带有调用链关系的配置文件得到调用链关系,调用链关系包括多个测试节点、多个测试节点之间的内联关系和每个测试节点的测试类型;
指令生成单元,用于对于调用链关系中的任一测试节点,生成与测试节点的测试类型对应的测试指令;
测试单元,用于根据多个测试节点之间的内联关系,依次执行与测试节点对应的测试指令,并获取与测试节点对应的测试对象输出的反馈信息。
第三方面,本发明还提供一种基于调用链的软件测试终端,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行第一方面中任一实施例所述的基于调用链的软件测试方法。
第四方面,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一实施例所述的基于调用链的软件测试方法。
上述的基于调用链的软件测试方法、装置、终端,在配置文件中预先为每个测试节点配置了测试类型,使得测试引擎能够自动根据测试节点的测试类型生成测试指令,以便能够在一次测试过程中执行多种类型的测试任务;在此基础上,测试引擎通过解析配置文件中的调用链关系获取到测试节点之间的内联关系,按照内联关系揭示的顺序逐个对测试节点进行测试,使得各测试节点之间的测试结果不再孤立,可以循着测试节点间的内联关系,从调用链关系的角度做全局分析,快速地定位到导致某一测试节点发生错误的具体原因,以提高测试效率。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为一个实施例的基于调用链的软件测试方法的流程图;
图2为内联关系的一个示例;
图3为另一个实施例的基于调用链的软件测试方法的流程图;
图4为另一个实施例的基于调用链的软件测试方法的流程图;
图5为生成的思维导图的一个示例;
图6为一个实施例的基于调用链的软件测试装置的结构框图;
图7为另一个实施例的基于调用链的软件测试装置的结构框图;
图8为一个实施例的基于调用链的软件测试终端的内部结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通讯链路上,执行双向通讯的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通讯设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通讯设备;PCS(Personal Communications Service,个人通讯系统),其可以组合语音、数据处理、传真和/或数据通讯能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通讯终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本技术领域技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通讯方式实现通讯,包括但不限于,基于3GPP、LTE、WIMAX的移动通讯、基于TCP/IP、UDP协议的计算机网络通讯以及基于蓝牙、红外传输标准的近距无线传输方式。
下面对本发明实施例提供的一种基于调用链的软件测试方法进行介绍,参见图1所示,本实施例的方法包括:
步骤S101、解析携带有调用链关系的配置文件得到调用链关系,调用链关系包括多个测试节点、多个测试节点之间的内联关系和每个测试节点的测试类型;
步骤S102、对于调用链关系中的任一测试节点,生成与测试节点的测试类型对应的测试指令;
步骤S103、根据多个测试节点之间的内联关系,依次执行与测试节点对应的测试指令,并获取与测试节点对应的测试对象输出的反馈信息。
其中,测试节点是指由测试人员根据测试要求确认的待测试软件中需要测试的各部分软件,一个调用链关系中至少包括两个测试节点,具体测试节点的数量根据待测试软件的体量以及测试需求确定。内联关系即各个测试节点之间的关系,内联关系可表示为树状图,如图2所示,树状图中的一个节点对应一个测试节点,节点间的连线和方向表示了节点之间的关系,内联关系通过测试节点的编号、测试节点在树状图中的位置、测试节点间的连线以及方向来表示。测试类型为不同种类的测试任务,如UI测试、API测试、DB测试等。
例如,以用户购买理财产品的过程为例,对应的软件执行过程为:首先,获取用户在页面中点击购买按钮的动作,然后,调用与购买按钮对应的API接入数据库,接着,从数据库中获取与理财产品相关的页面,最后,将页面反馈给用户端实现页面的跳转。在针对上述过程进行测试时,调用链关系至少包括以下几个测试节点:UI节点、API节点和DB(database,数据库)节点。此处,调用链关系的内联关系可以根据软件实际的执行流程确定,即:UI节点→API节点→DB节点,测试时按照上述内联关系的顺序进行测试。对应的测试类型包括UI测试、API测试、DB测试。
测试人员按上述方式确定好调用链关系后,会按XML格式将调用链关系写入测试引擎的配置文件。测试时,首先,由测试引擎自动解析配置文件得到调用链,以获取调用链关系中的测试节点、内联关系和测试类型。然后,测试引擎根据各个测试节点的测试类型,生成各个测试节点的测试指令,例如:若测试节点为UI测试,则生成与UI测试对应的测试指令,若测试节点为API测试,则生成API测试对应的测试指令,由此,在同一次测试过程中即可进行多种不同类型的测试任务。接着,测试引擎按照内联关系所描述的顺序,即:UI节点→API节点→DB节点,先执行UI节点的测试指令,将UI节点的测试指令发送给待测软件中该UI节点对应的程序,并接受该待测软件输出的反馈信息;再执行API节点的测试指令,将API节点的测试指令发送给待测软件中该API节点对应的程序,并接受该待测软件输出的反馈信息;最后,执行DB节点的测试指令,将DB节点的测试指令发送给待测软件中该DB节点对应的程序,并接受该待测软件输出的反馈信息。执行完所有调用链关系中的测试节点的测试指令后,即可结合测试节点间的内联关系以及各个测试节点的反馈信息,确定哪些节点发生了错误,并根据节点间的内联关系,确定导致UI节点错误的具体原因是API节点,还是DB节点。
由于现有的软件测试方法只能对一种测试任务进行测试,以上述例子为例,现有方法只能测试点击购买按钮后,是否跳转到了期望的页面,若测试发现,点击购买按钮后无法跳转到正确的页面,通过现有技术,显然无法确认是页面跳转的问题,还是API调用的问题,亦或是数据库调用的问题。而本发明实施例的方法,能够在一次测试过程中,追踪测试“点击购买按钮”这一动作背后,后台执行的所有动作,最终确定前台的页面跳转失败是由哪个相关组件、模块引起的。
实际应用过程中,调用链关系并不局限于上述例子中的单链形式,具体配置的测试节点数量、测试节点的测试类型以及内联关系,可根据实际测试需求以及待测软件的内在逻辑确定。例如,整个测试过程可配置多个UI节点,每个UI节点下配置多个API节点,每个API节点下又配置多个DB节点,以形成多条链路并联的调用链关系。如图2所示,假设测试过程中发现UI-2节点发生错误,即可根据内联关系,排查API-1和API-2;若仅API-2报错,则进一步排查DB-4、DB-5、DB-6,假设仅DB-4报错,则可确定是DB-4的错误引起前端UI-2节点发生错误。
本发明的实施例中,在配置文件中预先为每个测试节点配置了测试类型,使得测试引擎能够自动根据测试节点的测试类型生成测试指令,以便能够在一次测试过程中执行多种类型的测试任务;在此基础上,测试引擎通过解析配置文件中的调用链关系获取到测试节点之间的内联关系,按照内联关系揭示的顺序逐个对测试节点进行测试,使得各测试节点之间的测试结果不再孤立,因此,得以从调用链关系的角度做全局分析,循着测试节点间的内联关系,快速地定位到导致测试节点发生错误的具体原因,以提高测试效率。此外,测试引擎可自动解析配置文件并执行测试指令,无需测试人员编码,降低了测试准入门槛。
进一步地,配置文件中的调用链关系还包括每个测试节点的测试参数。
相应地,步骤S102具体包括:对于调用链关系中的任一测试节点,根据各个测试节点的测试参数,生成与各个测试节点的测试类型对应的测试指令。
进一步地,步骤S102具体包括:获取与各个测试节点的测试类型对应的指令生成规则;根据各个测试节点的测试参数,按照对应的指令生成规则生成测试指令。
其中,指令生成规则即生成测试指令的固定格式,这样,按照固定格式填入测试参数,即可生成测试指令,使得测试引擎能够自动生成测试指令。不同类型的测试任务的测试指令不同,因此,预先为不同类型的测试任务配置了不同的指令生成规则。例如,对UI测试来说,测试参数包括用户界面中控件的位置参数、触发控件的操作动作(如单击、滑动等)等,根据测试参数中的控件位置参数和操作动作,按照UI测试对应的指令生成规则,生成模拟单击被测试控件这一动作的测试指令。
进一步地,如图3所示,步骤S103之后,基于调用链的软件测试方法还包括步骤S104:分析反馈信息,得到测试结果。
进一步地,预先在配置文件的调用链关系中为每个测试节点设置了对应的断言。其中,断言为该断言对应的测试节点的程序被执行后,期望该程序返回的值,例如:“商品金额查询”按钮为点击后,期望返回的值为“99元”,或者,程序执行完毕后会返回表示程序已经顺利执行的值,如“1”。
利用断言能够对测试过程中的反馈信息进行分析,以判断测试节点是否通过测试。相应地,如图4所示,步骤S104具体包括:将测试节点对应的断言与测试节点的反馈信息进行比对;若测试节点对应的断言与测试节点的反馈信息一致,则确定测试节点通过测试;若测试节点对应的断言与测试节点的测试结果不一致,则确定测试节点未通过测试。
测试人员可直接通过配置文件为每个测试节点配置断言,以便更方便地修改通过测试的条件,尤其是在需要测试业务逻辑是否准确时,一旦具体业务逻辑发生变化,只需要重新调整配置文件中的断言,即可对新的业务逻辑进行测试。
进一步地,本发明实施例的基于调用链的软件测试方法还包括:根据未通过测试的测试节点的反馈信息和断言,分析未通过测试的测试节点的错误原因。
当测试对象为具体的业务逻辑时,如:点击购买按钮后,测试跳转后的页面中显示的金额是正确,若断言中的金额与跳转后的页面金额不同时,错误原因为“与预设值不符”。
当测试对象为软件程序本身时,若程序在运行过程中发生错误,该待测试程序会反馈错误报文,错误原因即为该错误报文。
进一步地,如图4所示,步骤S104之后,本实施例的方法还包括步骤S105:生成用于显示测试节点之间内联关系的思维导图,在该思维导图中标注未通过测试的测试节点。根据调用链关系的内联关系,使用JGraph组件生成如图5所示的思维导图,未通过测试的测试节点(即发生错误的节点)标注为醒目的红色(图5中斜纹填充的测试节点),以方便测试人员查看错误节点。测试人员可设置思维导图的显示方式,如:全链路展或单链路展示。全链路展示即如图5所示,展示整个测试中所有的测试节点。单链路展示仅显示错误节点所在的链路,以图5为例,仅展示UI-2→API-3→DB-4这一条链路。在此基础上,还可以在思维导图中标注未通过测试的测试节点的错误原因。
本实施例的方法,以思维导图的形式展示测试结果,展示方式更加形象直观,使得测试人员能够一目了然地获知待测软件的整体测试状况,并帮助测试人员快速定位错误节点,掌握错误原因。
进一步地,如图4所示,步骤S104之后,本实施例的方法还包括步骤S106:对未通过测试的测试节点进行报警。为第一时间通知到测试人员,可通过邮件或微信等方式,将思维导图的全部链路或发生错误的单链路发送给测试人员。此外,还可预先建立责任列表,记录各个测试节点对应的测试人员,将通知信息发送给错误节点对应的测试人员。
基于与上述基于调用链的软件测试方法相同的发明构思,本发明实施例还提供了一种基于调用链的软件测试装置60,如图6所示,包括:解析单元601、指令生成单元602以及测试单元603。
解析单元601,用于解析携带有调用链关系的配置文件得到调用链关系,所述调用链关系包括多个测试节点、所述多个测试节点之间的内联关系和每个所述测试节点的测试类型。
指令生成单元602,用于对于所述调用链关系中的任一测试节点,生成与所述测试节点的测试类型对应的测试指令。
测试单元603,用于根据所述多个测试节点之间的内联关系,依次执行与所述测试节点对应的测试指令,并获取与所述测试节点对应的测试对象输出的反馈信息。
进一步地,调用链关系还包括每个测试节点的测试参数。
相应地,指令生成单元602具体用于:对于所述调用链关系中的任一测试节点,根据各个测试节点的测试参数,生成与各个测试节点的测试类型对应的测试指令。
进一步地,指令生成单元602具体用于:获取与各个测试节点的测试类型对应的指令生成规则;根据各个测试节点的测试参数,按照对应的指令生成规则生成测试指令。
进一步地,如图7所示,基于调用链的软件测试装置60还包括分析单元604,用于分析反馈信息,得到测试结果。
进一步地,调用链关系还包括每个测试节点对应的断言。相应地,分析单元604具体用于:将测试节点对应的断言与测试节点的反馈信息进行比对;若测试节点对应的断言与测试节点的反馈信息一致,则确定测试节点通过测试;若测试节点对应的断言与测试节点的测试结果不一致,则确定测试节点未通过测试。
进一步地,分析单元604还用于:根据未通过测试的测试节点的反馈信息和断言,分析未通过测试的测试节点的错误原因。
进一步地,如图7所示,基于调用链的软件测试装置还包括思维导图生成单元605,用于生成用于显示测试节点之间内联关系的思维导图,在生成的思维导图中标注未通过测试的测试节点。
进一步地,思维导图生成单元605还用于在思维导图中标注未通过测试的测试节点的错误原因。
进一步地,如图7所示,基于调用链的软件测试装置还包括报警单元606,用于对未通过测试的测试节点进行报警。
本实施进一步的实施方式,可参考上述方法实施例,在此不再赘述。
本发明实施例提供的基于调用链的软件测试装置,采用了与上述基于调用链的软件测试方法相同的发明构思,具有相同的有益效果,在此不再赘述。
基于与上述基于调用链的软件测试方法相同的发明构思,本发明实施例还提供了一种基于调用链的软件测试终端,其包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行上述任一实施例中的基于调用链的软件测试方法。
图8为一个实施例中基于调用链的软件测试终端的内部结构示意图。如图8所示,该终端包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种基于调用链的软件测试方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种基于调用链的软件测试方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本发明实施例提供的基于调用链的软件测试终端,采用了与上述基于调用链的软件测试方法相同的发明构思,具有相同的有益效果,在此不再赘述。
基于与上述基于调用链的软件测试方法相同的发明构思,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述任一实施例的基于调用链的软件测试方法。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于调用链的软件测试方法,其特征在于,包括如下步骤:
解析携带有调用链关系的配置文件得到调用链关系,所述调用链关系包括多个测试节点、所述多个测试节点之间的内联关系和每个所述测试节点的测试类型;
对于所述调用链关系中的任一测试节点,生成与所述测试节点的测试类型对应的测试指令;
根据所述多个测试节点之间的内联关系,依次执行与所述测试节点对应的测试指令,并获取与所述测试节点对应的测试对象输出的反馈信息。
2.根据权利要求1所述的方法,其特征在于,所述调用链关系还包括每个测试节点的测试参数;
所述对于所述调用链关系中的任一测试节点,生成与所述测试节点的测试类型对应的测试指令,包括:对于所述调用链关系中的任一测试节点,根据所述测试节点的测试参数,生成与所述测试节点的测试类型对应的测试指令。
3.根据权利要求2所述的方法,其特征在于,所述根据所述测试节点的测试参数,生成与所述测试节点的测试类型对应的测试指令,包括:
获取与所述测试节点的测试类型对应的指令生成规则;
根据所述测试节点的测试参数,按照对应的指令生成规则生成测试指令。
4.根据权利要求1所述的方法,其特征在于,所述获取与所述测试节点对应的测试对象输出的反馈信息之后,所述方法还包括:
分析所述反馈信息,得到测试结果。
5.根据权利要求4所述的方法,其特征在于,所述调用链关系还包括每个测试节点对应的断言;
所述分析所述反馈信息,得到测试结果,包括:
将所述测试节点对应的断言与所述测试节点的反馈信息进行比对;
若所述测试节点对应的断言与所述测试节点的反馈信息一致,则确定所述测试节点通过测试;
若所述测试节点对应的断言与所述测试节点的测试结果不一致,则确定所述测试节点未通过测试。
6.根据权利要求5所述的方法,其特征在于,所述分析所述反馈信息,得到测试结果之后,所述方法还包括:
生成用于显示测试节点之间内联关系的思维导图;
在所述思维导图中标注未通过测试的测试节点。
7.根据权利要求5所述的方法,其特征在于,所述分析所述反馈信息,得到测试结果之后,所述方法还包括:
对未通过测试的测试节点进行报警。
8.一种基于调用链的软件测试装置,其特征在于,包括:
解析单元,用于解析携带有调用链关系的配置文件得到调用链关系,所述调用链关系包括多个测试节点、所述多个测试节点之间的内联关系和每个所述测试节点的测试类型;
指令生成单元,用于对于所述调用链关系中的任一测试节点,生成与所述测试节点的测试类型对应的测试指令;
测试单元,用于根据所述多个测试节点之间的内联关系,依次执行与所述测试节点对应的测试指令,并获取与所述测试节点对应的测试对象输出的反馈信息。
9.一种基于调用链的软件测试终端,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810643835.7A CN109032923A (zh) | 2018-06-21 | 2018-06-21 | 基于调用链的软件测试方法、装置、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810643835.7A CN109032923A (zh) | 2018-06-21 | 2018-06-21 | 基于调用链的软件测试方法、装置、终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109032923A true CN109032923A (zh) | 2018-12-18 |
Family
ID=64610610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810643835.7A Withdrawn CN109032923A (zh) | 2018-06-21 | 2018-06-21 | 基于调用链的软件测试方法、装置、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109032923A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110674047A (zh) * | 2019-09-26 | 2020-01-10 | 北京字节跳动网络技术有限公司 | 软件测试方法、装置及电子设备 |
CN111078551A (zh) * | 2019-12-13 | 2020-04-28 | 浙江诺诺网络科技有限公司 | 一种全链路测试方法、装置、系统及计算机可读存储介质 |
CN112286790A (zh) * | 2020-09-27 | 2021-01-29 | 长沙市到家悠享网络科技有限公司 | 一种全链路测试方法、装置、设备和存储介质 |
CN112559368A (zh) * | 2020-12-23 | 2021-03-26 | 马上消费金融股份有限公司 | 接口自动化测试方法及其用例生成方法、设备及存储介质 |
CN112650683A (zh) * | 2020-12-28 | 2021-04-13 | 京东数字科技控股股份有限公司 | 程序测试方法、设备以及存储介质 |
CN112737800A (zh) * | 2019-10-28 | 2021-04-30 | 顺丰科技有限公司 | 服务节点故障定位方法、调用链生成方法及服务器 |
CN113238968A (zh) * | 2021-06-23 | 2021-08-10 | 中国农业银行股份有限公司 | 系统测试方法、装置、设备、介质及程序产品 |
CN113448850A (zh) * | 2021-06-29 | 2021-09-28 | 平安健康保险股份有限公司 | 方法调用链的可视化方法、系统、设备及介质 |
CN113536318A (zh) * | 2021-06-30 | 2021-10-22 | 北京紫光展锐通信技术有限公司 | 信息处理方法及相关装置 |
CN113689937A (zh) * | 2021-07-07 | 2021-11-23 | 阿里巴巴新加坡控股有限公司 | 图像标注方法、存储介质和处理器 |
CN115774663A (zh) * | 2022-09-15 | 2023-03-10 | 江苏瑞蓝自动化设备集团有限公司 | 一种LabVIEW的测试系统的优化方法、装置、设备及存储介质 |
-
2018
- 2018-06-21 CN CN201810643835.7A patent/CN109032923A/zh not_active Withdrawn
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110674047A (zh) * | 2019-09-26 | 2020-01-10 | 北京字节跳动网络技术有限公司 | 软件测试方法、装置及电子设备 |
CN112737800B (zh) * | 2019-10-28 | 2023-04-28 | 顺丰科技有限公司 | 服务节点故障定位方法、调用链生成方法及服务器 |
CN112737800A (zh) * | 2019-10-28 | 2021-04-30 | 顺丰科技有限公司 | 服务节点故障定位方法、调用链生成方法及服务器 |
CN111078551A (zh) * | 2019-12-13 | 2020-04-28 | 浙江诺诺网络科技有限公司 | 一种全链路测试方法、装置、系统及计算机可读存储介质 |
CN111078551B (zh) * | 2019-12-13 | 2023-09-22 | 浙江诺诺网络科技有限公司 | 一种全链路测试方法、装置、系统及计算机可读存储介质 |
CN112286790A (zh) * | 2020-09-27 | 2021-01-29 | 长沙市到家悠享网络科技有限公司 | 一种全链路测试方法、装置、设备和存储介质 |
CN112559368A (zh) * | 2020-12-23 | 2021-03-26 | 马上消费金融股份有限公司 | 接口自动化测试方法及其用例生成方法、设备及存储介质 |
CN112650683A (zh) * | 2020-12-28 | 2021-04-13 | 京东数字科技控股股份有限公司 | 程序测试方法、设备以及存储介质 |
CN112650683B (zh) * | 2020-12-28 | 2024-06-14 | 京东科技控股股份有限公司 | 程序测试方法、设备以及存储介质 |
CN113238968A (zh) * | 2021-06-23 | 2021-08-10 | 中国农业银行股份有限公司 | 系统测试方法、装置、设备、介质及程序产品 |
CN113448850A (zh) * | 2021-06-29 | 2021-09-28 | 平安健康保险股份有限公司 | 方法调用链的可视化方法、系统、设备及介质 |
CN113536318A (zh) * | 2021-06-30 | 2021-10-22 | 北京紫光展锐通信技术有限公司 | 信息处理方法及相关装置 |
CN113689937A (zh) * | 2021-07-07 | 2021-11-23 | 阿里巴巴新加坡控股有限公司 | 图像标注方法、存储介质和处理器 |
CN115774663A (zh) * | 2022-09-15 | 2023-03-10 | 江苏瑞蓝自动化设备集团有限公司 | 一种LabVIEW的测试系统的优化方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109032923A (zh) | 基于调用链的软件测试方法、装置、终端 | |
US9990383B2 (en) | Constructing a data adaptor in an enterprise server data ingestion environment | |
US8504989B2 (en) | Service definition document for providing blended services utilizing multiple service endpoints | |
CN109344170B (zh) | 流数据处理方法、系统、电子设备及可读存储介质 | |
CN110287109A (zh) | 协议接口的测试方法、装置、计算机设备及其存储介质 | |
CN102244594A (zh) | 在手动和自动测试工具中的网络仿真技术 | |
CN111190596A (zh) | 联调方法、装置、计算机设备及可读存储介质 | |
CN112187558B (zh) | 数据校验方法、装置、电子设备 | |
CN107832207A (zh) | 接口性能测试方法、装置、存储介质和计算机设备 | |
CN113900958A (zh) | 测试用例脚本的生成方法、系统、介质及电子设备 | |
CN109783388A (zh) | Ui自动化测试方法、装置及电子设备 | |
CN113032244B (zh) | 接口测试方法、装置、计算机系统和计算机可读存储介质 | |
CN110716853A (zh) | 一种测试脚本录制方法、应用程序测试方法和相关装置 | |
CN106294184B (zh) | 测试场景图形化创建方法、装置及终端设备 | |
CN112597047A (zh) | 测试方法、装置、电子设备和计算机可读介质 | |
CN112860556B (zh) | 覆盖率统计方法、装置、计算机系统和可读存储介质 | |
CN110134604A (zh) | 一种无需代码的单元或接口测试方法、装置和计算机设备 | |
CN109977012A (zh) | 系统的联调测试方法、装置、设备及计算机可读存储介质 | |
US9658945B2 (en) | Constructing test-centric model of application | |
CN109271160A (zh) | 活动规则组建方法、装置和计算机系统、介质 | |
CN107273250A (zh) | 电子化保单自动承保系统的测试方法及装置 | |
US11475191B2 (en) | Generating and adding additional control information to logic under test to facilitate debugging and comprehension of a simulation | |
CN114328700B (zh) | 医疗数据etl任务中的数据核查方法及装置 | |
CN115185797A (zh) | 视觉算法模型的测试方法、系统、电子设备及存储介质 | |
CN111176624B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20181218 |
|
WW01 | Invention patent application withdrawn after publication |