CN103678294A - 一种用于选择移动设备类型的方法、装置和设备 - Google Patents

一种用于选择移动设备类型的方法、装置和设备 Download PDF

Info

Publication number
CN103678294A
CN103678294A CN201210314281.9A CN201210314281A CN103678294A CN 103678294 A CN103678294 A CN 103678294A CN 201210314281 A CN201210314281 A CN 201210314281A CN 103678294 A CN103678294 A CN 103678294A
Authority
CN
China
Prior art keywords
information
mobile device
equipment
index information
equipment index
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
CN201210314281.9A
Other languages
English (en)
Other versions
CN103678294B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201210314281.9A priority Critical patent/CN103678294B/zh
Publication of CN103678294A publication Critical patent/CN103678294A/zh
Application granted granted Critical
Publication of CN103678294B publication Critical patent/CN103678294B/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

Abstract

本发明的目的是提供一种用于选择移动设备的方法、装置和设备。本发明获取待测试应用针对的移动设备的设备平台信息以及运行该待测试应用的移动设备所需满足的至少一项设备指标信息;并根据所述至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,确定满足所述至少一项设备指标信息中的全部或部分的至少一个移动设备类型。本发明具有以下优点通过根据设备指标信息,针对应用所基于的设备平台的设备信息库中进行查询,能够自动地向技术人员提供适用于测试应用的移动设备类型。

Description

