CN107967210A - Android组件测试用例生成方法和装置 - Google Patents

Android组件测试用例生成方法和装置 Download PDF

Info

Publication number
CN107967210A
CN107967210A CN201711262630.6A CN201711262630A CN107967210A CN 107967210 A CN107967210 A CN 107967210A CN 201711262630 A CN201711262630 A CN 201711262630A CN 107967210 A CN107967210 A CN 107967210A
Authority
CN
China
Prior art keywords
case
tested
component
android
state
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.)
Pending
Application number
CN201711262630.6A
Other languages
English (en)
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.)
Neusoft Corp
Original Assignee
Neusoft Corp
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 Neusoft Corp filed Critical Neusoft Corp
Priority to CN201711262630.6A priority Critical patent/CN107967210A/zh
Publication of CN107967210A publication Critical patent/CN107967210A/zh
Pending legal-status Critical Current

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

Abstract

本发明提出一种Android组件测试用例生成方法和装置,Android组件包括:Activity组件、Service组件、BroadcastReceiver组件,以及ContentProvider组件,该方法包括生成状态配置为允许对外暴露状态的待测试组件列表;确定待测试组件列表中所包括的每个待测试组件的属性定义信息;根据属性定义信息生成对应的显式意图用例和/或隐式意图用例。通过本发明能够提升测试精准度和覆盖率,有效节约测试时间成本,提升Android组件安全性的自动化测试效果。

Description

