CN113297080B - 一种物联网平台的简易测试方法 - Google Patents

一种物联网平台的简易测试方法 Download PDF

Info

Publication number
CN113297080B
CN113297080B CN202110573528.8A CN202110573528A CN113297080B CN 113297080 B CN113297080 B CN 113297080B CN 202110573528 A CN202110573528 A CN 202110573528A CN 113297080 B CN113297080 B CN 113297080B
Authority
CN
China
Prior art keywords
test
internet
test case
platform
things
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
CN202110573528.8A
Other languages
English (en)
Other versions
CN113297080A (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.)
Shenzhen Zhixin Wulian Technology Co ltd
Original Assignee
Shenzhen Zhixin Wulian 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 Shenzhen Zhixin Wulian Technology Co ltd filed Critical Shenzhen Zhixin Wulian Technology Co ltd
Priority to CN202110573528.8A priority Critical patent/CN113297080B/zh
Publication of CN113297080A publication Critical patent/CN113297080A/zh
Application granted granted Critical
Publication of CN113297080B publication Critical patent/CN113297080B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/3664Environments for testing or debugging software
    • 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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种物联网平台的简易测试方法,包括如下部分:S1,在测试工具上利用脚本机制直接创建并列的或融为一体的物联网平台设备相关业务和其它相关业务的测试用例,并配置测试参数,开启用例测试;S2,在测试用例开始执行前后,通过测试脚本在仿真平台调用物联网平台API添加或删除测试设备;S3,执行测试,仿真平台接收并执行物联网平台的设备控制指令,返回执行结果;S4,在测试用例执行过程中,仿真平台通过数据库和文件形式模拟真实设备的数据存储,并提供API以供测试用例脚本查验相关应生成的数据;S5,测试用例执行结束时,由测试工具直接生成测试结果报告。该发明降低了使用难度和仿真平台复杂度和开发投入。

Description