一种用于选择移动设备类型的方法、装置和设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种用于选择移动设备的方法、装置和设备。
背景技术
现有技术中,当技术人员需要选择移动设备来测试一个应用时,往往仅能够根据其经验,确定适用于测试应用的移动设备。然而,该种选择过程十分主观,且仅根据经验,往往不能全面获知适用于测试应用的各种移动设备,也很有可能选择出并非十分适合测试该应用的移动设备。
因此,如何客观地向技术人员提供适用于测试一个应用的移动设备,为本领技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种用于选择移动设备的方法、装置和设备。根据本发明的一个方面,提供一种用于选择移动设备类型的方法,其中,该方法包括以下步骤:
a获取待测试应用针对的移动设备的设备平台信息以及运行该待测试应用的移动设备所需满足的至少一项设备指标信息;
b根据所述至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,确定满足所述至少一项设备指标信息中的全部或部分的至少一个移动设备类型。
根据本发明的另一个方面,还提供了一种用于选择移动设备类型的选择装置,其中,该选择装置包括:
获取装置,用于获取待测试应用针对的移动设备的设备平台信息以及运行该待测试应用的移动设备所需满足的至少一项设备指标信息;
查询装置,用于根据所述至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,确定满足所述至少一项设备指标信息中的全部或部分的至少一个移动设备类型。
与现有技术相比,本发明具有以下优点:1)通过根据设备指标信息,针对应用所基于的设备平台的设备信息库中进行查询,能够自动地向技术人员提供适用于测试应用的移动设备类型,并且,所提供的移动设备类型也较为全面、客观;2)通过基于多种因素来对查询所得的移动设备进行进一步选择,能够获得更适合测试待测试应用的移动设备类型;3)通过识别该等必须满足的设备指标信息,并将其权重置为最高,能够有效地避免将不满足必要设别指标信息的移动设备类型提供给技术人员。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明一个方面的用于选择移动设备的方法流程图;
图2为本发明一个优选实施例的用于选择移动设备的方法流程图;
图3为本发明一个方面的用于选择移动设备的选择装置的结构示意图;
图4为本发明一个优选实施例的用于选择移动设备的选择装置的结构示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
图1为本发明一个方面的用于选择移动设备的方法流程图。根据本实施例的方法包括步骤S 1和步骤S2。其中,本实施例的方法主要通过计算机设备来实现。优选地,所述计算机设备包括但不限于用户设备和网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述用户设备和网络设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述计算机设备和网络仅为举例,其他现有的或今后可能出现的计算设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
在步骤S 1中,计算机设备获取待测试应用针对的移动设备的设备平台信息以及运行该待测试应用的移动设备所需满足的至少一项设备指标信息。优选地,所述移动设备为手机。
其中,所述设备平台信息包括所述移动设备使用的系统平台信息,例如,塞班(Symbian)、安卓(Android)、WM、Ipone等。
优选地,所述设备指标信息包括但不限于以下至少一种:
1)系统版本信息;
例如,移动设备的系统版本为3.0、3.1(塞班平台版本);1.6、2.2、2.3(安卓平台版本);Mac OS X、iOS4、iOS5(iphone平台版本)等。
2)键盘类型信息;
例如,移动设备的键盘为九宫键盘、全键盘等。
3)触屏类型信息;
例如,移动设备的触屏为电容屏、电阻屏等。
4)旋转屏幕支持信息;
例如,移动设备支持屏幕旋转等。
5)网络支持信息;
例如,移动设备支持Wi-Fi和移动通信,移动设备仅支持移动通信等。
6)屏幕分辨率范围信息;
例如,移动设备的屏幕分辨率为960*640,又例如,屏幕分辨率范围为240*320至480*800等。
7)硬件支持信息。
例如,移动设备中存在支持软件计算重力和加速度的重力传感器与加速度传感器等。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何运行待测试应用的移动设备所需满足的设备指标信息,均应包含在本发明的范围内。
具体地,计算机设备获取技术人员提供的、待测试应用针对的移动设备的设备平台信息,并且,计算机设备获取运行该待测试应用的移动设备所需满足的至少一项设备指标信息的方式包括但不限于:
1)计算机设备获取技术人员提供的至少一项设备指标信息;
其中,技术人员可通过多种方式向计算机设备提供至少一项设备指标信息。例如,直接向计算机设备输入设备指标信息;选择计算机设备提供的多项设备指标信息中的至少一项;调取包括至少一项设备指标信息的文件并提供给计算机设备等。
2)计算机设备获取待测试应用所需的至少一项应用功能,并根据所述至少一项应用功能,确定与之分别对应的至少一项设备指标信息。
其中,所述应用功能包括但不限于该待测试应用需要实现的功能,和/或,运行待测试应用的移送设备需要实现的功能。例如,待测试应用需要实现的功能可包括:焦点切换、根据用户对手机的旋转操作来相应旋转所呈现的画面、连接网络服务器等;能够运行待测试应用的移动设备需要实现的功能可包括:屏幕旋转功能、网络访问功能等。
具体地,计算机设备可获取技术人员提供的至少一项应用功能,并根据预确定的、应用功能与设备指标信息之间的对应关系,确定与各项应用功能分别对应的至少一项设备指标信息。其中,技术人员向计算机设备提供至少一项应用功能的方式,与前述实现方式1)中技术人员向计算机设备提供至少一项设备指标信息的方式相同或相似,在此不再赘述。
例如,计算机设备通过读取技术人员提供的文件,获得待测试应用所需的至少一项应用功能包括:1)待测试应用需要实现焦点切换;2)待测试引用需要计算用户甩动移动设备的加速度;3)运行待测试应用的移动设备需要实现多点触控。则计算机设备通过查询预确定的,与上述三项应用功能分别对应的三项设备指标信息:1)键盘类型信息:全键盘;2)硬件支持信息:加速度传感器;3)触屏类型信息:电容屏。
需要说明的是,应用功能可进行分级。例如,将待测试应用需要连接网络服务器作为一个一级应用功能,其下的二级应用功能可包括:1)待测试应用需要连接网络服务器来实现其主要应用服务,如待测试应用为网游,其需要连接网络服务器才能正常运行;2)待测试应用需要连接网络服务器来实现其辅助应用服务,如待测试应用为单机游戏,但其需要连接网络服务器来上传用户的游戏得分等。则由于前者对网络的流量要求高,后者对网络的流量要求低,故该两个二级应用功能中对应前者的设备指标信息可包括:网络支持信息:需要支持Wi-Fi;后者的设备指标信息可包括:网络支持信息:需要支持网络通信。也即,后者的设备指标信息,仅需移动设备支持任意的网络通信,如今支持诸如GSM等移动通信,即可。
此外,不同的应用功能,可能对应同一种设备指标信息的不同内容。例如,应用功能“运行待测试应用的移动设备需要实现多点触控”以及“运行待测试应用的移动设备需要实现精确点击定位”分别对应设备指标信息“触屏类型信息:电容屏”和“触屏类型信息:电阻屏”。则此时可根据预定功能优先级,确定设备指标信息,例如,预定多点触控的优先级高于精确点击定位,则确定对应上述两个应用功能的设备指标信息为“触屏类型信息:电容屏”;或者,可根据预定指标信息优先级,确定设备指标信息,例如,设备指标信息“触屏类型信息:电容屏”高于“触屏类型信息:电阻屏”,则确定对应上述两个应用功能的设备指标信息为“触屏类型信息:电容屏”。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何获取待测试应用针对的移动设备的设备平台信息以及运行该待测试应用的移动设备所需满足的至少一项设备指标信息的实现方式,均应包含在本发明的范围内。
在步骤S2中,计算机设备根据步骤S 1中获得的至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,确定满足所述至少一项设备指标信息中的全部或部分的至少一个移动设备类型。优选地,移动设备的设备信息与设备指标信息一一对应,例如,移动设备的设备信息包括:系统版本信息、键盘类型信息、触屏类型信息、是否支持旋转屏幕、支持哪些网络通信、支持哪些屏幕分辨率、具备哪些硬件等。
具体地,计算机设备根据所获得的至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,确定满足所述至少一项设备指标信息中的全部或部分的至少一个移动设备类型的方式包括但不限于:
1)计算机设备根据所获得的至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,并将查询得到的所有移动设备类型,作为满足所述至少一项设备指标信息中的全部或部分的移动设备类型。
例如,计算机设备在步骤S1中获得的设备平台信息包括:安卓;获得的设备指标信息包括:屏幕分辨率范围信息:480*800。则计算机设备在使用设备平台信息所表示的安卓平台的移动设备所对应的设备信息库中进行查询,并将查询到的类型G5,G7和milestone作为满足屏幕分辨率范围指标的移动设备类型。
2)计算机设备根据所述至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,确定满足所述至少一项设备指标信息中的全部或部分的所有移动设备类型,并由所述所有移动设备类型中选择所述至少一个移动设备类型。本实现方式将在参照图2所示实施例中予以详述。
当通过步骤S1和步骤S2,选择出移动设备类型后,计算机设备可将选择出的移动设备类型提供给技术人员,则技术人员可采用计算机设备提供给其的移动设备类型的移动设备,测试待测试应用。例如,选择出的移动设备类型包括安卓平台的G5,G7和milestone,则技术人员可在其中的一种移动设备上运行待测试应用来进行测试等。
通过根据设备指标信息,针对应用所基于的设备平台的设备信息库中进行查询,能够自动地向技术人员提供适用于测试应用的移动设备类型,并且,所提供的移动设备类型也较为全面、客观。
图2为本发明一个优选实施例的用于选择移动设备的方法流程图。本实施例的方法包括步骤S 1和步骤S2;其中,步骤S2进一步包括步骤S21和步骤S22。
其中,步骤S1已在参照图1所示实施例中予以详述,在此不再赘述。
在步骤S21中,计算机设备根据其在步骤S1中获得的至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,确定满足所述至少一项设备指标信息中的全部或部分的所有移动设备类型。
例如,例如,计算机设备在步骤S1中获得的设备平台信息包括:iphone;获得的设备指标信息包括:屏幕分辨率范围信息:320*480。则计算机设备在使用设备平台信息所表示的iphone平台的移动设备所对应的设备信息库中进行查询,获得移动设备类型iphone、iphone3G和iphone3GS。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何根据所获得的至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,确定满足所述至少一项设备指标信息的所有移动设备类型的实现方式,均应包含在本发明的范围内。
接着,在步骤S22中,计算机设备由所述所有移动设备类型中选择至少一个移动设备类型。
具体地,计算机设备由所有移动设备类型中选择至少一个移送设备类型的方式包括但不限于:
1)计算机设备由所有移动设备类型中随机选择部分移动设备类型。优选地,当所有移动设备类型的数量超过预定阈值时,计算机设备由所有移动设备类型中随机选择部分移动设备类型,否则,计算机设备将所有移动设备类型,作为满足所述至少一项设备指标信息的所有移动设备类型。
2)当计算机设备在步骤S21中获得的移动设备可能仅满足所述至少一项设备指标信息中的部分设备指标信息时,计算机设备选择所满足的设备指标信息较多的移动设备类型。
3)计算机设备根据以下a)至c)中的至少一项参考因素,由所述所有移动设备类型中选择所述至少一个移动设备类型:
a)移动设备类型的类型权重信息;
具体地,计算机设备由查询所得的所有移动设备类型中选择类型权重信息较高的移动设备类型。
其中,该类型权重信息可基于多种因素来确定,例如:该移动设备类型的移动设备的市场占有率、该移动设备类型的移动设备的品牌权重,如诺基亚、三星、苹果的权重,等。
作为一种方案,该类型权重信息可在步骤S22之前预确定,也可在步骤S22中,由计算机设备基于上述多种因素来确定。
b)运行待测试应用的移动设备所需满足的至少一项设备指标信息各自的权重信息。
具体地,计算机设备选择满足权重较高的设备指标信息的移动设备类型。
其中,该至少一项设备指标信息各自的权重信息包括:
i)预定权重信息,也即,每种设备指标信息均具有固定的权重信息;
ii)计算机设备通过以下步骤S3来确定设备指标信息的权重信息:在步骤S3中,对于运行待测试应用的移动设备所需满足的至少一项设备指标信息中的一项或多项中的每一项,计算机设备根据该设备指标信息对应的应用功能,确定该设备指标信息的权重信息。
其中,计算机设备可确定所述至少一项设备指标信息中每项设备指标信息的权重信息;或者,计算机设备仅确定所述至少一项设备指标信息中的部分设备指标信息中的每项设备指标信息的权重信息,例如,仅确定若干种预定设备指标信息的权重信息。
其中,计算机设备确定一个设备指标信息对应的应用功能的方式包括但不限于:
-当在步骤S1中,计算机设备根据待测试应用所需的至少一项功能来确定至少一项设备指标信息时(见参照图1所示实施例的步骤S1中的实现方式2),计算机设备可直接获得与设备指标信息对应的应用功能。
-计算机设备获得技术人员提供的、与设备指标信息对应的应用功能。
具体地,计算机设备查询预确定的、与应用功能对应的权重信息,作为应用功能所对应的设备指标信息的权重信息。
例如,计算机设备获得的两项设备指标信息“触屏类型信息:电阻屏”以及“网络支持信息:需要支持Wi-Fi”所对应的应用功能分别为:运行待测试应用的移动设备需要实现精确点击定位,以及,待测试应用需要连接网络服务器来实现其主要应用服务。则网络设备查询预确定的、与上述两个应用功能对应的权重信息分别为“权重等级:中”和“权重等级:高”。
需要说明的是,步骤S3可在步骤S22之前执行操作,或者,步骤S3包含于步骤S22中,即当步骤S22执行时,计算机设备实时执行步骤S3。
c)移动设备类型的设备信息分别满足所述至少一项设备指标信息的满足达标程度。
具体地,计算机设备选择与设备指标信息之间的满足达标程度较高的移动设备类型。
其中,所述满足达标程度表示移动设备的设备信息符合设备指标信息的符合程度。该满足达标程度可通过查询预确定的、各个设备信息与各个设备指标信息之间的预定符合程度来确定。例如,预定设备信息“屏幕分辨率:320*480,480*854”与设备指标信息“屏幕分辨率范围信息:320*480,480*854”之间的符合程度为3;设备信息“屏幕分辨率:320*480”与设备指标信息“屏幕分辨率范围信息:320*480,480*854”之间的符合程度为2;设备信息“屏幕分辨率:240*320”与设备指标信息“屏幕分辨率范围信息:320*480,480*854”之间的符合程度为0等。
优选地,计算机设备可结合上述参考因素a至c中的多种,选择移动设备类型。
例如,计算机设备选择满足最高权重的设备指标信息以及与该等最高权重的设备指标信息之家的满足达标程度为2以上的移送设备类型。
又例如,计算机设备对上述参考因素a至c进行归一化后取平均值,对平均值由高至低进行排序,并选择排序前5为的移动设备类型等。
优选地,计算机设备所选择的移动设备类型,必须满足所有权重最高的设备指标类型。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何由所有移动设备类型中选择至少一个移动设备类型的实现方式,均应包含在本发明的范围内。
通过基于多种因素来对查询所得的移动设备进行进一步选择,能够获得更适合测试待测试应用的移动设备类型。
作为本实施例的优选方案之一,本实施例还包括以下步骤S4和S5。
在步骤S4中,计算机设备根据运行待测试应用的移动设备所需满足的至少一项设备指标信息和/或其分别对应的应用功能,确定所述至少一项设备指标信息中必须达标的必要设备指标信息。
具体地,计算机设备通过判断设备指标信息中是否存在预定必要设备指标信息,和/或,判断设备指标信息中是否存在预定必要应用功能,确定所述至少一项设备指标信息中必须达标的必要设备指标信息。
例如,预定必要设备指标信息包括种类为系统版本信息的所有设备指标信息、种类为屏幕分辨率范围信息的所有设备指标信息,预定必要应用功能包括“运行待测试应用的移动设备需要实现多点触控”以及“待测试应用需要连接网络服务器来实现其主要应用服务”;则当计算机设备查询到运行待测试应用的移动设备所需满足的至少一项设备指标信息和/或其分别对应的应用功能中包含上述预定必要设备指标信息和/或预定必要应用功能时,将查询到的预定必要设备指标信息,和/或,预定必要应用功能对应的设备指标信息,作为所述至少一项设备指标信息中必须达标的必要设备指标信息。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何根据运行待测试应用的移动设备所需满足的至少一项设备指标信息和/或其分别对应的应用功能,确定所述至少一项设备指标信息中必须达标的必要设备指标信息的实现方式,均应包含在本发明的范围内。
接着,在步骤S5中,计算机设备将所述必要设备指标信息的权重信息置为最高,并对其他设备指标信息执行所述步骤S3,以确定其他设备指标信息的权重信息。
由于若不满足一些设备指标信息,待测试应用将无法运行,因此,本优选方案中,通过识别该等必须满足的设备指标信息,并将其权重置为最高,能够有效地避免将不满足必要设别指标信息的移动设备类型提供给技术人员。
图3为本发明一个方面的用于选择移动设备的选择装置的结构示意图。本实施例的选择装置包含于计算机设备中;其中,该选择装置包括获取装置1和查询装置2。
获取装置1获取待测试应用针对的移动设备的设备平台信息以及运行该待测试应用的移动设备所需满足的至少一项设备指标信息。优选地,所述移动设备为手机。
其中,所述设备平台信息包括所述移动设备使用的系统平台信息,例如,塞班(Symbian)、安卓(Android)、WM、Ipone等。
优选地,所述设备指标信息包括但不限于以下至少一种:
1)系统版本信息;
例如,移动设备的系统版本为3.0、3.1(塞班平台版本);1.6、2.2、2.3(安卓平台版本);Mac OS X、iOS4、iOS5(iphone平台版本)等。
2)键盘类型信息;
例如,移动设备的键盘为九宫键盘、全键盘等。
3)触屏类型信息;
例如,移动设备的触屏为电容屏、电阻屏等。
4)旋转屏幕支持信息;
例如,移动设备支持屏幕旋转等。
5)网络支持信息;
例如,移动设备支持Wi-Fi和移动通信,移动设备仅支持移动通信等。
6)屏幕分辨率范围信息;
例如,移动设备的屏幕分辨率为960*640,又例如,屏幕分辨率范围为240*320至480*800等。
7)硬件支持信息。
例如,移动设备中存在支持软件计算重力和加速度的重力传感器与加速度传感器等。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何运行待测试应用的移动设备所需满足的设备指标信息,均应包含在本发明的范围内。
具体地,获取装置1获取技术人员提供的、待测试应用针对的移动设备的设备平台信息,并且,获取装置1获取运行该待测试应用的移动设备所需满足的至少一项设备指标信息的方式包括但不限于:
1)获取装置1获取技术人员提供的至少一项设备指标信息;
其中,技术人员可通过多种方式向获取装置1提供至少一项设备指标信息。例如,直接通过向计算机设备输入设备指标信息,来向获取装置1提供设备指标信息;选择计算机设备提供的多项设备指标信息中的至少一项;调取包括至少一项设备指标信息的文件并提供给获取装置1等。
2)获取装置1包括功能获取装置(图未示)和指标确定装置(图未示)。功能获取装置获取待测试应用所需的至少一项应用功能,指标确定装置根据所述至少一项应用功能,确定与之分别对应的至少一项设备指标信息。
其中,所述应用功能包括但不限于该待测试应用需要实现的功能,和/或,运行待测试应用的移送设备需要实现的功能。例如,待测试应用需要实现的功能可包括:焦点切换、根据用户对手机的旋转操作来相应旋转所呈现的画面、连接网络服务器等;能够运行待测试应用的移动设备需要实现的功能可包括:屏幕旋转功能、网络访问功能等。
具体地,功能获取装置可获取技术人员提供的至少一项应用功能,指标确定装置根据预确定的、应用功能与设备指标信息之间的对应关系,确定与各项应用功能分别对应的至少一项设备指标信息。其中,技术人员向计算机设备提供至少一项应用功能的方式,与前述实现方式1)中技术人员向计算机设备提供至少一项设备指标信息的方式相同或相似,在此不再赘述。
例如,功能获取装置通过读取技术人员提供的文件,获得待测试应用所需的至少一项应用功能包括:1)待测试应用需要实现焦点切换;2)待测试引用需要计算用户甩动移动设备的加速度;3)运行待测试应用的移动设备需要实现多点触控。则指标确定装置通过查询预确定的,与上述三项应用功能分别对应的三项设备指标信息:1)键盘类型信息:全键盘;2)硬件支持信息:加速度传感器;3)触屏类型信息:电容屏。
需要说明的是,应用功能可进行分级。例如,将待测试应用需要连接网络服务器作为一个一级应用功能,其下的二级应用功能可包括:1)待测试应用需要连接网络服务器来实现其主要应用服务,如待测试应用为网游,其需要连接网络服务器才能正常运行;2)待测试应用需要连接网络服务器来实现其辅助应用服务,如待测试应用为单机游戏,但其需要连接网络服务器来上传用户的游戏得分等。则由于前者对网络的流量要求高,后者对网络的流量要求低,故该两个二级应用功能中对应前者的设备指标信息可包括:网络支持信息:需要支持Wi-Fi;后者的设备指标信息可包括:网络支持信息:需要支持网络通信。也即,后者的设备指标信息,仅需移动设备支持任意的网络通信,如今支持诸如GSM等移动通信,即可。
此外,不同的应用功能,可能对应同一种设备指标信息的不同内容。例如,应用功能“运行待测试应用的移动设备需要实现多点触控”以及“运行待测试应用的移动设备需要实现精确点击定位”分别对应设备指标信息“触屏类型信息:电容屏”和“触屏类型信息:电阻屏”。则此时可根据预定功能优先级,确定设备指标信息,例如,预定多点触控的优先级高于精确点击定位,则确定对应上述两个应用功能的设备指标信息为“触屏类型信息:电容屏”;或者,可根据预定指标信息优先级,确定设备指标信息,例如,设备指标信息“触屏类型信息:电容屏”高于“触屏类型信息:电阻屏”,则确定对应上述两个应用功能的设备指标信息为“触屏类型信息:电容屏”。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何获取待测试应用针对的移动设备的设备平台信息以及运行该待测试应用的移动设备所需满足的至少一项设备指标信息的实现方式,均应包含在本发明的范围内。
查询装置2根据获取装置1获得的至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,确定满足所述至少一项设备指标信息中的全部或部分的至少一个移动设备类型。优选地,移动设备的设备信息与设备指标信息一一对应,例如,移动设备的设备信息包括:系统版本信息、键盘类型信息、触屏类型信息、是否支持旋转屏幕、支持哪些网络通信、支持哪些屏幕分辨率、具备哪些硬件等。
具体地,查询装置2根据获取装置1所获得的至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,确定满足所述至少一项设备指标信息中的全部或部分的至少一个移动设备类型的方式包括但不限于:
1)查询装置2根据所获得的至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,并将查询得到的所有移动设备类型,作为满足所述至少一项设备指标信息中的全部或部分的移动设备类型。
例如,获取装置1获得的设备平台信息包括:安卓;获得的设备指标信息包括:屏幕分辨率范围信息:480*800。则查询装置2在使用设备平台信息所表示的安卓平台的移动设备所对应的设备信息库中进行查询,并将查询到的类型G5,G7和milestone作为满足屏幕分辨率范围指标的移动设备类型。
2)查询装置2根据所述至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,确定满足所述至少一项设备指标信息中的全部或部分的所有移动设备类型,并由所述所有移动设备类型中选择所述至少一个移动设备类型。本实现方式将在参照图4所示实施例中予以详述。
当选择装置通过获取装置1和查询装置2,选择出移动设备类型后,选择装置可将选择出的移动设备类型提供给技术人员,则技术人员可采用选择装置提供给其的移动设备类型的移动设备,测试待测试应用。例如,选择出的移动设备类型包括安卓平台的G5,G7和milestone,则技术人员可在其中的一种移动设备上运行待测试应用来进行测试等。
通过根据设备指标信息,针对应用所基于的设备平台的设备信息库中进行查询,能够自动地向技术人员提供适用于测试应用的移动设备类型,并且,所提供的移动设备类型也较为全面、客观。
图4为本发明一个优选实施例的用于选择移动设备的选择装置的结构示意图。本实施例的选择装置包括获取装置1和包含于查询装置2中的子查询装置21和设备选择装置22。
其中,获取装置1已在参照图3所示实施例中予以详述,在此不再赘述。
子查询装置21根据获取装置1获得的至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,确定满足所述至少一项设备指标信息中的全部或部分的所有移动设备类型。
例如,例如,获取装置1获得的设备平台信息包括:iphone;获得的设备指标信息包括:屏幕分辨率范围信息:320*480。则子查询装置21在使用设备平台信息所表示的iphone平台的移动设备所对应的设备信息库中进行查询,获得移动设备类型iphone、iphone3G和iphone3GS。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何根据所获得的至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,确定满足所述至少一项设备指标信息的所有移动设备类型的实现方式,均应包含在本发明的范围内。
接着,设备选择装置22由所述所有移动设备类型中选择至少一个移动设备类型。
具体地,设备选择装置22由所有移动设备类型中选择至少一个移送设备类型的方式包括但不限于:
1)设备选择装置22由所有移动设备类型中随机选择部分移动设备类型。优选地,当所有移动设备类型的数量超过预定阈值时,设备选择装置22由所有移动设备类型中随机选择部分移动设备类型,否则,设备选择装置22将所有移动设备类型,作为满足所述至少一项设备指标信息的所有移动设备类型。
2)当子查询装置21获得的移动设备可能仅满足所述至少一项设备指标信息中的部分设备指标信息时,设备选择装置22选择所满足的设备指标信息较多的移动设备类型。
3)设备选择装置22包括子选择装置(图未示)。子选择装置根据以下a)至c)中的至少一项参考因素,由所述所有移动设备类型中选择所述至少一个移动设备类型:
a)移动设备类型的类型权重信息;
具体地,子选择装置由查询所得的所有移动设备类型中选择类型权重信息较高的移动设备类型。
其中,该类型权重信息可基于多种因素来确定,例如:该移动设备类型的移动设备的市场占有率、该移动设备类型的移动设备的品牌权重,如诺基亚、三星、苹果的权重,等。
作为一种方案,该类型权重信息可在子选择装置执行操作之前预确定,也由子选择装置基于上述多种因素来确定。
b)运行待测试应用的移动设备所需满足的至少一项设备指标信息各自的权重信息。
具体地,子选择装置选择满足权重较高的设备指标信息的移动设备类型。
其中,该至少一项设备指标信息各自的权重信息包括:
i)预定权重信息,也即,每种设备指标信息均具有固定的权重信息;
ii)选择装置还包括权重确定装置,对于运行待测试应用的移动设备所需满足的至少一项设备指标信息中的一项或多项中的每一项,该权重确定装置根据该设备指标信息对应的应用功能,确定该设备指标信息的权重信息。
其中,权重确定装置可确定所述至少一项设备指标信息中每项设备指标信息的权重信息;或者,权重确定装置仅确定所述至少一项设备指标信息中的部分设备指标信息中的每项设备指标信息的权重信息,例如,仅确定若干种预定设备指标信息的权重信息。
其中,权重确定装置确定一个设备指标信息对应的应用功能的方式包括但不限于:
-当获取装置1通过其包含的功能获取装置和指标确定装置,根据待测试应用所需的至少一项功能来确定至少一项设备指标信息时(见参照图3所示实施例的获取装置1的实现方式2),权重确定装置可直接获得与设备指标信息对应的应用功能。
-权重确定装置获得技术人员提供的、与设备指标信息对应的应用功能。
具体地,权重确定装置查询预确定的、与应用功能对应的权重信息,作为应用功能所对应的设备指标信息的权重信息。
例如,获取装置1获得的两项设备指标信息“触屏类型信息:电阻屏”以及“网络支持信息:需要支持Wi-Fi”所对应的应用功能分别为:运行待测试应用的移动设备需要实现精确点击定位,以及,待测试应用需要连接网络服务器来实现其主要应用服务。则权重确定装置查询预确定的、与上述两个应用功能对应的权重信息分别为“权重等级:中”和“权重等级:高”。
需要说明的是,权重确定装置可在子选择装置执行操作之前执行操作,或者,权重确定装置包含于子选择装置中,即子选择装置通过权重确定装置来确定设备指标信息的权重信息。
c)移动设备类型的设备信息分别满足所述至少一项设备指标信息的满足达标程度。
具体地,子选择装置选择与设备指标信息之间的满足达标程度较高的移动设备类型。
其中,所述满足达标程度表示移动设备的设备信息符合设备指标信息的符合程度。该满足达标程度可通过查询预确定的、各个设备信息与各个设备指标信息之间的预定符合程度来确定。例如,预定设备信息“屏幕分辨率:320*480,480*854”与设备指标信息“屏幕分辨率范围信息:320*480,480*854”之间的符合程度为3;设备信息“屏幕分辨率:320*480”与设备指标信息“屏幕分辨率范围信息:320*480,480*854”之间的符合程度为2;设备信息“屏幕分辨率:240*320”与设备指标信息“屏幕分辨率范围信息:320*480,480*854”之间的符合程度为0等。
优选地,子选择装置可结合上述参考因素a至c中的多种,选择移动设备类型。
例如,子选择装置选择满足最高权重的设备指标信息以及与该等最高权重的设备指标信息之家的满足达标程度为2以上的移送设备类型。
又例如,子选择装置对上述参考因素a至c进行归一化后取平均值,对平均值由高至低进行排序,并选择排序前5为的移动设备类型等。
优选地,子选择装置所选择的移动设备类型,必须满足所有权重最高的设备指标类型。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何由所有移动设备类型中选择至少一个移动设备类型的实现方式,均应包含在本发明的范围内。
通过基于多种因素来对查询所得的移动设备进行进一步选择,能够获得更适合测试待测试应用的移动设备类型。
作为本实施例的优选方案之一,本实施例的选择装置还包括必要指标确定装置(图未示)和执行装置(图未示)。
必要指标确定装置根据运行待测试应用的移动设备所需满足的至少一项设备指标信息和/或其分别对应的应用功能,确定所述至少一项设备指标信息中必须达标的必要设备指标信息。
具体地,必要指标确定装置通过判断设备指标信息中是否存在预定必要设备指标信息,和/或,判断设备指标信息中是否存在预定必要应用功能,确定所述至少一项设备指标信息中必须达标的必要设备指标信息。
例如,预定必要设备指标信息包括种类为系统版本信息的所有设备指标信息、种类为屏幕分辨率范围信息的所有设备指标信息,预定必要应用功能包括“运行待测试应用的移动设备需要实现多点触控”以及“待测试应用需要连接网络服务器来实现其主要应用服务”;则当必要指标确定装置查询到运行待测试应用的移动设备所需满足的至少一项设备指标信息和/或其分别对应的应用功能中包含上述预定必要设备指标信息和/或预定必要应用功能时,将查询到的预定必要设备指标信息,和/或,预定必要应用功能对应的设备指标信息,作为所述至少一项设备指标信息中必须达标的必要设备指标信息。
需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何根据运行待测试应用的移动设备所需满足的至少一项设备指标信息和/或其分别对应的应用功能,确定所述至少一项设备指标信息中必须达标的必要设备指标信息的实现方式,均应包含在本发明的范围内。
接着,执行装置将所述必要设备指标信息的权重信息置为最高,并并触发权重确定装置对其他设备指标信息执行操作,以确定其他设备指标信息的权重信息。
由于若不满足一些设备指标信息,待测试应用将无法运行,因此,本优选方案中,通过识别该等必须满足的设备指标信息,并将其权重置为最高,能够有效地避免将不满足必要设别指标信息的移动设备类型提供给技术人员。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (15)