Android组件测试用例生成方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种Android组件测试用例生成方法和装置。
背景技术
Android平台定义了四大基本组件:Activity组件,Service组件,BroadcastReceiver组件,ContentProvider组件。其中,Activity组件,Service组件和BoradcastReceiver组件通过intent进行通信。
相关技术中,可以采用一些测试工具(例如,Drozer工具)评估Android组件的安全性。
这种方式下,需要测试人员手工输入,拼接命令,需要耗费较多的工作量和时间,尤其是对于暴露组件存在多个攻击面,以及同时需要考虑隐式意图和显式意图的情况,测试人员的学习门槛要求较高,Android组件安全性的自动化测试效果不佳。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种Android组件测试用例生成方法,能够提升测试精准度和覆盖率,有效节约测试时间成本,提升Android组件安全性的自动化测试效果。
本发明的另一个目的在于提出一种Android组件测试用例生成装置。
本发明的另一个目的在于提出一种非临时性计算机可读存储介质。
本发明的另一个目的在于提出一种计算机程序产品。
为达到上述目的,本发明第一方面实施例提出的Android组件测试用例生成方法,所述Android组件包括:Activity组件、Service组件、BroadcastReceiver组件,以及ContentProvider组件,包括:生成状态配置为允许对外暴露状态的待测试组件列表;确定所述待测试组件列表中所包括的每个待测试组件的属性定义信息;根据所述属性定义信息生成对应的显式意图用例和/或隐式意图用例。
在本发明的一个实施例中,在所述生成状态配置为允许对外暴露状态的待测试组件列表之前,还包括:
确定待测试组件的状态是否配置为允许对外暴露状态。
在本发明的一个实施例中,所述确定待测试组件的状态是否配置为允许对外暴露状态,包括:
获取所述待测试组件所属应用程序的AndroidManifest.xml文件;
根据所述AndroidManifest.xml文件确定待测试组件的状态是否配置为允许对外暴露状态。
在本发明的一个实施例中,所述属性定义信息为定义intent-filter属性或者未定义intent-filter属性,所述根据所述属性定义信息生成对应的显式意图用例和/或隐式意图用例,包括:
若所述属性定义信息为未定义intent-filter属性,则直接生成所述显式意图用例;
若所述属性定义信息为定义intent-filter属性,则生成所述显式意图用例,并根据所述AndroidManifest.xml文件中定义的预设标签名和对应的标签值生成所述隐式意图用例。
在本发明的一个实施例中,所述预设标签名为intent-filter标签、action标签、category标签,以及data标签。
本发明第一方面实施例提出的Android组件测试用例生成方法,通过生成状态配置为允许对外暴露状态的待测试组件列表,确定待测试组件列表中所包括的每个待测试组件的属性定义信息,以及根据属性定义信息生成对应的显式意图用例和/或隐式意图用例,能够降低Android组件安全性测试的学习成本,提升测试精准度和覆盖率,有效节约测试时间成本,提升Android组件安全性的自动化测试效果。
为达到上述目的,本发明第二方面实施例提出的Android组件测试用例生成装置,所述Android组件包括:Activity组件、Service组件、BroadcastReceiver组件,以及ContentProvider组件,包括:第一生成模块,用于生成状态配置为允许对外暴露状态的待测试组件列表;第一确定模块,用于确定所述待测试组件列表中所包括的每个待测试组件的属性定义信息;第二生成模块,用于根据所述属性定义信息生成对应的显式意图用例和/或隐式意图用例。
在本发明的一个实施例中,还包括:
第二确定模块,用于确定待测试组件的状态是否配置为允许对外暴露状态。
在本发明的一个实施例中,所述第二确定模块,包括:
获取子模块,用于获取所述待测试组件所属应用程序的AndroidManifest.xml文件;
确定子模块,用于根据所述AndroidManifest.xml文件确定待测试组件的状态是否配置为允许对外暴露状态。
在本发明的一个实施例中,所述属性定义信息为定义intent-filter属性或者未定义intent-filter属性,所述第二生成模块,具体用于:
若所述属性定义信息为未定义intent-filter属性,则直接生成所述显式意图用例;
若所述属性定义信息为定义intent-filter属性,则生成所述显式意图用例,并根据所述AndroidManifest.xml文件中定义的预设标签名和对应的标签值生成所述隐式意图用例。
在本发明的一个实施例中,所述预设标签名为intent-filter标签、action标签、category标签,以及data标签。
本发明第二方面实施例提出的Android组件测试用例生成装置,通过生成状态配置为允许对外暴露状态的待测试组件列表,确定待测试组件列表中所包括的每个待测试组件的属性定义信息,以及根据属性定义信息生成对应的显式意图用例和/或隐式意图用例,能够降低Android组件安全性测试的学习成本,提升测试精准度和覆盖率,有效节约测试时间成本,提升Android组件安全性的自动化测试效果。
为达到上述目的,本发明第三方面实施例提出的非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器被执行时,使得移动终端能够执行一种Android组件测试用例生成方法,所述方法包括:生成状态配置为允许对外暴露状态的待测试组件列表;确定所述待测试组件列表中所包括的每个待测试组件的属性定义信息;根据所述属性定义信息生成对应的显式意图用例和/或隐式意图用例。
本发明第三方面实施例提出的非临时性计算机可读存储介质,通过生成状态配置为允许对外暴露状态的待测试组件列表,确定待测试组件列表中所包括的每个待测试组件的属性定义信息,以及根据属性定义信息生成对应的显式意图用例和/或隐式意图用例,能够降低Android组件安全性测试的学习成本,提升测试精准度和覆盖率,有效节约测试时间成本,提升Android组件安全性的自动化测试效果。
为达到上述目的,本发明第四方面实施例提出的计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行一种Android组件测试用例生成方法,所述方法包括:生成状态配置为允许对外暴露状态的待测试组件列表;确定所述待测试组件列表中所包括的每个待测试组件的属性定义信息;根据所述属性定义信息生成对应的显式意图用例和/或隐式意图用例。
本发明第四方面实施例提出的计算机程序产品,通过生成状态配置为允许对外暴露状态的待测试组件列表,确定待测试组件列表中所包括的每个待测试组件的属性定义信息,以及根据属性定义信息生成对应的显式意图用例和/或隐式意图用例,能够降低Android组件安全性测试的学习成本,提升测试精准度和覆盖率,有效节约测试时间成本,提升Android组件安全性的自动化测试效果。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一实施例提出的Android组件测试用例生成方法的流程示意图;
图2是本发明另一实施例提出的Android组件测试用例生成方法的流程示意图;
图3是本发明另一实施例提出的Android组件测试用例生成方法的流程示意图;
图4是本发明一实施例提出的Android组件测试用例生成装置的结构示意图;
图5是本发明另一实施例提出的Android组件测试用例生成装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
图1是本发明一实施例提出的Android组件测试用例生成方法的流程示意图。
本实施例以该Android组件测试用例生成方法被配置为Android组件测试用例生成装置中来举例说明。
本实施例中Android组件测试用例生成装置可以设置在服务器中,或者也可以设置在移动设备中,本发明实施例对此不作限制。
Android组件包括:Activity组件、Service组件、BroadcastReceiver组件,以及ContentProvider组件。
本发明实施例中的Android组件测试用例生成方法,用于对Android组件安全性进行测试过程中自动生成测试用例,对此不作限制。
其中,移动设备例如智能手机,或者平板电脑等。
需要说明的是,本发明实施例的执行主体,在硬件上可以例如为服务器或者移动设备中的中央处理器(Central Processing Unit,CPU),在软件上可以例如为服务器或者移动设备中的后台管理服务,对此不作限制。
本发明实施例以Android组件测试用例生成装置设置在移动设备中进行示例。
参见图1,该方法包括:
S101:生成状态配置为允许对外暴露状态的待测试组件列表。
可选地,一些实施例中,参见图2,在S101之前,还可以包括:
S201:确定待测试组件的状态是否配置为允许对外暴露状态。
本发明实施例中,若确定出待测试组件的状态配置为允许对外暴露状态,则将该待测试组件添加至待测试组件列表中。
可以理解的是,由于是对Android组件安全性进行测试过程中自动生成测试用例,因此,本发明实施例通过生成状态配置为允许对外暴露状态的待测试组件列表,后续可以直接基于这些状态配置为允许对外暴露状态的组件进行自动化生成用例,而不用耗费人力扫描全部的Android组件,因而,提升生成测试用例的自动化程度。
本发明实施例中,可以获取待测试组件所属应用程序的AndroidManifest.xml文件,根据AndroidManifest.xml文件确定待测试组件的状态是否配置为允许对外暴露状态。
例如,可以对待测试组件所属应用程序进行反编译,得到AndroidManifest.xml文件。
作为一种示例,以待测试组件为Android组件中的Activity组件进行示例,对定义的Activity组件进行解析,从AndroidManifest.xml文件中第一个activity标签开始扫描,到最后一个activity标签结束。判定Activity组件是否暴露。判定原则为:
a)判定此Activity是否为主Activity。主Activity必须对外暴露,不涉及安全。此Activity从待测试组件列表中剔除。
b)此Activity是否定义了exported属性。若定义了android:exported=“false”,则此组件不对外暴露。若定义了android:exported=“true”,则此组件对外暴露。
可以将对外暴露的组件添加至待测试组件列表中。
c)若此Activity没有定义exported属性,则判断此Activity是否存在权限保护。如存在果有权限保护,则此Activity不对外暴露。
d)若此Activity没有定义exported属性,则判断此Activity是否定义intent-filter属性。若定义,则此组件对外暴露。若没有定义,则没有对外暴露。
根据上述原则生成待测试组件列表。
S102:确定待测试组件列表中所包括的每个待测试组件的属性定义信息。
可选地,属性定义信息为定义intent-filter属性或者未定义intent-filter属性。
S103:根据属性定义信息生成对应的显式意图用例和/或隐式意图用例。
可选地,一些实施例中,参见图3,S103可以包括:
S301:若属性定义信息为未定义intent-filter属性,则直接生成显式意图用例。
S302:若属性定义信息为定义intent-filter属性,则生成显式意图用例,并根据AndroidManifest.xml文件中定义的预设标签名和对应的标签值生成隐式意图用例。
可选地,预设标签名为intent-filter标签、action标签、category标签,data标签。
本发明实施例中,获取了暴露的Activity列表后,判断此Activity组件定义中是否定义intent-filter属性。若没有定义intent-filter属性,则直接生成显式意图用例。若此Activity定义intent-filter属性,则在生成显式意图用例之外,还需在此intent-filter标签内查找对应的action标签、category标签以及data标签,把标签名和对应的标签值对应保存,生成隐式意图用例。
作为一种示例,以待测试组件为Android组件中的Activity组件进行示例,可以直接生成显式意图用例的待测试组件对应的程序代码可以示例如下:
<activity
android:name="com.neusoft.cordovaWebviewPlugins.NewWebviewActivity"
android:screenOrientation="1"
android:exported="true"
android:windowSoftInputMode="0x00000002">
</activity>;
其中,此activity组件定义了exported属性为true,未定义intent-filter属性,则直接生成显式意图用例。
可以同时生成显式意图用例和隐式意图用例的待测试组件对应的程序代码可以示例如下:
<receiver
android:name="org.zywx.wbpalmstar.platform.push.PushRecieveMsgReceiver"
android:exported="false">
<intent-filter>
<action android:name="org.zywx.push.receive">
</action>
</intent-filter>
</receiver>。
此receiver组件由于定义了intent-filter属性,则可以同时生成显式意图用例和隐式意图用例,在生成隐式意图用例时,可以定位action标签,取出对应的值org.zywx.push.receive,对其进行对应保存。
作为另一种示例,可以根据上述所保存的信息生成显式意图用例和隐式意图用例。
进一步地,本发明实施例中,根据每个测试工具的不同,可能用例的生成会略有不同。以下示例以Drozer工具的用例生成规则为例:
显式意图用例的生成规则:
run app.activity.start--component包名组件名
隐式意图用例的生成规则:
run app.activity.start--action action值
run app.activity.start--action action值--component component值
run app.activity.start--action action值--data-uri data值
run app.activity.start–action action值--component component值–data-uri data值。
说明:action属性可以单独存在,component属性和data属性标记在action属性后,不可单独存在,并且同样的属性值不可重复,不同的属性值可以排列组合。
作为另一种示例,以待测试组件为Android组件中的Activity组件进行示例,该Activity组件定义如下:
<activity
android:theme="@android:01030010"
android:name="com.mob.tools.MobUIShell"
android:screenOrientation="1"
android:configChanges="0x000004A0"
android:windowSoftInputMode="0x00000012">
<intent-filter>
<data android:scheme="tencent1105345594">
</data>
<action android:name="android.intent.action.VIEW">
</action>
<category android:name="android.intent.category.BROWSABLE">
</category>
<category android:name="android.intent.category.DEFAULT">
</category>
</intent-filter>
</activity>
生成该Activity组件的显式意图用例:
run app.activity.start-component com.test.appcom.mob.tools.MobUIShell
其中,com.test.app为应用包名,可从AndroidManifest.xml文件中读取。
生成该Activity组件的隐式intent的用例:
首先,可以获取action、category、data的属性值,列表参见如下表1:
表1
属性名 属性值
action android.intent.action.VIEW
category android.intent.category.BROWSABLE
category android.intent.category.DEFAULT
data tencent1105345594
生成显式意图用例结合隐式意图用例如下:
run app.activity.start–-action android.intent.action.VIEW
run app.activity.start–-action android.intent.action.VIEW–-categoryandroid.intent.category.BROWSABLE
run app.activity.start–-action android.intent.action.VIEW–-categoryandroid.intent.category.DEFAULT
run app.activity.start–-action android.intent.action.VIEW–-data-uritencent1105345594
run app.activity.start–-action android.intent.action.VIEW–-categoryandroid.intent.category.BROWSABLE–-data-uri tencent1105345594
run app.activity.start–-action android.intent.action.VIEW–-categoryandroid.intent.category.DEFAULT–-data-uri tencent1105345594。
结合显式意图用例和隐式意图用例,即可得到Activity组件对应的组件安全测试用例。
进一步地,本发明实施例中Service组件和BroadcastReceiver组件与Activity组件的组件安全测试用例生成原理类似,只是最后命令不同(service组件对应命令为:app.service.start,Receiver组件对应命令为:app.broadcast.send),在此不再赘述。
本实施例中,通过生成状态配置为允许对外暴露状态的待测试组件列表,确定待测试组件列表中所包括的每个待测试组件的属性定义信息,以及根据属性定义信息生成对应的显式意图用例和/或隐式意图用例,能够降低Android组件安全性测试的学习成本,提升测试精准度和覆盖率,有效节约测试时间成本,提升Android组件安全性的自动化测试效果。
图4是本发明一实施例提出的Android组件测试用例生成装置的结构示意图。
Android组件包括:Activity组件、Service组件、BroadcastReceiver组件,以及ContentProvider组件。
参见图4,该装置400包括:
第一生成模块401,用于生成状态配置为允许对外暴露状态的待测试组件列表。
第一确定模块402,用于确定待测试组件列表中所包括的每个待测试组件的属性定义信息。
第二生成模块403,用于根据属性定义信息生成对应的显式意图用例和/或隐式意图用例。
可选地,一些实施例中,参见图5,该装置400还包括:第二确定模块404。
第二确定模块404,用于确定待测试组件的状态是否配置为允许对外暴露状态。
可选地,第二确定模块404,包括:
获取子模块4041,用于获取待测试组件所属应用程序的AndroidManifest.xml文件。
确定子模块4042,用于根据AndroidManifest.xml文件确定待测试组件的状态是否配置为允许对外暴露状态。
可选地,属性定义信息为定义intent-filter属性或者未定义intent-filter属性,第二生成模块403,具体用于:
若属性定义信息为未定义intent-filter属性,则直接生成显式意图用例;
若属性定义信息为定义intent-filter属性,则生成显式意图用例,并根据AndroidManifest.xml文件中定义的预设标签名和对应的标签值生成隐式意图用例。
可选地,预设标签名为intent-filter标签、action标签、category标签,以及data标签。
需要说明的是,前述图1-图3实施例中对Android组件测试用例生成方法实施例的解释说明也适用于该实施例的Android组件测试用例生成装置400,其实现原理类似,此处不再赘述。
本实施例中,通过生成状态配置为允许对外暴露状态的待测试组件列表,确定待测试组件列表中所包括的每个待测试组件的属性定义信息,以及根据属性定义信息生成对应的显式意图用例和/或隐式意图用例,能够降低Android组件安全性测试的学习成本,提升测试精准度和覆盖率,有效节约测试时间成本,提升Android组件安全性的自动化测试效果。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,当存储介质中的指令由终端的处理器执行时,使得终端能够执行一种Android组件测试用例生成方法,方法包括:
生成状态配置为允许对外暴露状态的待测试组件列表;
确定待测试组件列表中所包括的每个待测试组件的属性定义信息;
根据属性定义信息生成对应的显式意图用例和/或隐式意图用例。
本实施例中的非临时性计算机可读存储介质,通过生成状态配置为允许对外暴露状态的待测试组件列表,确定待测试组件列表中所包括的每个待测试组件的属性定义信息,以及根据属性定义信息生成对应的显式意图用例和/或隐式意图用例,能够降低Android组件安全性测试的学习成本,提升测试精准度和覆盖率,有效节约测试时间成本,提升Android组件安全性的自动化测试效果。
为了实现上述实施例,本发明还提出一种计算机程序产品,当计算机程序产品中的指令被处理器执行时,执行一种Android组件测试用例生成方法,方法包括:
生成状态配置为允许对外暴露状态的待测试组件列表;
确定待测试组件列表中所包括的每个待测试组件的属性定义信息;
根据属性定义信息生成对应的显式意图用例和/或隐式意图用例。
本实施例中的计算机程序产品,通过生成状态配置为允许对外暴露状态的待测试组件列表,确定待测试组件列表中所包括的每个待测试组件的属性定义信息,以及根据属性定义信息生成对应的显式意图用例和/或隐式意图用例,能够降低Android组件安全性测试的学习成本,提升测试精准度和覆盖率,有效节约测试时间成本,提升Android组件安全性的自动化测试效果。
需要说明的是,在本发明的描述中,术语”第一”、”第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,”多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,若用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块若以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语”一个实施例”、”一些实施例”、”示例”、”具体示例”、或”一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种Android组件测试用例生成方法,所述Android组件包括:Activity组件、Service组件、BroadcastReceiver组件,以及ContentProvider组件,其特征在于,包括以下步骤:
生成状态配置为允许对外暴露状态的待测试组件列表;
确定所述待测试组件列表中所包括的每个待测试组件的属性定义信息;
根据所述属性定义信息生成对应的显式意图用例和/或隐式意图用例。
2.如权利要求1所述的Android组件测试用例生成方法,其特征在于,在所述生成状态配置为允许对外暴露状态的待测试组件列表之前,还包括:
确定待测试组件的状态是否配置为允许对外暴露状态。
3.如权利要求2所述的Android组件测试用例生成方法,其特征在于,所述确定待测试组件的状态是否配置为允许对外暴露状态,包括:
获取所述待测试组件所属应用程序的AndroidManifest.xml文件;
根据所述AndroidManifest.xml文件确定待测试组件的状态是否配置为允许对外暴露状态。
4.如权利要求3所述的Android组件测试用例生成方法,其特征在于,所述属性定义信息为定义intent-filter属性或者未定义intent-filter属性,所述根据所述属性定义信息生成对应的显式意图用例和/或隐式意图用例,包括:
若所述属性定义信息为未定义intent-filter属性,则直接生成所述显式意图用例;
若所述属性定义信息为定义intent-filter属性,则生成所述显式意图用例,并根据所述AndroidManifest.xml文件中定义的预设标签名和对应的标签值生成所述隐式意图用例。
5.如权利要求4所述的Android组件测试用例生成方法,其特征在于,所述预设标签名为intent-filter标签、action标签、category标签,以及data标签。
6.一种Android组件测试用例生成装置,所述Android组件包括:Activity组件、Service组件、BroadcastReceiver组件,以及ContentProvider组件,其特征在于,包括:
第一生成模块,用于生成状态配置为允许对外暴露状态的待测试组件列表;
第一确定模块,用于确定所述待测试组件列表中所包括的每个待测试组件的属性定义信息;
第二生成模块,用于根据所述属性定义信息生成对应的显式意图用例和/或隐式意图用例。
7.如权利要求6所述的Android组件测试用例生成装置,其特征在于,还包括:
第二确定模块,用于确定待测试组件的状态是否配置为允许对外暴露状态。
8.如权利要求7所述的Android组件测试用例生成装置,其特征在于,所述第二确定模块,包括:
获取子模块,用于获取所述待测试组件所属应用程序的AndroidManifest.xml文件;
确定子模块,用于根据所述AndroidManifest.xml文件确定待测试组件的状态是否配置为允许对外暴露状态。
9.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的Android组件测试用例生成方法。
10.一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行一种Android组件测试用例生成方法,所述方法包括:
生成状态配置为允许对外暴露状态的待测试组件列表;
确定所述待测试组件列表中所包括的每个待测试组件的属性定义信息;
根据所述属性定义信息生成对应的显式意图用例和/或隐式意图用例。
CN201711262630.6A 2017-12-04 2017-12-04 Android组件测试用例生成方法和装置 Pending CN107967210A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711262630.6A CN107967210A (zh) 2017-12-04 2017-12-04 Android组件测试用例生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711262630.6A CN107967210A (zh) 2017-12-04 2017-12-04 Android组件测试用例生成方法和装置

