[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN112749074B - 一种测试用例推荐方法以及装置 - Google Patents

一种测试用例推荐方法以及装置 Download PDF

Info

Publication number
CN112749074B
CN112749074B CN201911047263.7A CN201911047263A CN112749074B CN 112749074 B CN112749074 B CN 112749074B CN 201911047263 A CN201911047263 A CN 201911047263A CN 112749074 B CN112749074 B CN 112749074B
Authority
CN
China
Prior art keywords
case
execution
service
test
determining
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.)
Active
Application number
CN201911047263.7A
Other languages
English (en)
Other versions
CN112749074A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201911047263.7A priority Critical patent/CN112749074B/zh
Publication of CN112749074A publication Critical patent/CN112749074A/zh
Application granted granted Critical
Publication of CN112749074B publication Critical patent/CN112749074B/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/3684Test management for test design, e.g. generating new test cases
    • 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

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)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明实施例公开了一种测试用例推荐方法以及装置,其中,测试用例推荐方法包括:获取需要进行测试的业务用例,显示所述业务用例对应的测试页面,所述测试页面包括开始控件以及所述业务用例,当检测到用户针对所述开始控件的点击操作时,执行所述业务用例,并将所述测试页面切换显示为用例推荐页面,所述用例推荐页面包括查询控件以及所述业务用例对应的执行结果,当检测到用户针对所述查询控件的点击操作时,基于所述执行结果,在预设测试用例集合中确定推荐的测试用例集合。该方案可以提高推荐测试用例的准确性。

Description