一种物联网平台的简易测试方法
技术领域
本发明涉及物联网测试领域,尤其是一种物联网平台的简易测试方法。
背景技术
物联网平台,随着连接的设备种类和设备数量的增多,将导致设备相关的业务测试人力资源投入的增长和测试设备的消耗。另外,对于物联网平台的性能测试,如能稳定接入多少数量级别的设备,纯人工测试的方式已无法做到,利用现有主流的测试工具也无法满足需要。针对物联网平台的上述测试问题,一般有两种解决方法:一是将物联网平台设备相关业务测试同其它相关业务剥离,采用自己开发的仿真应用或者云平台,对设备行为进行仿真处理。此种方法虽能解决上述提到的相关问题,却也引入了额外的其它的问题,主要有以下两个:1.物联网平台设备相关业务同其它相关业务存在关联的情况将无法达成测试;2.设备相关业务测试和其它相关业务的测试结果无法导出成统一的测试结果报告。另外一种是开发包含仿真应用在内的物联网测试平台,该种方法虽然统一了业务测试和测试结果报告,但程度比较复杂、开发投入大,不利于应用。
发明内容
针对现有的不足,本发明提供一种物联网平台的简易测试方法。
本发明解决其技术问题所采用的技术方案是:一种物联网平台的简易测试方法:包括如下部分:
S1,测试用例的创建,利用测试工具创建物联网平台其它相关业务的测试用例,并同时在测试工具上利用脚本机制直接创建物联网平台设备相关业务的测试用例,或将其它相关业务和设备相关业务结合到同一测试用例,并配置测试参数,开启用例测试,所述测试工具包括测试计划模块、脚本机制、测试用例生命周期管理模块、测试过程展示模块、测试结果输出模块;所述测试计划模块用于根据需求确定测试用例及测试脚本的构件;所述脚本机制用于利用测试工具的脚本开发出与仿真平台能形成集成调用的测试脚本;所述测试用例生命周期管理模块用于管理从测试项目计划建立到BUG提交的整个测试过程,包括项目测试计划,测试需求分析,测试用例设计,测试用例执行,BUG提交五个阶段;所述测试过程展示模块用于对测试过程的展示和获取用户的操作指令,并将操作指令发送给仿真平台;所述测试结果输出模块用于测试用例执行结束后输出由测试工具生成的测试报告;
S2,物联网平台和仿真平台的集成调用,在测试用例开始执行前,通过测试脚本在仿真平台调用物联网平台API添加测试设备,在测试用例执行结束后调用物联网平台API删除测试设备,所述仿真平台包括设备层、通讯层和应用层,其中设备层用于设备行为的模拟和设备数据的存储,通讯层用于与物联网平台的交互,应用层用于封装其它相关业务API供测试脚本集成调用,所述仿真平台通过如下模型对测试用例进行划分调度:读取测试用例的排期请求并确定测试用例的基本信息;读取物联网平台的所有测试用例的系统信息;调用基于遗传算法的测试用例划分算法对测试用例的基本信息和系统信息进行分析,获得满足目标函数的测试用例划分方案;如果不存在满足目标函数的测试用例划分方案,就拒绝该测试用例的排期请求,如果存在满足目标函数的测试用例划分方案,就输出该测试用例划分方案;在确定输出测试用例分配方案后,调用基于优先级的子测试用例调度算法对划分后的子测试用例进行调度排期,并输出最终的排期结果;
S3,执行测试,在测试用例执行过程中,仿真平台接收物联网平台的设备控制指令,模拟真实设备处理逻辑解析执行控制指令,并返回指令执行结果,同时通过API供测试用例中断指令执行或修改指令执行结果来实现测试用例的正常和异常两种业务需要;
S4,数据的存储,在测试用例执行过程中,仿真平台通过数据库和文件形式模拟真实设备的数据存储,并提供API以供测试用例脚本查验相关应生成的数据;
S5,测试报告的生成,测试用例执行结束时,由测试工具直接生成测试结果报告。
作为优选,所述仿真平台设置有资源管理器,所述资源管理器包括用于网络切片并为每一个应用切片配置适当分片资源的资源调配模块。
作为优选,所述资源管理器还包括测试用例管理模块,所述测试用例管理模块用于根据操作指令对测试用例进行区分并执行。
作为优选,所述测试过程展示模块利用其包含的用户角色类来获取用户的角色信息,得到用户的操作权限,然后利用任务信息类上报的任务基础信息、任务相关测试例信息和测试日志信息完成任务展示。
作为优选,所述测试用例包括物联网网络接入点的检测、物联网终端/服务器网络通断性的检测、物联网服务器活动性检测、物联网入网验证测试。
作为优选,所述仿真平台外接多个物联网仿真设备。
作为优选,所述仿真平台和物联网平台通过云端服务器连接。
本发明的有益效果在于:该发明结合现有测试工具,利用脚本机制将物联网平台的设备相关业务和其它相关业务结合在一起,实现物联网平台和仿真平台的集成调用,测试过程统一由测试工具进行管理,仿真平台除模拟设备外,还使得物联网平台API能给到测试工具进行集成调用,同时还统一了业务测试和测试结果报告,大大降低了测试的复杂程度和开发投入,简单易用。
附图说明
图1是本发明实施例的系统结构示意图;
具体实施方式
为了更清楚地说明本发明实施例的目的、技术方案和优点,下面将结合实施例对本发明作进一步说明,进行清楚、完整的描述,显然,所描述的实施例是本发明的部分实施例,而不是全部实施例。基于本发明的实施例,本领域普通技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。此外,本发明中所提到的方向用语,例如,“上”、“下”、“前”、“后”、“左”、“右”、“内”、“外”等,仅是使用的方向用语是为了更好、更清楚地说明及理解本发明,而不是指示或暗指本发明必须具有的方位,因此不能理解为对本发明的限制。
本发明实施例,一种物联网平台的简易测试方法:包括如下部分:
S1,测试用例的创建,利用测试工具创建物联网平台其它相关业务的测试用例,该测试工具就利用现有的测试工具来进行,比如QTP、QuickTest、WinRunner、RationalRobot、IBM Rational Test Manager、AdventNet QEngine、QA Run、Test Partner、Telelogic TAU等、通过这些测试工具来创建测试用例,此时创建的测试用例是除设备相关业务之外的业务,即其它相关业务,它们均是通过相应的测试脚本建立起来的,在建立这些测试用例的同时,在测试工具上利用脚本机制直接创建物联网平台设备相关业务的测试用例,也即是说将物联网平台(物联平台)的设备相关业务也通过脚本建立起测试用例,两者是融合在一起的能一并测试的两个独立的测试用例,测试时就可以一同进行,既能测试各自的问题也能测试两者之间相关联时的问题,进而就能导出统一的测试结果报告,或者是将其它相关业务和设备相关业务结合到同一测试用例,设备相关业务就和其它相关业务融合在一起形成一个测试用例,不再被隔离开来分别进行测试,这样的测试用例如物联网网络接入点的检测、物联网终端/服务器网络通断性的检测、物联网服务器活动性检测、物联网入网验证测试,还统一了业务测试和测试结果报告,极大的方便了应用,并配置测试参数,开启用例测试;
S2,物联网平台和仿真平台的集成调用,在测试用例开始执行前,通过测试脚本在仿真平台调用物联网平台API添加测试设备,此时仿真平台包括设备层、通讯层和应用层,其中设备层用于设备行为的模拟和设备数据的存储,通讯层用于与物联网平台的交互,应用层用于封装其它相关业务API供测试脚本集成调用,这样就实现物联网平台和仿真平台的集成调用,它们之间的连接则通过云端服务器连接,此时优先在仿真平台外接多个物联网仿真设备,可以同时进行多个设备的检测,提高测试效率,缩短测试时间,在测试用例执行结束后调用物联网平台API删除测试设备;这样测试过程就统一由测试工具进行管理,仿真平台除模拟设备外,还使得物联网平台API能给到测试工具进行集成调用,大大降低了测试的复杂程度和开发投入,简单易用。
S3,执行测试,在测试用例执行过程中,仿真平台接收物联网平台的设备控制指令,模拟真实设备处理逻辑解析执行控制指令,并返回指令执行结果,如接入到物联网平台的不同具体设备在发出指令后,物联网平台就设备的控制指令发送至仿真平台,仿真平台就模拟各种设备,实现接收指令,反馈数据等,测试物联网平台的状态,从而判断其各个功能点是否正常,同时通过API供测试用例中断指令执行或修改指令执行结果来实现测试用例的正常和异常两种业务需要,更全面更准确的对物联网平台进行测试,获得更准确的测试结果;
S4,数据的存储,在测试用例执行过程中,仿真平台通过数据库和文件形式模拟真实设备的数据存储,并提供API以供测试用例脚本查验相关应生成的数据,此时测试结果就以文件的形式被存储在数据库中,在需要查验相应数据时就利用API进入数据库进行查验,测试结果报告形式统一,更利于查验;
S5,测试报告的生成,测试用例执行结束时,由测试工具直接生成测试结果报告。
进一步的改进,所述仿真平台设置有资源管理器,所述资源管理器包括用于网络切片并为每一个应用切片配置适当分片资源的资源调配模块,就可以按照实际应用需求的不同,进行应用切片,不同分片之间在不影响应用运行的同时还能实现资源的按需动态调整,实现资源的优化利用。所述资源管理器还包括测试用例管理模块,所述测试用例管理模块用于根据操作指令对测试用例进行区分并执行,就可以根据测试用例进行相应的参数配置和资源分配,如果当前可用资源不能满足需求,就会重新进行调整配置使其得以执行。
进一步的改进,所述仿真平台通过如下模型对测试用例进行划分调度:读取测试用例的排期请求并确定测试用例的基本信息,比如用户的角色信息、用户的操作权限、测试任务的基础信息、测试日志信息、完成任务展示等;读取物联网平台的所有测试用例的系统信息;调用基于遗传算法的测试用例划分算法对测试用例的基本信息和系统信息进行分析,获得满足目标函数的测试用例划分方案,测试任务是有不同测试用例组成的,通过对其的划分,就能依据特定的优化目标,实现最大化的测试收益、最小化的测试等待时间,大的测试任务就被划分为不同的子测试任务,然后就被分配给相应的测试系统,在遗传算法划分时,测试任务所包含的测试用例从0开始编码,同时将测试系统也进行相应的从0开始的编码,就形成一个包含多个测试用例的测试用例组和一个包含多个测试系统的测试系统组,然后将它们进行相应的排列组合即可,此时遗传算法中的基因就代表着测试任务和测试系统之间的对应关系,染色体就对应测试任务的一个划分方案,种群就代表一组染色体的集合,也就代表了一系列的划分方案集;如果不存在满足目标函数的测试用例划分方案,就拒绝该测试用例的排期请求,如果存在满足目标函数的测试用例划分方案,就输出该测试用例划分方案;在确定输出测试用例分配方案后,调用基于优先级的子测试用例调度算法对划分后的子测试用例进行调度排期,并输出最终的排期结果,即测试系统层面的调度算法,根据不同测试用例所对应任务的优先级完成自动测试系统测试队列资源分配的二次优化,进一步提高测试资源利用率。
进一步的改进,所述测试工具包括测试计划模块、脚本机制、测试用例生命周期管理模块、测试过程展示模块、测试结果输出模块;所述测试计划模块用于根据需求确定测试用例及测试脚本的构件;所述脚本机制用于利用测试工具的脚本开发出与仿真平台能形成集成调用的测试脚本;所述测试用例生命周期管理模块用于管理从测试项目计划建立到BUG提交的整个测试过程,包括项目测试计划,测试需求分析,测试用例设计,测试用例执行,BUG提交五个阶段;所述测试过程展示模块用于对测试过程的展示和获取用户的操作指令,并将操作指令发送给仿真平台;所述测试结果输出模块用于测试用例执行结束后输出由测试工具生成的测试报告。所述测试过程展示模块利用其包含的用户角色类来获取用户的角色信息,得到用户的操作权限,然后利用任务信息类上报的任务基础信息、任务相关测试例信息和测试日志信息完成任务展示。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (7)