Publications (1)

Publication Number Publication Date
CN107967210A true CN107967210A (zh) 2018-04-27

Family

ID=61998283

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711262630.6A Pending CN107967210A (zh) 2017-12-04 2017-12-04 Android组件测试用例生成方法和装置

Country Status (1)

Country Link
CN (1) CN107967210A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918447A (zh) * 2021-09-03 2022-01-11 荣耀终端有限公司 一种应用测试方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104834862A (zh) * 2015-03-25 2015-08-12 南京大学 一种安卓权限提升攻击的全面静态分析系统
CN105095753A (zh) * 2014-05-21 2015-11-25 腾讯科技(深圳)有限公司 广播安全检测方法、装置
CN105224869A (zh) * 2014-06-12 2016-01-06 腾讯科技(深圳)有限公司 组件测试方法和装置
CN105389515A (zh) * 2015-10-28 2016-03-09 上海斐讯数据通信技术有限公司 一种基于权限的安全监测方法、系统及移动终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095753A (zh) * 2014-05-21 2015-11-25 腾讯科技(深圳)有限公司 广播安全检测方法、装置
CN105224869A (zh) * 2014-06-12 2016-01-06 腾讯科技(深圳)有限公司 组件测试方法和装置
CN104834862A (zh) * 2015-03-25 2015-08-12 南京大学 一种安卓权限提升攻击的全面静态分析系统
CN105389515A (zh) * 2015-10-28 2016-03-09 上海斐讯数据通信技术有限公司 一种基于权限的安全监测方法、系统及移动终端

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918447A (zh) * 2021-09-03 2022-01-11 荣耀终端有限公司 一种应用测试方法及电子设备

Similar Documents

Publication Publication Date Title
Al-Refaie et al. Evaluating measurement and process capabilities by GR&R with four quality measures
CN106874187B (zh) 代码覆盖率收集方法和装置
CN105446874B (zh) 一种资源配置文件的检测方法和装置
CN109522228B (zh) 接口自动化测试数据构造方法、装置、平台及存储介质
US9589134B2 (en) Remediation of security vulnerabilities in computer software
US20140156572A1 (en) Automatic identification of information useful for generation-based functional verification
CN105095753B (zh) 广播安全检测方法、装置
CN105190610A (zh) 社交网络隐私审核器
WO2016119755A1 (zh) 一种集成电路检测方法、装置及系统
EP3671512B1 (en) Automated software vulnerability determination
CN110990295B (zh) 测试用例的验证方法、装置及电子设备
CN107967210A (zh) Android组件测试用例生成方法和装置
CN107632909B (zh) 用于自动测试设备功能的方法及系统
CN112349431B (zh) 药物警戒体系健康指数生成方法、系统和计算机可读介质
US20130275939A1 (en) Efficient file system object-based deduplication
Needleman et al. Failure-to-rescue: comparing definitions to measure quality of care
US7188275B2 (en) Method of verifying a monitoring and responsive infrastructure of a system
CN105653445A (zh) 一种满足do-178c测试结果的实现方法
US11822673B2 (en) Guided micro-fuzzing through hybrid program analysis
CN114036068A (zh) 基于隐私安全的更新检测方法、装置、设备及存储介质
CN110888809B (zh) 一种测试任务的风险预测方法及装置
Bress Heuristics for managing trainable binary inspection systems
CN113342600A (zh) 一种程序依赖插件的监测方法及装置
US20150095891A1 (en) Eliminating redundant interactions when testing computer software applications
CN112035315A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180427

RJ01 Rejection of invention patent application after publication