CN106959919A - 基于测试路径图的软件测试方法及装置 - Google Patents

基于测试路径图的软件测试方法及装置 Download PDF

Info

Publication number
CN106959919A
CN106959919A CN201610016211.3A CN201610016211A CN106959919A CN 106959919 A CN106959919 A CN 106959919A CN 201610016211 A CN201610016211 A CN 201610016211A CN 106959919 A CN106959919 A CN 106959919A
Authority
CN
China
Prior art keywords
test
node
software
path
parameter
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.)
Granted
Application number
CN201610016211.3A
Other languages
English (en)
Other versions
CN106959919B (zh
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.)
Alibaba China Co Ltd
Original Assignee
Guangzhou Dongjing Computer 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 Guangzhou Dongjing Computer Technology Co Ltd filed Critical Guangzhou Dongjing Computer Technology Co Ltd
Priority to CN201610016211.3A priority Critical patent/CN106959919B/zh
Publication of CN106959919A publication Critical patent/CN106959919A/zh
Application granted granted Critical
Publication of CN106959919B publication Critical patent/CN106959919B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

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

基于测试路径图的软件测试方法及装置
技术领域
本申请涉及软件测试的领域,特别涉及一种基于测试路径图的软件测试方法及装置。
背景技术
随着互联网的飞速发展,各种软件应运而生,其为人们的生产和生活带来了具大的便利。其中,在软件开发完成后,为了保证所开发软件的正常运行,通常需对软件进行测试。目前,软件测试一般分为白盒测试和黑盒测试,白盒测试主要是基于软件内部设计和编写代码的测试,而黑盒测试主要是基于软件需求和功能性的测试。
在现有技术中,黑盒测试,主要有两种方法,一种为人工测试,另一种为基于脚本的自动化测试。对于人工测试,主要是人工分析软件的应用场景,然后人工对每个应用场景进行测试,这种测试方法的测试效率无疑较低下。而对于基于脚本的自动化测试,其测试流程一般如下:首先分析软件的应用场景;然后根据软件的应用场景,编写测试脚本,而测试脚本可模拟人工操作软件的场景,并返回测试结果至测试人员。由于在实际应用中,一软件通常有多种应用场景,而一脚本只能测试一应用场景,因此,针对一软件,测试人员通常需要编写多个测试脚本,这无疑增加了测试人员的工作量,使得测试效率低下。
由上可见,现有技术中黑盒测试方法的测试效率均较低,因此,在现有技术中,亟需一种基于测试路径图的软件测试方法及装置,以提高软件的测试效率。
申请内容
本申请实施例中提供了一种基于测试路径图的软件测试方法及装置,以提高软件测试的效率。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一方面,本申请公开一种基于测试路径图的软件测试方法,包括:
拆分测试路径图,获得需测试软件的多个测试路径,所述测试路径图为根据需测试软件的应用场景所绘制的,且每个测试路径代表需测试软件的一应用场景,每个测试路径由多个测试节点组成,每个测试节点由动作词和参数组成;
根据每个测试路径中测试节点的动作词和参数,分别对需测试软件的应用场景进行测试。
可选的,根据每个测试路径中测试节点的动作词和参数,分别对需测试软件的应用场景进行测试,包括:
依次对所述测试路径的每个测试节点进行解析,获得每个测试节点的动作词以及参数;
根据所述动作词以及参数,确定所述软件是否通过测试节点的测试,且如果所述软件通过当前测试路径下所有测试节点的测试,确定所述软件通过当前测试路径对应应用场景的测试。
可选的,所述需测试软件由多个控件组成,所述测试节点参数至少包括控件参数;根据所述动作词以及参数,确定所述软件是否通过测试节点的测试,包括:
判断需测试软件中,是否存在测试节点控件参数对应的控件;
如果存在,判断所述控件,能否根据所述动作词执行相应的操作;
如果能,确定所述软件通过测试节点的测试,否则,确定所述软件未通过测试节点的测试。
可选的,所述测试节点动作词至少包括slider滑块、move_to长按移动、click点击、long_press长按、swipe滑动以及input输入。
可选的,所述测试节点动作词至少包括check校验,所述测试节点参数至少包括图片校验参数;根据所述动作词以及参数,对所述软件进行测试,包括:
判断测试节点参数中是否存在图片获取参数;
如果存在,根据所述图片获取参数,在需测试软件中获取图片;
如果不存在,对需测试软件执行预设操作,获取图片;
判断获取图片与校验图片是否相匹配,所述校验图片为所述图片校验参数对应的图片;
如果相匹配,确定所述软件通过测试节点的测试,否则,确定所述软件未通过测试节点的测试。
可选的,所述方法还包括:
标记未通过测试的测试节点以及所述测试节点相关联的测试节点。
可选的,所述方法还包括:
判断当前测试路径中,是否存在标记测试节点相匹配的测试节点;
如果存在,确定所述软件未通过当前测试路径对应应用场景的测试。
可选的,所述测试路径图中的测试节点包括根测试节点和叶子测试节点;所述拆分测试路径图,获得需测试软件的多个测试路径,包括:
遍历测试路径图,确定根测试节点和叶子测试节点;
在测试路径图中,将从所述叶子测试节点回溯至根测试节点的路径,作为测试路径;
根据所述测试路径,对所述测试路径图进行拆分。
另一方面,本申请公开一种基于测试路径图的软件测试装置,包括:
拆分模块,用于拆分测试路径图,获得需测试软件的多个测试路径,所述测试路径图为根据需测试软件的应用场景所绘制的,且每个测试路径代表需测试软件的一应用场景,每个测试路径由多个测试节点组成,每个测试节点由动作词和参数组成;
测试模块,用于根据每个测试路径中测试节点的动作词和参数,分别对需测试软件的应用场景进行测试。
可选的,所述测试模块,包括:
解析单元,用于依次对所述测试路径的每个测试节点进行解析,获得每个测试节点的动作词以及参数;
确定单元,用于根据所述动作词以及参数,确定所述软件是否通过测试节点的测试,且如果所述软件通过当前测试路径下所有测试节点的测试,确定所述软件通过当前测试路径对应应用场景的测试。
可选的,所述需测试软件由多个控件组成,所述测试节点参数至少包括控件参数;所述确定单元包括:
第一判断子单元,用于判断需测试软件中,是否存在测试节点控件参数对应的控件;
第二判断子单元,用于当所述软件中存在测试节点控件参数对应的控件时,判断所述控件,能否根据所述动作词执行相应的操作;
第一确定子单元,用于当所述控件能根据所述动作词执行相应的操作时,确定所述软件通过测试节点的测试;
第二确定子单元,用于当所述控件未能根据所述动作词执行相应的操作时,确定所述软件未通过测试节点的测试。
可选的,所述测试节点动作词至少包括slider滑块、move_to长按移动、click点击、long_press长按、swipe滑动以及input输入。
可选的,所述测试节点动作词至少包括check校验,所述测试节点参数至少包括图片校验参数;所述确定单元,包括:
第三判断子单元,用于判断测试节点参数中是否存在图片获取参数;
第一获取子单元,用于当所述参数中存在图片获取参数时,根据所述图片获取参数,在需测试软件中获取图片;
第二获取子单元,用于当所述参数中不存在图片获取参数时,对需测试软件执行预设操作,获取图片;
第四判断子单元,用于判断获取图片与校验图片是否相匹配,所述校验图片为所述图片校验参数对应的图片;
第三确定子单元,用于当所述获取图片与校验图片相匹配时,确定所述软件通过测试节点的测试;
第四确定子单元,用于当所述获取图片与校验图片不匹配时,,确定所述软件未通过测试节点的测试。
可选的,所述装置还包括:
标记模块,用于标记未通过测试的测试节点以及所述测试节点相关联的测试节点。
可选的,所述装置还包括:
判断模块,用于判断当前测试路径中,是否存在标记测试节点相匹配的测试节点;
确定模块,用于当所述测试路径中存在标记测试节点相匹配的测试节点时,确定所述软件未通过当前测试路径对应应用场景的测试。
可选的,所述测试路径图中的测试节点包括根测试节点和叶子测试节点,所述拆分模块包括:
遍历单元,用于遍历测试路径图,确定根测试节点和叶子测试节点;
回溯单元,用于在测试路径图中,将从所述叶子测试节点回溯至根测试节点的路径,作为测试路径;
拆分单元,用于根据所述测试路径,对所述测试路径图进行拆分。
由以上技术方案可见,在本申请实施例中,首先针对需测试软件绘制测试路径图,然后,对测试路径图进行拆分,获得需测试软件的多个测试路径;最后根据每个测试路径图中测试节点的动作词和参数,对需测试软件的应用场景进行测试。由上可见,在本申请实施例中,只需绘制一测试路径图,即可自动对软件进行测试,相比于现有技术中的人工测试和基于脚本的自动化测试,提高了软件测试的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所公开的基于测试路径图的软件测试方法的一流程示意图;
图2为本申请实施例所公开的测试路径图的一示意图;
图3为本申请实施例所公开的测试路径的一示意图;
图4为本申请实施例所公开的基于测试路径图的软件测试方法的另一流程示意图;
图5为本申请实施例所公开的基于测试路径图的软件测试方法的又一流程示意图;
图6为本申请实施例所公开的基于测试路径图的软件测试方法的另一流程示意图;
图7为本申请实施例所公开的测试框架的一示意图;
图8为本申请实施例所公开的基于测试路径图的软件测试装置的一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请公开了一种基于测试路径图的软件测试方法,如图1所示,所述方法至少包括:
步骤S11:根据需测试软件的应用场景,绘制测试路径图;
在本申请实施例中,测试人员可具体采用Xmind等脑图工具绘制测试路径图,所述测试路径图可包括多个测试节点,且每个测试节点由动作词和参数组成。在本申请实施例中,测试人员所绘制的测试路径图,可具体如图2所示。
步骤S12:拆分测试路径图,获得需测试软件的多个测试路径;
在本申请实施例中,所述测试路径图中的测试节点可具体为根测试节点、中间测试节点或叶子测试节点,所述根测试节点指在所述测试路径图中仅存在子节点的测试节点(比如图2中的“Clike:我的小说”这一测试节点),中间测试节点指在所述测试路径图中既存在父节点,又存在子节点的测试节点(比如图2中的“Click:孙子兵法”这一测试节点),叶子测试节点指在所述测试路径图中仅存在父节点的测试节点(比如图2中的“Check:RD_001”这一测试节点),而步骤S12的实现过程可具体如下:
A:遍历测试路径图,确定根测试节点和叶子测试节点;
B:在测试路径图中,将从所述叶子测试节点回溯至根测试节点的路径,作为测试路径;
C:根据所述测试路径,对所述测试路径图进行拆分。
在本申请实施例中,仍沿用上述举例,遍历如图2所示的测试路径图,可确定根测试节点“Click:我的小说”以及叶子测试节点“Check:RD_001”、“Click:bookReader_skin3”、“Check:RD_005”以及“Wait:5”;因此可将从叶子测试节点“Check:RD_001”回溯至根测试节点“Click:我的小说”的路径,作为测试路径1(图3所示);将从叶子测试节点“Click:bookReader_skin3”回溯至根测试节点“Click:我的小说”的路径,作为测试路径2(图3所示);从叶子测试节点“Check:RD_005”回溯至根测试节点“Click:我的小说”的路径,作为测试路径3(图3所示);从叶子测试节点“Wait:5”回溯至根测试节点“Click:我的小说”的路径,作为测试路径4(图3所示);最后,将整个测试路径图,拆分为如图3所示的4个测试路径。且从图3可见,每个测试路径由多个测试节点组成,且每个测试节点由动作词和参数组成。
步骤S13:根据每个测试路径中测试节点的动作词和参数,分别对需测试软件的应用场景进行测试。
在本申请实施例中,首先针对需测试软件绘制测试路径图,然后,对测试路径图进行拆分,获得需测试软件的多个测试路径;最后根据每个测试路径图中测试节点的动作词和参数,对需测试软件的应用场景进行测试。由上可见,在本申请实施例中,只需绘制一测试路径图,即可自动对软件进行测试,相比于现有技术中的人工测试和基于脚本的自动化测试,提高了软件测试的效率。
在本申请的另一可行实施例中,如图4所示,上述所有实施例中的每个测试路径均包括多个测试节点,针对一个测试路径,上述实施例中的步骤S13可包括:
步骤S41:依次对所述测试路径的每个测试节点进行解析,获得每个测试节点的动作词以及参数;
步骤S42:根据所述动作词以及参数,确定所述软件是否通过测试节点的测试,且如果所述软件通过当前测试路径下所有测试节点的测试,确定所述软件通过当前测试路径对应应用场景的测试。
在本申请实施例中,以图3中的测试路径1为例,详细说明本申请的过程。在本申请实施例中,可对测试路径1中的每个测试节点,依次执行上述步骤S41和S42;在本申请实施例中,可先对图3所示的“click:我的小说”这个节点进行解析,获得该测试节点的动作词“click”以及参数“我的小说”;然后根据动作词“click”以及参数“我的小说”,确定小说阅读软件是否通过测试;如果小说阅读软件在“click:我的小说”这个节点下通过测试,对测试路径1中的下一节点“click:孙子兵法”进行测试;如果小说阅读软件在“click:我的小说”这个节点下未通过测试,确定小说阅读软件未通过测试路径1对应应用场景的测试。且在本申请实施例中,当小说阅读软件通过测试路径1下所有测试节点的测试,才确定小说阅读软件通过测试路径1对应应用场景的测试。
在本申请的上述实施例中,公开了针对一个测试路径如何进行测试,而采用本申请所公开的方法,可对测试路径图中的每个测试路径均采用上述方法进行测试,从而可对需测试软件的所有应用场景进行测试。
在本申请的又一可行实施例中,测试节点参数至少包括控件参数;如图5所示,上述所有实施例中的步骤S42可包括:
步骤S51:判断所述需测试软件中,是否存在测试节点控制参数对应的控件;如果存在,执行步骤S52;否则,执行步骤S54;
在本申请实施例中,需测试软件可由多个控件组成,比如软件设置控件、声音控件等。
步骤S52:判断所述控件,能否根据所述动作词执行相应的操作;如果能,执行步骤S53;否则,执行步骤S54;
在本申请实施例中,所述动作词至少包括slider滑块、move_to长按移动、click点击、long_press长按、swipe滑动以及input输入等。在本申请实施例中,上述步骤S52主要判断相应控件,能否根据上述动作词执行滑动、长按移动、点击、长按、滑动以及输入等操作。
步骤S53:确定所述软件通过测试节点的测试;
步骤S54:确定所述软件未通过测试节点的测试。
在本申请实施例中,仍以“Click:我的小说”这一测试节点为例,详细说明上述过程。通过上述实施例的阐述可知,可获取“Click”这个动作词和“我的小说”这个控件参数。在本申请实施例中,可首先判断小说阅读软件中是否存在“我的小说”这个控件;如果存在,判断是否可对“我的小说”这个控件执行“Click”动作词对应的点击操作;如果能,确定小说阅读软件通过“Click:我的小说”这一测试节点的测试;否则,确定小说阅读软件未通过“Click:我的小说”这一测试节点的测试;当然,如果确定小说阅读软件中不存在“我的小说”这个控件,也确定小说阅读软件未通过“Click:我的小说”这一测试节点的测试。
由上可见,在本申请实施例中,可确定需测试软件是否通过测试节点的测试。
在本申请的另一可行实施例中,所述测试节点动作词至少包括check校验,所述测试节点参数至少包括图片校验参数;如图6所示,上述所有实施例中的步骤S42可包括:
步骤S61:判断测试节点参数中是否存在图片获取参数;如果存在,执行步骤S62;否则,执行步骤S63;
在本申请实施例中,对于check测试节点,主要有两种形式,一种为“check:图片获取参数,图片校验参数”,另一种为“check:图片校验参数”。因此在本申请实施例中,需首先判断测试节点参数中是否存在图片获取参数,从而才能进一步获取图片,进行校验。
步骤S62:根据所述图片获取参数,在需测试软件中获取图片;
在本申请实施例中,图片获取参数可具体为需测试软件的控件标识信息,也可为坐标信息。而当获取参数为控件标识信息时,可具体从相应控件的显示界面获取图片;而当获取参数为坐标信息中,可具体从需测试软件的显示界面中,获取与坐标信息对应的图片。在本申请实施例中,假设,一测试节点的获取参数为“0,0,1.5,2”,那么可首先在需测试软件显示界面的平面坐标系中,确定(0,0)和(1.5,2)这两个坐标点;然后确定这两个坐标点组成的区域;最后获取这个区域内的图片。
步骤S63:对需测试软件执行预设操作,获取图片;
在本申请实施例中,可具体对需测试软件的显示界面进行截屏操作,获取图片。
步骤S64:判断获取图片与校验图片是否相匹配;如果相匹配,执行步骤S65;否则,执行步骤S66;
在本申请实施例中,所述校验图片可为所述图片校验参数对应的图片,而图片校验参数可具体为校验图片的标识或校验图片的存储地址”;在上述步骤S64中,可具体判断获取图片与校验图片是否相一致;如果相一致,确定两者相匹配;否则,确定两者不匹配。
步骤S65:确定软件通过测试节点的测试;
步骤S66:确定软件未通过测试节点的测试。
由上可见,在本申请实施例中,可确定一软件是否通过check节点的测试。
需要说明的是,在本申请实施例中,为了方便测试,还会在测试路径图中设一些wait测试节点,且wait测试节点的格式具体如下“wait:时间参数”,而时间参数具体代表等待的时长,其单位可具体为分或秒,当然用户可具体设置时间参数的单位。在本申请实施例中,以图3所示的wait测试节点“wait:5”为例说明该测试节点的执行过程,具体如下:首先解析获得该测试节点的动作词“wait”以及时间参数“5”,然后等待5分或秒后,再进行下一节点的测试。
在本申请的又一可行实施例中,上述所有实施例中的方法还可包括:
标记未通过测试的测试节点以及所述测试节点相关联的测试节点。
在本申请实施例中,所述测试节点相关联的测试节点可具体为在当前测试路径中,未通过测试的测试节点之前的所有测试节点。仍沿用上述举例,假设图3所示的测试路径1中的“Click:bookReader_chapter”这一节点未通过测试,那么需标记的节点为测试路径1中“click:bookReader_chapter”这一节点之前的所有测试节点以及“Click:bookReader_chapter”这一节点,即需标记“click:我的小说”,“click:孙子兵法”以及“Click:bookReader_chapter”这三个测试节点。
在本申请实施例中,每当对软件进行一测试路径的测试前,可首先判断当前测试路径中,是否存在标记测试节点相匹配的测试节点;如果存在,确定所述软件未通过当前测试路径对应应用场景的测试。
在本申请实施例中,仍沿用上述举例,在对图3所示的测试路径2开始测试前,可首先判断测试路径2中是否存在标记测试节点“click:我的小说”,“click:孙子兵法”以及“Click:bookReader_chapter”相匹配的测试节点;通过图3所示的测试路径2,可确定测试路径2中存在上述3个测试节点,因此,可确定小说阅读软件未通过测试路径2对应应用场景的测试。
在本申请实施例中,采用上述方法,可进一步提高软件测试的效率。
通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
与上述基于测试路径图的软件测试方法实施例相对应的,本申请还公开了一种测试框架,如图7所示,该框架主要包括接收模块,主要用于接收用户所输入的测试路径图;拆分模块,主要用于对测试路径图进行解析,获得多个测试路径;测试模块,主要用于根据测试路径对需测试软件进行测试;结果显示模块,主要用于显示测试结果。如图2所示,本申请的框架可与现有自动化测试平台中的KIF框架、instruments框架、Appium框架以及UiAutomator框架进行通信,从而对IOS设备和安卓设备中的软件均可进行测试。
由上可见,采用本申请实施例所公开的框架,可同时对IOS设备和安卓设备中的软件进行测试。
与本申请提供的基于测试路径图的软件测试方法实施例相对应的,本申请还提供了一种基于测试路径图的软件测试装置,如图8所示,所述测试装置至少包括:
拆分模块81,用于拆分测试路径图,获得需测试软件的多个测试路径,所述测试路径图为根据需测试软件的应用场景所绘制的,且每个测试路径代表需测试软件的一应用场景,每个测试路径由多个测试节点组成,每个测试节点由动作词和参数组成;
测试模块82,用于根据每个测试路径中测试节点的动作词和参数,分别对需测试软件的应用场景进行测试。
在本申请实施例中,首先针对需测试软件绘制测试路径图,然后,对测试路径图进行拆分,获得需测试软件的多个测试路径;最后根据每个测试路径图中测试节点的动作词和参数,对需测试软件的应用场景进行测试。由上可见,在本申请实施例中,只需绘制一测试路径图,即可自动对软件进行测试,相比于现有技术中的人工测试和基于脚本的自动化测试,提高了软件测试的效率。
在本申请的另一可行实施例中,每个测试路径包括多个测试节点,上述所有实施例中的测试模块82,可包括:
解析单元,用于依次对所述测试路径的每个测试节点进行解析,获得每个测试节点的动作词以及参数;
确定单元,用于根据所述动作词以及参数,确定所述软件是否通过测试节点的测试,且如果所述软件通过当前测试路径下所有测试节点的测试,确定所述软件通过当前测试路径对应应用场景的测试。
在本申请的另一可行实施例中,所述需测试软件由多个控件组成,所述测试节点参数至少包括控件参数;上述所有实施例中的确定单元包括:
第一判断子单元,用于判断需测试软件中,是否存在测试节点控件参数对应的控件;
第二判断子单元,用于当所述软件中存在测试节点控件参数对应的控件时,判断所述控件,能否根据所述动作词执行相应的操作;
在本申请实施例中,所述测试节点的动作词至少包括slider滑块、move_to长按移动、click点击、long_press长按、swipe滑动以及input输入。
第一确定子单元,用于当所述控件能根据所述动作词执行相应的操作时,确定所述软件通过测试节点的测试;
第二确定子单元,用于当所述控件未能根据所述动作词执行相应的操作时,确定所述软件未通过测试节点的测试。
在本申请的另一可行实施例中,所述测试节点动作词至少包括check校验,所述测试节点参数至少包括图片校验参数;上述所有实施例中的确定单元,包括:
第三判断子单元,用于判断测试节点参数中是否存在图片获取参数;
第一获取子单元,用于当所述参数中存在图片获取参数时,根据所述图片获取参数,在需测试软件中获取图片;
第二获取子单元,用于当所述参数中不存在图片获取参数时,对需测试软件执行预设操作,获取图片;
第四判断子单元,用于判断获取图片与校验图片是否相匹配,所述校验图片为所述图片校验参数对应的图片;
第三确定子单元,用于当获取图片与校验图片相匹配时,确定所述软件通过测试节点的测试;
第四确定子单元,用于当获取图片与校验图片不匹配时,确定所述软件未通过测试节点的测试。
在本申请的又一可行实施例中,上述所有实施例中的装置还可包括:
标记模块,用于标记未通过测试的测试节点以及所述测试节点相关联的测试节点。
在本申请的另一可行实施例中,上述所有实施例中的装置还可包括:
判断模块,用于判断当前测试路径中,是否存在标记测试节点相匹配的测试节点;
确定模块,用于当测试路径中存在标记测试节点相匹配的测试节点时,确定所述软件未通过当前测试路径对应应用场景的测试。
在本申请的另一可行实施例中,上述所有实施例中的测试路径图中的测试节点包括根测试节点和叶子测试节点,拆分模块81包括:
遍历单元,用于遍历测试路径图,确定根测试节点和叶子测试节点;
回溯单元,用于在测试路径图中,将从所述叶子测试节点回溯至根测试节点的路径,作为测试路径;
拆分单元,用于根据所述测试路径,对所述测试路径图进行拆分。
由上可见,在本申请实施例中,采用上述装置,可将测试路径图拆分为多个测试路径。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (16)