1.一种用于选择移动设备类型的方法,其中,该方法包括以下步骤:
a获取待测试应用针对的移动设备的设备平台信息以及运行该待测试应用的移动设备所需满足的至少一项设备指标信息;
b根据所述至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,确定满足所述至少一项设备指标信息中的全部或部分的至少一个移动设备类型。
2.根据权利要求1所述的方法,其中,所述步骤a中获取所述至少一项设备指标信息的步骤包括:
-获取所述待测试应用所需的至少一项应用功能;
-根据所述至少一项应用功能,确定与之分别对应的至少一项设备指标信息。
3.根据权利要求1或2所述的方法,其中,所述步骤b包括以下步骤:
b1根据所述至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,确定满足所述至少一项设备指标信息中的全部或部分的所有移动设备类型;
b2由所述所有移动设备类型中选择所述至少一个移动设备类型。
4.根据权利要求3所述的方法,其中,所述步骤b2包括以下步骤:
-根据以下至少一项参考因素,由所述所有移动设备类型中选择所述至少一个移动设备类型:
-移动设备类型的类型权重信息;
-所述至少一项设备指标信息各自的权重信息;
-移动设备类型的设备信息分别满足所述至少一项设备指标信息的满足达标程度。
5.根据权利要求4所述的方法,其中,所述参考因素包括所述至少一项设备指标信息各自的权重信息,该方法还包括以下步骤:
i对于所述至少一项设备指标信息中的一项或多项中的每一项,根据该设备指标信息对应的应用功能,确定该设备指标信息的权重信息。
6.根据权利要求5所述的方法,其中,该方法还包括以下步骤:
-根据所述至少一项设备指标信息和/或其分别对应的应用功能,确定所述至少一项设备指标信息中必须达标的必要设备指标信息;
-将所述必要设备指标信息的权重信息置为最高,并对其他设备指标信息,执行所述步骤i。
7.根据权利要求1至6中任一项所述的方法,其中,所述设备指标信息包括以下至少一种:
-系统版本信息;
-键盘类型信息;
-触屏类型信息;
-旋转屏幕支持信息;
-网络支持信息;
-屏幕分辨率范围信息;
-硬件支持信息。
8.一种用于选择移动设备类型的选择装置,其中,该选择装置包括:
获取装置,用于获取待测试应用针对的移动设备的设备平台信息以及运行该待测试应用的移动设备所需满足的至少一项设备指标信息;
查询装置,用于根据所述至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,确定满足所述至少一项设备指标信息中的全部或部分的至少一个移动设备类型。
9.根据权利要求8所述的选择装置,其中,所述获取装置包括以下装置,用以实现获取所述至少一项设备指标信息的操作:
功能获取装置,用于获取所述待测试应用所需的至少一项应用功能;
指标确定装置,用于根据所述至少一项应用功能,确定与之分别对应的至少一项设备指标信息。
10.根据权利要求8或9所述的选择装置,其中,所述查询装置包括:
子查询装置,用于根据所述至少一项设备指标信息,在所述使用该设备平台信息所表示的设备平台的移动设备的设备信息库中进行查询,确定满足所述至少一项设备指标信息中的全部或部分的所有移动设备类型;
设备选择装置,用于由所述所有移动设备类型中选择所述至少一个移动设备类型。
11.根据权利要求10所述的选择装置,其中,所述设备选择装置包括:
子选择装置,用于根据以下至少一项参考因素,由所述所有移动设备类型中选择所述至少一个移动设备类型:
-移动设备类型的类型权重信息;
-所述至少一项设备指标信息各自的权重信息;
-移动设备类型的设备信息分别满足所述至少一项设备指标信息的满足达标程度。
12.根据权利要求11所述的选择装置,其中,所述参考因素包括所述至少一项设备指标信息各自的权重信息,该选择装置还包括:
权重确定装置,用于对于所述至少一项设备指标信息中的一项或多项中的每一项,根据该设备指标信息对应的应用功能,确定该设备指标信息的权重信息。
13.根据权利要求12所述的选择装置,其中,该选择装置还包括:
必要指标确定装置,用于根据所述至少一项设备指标信息和/或其分别对应的应用功能,确定所述至少一项设备指标信息中必须达标的必要设备指标信息;
执行装置,用于将所述必要设备指标信息的权重信息置为最高,并触发权重确定装置对其他设备指标信息执行操作。
14.根据权利要求8至13中任一项所述的选择装置,其中,所述设备指标信息包括以下至少一种:
-系统版本信息;
-键盘类型信息;
-触屏类型信息;
-旋转屏幕支持信息;
-网络支持信息;
-屏幕分辨率范围信息;
-硬件支持信息。
15.一种计算机设备,包括如权利要求8至14中至少一项所述的选择装置。
CN201210314281.9A 2012-08-29 2012-08-29 一种用于选择移动设备类型的方法、装置和设备 Active CN103678294B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210314281.9A CN103678294B (zh) 2012-08-29 2012-08-29 一种用于选择移动设备类型的方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210314281.9A CN103678294B (zh) 2012-08-29 2012-08-29 一种用于选择移动设备类型的方法、装置和设备