1.一种物联网平台的简易测试方法,其特征在于:包括如下部分:
S1,测试用例的创建,利用测试工具创建物联网平台其它相关业务的测试用例,并同时在测试工具上利用脚本机制直接创建物联网平台设备相关业务的测试用例,或将其它相关业务和设备相关业务结合到同一测试用例,并配置测试参数,开启用例测试,所述测试工具包括测试计划模块、脚本机制、测试用例生命周期管理模块、测试过程展示模块、测试结果输出模块;所述测试计划模块用于根据需求确定测试用例及测试脚本的构件;所述脚本机制用于利用测试工具的脚本开发出与仿真平台能形成集成调用的测试脚本;所述测试用例生命周期管理模块用于管理从测试项目计划建立到BUG提交的整个测试过程,包括项目测试计划,测试需求分析,测试用例设计,测试用例执行,BUG提交五个阶段;所述测试过程展示模块用于对测试过程的展示和获取用户的操作指令,并将操作指令发送给仿真平台;所述测试结果输出模块用于测试用例执行结束后输出由测试工具生成的测试报告;
S2,物联网平台和仿真平台的集成调用,在测试用例开始执行前,通过测试脚本在仿真平台调用物联网平台API添加测试设备,在测试用例执行结束后调用物联网平台API删除测试设备,所述仿真平台包括设备层、通讯层和应用层,其中设备层用于设备行为的模拟和设备数据的存储,通讯层用于与物联网平台的交互,应用层用于封装其它相关业务API供测试脚本集成调用,所述仿真平台通过如下模型对测试用例进行划分调度:读取测试用例的排期请求并确定测试用例的基本信息;读取物联网平台的所有测试用例的系统信息;调用基于遗传算法的测试用例划分算法对测试用例的基本信息和系统信息进行分析,获得满足目标函数的测试用例划分方案;如果不存在满足目标函数的测试用例划分方案,就拒绝该测试用例的排期请求,如果存在满足目标函数的测试用例划分方案,就输出该测试用例划分方案;在确定输出测试用例分配方案后,调用基于优先级的子测试用例调度算法对划分后的子测试用例进行调度排期,并输出最终的排期结果;
S3,执行测试,在测试用例执行过程中,仿真平台接收物联网平台的设备控制指令,模拟真实设备处理逻辑解析执行控制指令,并返回指令执行结果,同时通过API供测试用例中断指令执行或修改指令执行结果来实现测试用例的正常和异常两种业务需要;
S4,数据的存储,在测试用例执行过程中,仿真平台通过数据库和文件形式模拟真实设备的数据存储,并提供API以供测试用例脚本查验相关应生成的数据;
S5,测试报告的生成,测试用例执行结束时,由测试工具直接生成测试结果报告。
2.根据权利要求1所述物联网平台的简易测试方法,其特征在于:所述仿真平台设置有资源管理器,所述资源管理器包括用于网络切片并为每一个应用切片配置适当分片资源的资源调配模块。
3.根据权利要求2所述物联网平台的简易测试方法,其特征在于:所述资源管理器还包括测试用例管理模块,所述测试用例管理模块用于根据操作指令对测试用例进行区分并执行。
4.根据权利要求1所述物联网平台的简易测试方法,其特征在于:所述测试过程展示模块利用其包含的用户角色类来获取用户的角色信息,得到用户的操作权限,然后利用任务信息类上报的任务基础信息、任务相关测试例信息和测试日志信息完成任务展示。
5.根据权利要求1所述物联网平台的简易测试方法,其特征在于:所述测试用例包括物联网的网络接入点的检测、物联网终端/服务器网络通断性的检测、物联网服务器活动性检测、物联网入网验证测试。
6.根据权利要求1所述物联网平台的简易测试方法,其特征在于:所述仿真平台外接多个物联网仿真设备。
7.根据权利要求1所述物联网平台的简易测试方法,其特征在于:所述仿真平台和物联网平台通过云端服务器连接。
CN202110573528.8A 2021-05-25 2021-05-25 一种物联网平台的简易测试方法 Active CN113297080B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110573528.8A CN113297080B (zh) 2021-05-25 2021-05-25 一种物联网平台的简易测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110573528.8A CN113297080B (zh) 2021-05-25 2021-05-25 一种物联网平台的简易测试方法