一种测试用例推荐方法以及装置
技术领域
本发明涉及计算机技术领域,具体涉及一种测试用例推荐方法以及装置。
背景技术
随着科技的发展,业务系统的架构也越来越复杂,业务在执行的过程中可能会存在各种各样的问题,因此,通常会采用测试用例对业务系统进行测试。
目前是根据测试用例的标签进行选择的,然而,测试用例的标签通常是人工构建的,这种构建方式主要是参考历史业务数据来实现,若历史业务覆盖不全,一些业务重视度不够,则容易导致测试用例构建不完整或者不全面的问题,并且,人工构建的测试用例标签繁多,可能会存在测试用例冗余的问题。因此,现有推荐测试用例的方案准确性不高。
发明内容
本发明实施例提供一种测试用例推荐方法以及装置,可以提高测试用例推荐的准确性。
本发明实施例提供了一种测试用例推荐方法,包括:
获取需要进行测试的业务用例;
显示所述业务用例对应的测试页面,所述测试页面包括开始控件以及所述业务用例;
当检测到用户针对所述开始控件的点击操作时,执行所述业务用例,并将所述测试页面切换显示为用例推荐页面,所述用例推荐页面包括查询控件以及所述业务用例对应的执行结果;
当检测到用户针对所述查询控件的点击操作时,基于所述执行结果,在预设测试用例集合中确定推荐的测试用例集合。
相应的,本发明实施例还提供了一种测试用例推荐装置,包括:
获取模块,用于获取需要进行测试的业务用例;
显示模块,用于显示所述业务用例对应的测试页面,所述测试页面包括开始控件以及所述业务用例;
切换模块,用于当检测到用户针对所述开始控件的点击操作时,执行所述业务用例,并将所述测试页面切换显示为用例推荐页面,所述用例推荐页面包括查询控件以及所述业务用例对应的执行结果;
推荐模块,用于当检测到用户针对所述查询控件的点击操作时,基于所述执行结果,在预设测试用例集合中确定推荐的测试用例集合。
可选的,在本发明的一些实施例中,所述推荐模块,包括:
第一确定子模块,用于根据执行结果确定执行所述业务用例调用的节点,得到至少一个执行节点;
第二确定子模块,用于确定所述执行节点的运行状态和数量;
第三确定子模块,用于基于所述执行节点的运行状态和数量,在预设测试用例集合中确定推荐的测试用例集合。
可选的,在本发明的一些实施例中,所述第三确定子模块,包括:
计算单元,用于根据所述执行节点的运行状态,计算所述执行节点的执行成功率;
确定单元,用于当所述执行成功率大于预设阈值时,基于确定的执行节点以及执行节点的数量,在预设测试用例集合中确定推荐的测试用例集合。
可选的,在本发明的一些实施例中,所述确定单元,包括:
第一确定子单元,用于当所述执行成功率大于预设阈值时,基于确定的执行节点以及执行节点的数量,确定与所述业务用例对应的推荐用例数据;
第二确定子单元,用于基于确定的推荐用例数据,在预设测试用例集合中确定推荐的测试用例集合。
可选的,在本发明的一些实施例中,所述第一确定子单元具体用于:
当所述执行成功率大于预设阈值时,提取每个执行节点的标签信息;
根据每个执行节点的标签信息,确定每个执行节点之间的关联关系;
根据所述关联关系,构建所述业务用例的业务路径图;
根据所述业务路径图,确定与所述业务用例对应的推荐用例数据。
可选的,在本发明的一些实施例中,所述切换模块包括:
提取子模块,用于提取所述业务用例的数据包;
解析子模块,用于对所述数据包进行解析,得到至少两个执行数据、以及每个执行数据对应的至少两个执行节点;
生成子模块,用于基于所述至少两个执行数据以及每个执行数据对应的至少两个执行节点,生成所述业务用例对应的执行结果;
切换子模块,用于将所述测试页面切换显示为用例推荐页面,所述用例推荐页面包括查询控件以及所述业务用例对应的执行结果。
可选的,在本发明的一些实施例中,所述生成子模块具体用于:
检测所述至少两个执行数据中的有效执行数据;
基于所述有效执行数据的数量,计算所述业务用例的执行成功率;
根据所述执行成功率以及每个执行数据对应的至少两个执行节点,构建所述业务用例对应的执行结果。
可选的,在本发明的一些实施例中,所述显示模块具体用于:
显示业务用例列表,所述业务用例列表包括至少两个业务用例;
当检测到用户针对所述业务用例列表中业务用例的选择操作时,显示用户选择的测试用例所对应的测试页面。
可选的,在本发明的一些实施例中,还包括检测模块,所述检测模块具体用于:
检测所述业务用例的当前运行环境;
所述推荐模块具体用于:当检测到用户针对所述查询控件的点击操作时,基于所述执行结果以及当前运行环境,在预设测试用例集合中确定推荐的测试用例集合。
本发明实施例在获取需要进行测试的业务用例后,显示所述业务用例对应的测试页面,所述测试页面包括开始控件以及所述业务用例,当检测到用户针对所述开始控件的点击操作时,执行所述业务用例,并将所述测试页面切换显示为用例推荐页面,所述用例推荐页面包括查询控件以及所述业务用例对应的执行结果,当检测到用户针对所述查询控件的点击操作时,基于所述执行结果,在预设测试用例集合中确定推荐的测试用例集合。因此,可以提高测试用例推荐的准确度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的测试用例推荐方法的场景示意图;
图1b是本发明实施例提供的测试用例推荐方法的流程示意图;
图2a是本发明实施例提供的测试用例推荐方法的另一流程示意图;
图2b是本发明实施例提供的测试用例推荐方法中显示测试页面的示意图;
图2c是本发明实施例提供的测试用例推荐方法中显示推荐页面的示意图;
图2d是本发明实施例提供的测试用例推荐方法中显示推荐测试用例集合的示意图;
图2e是本发明实施例提供的测试用例推荐方法的又一流程示意图;
图2f是本发明实施例提供的测试用例推荐方法中显示测试页面的又一示意图;
图2g是本发明实施例提供的测试用例推荐方法中测试通过页面的示意图;
图2h是本发明实施例提供的测试用例推荐方法中测试不通过页面的示意图;
图3a是本发明实施例提供的测试用例推荐装置的第一种实施方式的结构示意图;
图3b是本发明实施例提供的测试用例推荐装置的第二种实施方式的结构示意图;
图4是本发明实施例提供的终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,对本发明提到的名词进行解释:
测试用例是为某个特殊目标而编制的一组测试信息,以便测试某个程序路径或核实是否满足某个特定需求;作为一种示例,测试用例中所具有的较为完整的内容包括:测试输入、执行条件以及预期结果。
业务用例指的是根据目标业务的业务需求生成的业务需求数据集合,其中,业务需求数据可以为业务步骤路径数据,具体的,业务步骤路径数据可以包括业务的执行流程步骤数据。
本发明实施例提供一种测试用例推荐方法以及装置。
其中,该测试用例推荐装置具体可以集成在网络设备,比如终端或服务器等设备中,终端可以包括手机、平板电脑或个人计算机(PC,Personal Computer),服务器可以包括一个独立运行的服务器或者分布式服务器,也可以包括由多个服务器组成的服务器集群。
以该测试用例推荐装置集成在终端为例,请参阅图1a,终端可以接收用户发出的测试请求,该测试请求可以包括需要进行测试的业务用例,终端基于该业务用例,显示该业务用例对应的测试页面,该测试页面包括开始控件以及业务用例,终端当检测到用户针对开始控件的点击操作时时,执行业务用例,并将测试页面切换显示为用例推荐页面,用例推荐页面包括查询控件以及业务用例对应的执行结果,终端当检测到用户针对查询控件的点击操作时,基于执行结果,终端可以确定执行业务用例调用的节点,得到至少一个执行节点,然后,终端可以根据该执行节点,在预设测试用例集合中确定推荐的测试用例集合。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。
一种测试用例推荐方法,包括:获取需要进行测试的业务用例,显示业务用例对应的测试页面,测试页面包括开始控件以及业务用例,当检测到用户针对开始控件的点击操作时,执行业务用例,并将测试页面切换显示为用例推荐页面,用例推荐页面包括查询控件以及业务用例对应的执行结果,当检测到用户针对查询控件的点击操作时,基于执行结果,在预设测试用例集合中确定推荐的测试用例集合。
请参阅图1b,图1b为本发明实施例提供的测试用例推荐方法的流程示意图。该测试用例推荐方法的具体流程可以如下:
101、获取需要进行测试的业务用例。
其中,业务用例指的是根据目标业务的业务需求生成的业务需求数据集合,业务需求数据集合可以包括本地数据和网络数据,可以理解的是,本地数据可以为预先存储在数据库中的数据,而网络数据可以为通过访问网络接口拉取的数据。
102、显示业务用例对应的测试页面。
其中,测试页面包括开始控件以及业务用例,比如,可以在浏览器上显示测试页面,该浏览器可以为谷歌浏览器、火狐浏览器以及IE浏览器等。进一步的,该测试页面可以显示开始控件以及业务用例的信息,该业务用例的信息可以包括业务用例的名称以及业务用例的创建时间等等,具体根据实际情况进行设置。
可选的,在一些实施例中,步骤“显示业务用例对应的测试页面”,具体可以包括:
(11)显示业务用例列表;
(12)当检测到用户针对业务用例列表中业务用例的选择操作时,显示用户选择的测试用例所对应的测试页面。
具体的,业务用例列表可以包括至少两个业务用例,当检测到用户针对业务用例列表中业务用例的选择操作时,显示用户选择的测试用例所对应的测试页面,比如,该业务用例列表包括两个业务用例,当检测到用户针对该业务用例列表中其中一个业务用例的选择操作时,比如可以是针对这个业务用例图标的选择操作或者是这个业务用例对应的选择框的选择操作,显示用户选择的测试用例所对应的测试页面。
103、当检测到用户针对开始控件的点击操作时,执行业务用例,并将测试页面切换显示为用例推荐页面。
用户可以通过点击该开始控件,执行业务用例,当该业务用例执行完毕后,可以将测试页面切换显示为用例推荐页面,其中,用例推荐页面包括查询控件以及业务用例对应的执行结果。
具体的,可以对业务用例对应的数据包进行解析,得到该业务用例对应的执行结果,即,在一些实施例中,步骤“当检测到用户针对开始控件的点击操作时,执行业务用例,并将测试页面切换显示为用例推荐页面”,具体可以包括:
(21)提取业务用例的数据包;
(22)对数据包进行解析,得到至少两个执行数据以及每个执行数据对应的执行节点;
(23)基于至少两个执行数据以及每个执行数据对应的执行节点,生成业务用例对应的执行结果;
(24)将测试页面切换显示为用例推荐页面。
执行数据指的是业务数据执行其业务能力后的数据,首先,可以根据业务用例所要实现的业务特性,对数据包进行解析,得到至少两个执行数据以及每个执行数据对应的执行节点,比如,该业务用例需要实现的业务是扫码支付,那么可以基于扫码支付的特性,对数据包进行解析,得到扫码支付对应的至少两个执行数据,如实现支付对应的执行数据、实现确认扣款对应的执行数据以及实现取消支付对应的执行数据等等,并且还可以得到每个执行数据对应的执行节点,接着,再将这些执行数据以及每个执行数据对应的执行节点添加至同一集合中,生成业务用例对应的执行结果,最后,将测试页面切换显示为用例推荐页面,其中,用例推荐页面包括查询控件以及业务用例对应的执行结果。
为了使得执行结果能够更准确,因此,可以计算业务用例的执行成功率,比如,可以通过至少两个执行数据中的有效执行数据计算业务用例的执行成功率,即,在一些实施例中,步骤“基于至少两个执行数据以及每个执行数据对应的执行节点,生成业务用例对应的执行结果”,具体可以包括:
(31)检测至少两个执行数据中的有效执行数据;
(32)基于有效执行数据的数量,计算业务用例的执行成功率;
(33)根据执行成功率以及每个执行数据对应的至少两个执行节点,构建业务用例对应的执行结果。
需要说明的是,在本发明实施例中,有效执行数据指的是运行成功的执行数据,比如,业务用例包括10个执行数据,有效执行数据为6个,那么执行成功率为60%,然后,可以根据该执行成功率以及每个执行数据对应的至少两个执行节点,构建业务用例对应的执行结果。
104、当检测到用户针对查询控件的点击操作时,基于执行结果,在预设测试用例集合中确定推荐的测试用例集合。
其中,用例推荐页面可以包括查询控件以及业务用例对应的执行结果。比如,具体的,当检测到用户针对查询控件的点击操作时,可以基于业务用例在执行过程中调用到的节点,在预设测试用例集合中确定推荐的测试用例集合,即,在一些实施例中,步骤“当检测到用户针对查询控件的点击操作时,基于执行结果,在预设测试用例集合中确定推荐的测试用例集合”,具体可以包括:
(41)当检测到用户针对查询控件的点击操作时,根据执行结果确定执行业务用例调用的节点,得到至少一个执行节点;
(42)确定执行节点的运行状态和数量;
(43)基于执行节点的运行状态和数量,在预设测试用例集合中确定推荐的测试用例集合。
比如,可以根据执行结果确定执行业务用例调用的节点,然后再确定执行节点的运行状态和数量,运行状态可以包括已处理状态、未处理状态、接收数据错误状态、处理数据错误状态或输出数据错误状态等等,然后,基于执行节点的运行状态和数量,在预设测试用例集合中确定推荐的测试用例集合,比如,确定执行业务用例调用了9个节点,其中,运行状态为已处理状态的节点为6个,运行状态为输出数据错误状态为3个,那么可以基于运行状态为已处理状态的节点,在预设测试用例集合中确定推荐的测试用例集合。
可选的,在一些实施例中,也可以通过执行节点的运行状态,计算业务用例的执行成功率,当执行成功率大于预设阈值时,可以基于执行节点的运行状态和数量,在预设测试用例集合中确定推荐的测试用例集合,即,在一些实施例中,步骤“基于执行节点的运行状态和数量,在预设测试用例集合中确定推荐的测试用例集合”,具体可以包括:
(51)根据执行节点的运行状态,计算执行节点的执行成功率;
(52)当执行成功率大于预设阈值时,基于确定的执行节点以及执行节点的数量,在预设测试用例集合中确定推荐的测试用例集合。
可选的,在一些实施例中,可以通过确定的执行节点以及执行节点的数量,确定推荐用例数据,并根据该推荐用例数据,在预设测试用例集合中确定推荐的测试用例集合,即,步骤“当执行成功率大于预设阈值时,基于确定的执行节点以及执行节点的数量,在预设测试用例集合中确定推荐的测试用例集合”,具体可以包括:
(61)当执行成功率大于预设阈值时,基于确定的执行节点以及执行节点的数量,确定与业务用例对应的推荐用例数据;
(62)基于确定的推荐用例数据,在预设测试用例集合中确定推荐的测试用例集合。
比如,具体的,可以根据确定到的执行节点,构建业务用例的业务路径图,并基于构建得到的业务路径图,确定与业务用例对应的推荐用例数据,即,可选的,在一些实施例中,步骤“当执行成功率大于预设阈值时,基于确定的执行节点以及执行节点的数量,确定与业务用例对应的推荐用例数据”,具体可以包括:
(71)当执行成功率大于预设阈值时,提取每个执行节点的标签信息;
(72)根据每个执行节点的标签信息,确定每个执行节点之间的关联关系;
(73)根据关联关系,构建业务用例的业务路径图;
(74)根据业务路径图,确定与业务用例对应的推荐用例数据。
可选的,在一些实施例中,步骤“当检测到用户针对查询控件的点击操作时,基于执行结果,在预设测试用例集合中确定推荐的测试用例集合”之前,具体还可以包括:检测业务用例的当前运行环境;
即,步骤“当检测到用户针对查询控件的点击操作时,基于执行结果,在预设测试用例集合中确定推荐的测试用例集合”,具体可以包括:当检测到用户针对查询控件的点击操作时,基于执行结果以及当前运行环境,在预设测试用例集合中确定推荐的测试用例集合。
需要说明的是,为了进一步提高推荐的准确性,因此,可以在确定推荐的测试用例集合检测业务用例的当前运行环境,比如,当检测到业务用例的当前运行环境为“伽马”时,可以基于执行结果以及“伽马”运行环境,在预设测试用例集合中确定推荐的测试用例集合。
本发明实施例在获取需要进行测试的业务用例后,显示业务用例对应的测试页面,测试页面包括开始控件以及业务用例,当检测到用户针对开始控件的点击操作时,执行业务用例,并将测试页面切换显示为用例推荐页面,用例推荐页面包括查询控件以及业务用例对应的执行结果,当检测到用户针对查询控件的点击操作时,基于执行结果,在预设测试用例集合中确定推荐的测试用例集合。相较于现有的方案而言,本发明实施例可以根据业务用例在执行过程中所调用的节点,在预设测试用例集合中确定推荐的测试用例集合,因此,不会存在推荐的测试用例集合存在不全面的问题,从而可以提高测试用例推荐的准确度。
根据实施例所述的方法,以下将举例进一步详细说明。
在本实施例中将以该测试用例推荐装置具体集成在终端中为例进行说明。
请参阅图2a,一种测试用例推荐方法,具体流程可以如下:
201、终端获取需要进行测试的业务用例。
业务用例指的是根据目标业务的业务需求生成的业务需求数据集合,终端可以通过访问网络接口拉取得到需要进行测试的业务需求数据集合,即终端可以通过网络获取需要进行测试的业务用例。
202、终端显示业务用例对应的测试页面。
其中,测试页面可以包括开始控件以及业务用例,比如,终端的显示屏可以显示业务用例对应的测试页面,具体的,首先,终端可以显示业务用例列表,终端当检测到用户针对业务用例列表中业务用例的选择操作时,显示用户选择的测试用例所对应的测试页面,如图2b所示。
203、终端当检测到用户针对开始控件的点击操作时,执行业务用例,并将测试页面切换显示为用例推荐页面。
终端当检测到用户针对开始控件的点击操作时,终端可以提取业务用例的数据包,并对该数据包进行解析,得到至少两个执行数据以及每个执行数据对应的执行节点,终端基于至少两个执行数据以及每个执行数据对应的执行节点,生成业务用例对应的执行结果,并将测试页面切换显示为用例推荐页面,该用例推荐页面可以包括查询控件以及业务用例对应的执行结果,如图2c所示,用户可以通过点击查询控件获取该业务用例推荐的测试用例集合。
204、终端检测业务用例的当前运行环境。
需要说明的是,终端可以在获取需要进行测试的业务用例之前检测业务用例的当前运行环境,也可以在终端显示业务用例对应的测试页面之前检测业务用例的当前运行环境,具体根据实际情况进行设置。
205、终端当检测到用户针对查询控件的点击操作时,基于执行结果以及当前运行环境,在预设测试用例集合中确定推荐的测试用例集合。
具体的,终端当检测到用户针对查询控件的点击操作时,终端可以基于业务用例在执行过程中调用到的节点,在预设测试用例集合中确定推荐的测试用例集合,如图2d所示。在图2d中,可以看到在beta环境下推荐用例的总数为31个,即,终端,基于执行结果以及当前运行环境,确定到的推荐的测试用例总数为31个,进一步的,为了提高推荐测试用例的准确性,终端可以基于执行结果确定执行业务用例调用的节点,终端再根据这些执行节点以及当前执行环境确定推荐的测试用例集合,具体请参阅前面实施例,在此不再赘述。
由上可知,本实施例的终端在获取需要进行测试的业务用例后,显示业务用例对应的测试页面,测试页面包括开始控件以及业务用例,终端当检测到用户针对开始控件的点击操作时,执行业务用例,并将测试页面切换显示为用例推荐页面,用例推荐页面包括查询控件以及业务用例对应的执行结果,终端当检测到用户针对查询控件的点击操作时,基于执行结果,在预设测试用例集合中确定推荐的测试用例集合。相较于现有的方案而言,本发明实施例的终端可以根据业务用例在执行过程中所调用的节点以及业务用例的当前运行环境,在预设测试用例集合中确定推荐的测试用例集合,因此,不会存在推荐的测试用例集合存在不全面的问题,从而可以提高测试用例推荐的准确度。
为了便于对本发明实施例提供的测试用例推荐方法的理解,请参阅图2e,当终端接收到需要进行测试的业务用例时,终端可以基于该测试用例加载调用栈信息、自动化数据以及用例数据,终端可以将调用栈信息、自动化数据以及用例数据进行数据整合,得到整合后的数据,然后,终端可以基于整合后的数据进行选取对应的模块,并且,终端可以基于该整合后的数据,获取对应的容器。比如,当用户需要对某个业务用例进行测试时,终端可以显示该业务用例对应的测试页面,如图2f所示,此时,可以展示该业务用例对应的测试报告页面,如图2g所示,该页面上可以显示测试该业务用例的运行环境、测试结果、总耗时以及开始时间等等,需要说明的是,当业务用例的测试失败率大于预设阈值时,可以认为该测试用例测试不通过,比如,该阈值可以为65%,此时,可以展示业务用例对应的测试概要结果,如图2h所示,最后,终端可以基于执行结果,在预设测试用例集合中确定推荐的测试用例集合
为便于更好的实施本发明实施例的测试用例推荐方法,本发明实施例还提供一种基于上述测试用例推荐装置(简称推荐装置)。其中名词的含义与上述测试用例推荐方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图3a,图3a为本发明实施例提供的测试用例推荐装置的结构示意图,其中该推荐装置可以包括获取模块301、显示模块302、切换模块303以及推荐模块304,具体可以如下:
获取模块301,用于获取需要进行测试的业务用例。
获取模块301可以通过网络获取需要进行测试的业务用例,也可以获取本地数据库中需要进行测试的业务用例。
显示模块302,用于显示业务用例对应的测试页面。
其中,测试页面包括开始控件以及所述业务用例,可选的,在一些实施例中,显示模块具体可以用于:显示业务用例列表,该业务用例列表包括至少两个业务用例,当检测到用户针对业务用例列表中业务用例的选择操作时,显示用户选择的测试用例所对应的测试页面。
切换模块303,用于当检测到用户针对开始控件的点击操作时,执行业务用例,并将测试页面切换显示为用例推荐页面。
其中,用例推荐页面包括查询控件以及业务用例对应的执行结果。切换模块303当检测到用户针对开始控件的点击操作时,执行业务用例,可选的,在执行业务用例的同时,切换模块303可以将测试页面切换显示为用例推荐页面。
可选的,在一些实施例中,切换模块具体可以包括:
提取子模块,用于提取业务用例的数据包;
解析子模块,用于对数据包进行解析,得到至少两个执行数据、以及每个执行数据对应的至少两个执行节点;
生成子模块,用于基于至少两个执行数据以及每个执行数据对应的至少两个执行节点,生成业务用例对应的执行结果;
切换子模块,用于将测试页面切换显示为用例推荐页面,用例推荐页面包括查询控件以及所述业务用例对应的执行结果。
可选的,在一些实施例中,生成子模块具体可以用于:检测至少两个执行数据中的有效执行数据,基于有效执行数据的数量,计算业务用例的执行成功率,根据执行成功率以及每个执行数据对应的至少两个执行节点,构建业务用例对应的执行结果。
推荐模块304,用于当检测到用户针对查询控件的点击操作时,基于执行结果,在预设测试用例集合中确定推荐的测试用例集合。
其中,用例推荐页面可以包括查询控件以及业务用例对应的执行结果。比如,具体的,推荐模块304当检测到用户针对查询控件的点击操作时,可以基于业务用例在执行过程中调用到的节点,在预设测试用例集合中确定推荐的测试用例集合,即,可选的,在一些实施例中,推荐模块304包括:
第一确定子模块,用于根据执行结果确定执行业务用例调用的节点,得到至少一个执行节点;
第二确定子模块,用于确定执行节点的运行状态和数量;
第三确定子模块,用于基于执行节点的运行状态和数量,在预设测试用例集合中确定推荐的测试用例集合。
可选的,在一些实施例中,第三确定子模块,包括:
计算单元,用于根据执行节点的运行状态,计算所执行节点的执行成功率;
确定单元,用于当执行成功率大于预设阈值时,基于确定的执行节点以及执行节点的数量,在预设测试用例集合中确定推荐的测试用例集合。
可选的,在一些实施例中,确定单元包括:
第一确定子单元,用于当执行成功率大于预设阈值时,基于确定的执行节点以及执行节点的数量,确定与业务用例对应的推荐用例数据;
第二确定子单元,用于基于确定的推荐用例数据,在预设测试用例集合中确定推荐的测试用例集合。
可选的,在一些实施例中,第一确定子单元具体用于:当执行成功率大于预设阈值时,提取每个执行节点的标签信息,根据每个执行节点的标签信息,确定每个执行节点之间的关联关系,根据关联关系,构建业务用例的业务路径图,根据业务路径图,确定与业务用例对应的推荐用例数据。
可选的,在一些实施例中,请参阅图3b,本发明实施例的推荐装置还可以包括检测模块305,检测模块305具体用于:检测业务用例的当前运行环境。即,推荐模块304具体可以用于:当检测到用户针对查询控件的点击操作时,基于执行结果以及当前运行环境,在预设测试用例集合中确定推荐的测试用例集合。
可见,本实施例的测试用例推荐装置的获取模块301在获取需要进行测试的业务用例后,显示模块302显示业务用例对应的测试页面,测试页面包括开始控件以及业务用例,切换模块303当检测到用户针对开始控件的点击操作时,执行业务用例,并将测试页面切换显示为用例推荐页面,用例推荐页面包括查询控件以及业务用例对应的执行结果,推荐模块304当检测到用户针对查询控件的点击操作时,基于执行结果,在预设测试用例集合中确定推荐的测试用例集合。相较于现有的方案而言,本发明实施例的推荐模块304可以根据业务用例在执行过程中所调用的节点,在预设测试用例集合中确定推荐的测试用例集合,因此,不会存在推荐的测试用例集合存在不全面的问题,从而可以提高测试用例推荐的准确性。
相应的,本发明实施例还提供一种终端,如图4所示,该终端可以包括射频(RF,Radio Frequency)电路401、包括有一个或一个以上计算机可读存储介质的存储器402、输入单元403、显示单元404、传感器405、音频电路406、无线保真(WiFi,Wireless Fidelity)模块407、包括有一个或者一个以上处理核心的处理器408、以及电源409等部件。本领域技术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路401可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器408处理;另外,将涉及上行的数据发送给基站。通常,RF电路401包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路401还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器402可用于存储软件程序以及模块,处理器408通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器408和输入单元403对存储器402的访问。
输入单元403可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元403可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器408,并能接收处理器408发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元403还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元404可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元404可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器408以确定触摸事件的类型,随后处理器408根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图4中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端还可包括至少一种传感器405,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路406、扬声器,传声器可提供用户与终端之间的音频接口。音频电路406可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路406接收后转换为音频数据,再将音频数据输出处理器408处理后,经RF电路401以发送给比如另一终端,或者将音频数据输出至存储器402以便进一步处理。音频电路406还可能包括耳塞插孔,以提供外设耳机与终端的通信。
WiFi属于短距离无线传输技术,终端通过WiFi模块407可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了WiFi模块407,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器408是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行终端的各种功能和处理数据。可选的,处理器408可包括一个或多个处理核心;优选的,处理器408可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器408中。
终端还包括给各个部件供电的电源409(比如电池),优选的,电源可以通过电源管理系统与处理器408逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源409还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器408会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器408来运行存储在存储器402中的应用程序,从而实现各种功能:
获取需要进行测试的业务用例,显示业务用例对应的测试页面,测试页面包括开始控件以及业务用例,当检测到用户针对开始控件的点击操作时,执行业务用例,并将测试页面切换显示为用例推荐页面,用例推荐页面包括查询控件以及业务用例对应的执行结果,当检测到用户针对查询控件的点击操作时,基于执行结果,在预设测试用例集合中确定推荐的测试用例集合。
本发明实施例在获取需要进行测试的业务用例后,显示业务用例对应的测试页面,测试页面包括开始控件以及业务用例,当检测到用户针对开始控件的点击操作时,执行业务用例,并将测试页面切换显示为用例推荐页面,用例推荐页面包括查询控件以及业务用例对应的执行结果,当检测到用户针对查询控件的点击操作时,基于执行结果,在预设测试用例集合中确定推荐的测试用例集合。相较于现有的方案而言,本发明实施例可以根据业务用例在执行过程中所调用的节点,在预设测试用例集合中确定推荐的测试用例集合,因此,不会存在推荐的测试用例集合存在不全面的问题,从而可以提高测试用例推荐的准确度。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种测试用例推荐方法中的步骤。例如,该指令可以执行如下步骤:
获取需要进行测试的业务用例,显示业务用例对应的测试页面,测试页面包括开始控件以及业务用例,当检测到用户针对开始控件的点击操作时,执行业务用例,并将测试页面切换显示为用例推荐页面,用例推荐页面包括查询控件以及业务用例对应的执行结果,当检测到用户针对查询控件的点击操作时,基于执行结果,在预设测试用例集合中确定推荐的测试用例集合。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种测试用例推荐方法中的步骤,因此,可以实现本发明实施例所提供的任一种测试用例推荐方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种测试用例推荐方法、装置、终端以及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种测试用例推荐方法,其特征在于,包括:
获取需要进行测试的业务用例;
显示所述业务用例对应的测试页面,所述测试页面包括开始控件以及所述业务用例;
当检测到用户针对所述开始控件的点击操作时,执行所述业务用例,并将所述测试页面切换显示为用例推荐页面,所述用例推荐页面包括查询控件以及所述业务用例对应的执行结果;
当检测到用户针对所述查询控件的点击操作时,基于所述执行结果,在预设测试用例集合中确定推荐的测试用例集合;其中,包括:当检测到用户针对所述查询控件的点击操作时,根据执行结果确定执行所述业务用例调用的节点,得到至少一个执行节点;确定所述执行节点的运行状态和数量;基于所述执行节点的运行状态和数量,在预设测试用例集合中确定推荐的测试用例集合;
其中,所述基于所述执行节点的运行状态和数量,在预设测试用例集合中确定推荐的测试用例集合,包括:根据所述执行节点的运行状态,计算所述业务用例的执行成功率;当所述执行成功率大于预设阈值时,基于确定的执行节点以及执行节点的数量,在预设测试用例集合中确定推荐的测试用例集合。
2.根据权利要求1所述的方法,其特征在于,所述当所述执行成功率大于预设阈值时,基于确定的执行节点以及执行节点的数量,在预设测试用例集合中确定推荐的测试用例集合,包括:
当所述执行成功率大于预设阈值时,基于确定的执行节点以及执行节点的数量,确定与所述业务用例对应的推荐用例数据;
基于确定的推荐用例数据,在预设测试用例集合中确定推荐的测试用例集合。
3.根据权利要求2所述的方法,其特征在于,所述当所述执行成功率大于预设阈值时,基于确定的执行节点以及执行节点的数量,确定与所述业务用例对应的推荐用例数据,包括:
当所述执行成功率大于预设阈值时,提取每个执行节点的标签信息;
根据每个执行节点的标签信息,确定每个执行节点之间的关联关系;
根据所述关联关系,构建所述业务用例的业务路径图;
根据所述业务路径图,确定与所述业务用例对应的推荐用例数据。
4.根据权利要求1所述的方法,其特征在于,所述当检测到用户针对所述开始控件的点击操作时,执行所述业务用例,并将所述测试页面切换显示为用例推荐页面,包括:
提取所述业务用例的数据包;
对所述数据包进行解析,得到至少两个执行数据以及每个执行数据对应的执行节点;
基于所述至少两个执行数据以及每个执行数据对应的执行节点,生成所述业务用例对应的执行结果;
将所述测试页面切换显示为用例推荐页面,所述用例推荐页面包括查询控件以及所述业务用例对应的执行结果。
5.根据权利要求4所述的方法,其特征在于,所述基于所述至少两个执行数据以及每个执行数据对应的执行节点,生成所述业务用例对应的执行结果,包括:
检测所述至少两个执行数据中的有效执行数据;
基于所述有效执行数据的数量,计算所述业务用例的执行成功率;
根据所述执行成功率以及每个执行数据对应的至少两个执行节点,构建所述业务用例对应的执行结果。
6.根据权利要求1所述的方法,其特征在于,所述显示业务用例对应的测试页面,包括:
显示业务用例列表,所述业务用例列表包括至少两个业务用例;
当检测到用户针对所述业务用例列表中业务用例的选择操作时,显示用户选择的测试用例所对应的测试页面。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述当检测到用户针对所述查询控件的点击操作时,基于所述执行结果,在预设测试用例集合中确定推荐的测试用例集合之前,还包括:
检测所述业务用例的当前运行环境;
所述当检测到用户针对所述查询控件的点击操作时,基于所述执行结果,在预设测试用例集合中确定推荐的测试用例集合,包括:当检测到用户针对所述查询控件的点击操作时,基于所述执行结果以及当前运行环境,在预设测试用例集合中确定推荐的测试用例集合。
8.一种测试用例推荐装置,其特征在于,包括:
获取模块,用于获取需要进行测试的业务用例;
显示模块,用于显示所述业务用例对应的测试页面,所述测试页面包括开始控件以及所述业务用例;
切换模块,用于当检测到用户针对所述开始控件的点击操作时,执行所述业务用例,并将所述测试页面切换显示为用例推荐页面,所述用例推荐页面包括查询控件以及所述业务用例对应的执行结果;
推荐模块,用于当检测到用户针对所述查询控件的点击操作时,基于所述执行结果,在预设测试用例集合中确定推荐的测试用例集合;其中,所述推荐模块具体用于:当检测到用户针对所述查询控件的点击操作时,根据执行结果确定执行所述业务用例调用的节点,得到至少一个执行节点;确定所述执行节点的运行状态和数量;基于所述执行节点的运行状态和数量,在预设测试用例集合中确定推荐的测试用例集合;
其中,所述基于所述执行节点的运行状态和数量,在预设测试用例集合中确定推荐的测试用例集合,包括:根据所述执行节点的运行状态,计算所述业务用例的执行成功率;当所述执行成功率大于预设阈值时,基于确定的执行节点以及执行节点的数量,在预设测试用例集合中确定推荐的测试用例集合。
9.一种终端,其特征在于,包括:包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1至7任一项方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项方法中的步骤。
CN201911047263.7A 2019-10-30 2019-10-30 一种测试用例推荐方法以及装置 Active CN112749074B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911047263.7A CN112749074B (zh) 2019-10-30 2019-10-30 一种测试用例推荐方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911047263.7A CN112749074B (zh) 2019-10-30 2019-10-30 一种测试用例推荐方法以及装置