1.一种基于测试路径图的软件测试方法,其特征在于,包括:
拆分测试路径图,获得需测试软件的多个测试路径,所述测试路径图为根据需测试软件的应用场景所绘制的,且每个测试路径代表需测试软件的一应用场景,每个测试路径由多个测试节点组成,每个测试节点由动作词和参数组成;
根据每个测试路径中测试节点的动作词和参数,分别对需测试软件的应用场景进行测试。
2.根据权利要求1所述的方法,其特征在于,根据每个测试路径中测试节点的动作词和参数,分别对需测试软件的应用场景进行测试,包括:
依次对所述测试路径的每个测试节点进行解析,获得每个测试节点的动作词以及参数;
根据所述动作词以及参数,确定所述软件是否通过测试节点的测试,且如果所述软件通过当前测试路径下所有测试节点的测试,确定所述软件通过当前测试路径对应应用场景的测试。
3.根据权利要求2所述的方法,其特征在于,所述需测试软件由多个控件组成,所述测试节点参数至少包括控件参数;根据所述动作词以及参数,确定所述软件是否通过测试节点的测试,包括:
判断需测试软件中,是否存在测试节点控件参数对应的控件;
如果存在,判断所述控件,能否根据所述动作词执行相应的操作;
如果能,确定所述软件通过测试节点的测试,否则,确定所述软件未通过测试节点的测试。
4.根据权利要求3所述的方法,其特征在于,所述测试节点动作词至少包括slider滑块、move_to长按移动、click点击、long_press长按、swipe滑动以及input输入。
5.根据权利要求2所述的方法,其特征在于,所述测试节点动作词至少包括check校验,所述测试节点参数至少包括图片校验参数;根据所述动作词以及参数,对所述软件进行测试,包括:
判断测试节点参数中是否存在图片获取参数;
如果存在,根据所述图片获取参数,在需测试软件中获取图片;
如果不存在,对需测试软件执行预设操作,获取图片;
判断获取图片与校验图片是否相匹配,所述校验图片为所述图片校验参数对应的图片;
如果相匹配,确定所述软件通过测试节点的测试,否则,确定所述软件未通过测试节点的测试。
6.根据权利要求3-5任一项所述的方法,其特征在于,所述方法还包括:
标记未通过测试的测试节点以及所述测试节点相关联的测试节点。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
判断当前测试路径中,是否存在标记测试节点相匹配的测试节点;
如果存在,确定所述软件未通过当前测试路径对应应用场景的测试。
8.根据权利要求1所述的方法,其特征在于,所述测试路径图中的测试节点包括根测试节点和叶子测试节点;所述拆分测试路径图,获得需测试软件的多个测试路径,包括:
遍历测试路径图,确定根测试节点和叶子测试节点;
在测试路径图中,将从所述叶子测试节点回溯至根测试节点的路径,作为测试路径;
根据所述测试路径,对所述测试路径图进行拆分。
9.一种基于测试路径图的软件测试装置,其特征在于,包括:
拆分模块,用于拆分测试路径图,获得需测试软件的多个测试路径,所述测试路径图为根据需测试软件的应用场景所绘制的,且每个测试路径代表需测试软件的一应用场景,每个测试路径由多个测试节点组成,每个测试节点由动作词和参数组成;
测试模块,用于根据每个测试路径中测试节点的动作词和参数,分别对需测试软件的应用场景进行测试。
10.根据权利要求9所述的装置,其特征在于,所述测试模块,包括:
解析单元,用于依次对所述测试路径的每个测试节点进行解析,获得每个测试节点的动作词以及参数;
确定单元,用于根据所述动作词以及参数,确定所述软件是否通过测试节点的测试,且如果所述软件通过当前测试路径下所有测试节点的测试,确定所述软件通过当前测试路径对应应用场景的测试。
11.根据权利要求10所述的装置,其特征在于,所述需测试软件由多个控件组成,所述测试节点参数至少包括控件参数;所述确定单元包括:
第一判断子单元,用于判断需测试软件中,是否存在测试节点控件参数对应的控件;
第二判断子单元,用于当所述软件中存在测试节点控件参数对应的控件时,判断所述控件,能否根据所述动作词执行相应的操作;
第一确定子单元,用于当所述控件能根据所述动作词执行相应的操作时,确定所述软件通过测试节点的测试;
第二确定子单元,用于当所述控件未能根据所述动作词执行相应的操作时,确定所述软件未通过测试节点的测试。
12.根据权利要求11所述的装置,其特征在于,所述测试节点动作词至少包括slider滑块、move_to长按移动、click点击、long_press长按、swipe滑动以及input输入。
13.根据权利要求10所述的装置,其特征在于,所述测试节点动作词至少包括check校验,所述测试节点参数至少包括图片校验参数;所述确定单元,包括:
第三判断子单元,用于判断测试节点参数中是否存在图片获取参数;
第一获取子单元,用于当所述参数中存在图片获取参数时,根据所述图片获取参数,在需测试软件中获取图片;
第二获取子单元,用于当所述参数中不存在图片获取参数时,对需测试软件执行预设操作,获取图片;
第四判断子单元,用于判断获取图片与校验图片是否相匹配,所述校验图片为所述图片校验参数对应的图片;
第三确定子单元,用于当所述获取图片与校验图片相匹配时,确定所述软件通过测试节点的测试;
第四确定子单元,用于当所述获取图片与校验图片不匹配时,,确定所述软件未通过测试节点的测试。
14.根据权利要求11-13任一项所述的装置,其特征在于,所述装置还包括:
标记模块,用于标记未通过测试的测试节点以及所述测试节点相关联的测试节点。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
判断模块,用于判断当前测试路径中,是否存在标记测试节点相匹配的测试节点;
确定模块,用于当所述测试路径中存在标记测试节点相匹配的测试节点时,确定所述软件未通过当前测试路径对应应用场景的测试。
16.根据权利要求9所述的装置,其特征在于,所述测试路径图中的测试节点包括根测试节点和叶子测试节点,所述拆分模块包括:
遍历单元,用于遍历测试路径图,确定根测试节点和叶子测试节点;
回溯单元,用于在测试路径图中,将从所述叶子测试节点回溯至根测试节点的路径,作为测试路径;
拆分单元,用于根据所述测试路径,对所述测试路径图进行拆分。
CN201610016211.3A 2016-01-08 2016-01-08 基于测试路径图的软件测试方法及装置 Active CN106959919B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610016211.3A CN106959919B (zh) 2016-01-08 2016-01-08 基于测试路径图的软件测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610016211.3A CN106959919B (zh) 2016-01-08 2016-01-08 基于测试路径图的软件测试方法及装置