Publications (2)

Publication Number Publication Date
CN113297080A CN113297080A (zh) 2021-08-24
CN113297080B true CN113297080B (zh) 2022-12-27

Family

ID=77324823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110573528.8A Active CN113297080B (zh) 2021-05-25 2021-05-25 一种物联网平台的简易测试方法

Country Status (1)

Country Link
CN (1) CN113297080B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114860526A (zh) * 2022-05-18 2022-08-05 芯河半导体科技(无锡)有限公司 一种用例回归分组优化方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491913A (zh) * 2018-11-09 2019-03-19 国机智骏科技有限公司 基于物联网的电池管理系统测试方法及系统
CN111092771A (zh) * 2019-12-24 2020-05-01 浙江航天恒嘉数据科技有限公司 一种物联网仿真测试平台
CN111224845A (zh) * 2020-01-03 2020-06-02 杭州涂鸦信息技术有限公司 一种基于物联网云的设备自动化测试系统及方法
CN111654416A (zh) * 2020-05-29 2020-09-11 北京智网信测科技有限公司 一种物联网测试云平台和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10983897B2 (en) * 2018-01-30 2021-04-20 International Business Machines Corporation Testing embedded systems and application using hardware-in-the-loop as a service (HILAAS)

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491913A (zh) * 2018-11-09 2019-03-19 国机智骏科技有限公司 基于物联网的电池管理系统测试方法及系统
CN111092771A (zh) * 2019-12-24 2020-05-01 浙江航天恒嘉数据科技有限公司 一种物联网仿真测试平台
CN111224845A (zh) * 2020-01-03 2020-06-02 杭州涂鸦信息技术有限公司 一种基于物联网云的设备自动化测试系统及方法
CN111654416A (zh) * 2020-05-29 2020-09-11 北京智网信测科技有限公司 一种物联网测试云平台和方法

Also Published As

Publication number Publication date
CN113297080A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
CN106354645B (zh) 基于后台系统服务或接口的测试方法和测试平台
CN108614726B (zh) 虚拟机创建方法及装置
CN108492005B (zh) 项目数据处理方法、装置、计算机设备和存储介质
CN110377520B (zh) 交易场景的测试方法及装置、电子设备和可读存储介质
US9058428B1 (en) Software testing using shadow requests
CN108399132A (zh) 一种调度测试方法、装置及存储介质
US9916170B2 (en) Cloud computing simulator
CN110362409A (zh) 基于多种类型的资源分配方法、装置、设备及存储介质
CN110012062B (zh) 一种多机房任务调度方法、装置及存储介质
CN109977012B (zh) 系统的联调测试方法、装置、设备及计算机可读存储介质
CN112631686A (zh) 数据处理方法、装置、计算机设备和存储介质
CN110162481A (zh) 一种软件测试方法、装置、设备以及存储介质
CN111966597B (zh) 测试数据生成方法及装置
CN107733710A (zh) 链路调用关系的构建方法、装置、计算机设备及存储介质
US11108638B1 (en) Health monitoring of automatically deployed and managed network pipelines
CN113297080B (zh) 一种物联网平台的简易测试方法
CN106294037A (zh) 拷机测试方法及装置
US8539479B2 (en) System and method for application function consolidation
EP4152715A1 (en) Method and apparatus for determining resource configuration of cloud service system
CN111897725A (zh) 中台服务自动化测试方法、介质、设备及系统
CN115617668A (zh) 一种兼容性测试方法、装置及设备
CN110737572B (zh) 大数据平台资源抢占测试方法、系统、终端及存储介质
CN113268332A (zh) 持续集成方法及装置
CN114968508A (zh) 任务处理方法、装置、设备及存储介质
CN110008098B (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