Publications (2)

Publication Number Publication Date
CN112749074A CN112749074A (zh) 2021-05-04
CN112749074B true CN112749074B (zh) 2023-10-27

Family

ID=75641871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911047263.7A Active CN112749074B (zh) 2019-10-30 2019-10-30 一种测试用例推荐方法以及装置

Country Status (1)

Country Link
CN (1) CN112749074B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113297090B (zh) * 2021-06-11 2024-01-23 南方电网数字平台科技(广东)有限公司 系统测试方法、装置、计算机设备和存储介质
CN113535594B (zh) * 2021-09-17 2021-12-21 广州裕睿信息科技有限公司 业务场景测试用例的生成方法、装置、设备和存储介质
US20230305950A1 (en) * 2022-03-22 2023-09-28 International Business Machines Corporation Determination of a prioritized subset of test cases to run after a source code change

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070011649A1 (en) * 2005-07-05 2007-01-11 Microsoft Corporation Graph browser and implicit query for software development
CN109871311A (zh) * 2017-12-04 2019-06-11 北京京东尚科信息技术有限公司 一种推荐测试用例的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070011649A1 (en) * 2005-07-05 2007-01-11 Microsoft Corporation Graph browser and implicit query for software development
CN109871311A (zh) * 2017-12-04 2019-06-11 北京京东尚科信息技术有限公司 一种推荐测试用例的方法和装置

Also Published As

Publication number Publication date
CN112749074A (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
CN110020293B (zh) 多媒体数据展示方法、装置及存储介质
CN103455330A (zh) 应用程序管理方法、终端、设备及系统
CN104281394A (zh) 智能选词的方法和装置
CN112749074B (zh) 一种测试用例推荐方法以及装置
CN106203228A (zh) 二维码信息传输方法、装置以及设备
CN104809055B (zh) 一种基于云平台的应用程序测试方法和装置
CN105631059B (zh) 数据处理方法、数据处理装置及数据处理系统
CN110347578B (zh) 一种应用的测试方法、装置及存储介质
CN108959062B (zh) 网页元素获取方法及装置
CN107766351B (zh) 文件目录的识别方法及装置
CN105703808A (zh) 一种传输数据的方法和装置
CN117435109A (zh) 一种内容显示方法、装置及计算机可读存储介质
CN106201220B (zh) 显示内容获取方法及装置
CN108269223B (zh) 一种网页图形绘制方法及终端
CN107798008B (zh) 内容推送系统、方法及装置
CN112667868B (zh) 一种数据检测方法以及装置
CN109240986B (zh) 一种日志处理方法、装置及存储介质
CN106227829A (zh) 一种生成壁纸图像的方法和装置
CN113852450A (zh) 一种消息推送反馈方法、装置、电子设备和存储介质
CN110209924B (zh) 推荐参数获取方法、装置、服务器及存储介质
WO2015078409A1 (zh) 收集信息的方法、装置、终端及系统
CN107346347B (zh) 网页表格显示方法及装置
CN108616552B (zh) 网页访问方法、装置和系统
CN112732548A (zh) 一种接口测试方法以及装置
CN112799857B (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
GR01 Patent grant
GR01 Patent grant