Publications (2)

Publication Number Publication Date
CN103678294A true CN103678294A (zh) 2014-03-26
CN103678294B CN103678294B (zh) 2018-08-07

Family

ID=50315903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210314281.9A Active CN103678294B (zh) 2012-08-29 2012-08-29 一种用于选择移动设备类型的方法、装置和设备

Country Status (1)

Country Link
CN (1) CN103678294B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630503A (zh) * 2015-12-28 2016-06-01 北京大学 一种基于用户操作记录的应用开发移动设备选取方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719925A (zh) * 2004-07-08 2006-01-11 中兴通讯股份有限公司 一种cdma手机软件自动测试的方法及装置
CN101042673A (zh) * 2007-04-20 2007-09-26 北京航空航天大学 软件测试系统及测试方法
CN101521899A (zh) * 2009-03-31 2009-09-02 大连海事大学 用于移动应用程序的机上测试系统和方法
US20110131450A1 (en) * 2009-11-30 2011-06-02 Microsoft Corporation Using synchronized event types for testing an application

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719925A (zh) * 2004-07-08 2006-01-11 中兴通讯股份有限公司 一种cdma手机软件自动测试的方法及装置
CN101042673A (zh) * 2007-04-20 2007-09-26 北京航空航天大学 软件测试系统及测试方法
CN101521899A (zh) * 2009-03-31 2009-09-02 大连海事大学 用于移动应用程序的机上测试系统和方法
US20110131450A1 (en) * 2009-11-30 2011-06-02 Microsoft Corporation Using synchronized event types for testing an application

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
王正山 等: ""贪心随机自适应搜索算法在软件测试中的应用"", 《计算机时代》 *
许志兴 等: ""移动终端软件自动化测试技术的研究与应用"", 《南京工业大学学报》 *
赵爱敬: ""软件测试入门浅谈"", 《计算机与网络》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630503A (zh) * 2015-12-28 2016-06-01 北京大学 一种基于用户操作记录的应用开发移动设备选取方法
WO2017113876A1 (zh) * 2015-12-28 2017-07-06 北京大学 一种基于用户操作记录的应用开发移动设备选取方法
CN105630503B (zh) * 2015-12-28 2018-08-21 北京大学 一种基于用户操作记录的应用开发移动设备选取方法