Publications (2)

Publication Number Publication Date
CN106959919A true CN106959919A (zh) 2017-07-18
CN106959919B CN106959919B (zh) 2022-01-28

Family

ID=59480829

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610016211.3A Active CN106959919B (zh) 2016-01-08 2016-01-08 基于测试路径图的软件测试方法及装置

Country Status (1)

Country Link
CN (1) CN106959919B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918296A (zh) * 2019-02-14 2019-06-21 百度在线网络技术(北京)有限公司 软件自动化测试方法及装置
CN110245065A (zh) * 2018-03-09 2019-09-17 北京京东尚科信息技术有限公司 自动化测试的方法和装置
CN111090591A (zh) * 2019-12-23 2020-05-01 贵州医渡云技术有限公司 测试方法及装置、电子设备和计算机可读存储介质
CN111324718A (zh) * 2020-02-26 2020-06-23 网易(杭州)网络有限公司 一种对话流测试方法、装置、电子设备及可读存储介质
CN112559368A (zh) * 2020-12-23 2021-03-26 马上消费金融股份有限公司 接口自动化测试方法及其用例生成方法、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4964125A (en) * 1988-08-19 1990-10-16 Hughes Aircraft Company Method and apparatus for diagnosing faults
US20060036390A1 (en) * 2004-08-16 2006-02-16 Loh Aik K Method and apparatus for configuration of automated debug of in-circuit tests
CN101436128A (zh) * 2007-11-16 2009-05-20 北京邮电大学 软件测试用例自动生成方法及系统
CN102053912A (zh) * 2011-01-06 2011-05-11 中国工商银行股份有限公司 一种基于uml图形对软件进行自动化测试的装置及方法
CN102968368A (zh) * 2012-08-30 2013-03-13 中国人民解放军63928部队 一种遍历场景状态图的嵌入式测试用例设计与生成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4964125A (en) * 1988-08-19 1990-10-16 Hughes Aircraft Company Method and apparatus for diagnosing faults
US20060036390A1 (en) * 2004-08-16 2006-02-16 Loh Aik K Method and apparatus for configuration of automated debug of in-circuit tests
CN101436128A (zh) * 2007-11-16 2009-05-20 北京邮电大学 软件测试用例自动生成方法及系统
CN102053912A (zh) * 2011-01-06 2011-05-11 中国工商银行股份有限公司 一种基于uml图形对软件进行自动化测试的装置及方法
CN102968368A (zh) * 2012-08-30 2013-03-13 中国人民解放军63928部队 一种遍历场景状态图的嵌入式测试用例设计与生成方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245065A (zh) * 2018-03-09 2019-09-17 北京京东尚科信息技术有限公司 自动化测试的方法和装置
CN109918296A (zh) * 2019-02-14 2019-06-21 百度在线网络技术(北京)有限公司 软件自动化测试方法及装置
CN111090591A (zh) * 2019-12-23 2020-05-01 贵州医渡云技术有限公司 测试方法及装置、电子设备和计算机可读存储介质
CN111324718A (zh) * 2020-02-26 2020-06-23 网易(杭州)网络有限公司 一种对话流测试方法、装置、电子设备及可读存储介质
CN111324718B (zh) * 2020-02-26 2023-06-30 网易(杭州)网络有限公司 一种对话流测试方法、装置、电子设备及可读存储介质
CN112559368A (zh) * 2020-12-23 2021-03-26 马上消费金融股份有限公司 接口自动化测试方法及其用例生成方法、设备及存储介质

Also Published As

Publication number Publication date
CN106959919B (zh) 2022-01-28

Similar Documents

Publication Publication Date Title
CN106959919A (zh) 基于测试路径图的软件测试方法及装置
Long Inside the “black box”: Methodological issues in classroom research on language learning
CN105159924A (zh) 学习资源推送方法和系统
Tillmann et al. Pex4Fun: Teaching and learning computer science via social gaming
CN108446221A (zh) 系统测试方法、装置、计算机设备和存储介质
CN104239032B (zh) 用于编程教学的基于用户行为分析的信息交互方法与系统
CN102074135A (zh) 一种题库建置方法及装置
CN107730200A (zh) 智能提醒用户学习单词的方法以及装置
CN105070130A (zh) 水平测评方法和系统
CN112596731B (zh) 一种融合智能教育的编程教学系统及方法
CN106407446A (zh) 一种网络调查问卷构建方法及其装置
CN109063116A (zh) 数据识别方法、装置、电子设备及计算机可读存储介质
Garousi et al. Current state of the software testing education in north american academia and some recommendations for the new educators
CN113408957A (zh) 一种基于组合赋权法的课堂教学评测方法
CN111539207A (zh) 文本识别方法、文本识别装置、存储介质和电子设备
Melani Black Box Testing Using Equivalence Partition Method in Sintana Application
CN114021440A (zh) 一种基于matlab的fpga时序仿真验证方法及装置
Anthycamurty et al. Analysis of problem solving in terms of cognitive style
JP6378296B2 (ja) 書取り学習支援システム、書取り学習支援サーバ、書取り学習支援装置、書取り学習支援方法、及び書取り学習支援プログラム
CN108446277B (zh) 模拟学习的方法及装置
Ho et al. Leveraging framework documentation solutions for intermediate users in knowledge acquisition
Troussas et al. NLP-based error analysis and dynamic motivation techniques in mobile learning
US20160173948A1 (en) Dynamic video presentation based upon results of online assessment
Grazioli et al. The impact of the psp on software quality: Eliminating the learning effect threat through a controlled experiment
Zhu et al. Development and validation of information literacy assessment tool for primary students

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
TA01 Transfer of patent application right

Effective date of registration: 20200525

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping B radio square 14 storey tower

Applicant before: GUANGZHOU UCWEB COMPUTER TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant