CN109408368A - 一种测试辅助信息的输出方法、存储介质和服务器 - Google Patents
一种测试辅助信息的输出方法、存储介质和服务器 Download PDFInfo
- Publication number
- CN109408368A CN109408368A CN201811022617.8A CN201811022617A CN109408368A CN 109408368 A CN109408368 A CN 109408368A CN 201811022617 A CN201811022617 A CN 201811022617A CN 109408368 A CN109408368 A CN 109408368A
- Authority
- CN
- China
- Prior art keywords
- app
- system resource
- measured
- existing
- resource
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
本发明涉及软件测试技术领域,提出一种测试辅助信息的输出方法、存储介质和服务器。本发明提出的测试辅助信息的输出方法,首先结合UML建模工具和代码扫描工具对待测APP的配置文件进行处理,从而确定所述待测APP需要使用的系统资源;接着根据预先构建的系统资源使用表以及所述待测APP需要使用的系统资源,确定与所述待测APP产生系统资源冲突的现有APP;最后根据与所述待测APP产生系统资源冲突的现有APP构建并输出测试辅助信息。测试人员在获得该测试辅助信息之后,即可准确地获知哪些现有APP会与待测APP产生资源冲突,从而能够有针对性地设计出准确的测试用例。
Description
技术领域
本发明涉及软件测试技术领域,尤其涉及一种测试辅助信息的输出方法、存储介质和服务器。
背景技术
在手机APP上有一类测试叫做交互测试,其目的是确定不同的APP之间相互在系统资源上有什么冲突,以确保APP在发生资源冲突时能有正常的运转行为。资源冲突的类型有很多,主要包含存储卡读写、蓝牙传输、音视频编解码等,常见的测试设计方法是测试人员依赖于个人经验做分析然后设计出测试用例,然而采用这种方法过于依赖测试人员的测试经验,难以确保获得准确的测试用例。
发明内容
有鉴于此,本发明实施例提供了一种测试辅助信息的输出方法、存储介质和服务器,测试人员以本方法输出的测试辅助信息作为参照,能够设计出更准确的测试用例。
本发明实施例的第一方面,提供了一种测试辅助信息的输出方法,包括:
获取待测APP的配置文件;
解析所述配置文件,得到所述待测APP包含的组件信息;
使用UML建模工具获取所述组件信息对应的函数调用关系;
使用代码扫描工具对所述函数调用关系进行扫描,并根据扫描结果确定所述待测APP需要使用的系统资源;
根据预先构建的系统资源使用表以及所述待测APP需要使用的系统资源,确定与所述待测APP产生系统资源冲突的现有APP,所述系统资源使用表记录各个系统资源与各个现有APP之间的对应关系;
根据与所述待测APP产生系统资源冲突的现有APP构建并输出测试辅助信息。
本发明实施例的第二方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如本发明实施例的第一方面提出的测试辅助信息的输出方法的步骤。
本发明实施例的第三方面,提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:
获取待测APP的配置文件;
解析所述配置文件,得到所述待测APP包含的组件信息;
使用UML建模工具获取所述组件信息对应的函数调用关系;
使用代码扫描工具对所述函数调用关系进行扫描,并根据扫描结果确定所述待测APP需要使用的系统资源;
根据预先构建的系统资源使用表以及所述待测APP需要使用的系统资源,确定与所述待测APP产生系统资源冲突的现有APP,所述系统资源使用表记录各个系统资源与各个现有APP之间的对应关系;
根据与所述待测APP产生系统资源冲突的现有APP构建并输出测试辅助信息。
本发明实施例首先结合UML建模工具和代码扫描工具对待测APP的配置文件进行处理,从而确定所述待测APP需要使用的系统资源;接着根据预先构建的系统资源使用表以及所述待测APP需要使用的系统资源,确定与所述待测APP产生系统资源冲突的现有APP;最后根据与所述待测APP产生系统资源冲突的现有APP构建并输出测试辅助信息。测试人员在获得该测试辅助信息之后,即可准确地获知哪些现有APP会与待测APP产生资源冲突,从而能够有针对性地设计出准确的测试用例。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种测试辅助信息的输出方法的第一个实施例的流程图;
图2是本发明实施例提供的一种测试辅助信息的输出方法的第二个实施例的流程图;
图3是本发明实施例提供的一种测试辅助信息的输出装置的一个实施例的结构图;
图4是本发明实施例提供的一种服务器的示意图。
具体实施方式
本发明实施例提供了一种测试辅助信息的输出方法、存储介质和服务器,测试人员以本方法输出的测试辅助信息作为参照,能够设计出更准确的测试用例。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中一种测试辅助信息的输出方法的第一个实施例包括:
101、获取待测APP的配置文件;
首先,获取待测APP的配置文件。所述待测APP指需要执行交互测试的应用程序,对于安卓系统的应用程序,所述配置文件可以是AndroidManifest.xml文件,AndroidManifest.xml文件是整个应用程序的信息描述文件,定义了应用程序中包含的Activity,Service,Contentprovider和BroadcastReceiver等组件信息。每个应用程序在根目录下必须包含一个AndroidManifest.xml文件,且文件名不能修改。
102、解析所述配置文件,得到所述待测APP包含的组件信息;
在得到待测APP的配置文件之后,解析所述配置文件,得到所述待测APP包含的组件信息。比如,对于配置文件AndroidManifest.xml,通过解析得到其包含的一个Activity组件信息如下所示:
103、使用UML建模工具获取所述组件信息对应的函数调用关系;
在得到所述待测APP包含的组件信息之后,使用UML建模工具获取所述组件信息对应的函数调用关系。UML工具是基于统一建模语言的建模工具,比如Trufun Plato,Rational Rose,PowerDesigner,Jude,StarUML等。在具体操作中,可以基于UML工具以一个组件信息(activity或service)为入口,对该组件信息的函数调用关系输出一个模型,然后遍历每个组件信息获得各自的函数调用关系。
104、使用代码扫描工具对所述函数调用关系进行扫描,并根据扫描结果确定所述待测APP需要使用的系统资源;
在获得所述组件信息对应的函数调用关系之后,使用代码扫描工具对所述函数调用关系进行扫描,并根据扫描结果确定所述待测APP需要使用的系统资源。具体的,可以使用现有比较主流的Findbugs、Android Lint、PMD等代码扫描工具,对各个组件信息的函数调用关系进行扫描,根据扫描的结果可以确定各个组件所需使用的系统资源,也即所述待测APP需要使用的系统资源。
105、根据预先构建的系统资源使用表以及所述待测APP需要使用的系统资源,确定与所述待测APP产生系统资源冲突的现有APP;
在确定所述待测APP需要使用的系统资源之后,根据预先构建的系统资源使用表以及所述待测APP需要使用的系统资源,确定与所述待测APP产生系统资源冲突的现有APP。所述系统资源使用表记录各个系统资源与各个现有APP之间的对应关系,举例如表1所示:
表1
系统资源 | 现有APP |
屏幕 | 电话,闹钟,弹窗事件等 |
内置存储器 | android自带下载控制器等 |
视频解码器 | 视频播放器,直播软件 |
音频通道 | 扬声器,蓝牙 |
wifi | wifi控制器 |
按键 | 拍照应用等 |
网络制式 | CDMA,WCDMA,GSM…… |
图片解码器 | 图片浏览器等 |
在表1中,现有APP“拍照应用”与系统资源“按键”对应,表明现有APP“拍照应用”需要使用“按键”这个系统资源,以此类推。
具体的,步骤105可以包括:
1051、从所述系统资源使用表中查询所述待测APP需要使用的系统资源所对应的现有APP;
1052、将查询得到的现有APP确定为与所述待测APP产生系统资源冲突的现有APP。
以表1所述的系统资源使用表为例,若所述待测APP需要使用的系统资源包括wifi、音频通道和按键,则根据表1可确定与所述待测APP产生系统资源冲突的现有APP为同样需要使用wifi、音频通道或按键的APP,也即扬声器、蓝牙、wifi控制器和拍照应用。
进一步的,在步骤104之后,还可以包括:
将所述待测APP的名称以及所述待测APP需要使用的系统资源添加至所述系统资源使用表中。
通过这样设置,能够在测试各个待测APP的过程中对所述系统资源使用表进行更新,完善和补充新的现有APP信息(某个待测APP测试完成后,成为一个新的现有APP)。
具体的,上述操作可以包括以下步骤:
(1)将所述待测APP需要使用的系统资源划分为第一类系统资源和第二类系统资源,所述第一类系统资源为所述系统资源使用表中已有的系统资源,所述第二类系统资源为所述系统资源使用表中未有的系统资源;
(2)将所述待测APP的名称添加至所述系统资源使用表中与所述第一类系统资源对应的现有APP处;
(3)将所述待测APP的名称和所述第二类系统资源的名称添加至所述系统资源使用表中新增的区域内。
同样以表1为例,若所述待测APP需要使用的系统资源为音频通道、wifi、按键和摄像头,则第一类系统资源为音频通道、wifi和按键,第二类系统资源为摄像头。将所述待测APP的名称添加至所述系统资源使用表中与所述第一类系统资源对应的现有APP处,也即在蓝牙、wifi控制器和拍照应用的栏目内添加所述待测APP的名称。将所述待测APP的名称和所述第二类系统资源的名称添加至所述系统资源使用表中新增的区域内,具体可以添加一行,该行的第一列添加系统资源“摄像头”,第二列添加所述待测APP的名称,以此类推。
106、根据与所述待测APP产生系统资源冲突的现有APP构建并输出测试辅助信息。
在确定与所述待测APP产生系统资源冲突的现有APP之后,根据与所述待测APP产生系统资源冲突的现有APP构建并输出测试辅助信息。测试人员通过该测试辅助信息即可获知哪些现有APP可能与待测APP产生资源冲突,从而能够更准确地设计交互测试的测试用例。
本发明实施例首先结合UML建模工具和代码扫描工具对待测APP的配置文件进行处理,从而确定所述待测APP需要使用的系统资源;接着根据预先构建的系统资源使用表以及所述待测APP需要使用的系统资源,确定与所述待测APP产生系统资源冲突的现有APP;最后根据与所述待测APP产生系统资源冲突的现有APP构建并输出测试辅助信息。测试人员在获得该测试辅助信息之后,即可准确地获知哪些现有APP会与待测APP产生资源冲突,从而能够有针对性地设计出准确的测试用例。
请参阅图2,本发明实施例中一种测试辅助信息的输出方法的第二个实施例包括:
201、获取待测APP的配置文件;
202、解析所述配置文件,得到所述待测APP包含的组件信息;
203、使用UML建模工具获取所述组件信息对应的函数调用关系;
步骤201-203与步骤101-103相同,具体可参照步骤101-103的相关说明。
204、采用Android Lint工具的permission扫描方式对所述函数调用关系进行扫描,得到所述待测APP包含的各个组件的功能描述信息;
在获得所述组件信息对应的函数调用关系之后,采用Android Lint工具的permission扫描方式对所述函数调用关系进行扫描,得到所述待测APP包含的各个组件的功能描述信息。Android Lint是SDK Tools 16(ADT 16)开始引入的一个代码扫描工具,通过对代码进行静态分析,可以帮助开发者发现代码质量问题和提出一些改进建议。除了检查Android项目源码中潜在的错误,对于代码的正确性、安全性、性能、易用性、便利性和国际化方面也会作出检查。具体的,扫描得到的各个组件的功能描述信息以及对应的Permission信息(即对组件信息的函数调用关系扫描后得到的内容)可以如表2所示:
表2
功能描述信息 | Permission信息 |
删除缓存文件 | Android.permission.DELETE_CACHE_FILES |
删除应用 | Android.permission.DELETE_PACKAGES |
电源管理 | Android.permission.DEVICE_POWER |
改变WIFI状态 | Android.permission.CHANGE_WIFI_STATE |
使用闪光灯 | Android.permission.FLASHLIGHT |
访问网络 | Android.permission.INTERNET |
… | … |
205、提取所述功能描述信息中的系统资源名称;
在得到所述待测APP包含的各个组件的功能描述信息之后,提取所述功能描述信息中的系统资源名称。具体的,可以预先构建一些系统资源名称的关键词,然后在所述功能描述信息中检测这些关键词。比如,对表2的功能描述信息“使用闪光灯”进行检测,能够提取出系统资源名称“闪光灯”。
206、根据提取到的系统资源名称确定所述待测APP需要使用的系统资源;
然后,根据提取到的系统资源名称确定所述待测APP需要使用的系统资源。提取到的系统资源名称即所述待测APP的组件所需使用的系统资源,也即所述待测APP需要使用的系统资源。
207、根据预先构建的系统资源使用表以及所述待测APP需要使用的系统资源,确定与所述待测APP产生系统资源冲突的现有APP;
步骤207与步骤105相同,具体可参照步骤105的相关说明。
208、分别统计各个系统资源名称被提取到的次数;
另外,在提取所述功能描述信息中的系统资源名称的时候,分别统计各个系统资源名称被提取到的次数。由于每个功能描述信息只会提取一次系统资源名称,故统计得到的某个系统资源名称被提取到的次数,实质上为包含该系统资源名称的功能描述信息的个数,也即使用到该系统资源的所述待测APP的组件的个数。
209、根据所述各个系统资源名称被提取到的次数以及所述系统资源使用表,确定所述待测APP与各个现有APP之间的资源冲突级别;
在统计得到各个系统资源名称被提取到的次数之后,根据所述各个系统资源名称被提取到的次数以及所述系统资源使用表,确定所述待测APP与各个现有APP之间的资源冲突级别。资源冲突级别越高,表示待测APP和现有APP之间产生资源冲突的可能性越大,应用运行时发生资源冲突的次数越频繁。所述各个系统资源名称被提取到的次数可用于表示所述待测APP使用各个系统资源的频繁程度,若某个系统资源名称被提取到的次数越多,则待测APP与共用该系统资源的现有APP之间的资源冲突级别越高。
具体的,所述待测APP与任意的一个目标现有APP之间的资源冲突级别可以通过以下步骤确定:
(1)根据所述系统资源使用表确定所述待测APP和所述目标现有APP之间产生冲突的目标系统资源;
(2)确定所述目标系统资源的名称被提取到的目标次数;
(3)从预先构建的冲突级别对照表中查询与所述目标次数对应的资源冲突级别;
(4)将查询得到的资源冲突级别作为所述待测APP与所述目标现有APP之间的资源冲突级别。
待测APP和目标现有APP之间产生冲突的目标系统资源即所述系统资源使用表中两个APP均使用到的系统资源。在确定所述目标系统资源的名称被提取到的目标次数之后,从预先构建的冲突级别对照表中查询与所述目标次数对应的资源冲突级别,最后将查询得到的资源冲突级别作为所述待测APP与所述目标现有APP之间的资源冲突级别。比如,若在该冲突级别对照表中,次数0对应资源冲突级别0,次数1-3对应资源冲突级别1,次数4-10对应资源冲突级别2,次数大于10对应资源冲突级别3,所述目标次数为3,则判定待测APP与所述目标现有APP之间的资源冲突级别为1,以此类推。
210、根据与所述待测APP产生系统资源冲突的现有APP构建并输出测试辅助信息;
步骤210与步骤106相同,具体可参照步骤106的相关说明。
211、将所述待测APP与各个现有APP之间的资源冲突级别作为测试辅助信息输出。
在确定所述待测APP与各个现有APP之间的资源冲突级别之后,将所述待测APP与各个现有APP之间的资源冲突级别作为测试辅助信息输出。测试人员在获得该测试辅助信息后,能够获知待测APP与各个现有APP之间产生资源冲突的可能性大小,从而更有针对性地设计测试用例。
本实施例采用Android Lint工具的permission扫描方式对所述函数调用关系进行扫描,得到所述待测APP包含的各个组件的功能描述信息;提取所述功能描述信息中的系统资源名称;分别统计各个系统资源名称被提取到的次数;根据所述各个系统资源名称被提取到的次数以及所述系统资源使用表,确定所述待测APP与各个现有APP之间的资源冲突级别;将所述待测APP与各个现有APP之间的资源冲突级别作为测试辅助信息输出。与本发明的第一个实施例相比,本实施例还能输出待测APP与各个现有APP之间的资源冲突级别,测试人员在获取到该资源冲突级别后,能够获知待测APP与各个现有APP之间产生资源冲突的可能性大小,从而更有针对性地设计测试用例。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上面主要描述了一种测试辅助信息的输出方法,下面将对一种测试辅助信息的输出装置进行详细描述。
请参阅图3,本发明实施例中一种测试辅助信息的输出装置的一个实施例包括:
配置文件获取模块301,用于获取待测APP的配置文件;
配置文件解析模块302,用于解析所述配置文件,得到所述待测APP包含的组件信息;
函数调用关系获取模块303,用于使用UML建模工具获取所述组件信息对应的函数调用关系;
系统资源确定模块304,用于使用代码扫描工具对所述函数调用关系进行扫描,并根据扫描结果确定所述待测APP需要使用的系统资源;
冲突应用确定模块305,用于根据预先构建的系统资源使用表以及所述待测APP需要使用的系统资源,确定与所述待测APP产生系统资源冲突的现有APP,所述系统资源使用表记录各个系统资源与各个现有APP之间的对应关系;
测试辅助信息输出模块306,用于根据与所述待测APP产生系统资源冲突的现有APP构建并输出测试辅助信息。
进一步的,所述系统资源确定模块可以包括:
扫描单元,用于采用Android Lint工具的permission扫描方式对所述函数调用关系进行扫描,得到所述待测APP包含的各个组件的功能描述信息;
资源名称提取单元,用于提取所述功能描述信息中的系统资源名称;
系统资源确定单元,用于根据提取到的系统资源名称确定所述待测APP需要使用的系统资源。
更进一步的,所述系统资源确定模块还可以包括:
提取次数统计单元,用于分别统计各个系统资源名称被提取到的次数;
冲突级别确定单元,用于根据所述各个系统资源名称被提取到的次数以及所述系统资源使用表,确定所述待测APP与各个现有APP之间的资源冲突级别;
所述测试辅助信息输出模块还可以用于:
将所述待测APP与各个现有APP之间的资源冲突级别作为测试辅助信息输出。
更进一步的,目标现有APP为任意的一个现有APP,所述冲突级别确定单元可以包括:
冲突系统资源确定子单元,用于根据所述系统资源使用表确定所述待测APP和所述目标现有APP之间产生冲突的目标系统资源;
名称提取次数确定子单元,用于确定所述目标系统资源的名称被提取到的目标次数;
冲突级别查询子单元,用于从预先构建的冲突级别对照表中查询与所述目标次数对应的资源冲突级别;
冲突级别确定子单元,用于将查询得到的资源冲突级别作为所述待测APP与所述目标现有APP之间的资源冲突级别。
进一步的,所述冲突应用确定模块可以包括:
现有应用查询单元,用于从所述系统资源使用表中查询所述待测APP需要使用的系统资源所对应的现有APP;
冲突应用确定单元,用于将查询得到的现有APP确定为与所述待测APP产生系统资源冲突的现有APP。
进一步的,所述测试辅助信息的输出装置还可以包括:
信息添加模块,用于将所述待测APP的名称以及所述待测APP需要使用的系统资源添加至所述系统资源使用表中。
更进一步的,所述信息添加模块可以包括:
资源分类单元,用于将所述待测APP需要使用的系统资源划分为第一类系统资源和第二类系统资源,所述第一类系统资源为所述系统资源使用表中已有的系统资源,所述第二类系统资源为所述系统资源使用表中未有的系统资源;
第一信息添加单元,用于将所述待测APP的名称添加至所述系统资源使用表中与所述第一类系统资源对应的现有APP处;
第二信息添加单元,用于将所述待测APP的名称和所述第二类系统资源的名称添加至所述系统资源使用表中新增的区域内。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如图1或图2表示的任意一种测试辅助信息的输出方法的步骤。
本发明实施例还提供一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如图1或图2表示的任意一种测试辅助信息的输出方法的步骤。
图4是本发明一实施例提供的服务器的示意图。如图4所示,该实施例的服务器4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机可读指令42。所述处理器40执行所述计算机可读指令42时实现上述各个测试辅助信息的输出方法实施例中的步骤,例如图1所示的步骤101至106。或者,所述处理器40执行所述计算机可读指令42时实现上述各装置实施例中各模块/单元的功能,例如图3所示模块301至306的功能。
示例性的,所述计算机可读指令42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机可读指令42在所述服务器4中的执行过程。
所述服务器4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述服务器4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是服务器4的示例,并不构成对服务器4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器4还可以包括输入输出设备、网络接入设备、总线等。
所述处理器40可以是中央处理单元(CentraL Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitaL SignaL Processor,DSP)、专用集成电路(AppLication Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieLd-ProgrammabLe Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述服务器4的内部存储单元,例如服务器4的硬盘或内存。所述存储器41也可以是所述服务器4的外部存储设备,例如所述服务器4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure DigitaL,SD)卡,闪存卡(FLash Card)等。进一步地,所述存储器41还可以既包括所述服务器4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机可读指令以及所述服务器所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnLyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种测试辅助信息的输出方法,其特征在于,包括:
获取待测APP的配置文件;
解析所述配置文件,得到所述待测APP包含的组件信息;
使用UML建模工具获取所述组件信息对应的函数调用关系;
使用代码扫描工具对所述函数调用关系进行扫描,并根据扫描结果确定所述待测APP需要使用的系统资源;
根据预先构建的系统资源使用表以及所述待测APP需要使用的系统资源,确定与所述待测APP产生系统资源冲突的现有APP,所述系统资源使用表记录各个系统资源与各个现有APP之间的对应关系;
根据与所述待测APP产生系统资源冲突的现有APP构建并输出测试辅助信息。
2.根据权利要求1所述的测试辅助信息的输出方法,其特征在于,所述使用代码扫描工具对所述函数调用关系进行扫描,并根据扫描结果确定所述待测APP需要使用的系统资源包括:
采用Android Lint工具的permission扫描方式对所述函数调用关系进行扫描,得到所述待测APP包含的各个组件的功能描述信息;
提取所述功能描述信息中的系统资源名称;
根据提取到的系统资源名称确定所述待测APP需要使用的系统资源。
3.根据权利要求2所述的测试辅助信息的输出方法,其特征在于,在提取所述功能描述信息中的系统资源名称之后,还包括:
分别统计各个系统资源名称被提取到的次数;
根据所述各个系统资源名称被提取到的次数以及所述系统资源使用表,确定所述待测APP与各个现有APP之间的资源冲突级别;
将所述待测APP与各个现有APP之间的资源冲突级别作为测试辅助信息输出。
4.根据权利要求3所述的测试辅助信息的输出方法,其特征在于,所述待测APP与任意的一个目标现有APP之间的资源冲突级别通过以下步骤确定:
根据所述系统资源使用表确定所述待测APP和所述目标现有APP之间产生冲突的目标系统资源;
确定所述目标系统资源的名称被提取到的目标次数;
从预先构建的冲突级别对照表中查询与所述目标次数对应的资源冲突级别;
将查询得到的资源冲突级别作为所述待测APP与所述目标现有APP之间的资源冲突级别。
5.根据权利要求1所述的测试辅助信息的输出方法,其特征在于,所述确定与所述待测APP产生系统资源冲突的现有APP包括:
从所述系统资源使用表中查询所述待测APP需要使用的系统资源所对应的现有APP;
将查询得到的现有APP确定为与所述待测APP产生系统资源冲突的现有APP。
6.根据权利要求1至5中任一项所述的测试辅助信息的输出方法,其特征在于,在确定所述待测APP需要使用的系统资源之后,还包括:
将所述待测APP的名称以及所述待测APP需要使用的系统资源添加至所述系统资源使用表中。
7.根据权利要求6所述的测试辅助信息的输出方法,其特征在于,所述将所述待测APP的名称以及所述待测APP需要使用的系统资源添加至所述系统资源使用表中包括:
将所述待测APP需要使用的系统资源划分为第一类系统资源和第二类系统资源,所述第一类系统资源为所述系统资源使用表中已有的系统资源,所述第二类系统资源为所述系统资源使用表中未有的系统资源;
将所述待测APP的名称添加至所述系统资源使用表中与所述第一类系统资源对应的现有APP处;
将所述待测APP的名称和所述第二类系统资源的名称添加至所述系统资源使用表中新增的区域内。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的测试辅助信息的输出方法的步骤。
9.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如下步骤:
获取待测APP的配置文件;
解析所述配置文件,得到所述待测APP包含的组件信息;
使用UML建模工具获取所述组件信息对应的函数调用关系;
使用代码扫描工具对所述函数调用关系进行扫描,并根据扫描结果确定所述待测APP需要使用的系统资源;
根据预先构建的系统资源使用表以及所述待测APP需要使用的系统资源,确定与所述待测APP产生系统资源冲突的现有APP,所述系统资源使用表记录各个系统资源与各个现有APP之间的对应关系;
根据与所述待测APP产生系统资源冲突的现有APP构建并输出测试辅助信息。
10.根据权利要求9所述的服务器,其特征在于,所述使用代码扫描工具对所述函数调用关系进行扫描,并根据扫描结果确定所述待测APP需要使用的系统资源包括:
采用Android Lint工具的permission扫描方式对所述函数调用关系进行扫描,得到所述待测APP包含的各个组件的功能描述信息;
提取所述功能描述信息中的系统资源名称;
根据提取到的系统资源名称确定所述待测APP需要使用的系统资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811022617.8A CN109408368B (zh) | 2018-09-03 | 2018-09-03 | 一种测试辅助信息的输出方法、存储介质和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811022617.8A CN109408368B (zh) | 2018-09-03 | 2018-09-03 | 一种测试辅助信息的输出方法、存储介质和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109408368A true CN109408368A (zh) | 2019-03-01 |
CN109408368B CN109408368B (zh) | 2023-06-09 |
Family
ID=65464477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811022617.8A Active CN109408368B (zh) | 2018-09-03 | 2018-09-03 | 一种测试辅助信息的输出方法、存储介质和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408368B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274133A (zh) * | 2020-01-17 | 2020-06-12 | Oppo广东移动通信有限公司 | 一种静态扫描方法、装置及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697144A (zh) * | 2009-10-28 | 2010-04-21 | 中兴通讯股份有限公司 | 一种软件测试方法及测试装置 |
CN101976209A (zh) * | 2010-05-18 | 2011-02-16 | 卡巴斯基实验室封闭式股份公司 | 相冲突的应用程序的适应性配置 |
US20140245067A1 (en) * | 2013-02-26 | 2014-08-28 | International Business Machines Corporation | Using linked data to determine package quality |
CN108255673A (zh) * | 2017-12-29 | 2018-07-06 | 东软集团股份有限公司 | 应用程序占用资源的检测方法、装置和存储介质 |
-
2018
- 2018-09-03 CN CN201811022617.8A patent/CN109408368B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697144A (zh) * | 2009-10-28 | 2010-04-21 | 中兴通讯股份有限公司 | 一种软件测试方法及测试装置 |
CN101976209A (zh) * | 2010-05-18 | 2011-02-16 | 卡巴斯基实验室封闭式股份公司 | 相冲突的应用程序的适应性配置 |
US20140245067A1 (en) * | 2013-02-26 | 2014-08-28 | International Business Machines Corporation | Using linked data to determine package quality |
CN108255673A (zh) * | 2017-12-29 | 2018-07-06 | 东软集团股份有限公司 | 应用程序占用资源的检测方法、装置和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274133A (zh) * | 2020-01-17 | 2020-06-12 | Oppo广东移动通信有限公司 | 一种静态扫描方法、装置及计算机可读存储介质 |
CN111274133B (zh) * | 2020-01-17 | 2023-07-25 | Oppo广东移动通信有限公司 | 一种静态扫描方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109408368B (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kagdi et al. | Blending conceptual and evolutionary couplings to support change impact analysis in source code | |
US20150341771A1 (en) | Hotspot aggregation method and device | |
Yu et al. | Revisiting the description-to-behavior fidelity in android applications | |
CN111881011A (zh) | 日志管理方法、平台、服务器及存储介质 | |
CN111324510A (zh) | 日志处理方法、装置及电子设备 | |
CN115827903A (zh) | 媒体信息的违规检测方法、装置、电子设备及存储介质 | |
Yu et al. | Localizing function errors in mobile apps with user reviews | |
CN112307318A (zh) | 一种内容发布方法、系统及装置 | |
EP3108400B1 (en) | Virus signature matching method and apparatus | |
CN107547944A (zh) | 接口实现方法及装置、机顶盒 | |
CN111221690B (zh) | 针对集成电路设计的模型确定方法、装置及终端 | |
CN109408368A (zh) | 一种测试辅助信息的输出方法、存储介质和服务器 | |
WO2017092355A1 (zh) | 一种数据服务系统 | |
US20230237019A1 (en) | Terminal and method for storing and parsing log data | |
WO2023236257A1 (zh) | 文档搜索平台、搜索方法、装置、电子设备及存储介质 | |
CN113672233B (zh) | 一种基于Redfish的服务器带外管理方法、装置及设备 | |
CN115757174A (zh) | 一种数据库的差异检测方法及装置 | |
CN109992596A (zh) | 数据处理方法及装置 | |
CN114528313A (zh) | 数据处理方法、装置和电子设备 | |
CN115033590A (zh) | 一种多域数据融合的方法、装置和存储介质 | |
US9251253B2 (en) | Expeditious citation indexing | |
CN114064712A (zh) | 数据访问方法、装置、电子设备及计算机可读存储介质 | |
CN113342647A (zh) | 一种测试数据的生成方法及装置 | |
CN113094283A (zh) | 一种数据获取方法、装置、设备及存储介质 | |
CN112783758A (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 |