Also Published As

Publication number Publication date
CN103678294B (zh) 2018-08-07

Similar Documents

Publication Publication Date Title
CN104186016B (zh) 定位移动设备
US10387292B2 (en) Determining application test results using screenshot metadata
US20210224821A1 (en) Land usage property identification method, apparatus, electronic device and storage medium
JP6403787B2 (ja) Ipアドレスに対応する位置を決定するための方法、装置、および、システム
CN104899220B (zh) 应用程序推荐方法和系统
CN106537384B (zh) 使用指示用户位置的数据的逆向ip数据库
CN107924305A (zh) 软件开发和分发平台
CN104243590B (zh) 资源对象推荐方法和装置
CN103455315A (zh) 一种用于实现截屏及获取对应目标信息的方法与设备
CN104106040B (zh) 图表缩放的视觉表示
CN104408640B (zh) 应用软件推荐方法及装置
CN105404631B (zh) 图片识别方法和装置
CN103885968A (zh) 一种用于提供推荐信息的方法和装置
CN105045889A (zh) 一种信息推送方法及装置
CN114329312A (zh) 网络资产数据评价方法、装置、电子设备及存储介质
CN103415061A (zh) 一种自动选择网络热点的方法及装置
CN110996154A (zh) 一种视频播放方法、装置及电子设备
CN109408309A (zh) 多终端的测试方法及装置
CN107492034B (zh) 一种资源转移方法、服务器、接收终端及发送终端
CN103177017B (zh) 一种训练服务质量评估模型的方法及装置
CN109698814A (zh) 僵尸网络发现方法及僵尸网络发现装置
CN110222312A (zh) 用户评价数据的处理方法、装置及服务器
CN107018039B (zh) 测试服务器集群性能瓶颈的方法和装置
CN103678294A (zh) 一种用于选择移动设备类型的方法、装置和设备
US9087298B2 (en) Inference of anomalous behavior of members of cohorts and associate actors related to the anomalous behavior based on divergent movement from the cohort context centroid

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant