CN114003495A - 无人售卖柜的安卓应用重构方法、装置及存储介质 - Google Patents
无人售卖柜的安卓应用重构方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114003495A CN114003495A CN202111270526.8A CN202111270526A CN114003495A CN 114003495 A CN114003495 A CN 114003495A CN 202111270526 A CN202111270526 A CN 202111270526A CN 114003495 A CN114003495 A CN 114003495A
- Authority
- CN
- China
- Prior art keywords
- module
- scheme
- preset
- perfected
- testing
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012360 testing method Methods 0.000 claims abstract description 128
- 230000006870 function Effects 0.000 claims abstract description 77
- 238000005457 optimization Methods 0.000 claims description 25
- 238000004458 analytical method Methods 0.000 claims description 14
- 241000282693 Cercopithecidae Species 0.000 claims description 13
- 238000012795 verification Methods 0.000 description 15
- 238000012544 monitoring process Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
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
-
- 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/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)
Abstract
本申请提供了一种无人售卖柜的安卓应用重构方法、装置及存储介质,该方法包括:解析无人售卖柜的各个模块的功能,并根据预设的各个模块的测试方案,确定待完善的目标模块;根据预设的各个模块的测试方案,优化待完善的目标模块;根据预设的各个模块的测试方案,优化关联模块;所述关联模块为所述无人售卖柜的所有模块中待完善的目标模块以外的其它模块。本申请能够保证重构后的方案与重构前的逻辑与功能一致。
Description
技术领域
本发明涉及智能终端技术领域,特别涉及一种无人售卖柜的安卓应用重构方法、装置及存储介质。
背景技术
随着无人智能终端中智能操作系统的发展,无人终端产业也开始了从传统的机械售卖控制技术向无人智能终端操作的转变。
安卓系统是一个开放源代码的移动操作系统平台,近年来它占据了无人智能终端市场的极大份额,应用开发者开发了大量的在无人智能终端设备上运行的安卓应用。某些安卓应用使用了智能终端设备上的一些独有资源,例如传感器,以实现特定的功能,但是无人智能终端设备往往无法具备所有的传感器,因此使用了某些特定传感器的应用在部分智能终端设备上就无法正常工作。这就需要我们开发在无人智能终端设备上运行的安卓应用的框架,需要能够拓展和支持不能的传感器等硬件,所以建立一种面向重力售卖机的安卓应用的重构方法对我们来说意义重大,通过分析目前无人智能终端的功能,以及不同硬件厂家和不同运营商的差异,通过抽象差异化需求,从而对目前的安卓应用进行重构,拓展目前安卓应用对不同硬件厂家以及不同运营商的兼容性。
目前已有的专利,公开号:CN105573764A,名称:一种面向智能手表的安卓应用重构方法,该专利方案通过对原系统的功能、界面、架构以及接口进行分析,然后分别从应用架构、应用接口、应用界面、应用参数四个层面进行调整和优化,从而实现快速的将安卓应用快速重构到面向智能手表的应用。CN105573764A只是标准化了重构的流程,即分析原有方案,提供优化和调整方案,容易在重构过程中缺失部分功能,此外,只是在安卓应用的基础上,添加缺失的模块,未考虑系统整体功能。
目前已有的专利,公开号:CN104731654A,名称:一种针对安卓应用的迁移重构及支持系统,该专利方案通过对原有的方案进行分析,然后将与传感器相关的计算模块独立处理,通过在云端以及设备端同步传感器信息模块,从而实现安卓应用对不同传感器的快速适配,实现安卓应用对不同传感器的兼容。CN104731654A只是标准化了重构的流程,即分析原有方案,提供优化和调整方案,容易在重构过程中缺失部分功能。此外,只是优化了部分,没有对整个系统做一个优化方案,不利于后期继续重构。
发明内容
本发明提供了一种无人售卖柜的安卓应用重构方法、装置及存储介质,能够保证重构后的方案与重构前的逻辑与功能一致。
第一方面,本发明提供一种无人售卖柜的安卓应用重构方法,包括:解析无人售卖柜的各个模块的功能,并根据预设的各个模块的测试方案,确定待完善的目标模块;根据预设的各个模块的测试方案,优化待完善的目标模块;根据预设的各个模块的测试方案,优化关联模块;所述关联模块为所述无人售卖柜的所有模块中待完善的目标模块以外的其它模块。
进一步地,确定待完善的目标模块的步骤,包括:根据预设的各个模块的测试方案对无人售卖柜的各个模块的功能进行测试,并根据测试结果确定待完善的目标模块。
进一步地,优化待完善的目标模块的步骤,包括:根据预设的各个模块的测试方案,测试所述待完善的目标模块在执行预设的完善方案后的功能和逻辑;当所述待完善的目标模块在执行预设的完善方案后的功能和逻辑与所述待完善的目标模块在执行预设的完善方案前的功能和逻辑一致时,确定待完善的目标模块优化完成。
进一步地,优化关联模块的步骤包括:根据预设的各个模块的测试方案,测试所述关联模块在执行预设的拓展方案后的功能和逻辑;当所述关联模块在执行预设的拓展方案后的功能和逻辑与所述关联模块在执行预设的拓展方案前的功能和逻辑一致时,确定关联模块优化完成。
进一步地,所述测试方案由以下任一中自动化测试工具执行,所述自动化测试工具包括:Monkey、MonkeyRunner、UIAutomator以及Robotium。
第二方面,本发明提供一种无人售卖柜的安卓应用重构装置,包括:分析单元,用于解析无人售卖柜的各个模块的功能,并根据预设的各个模块的测试方案,确定待完善的目标模块;第一优化单元,用于根据预设的各个模块的测试方案,优化待完善的目标模块;第二优化单元,用于根据预设的各个模块的测试方案,优化关联模块;所述关联模块为所述无人售卖柜的所有模块中待完善的目标模块以外的其它模块。
进一步地,所述分析单元包括:第一测试子单元,用于根据预设的各个模块的测试方案对无人售卖柜的各个模块的功能进行测试;分析子单元,用于根据测试结果确定待完善的目标模块;
第一优化单元包括:第二测试子单元,用于根据预设的各个模块的测试方案,测试所述待完善的目标模块在执行预设的完善方案后的功能和逻辑;第二分析子单元,用于当所述待完善的目标模块在执行预设的完善方案后的功能和逻辑与所述待完善的目标模块在执行预设的完善方案前的功能和逻辑一致时,确定待完善的目标模块优化完成;
第二优化单元包括:第三测试子单元,用于根据预设的各个模块的测试方案,测试所述关联模块在执行预设的拓展方案后的功能和逻辑;第三分析子单元,用于当所述关联模块在执行预设的拓展方案后的功能和逻辑与所述关联模块在执行预设的拓展方案前的功能和逻辑一致时,确定关联模块优化完成。
进一步地,所述测试方案由以下任一中自动化测试工具执行,所述自动化测试工具包括:Monkey、MonkeyRunner、UIAutomator以及Robotium。
第三方面,本发明提供一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行所述的无人售卖柜的安卓应用重构方法。
第四方面,本发明提供一种无人售卖柜的安卓应用重构装置,包括:至少一个存储器和至少一个处理器;所述至少一个存储器,用于存储机器可读程序;所述至少一个处理器,用于调用所述机器可读程序,执行所述的无人售卖柜的安卓应用重构方法。
本发明的无人售卖柜的安卓应用重构方法及装置,通过根据预设的各个模块的测试方案,优化待完善的目标模块;以及根据预设的各个模块的测试方案,优化关联模块,能够在无人售卖柜在需要兼容不同的业务平台,以及兼容不同厂家的硬件时,快速提供重构的优化方案、测试验证方案以及对应的拓展方案,并且根据验证后的改善模块,确定了后续系统或者其他模块的拓展方案,同时测试验证模块会验证拓展方案,能够保证重构后的方案与重构前的逻辑与功能一致。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的无人售卖柜的安卓应用重构方法的流程图;
图2是本发明第二实施例提供的无人售卖柜的安卓应用重构方法流程图;
图3是本发明第三实施例提供的无人售卖柜的安卓应用重构装置的结构示意图;
图4是本发明第四实施例提供的无人售卖柜的安卓应用重构装置的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
如图1所示,本发明实施例提供了一种无人售卖柜的安卓应用重构方法,该方法可以包括以下步骤:
步骤101:解析无人售卖柜的各个模块的功能,并根据预设的各个模块的测试方案,确定待完善的目标模块;
步骤102:根据预设的各个模块的测试方案,优化待完善的目标模块;
步骤103:根据预设的各个模块的测试方案,优化关联模块;所述关联模块为所述无人售卖柜的所有模块中待完善的目标模块以外的其它模块。
本实施例通过根据预设的各个模块的测试方案,优化待完善的目标模块;以及根据预设的各个模块的测试方案,优化关联模块,能够在无人售卖柜在需要兼容不同的业务平台,以及兼容不同厂家的硬件时,快速提供重构的优化方案、测试验证方案以及对应的拓展方案,并且根据验证后的改善模块,确定了后续系统或者其他模块的拓展方案,同时测试验证模块会验证拓展方案,能够保证重构后的方案与重构前的逻辑与功能一致。
如图2所示的实施例提供了一种无人售卖柜的安卓应用重构方法的优选实施方式,该方法可以包括以下步骤:
步骤1、分析目前系统的各个模块的功能;
步骤2、制定各个模块的测试方案;
步骤3、找出目前有问题或者需要完善的模块;
步骤4、提供需要完善的模块的完善方案;
步骤5、实现改善方案;
步骤6、通过测试方案验证改善方案的逻辑和功能是否和改善前的方案一致,如果不一致则重复步骤4-6,如果一致则执行步骤7;
步骤7、根据完善方案确定其他模块的拓展方案;
步骤8、实现其他模块的拓展方案;
步骤9、通过测试方案验证拓展方案的逻辑和功能是否和拓展前的方案一致,如果不一致则重复步骤7-9,如果一致则重构结束。
具体测试可以参见现有的自动化测试框架,比如:Monkey是安卓SDK自带的测试工具,是一个命令行工具,可以运行在模拟器中或者实际设备中,它向系统发送伪随机的用户事件流(如按键输入,触摸屏输入,手势输入等),实现对正在开发的应用程序进行压力测试。由于测试事件和数据都是随机的,不能自定义,所以有很大的局限性。MonkeyRunner是安卓SDK提供的测试工具。严格意义上来说MonkeyRunner其实是一个Api工具包,比Monkey强大,可以编写测试脚本来自定义数据、事件。缺点是脚本(jython(java语言))用Python(Python(C语言))来写,对测试人员来说要求较高,有比较大的学习成本;使用By id/name/text方法操控(hierarchyviewer),执行速度太慢。典型应用:安装,卸载,启动Activity,点击X,Y坐标,发送按键事件,drag,截屏等。UIAutomator是安卓提供的自动化测试框架,基本上支持所有的安卓事件操作。是用来做UI测试的,也就是普通的手工测试,点击每个控件元素看看输出的结果是否符合预期。对比Instrumentation它不需要测试人员了解代码实现细节(可以用UiAutomatorviewer抓去App页面上的控件属性而不看源码)。能跨App(比如:很多App有选择相册、打开相机拍照,这就是跨App测试)。缺点是只支持SDK 16(安卓4.1)及以上,不支持Hybird App、WebApp。Robotium是基于Instrumentation的测试框架,主要针对安卓平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击,长按,滑动等)、查找和断言机制的API,能够对各种控件进行操作。Robotium结合安卓官方提供的测试框架达到对应用程序进行自动化测试。另外,Robotium 4.0版本已经支持对WebView的操作。Robotium对Activity,Dialog,Toast,Menu都是支持的。支持Native app、Hybird App。
具体地,MonkeyRunner可以为安卓测试提供的各种独特的功能,如多设备控制、功能测试、回归测试以及可扩展的自动化。具体描述如下:
1、多设备控制:monkeyrunner API可以跨多个设备或模拟器实施测试套件。可以在同一时间接上所有设备或一次启动全部模拟器,依据程序依次连接到每一个,然后运行一个或多个测试。也可以用程序启动一个配置好的模拟器,运行一个或多个测试,然后关闭模拟器。
2、功能测试:monkeyrunner可以为一个应用自动贯彻一次功能测试。您提供按键或触摸事件的输入数值,然后观察输出结果的截屏。
3、回归测试:monkeyrunner可以运行某个应用,并将其结果截屏与既定已知正确的结果截屏相比较,以此测试应用的稳定性。
4、可扩展的自动化:由于monkeyrunner是一个API工具包,我们可以开发基于python模块和程式的一整套系统,以此来控制安卓设备。除了使用monkeyrunner API,我们还可以使用标准的python os和ubprocess模块来调用安卓debug bridge这样的安卓工具。如ADB这样的安卓工具,也可以将自己写的类添加到monkeyrunner API中。
具体地,面向无人售卖柜的安卓应用重构方法的基本原则:
1、面向抽象的硬件层和业务层进行编程,即将详细的硬件进行抽象,比如门锁不具体到某一个厂家的锁,只抽象到门锁这一个阶段;
2、面向最小的硬件和最小的业务接口进行编程,即面向最小的操作进行编程,比如售卖机有开关门、读取传感器等功能,需要将开关门操作和读取传感器的操作进行接口分离;
3、面向新的厂家和新的业务开发,面向老的厂家和老的业务关闭,即如果这个厂家的硬件或者这个业务已经进行过适配,下次需要使用的时候,不需要修改之前的代码,如果需要增加新的功能,增加新的代码即可。
具体地,可以结合各种具体的场景,如无人售卖柜的门锁以及屏幕这两个硬件需要更新并兼容,场景如下:
1、根据待分析系统功能的框架设计图,分析目前系统各个模块的功能;
2、制定硬件模块、业务模块、基本数据单元模块、监控模块的测试验证方案;
3、为了兼容硬件,需要修改硬件模块;
4、根据改善方案和拓展方案对应的框架设计图,制定修改硬件模块的完善方案;
5、通过测试验证方案验证修改后的硬件模块的逻辑以及功能是否和完善前一致;
6、如果不一致则继续4-5的步骤,如果完善则根据修改后的硬件模块的完善方案,确定业务模块、基本数据单元模块、监控模块的拓展方案;
7、通过测试验证方案验证业务、基本数据单元、监控这三个模块的逻辑以及功能是否和拓展前一致;
8、如果不一致,则重复6-7的步骤,如果一致,则完成门锁以及屏幕这两个硬件的兼容重构方案;
无人售卖柜增加云闪付支付业务,场景如下:
1、分析目前系统各个模块的功能;
2、制定硬件模块、业务模块、基本数据单元模块、监控模块的测试验证方案;
3、为了增加云闪付支付业务,需要修改业务模块;
4、制定修改业务模块的完善方案;
5、通过测试验证方案验证修改后的业务模块的逻辑以及功能是否和完善前一致;
6、如果不一致则继续4-5的步骤,如果完善则根据修改后的硬件模块的完善方案,确定硬件模块、基本数据单元模块、监控模块的拓展方案;
7、通过测试验证方案验证硬件、基本数据单元、监控这三个模块的逻辑以及功能是否和拓展前一致;
8、如果不一致,则重复6-7的步骤,如果一致,则完成加云闪付支付业务重构方案;
重构的面向无人售卖机的应用流程如下:
对于存在多种规格,支持多个业务的在运营的无人售卖机,分析目前存在的单开门、双开门、多个客户多个平台的售卖机的功能;
根据分析出来的功能整理目前存在的售卖机有哪一些是共用的,哪一些是有差异的;
根据功能整理将目前的售卖机框架分为基础流程模块,业务交互模块,硬件支持模块以及异常监控模块;
制定目前售卖机的测试验证方案;
将售卖机的功能分配到基础流程、业务交互、硬件支持、异常监控模块;
分别提供基础流程、业务交互、硬件支持以及异常监控模块的完善方案;
实现基础流程、业务交互、硬件支持以及异常监控模块的方案;
通过测试方案验证完善后的方案与完善前的功能是否一致;
本实施例通过根据预设的各个模块的测试方案,优化待完善的目标模块;以及根据预设的各个模块的测试方案,优化关联模块,能够在无人售卖柜在需要兼容不同的业务平台,以及兼容不同厂家的硬件时,快速提供重构的优化方案、测试验证方案以及对应的拓展方案,通过增加了测试验证阶段,来保证重构的质量和正确性,同时增加了拓展阶段,为后续重构预留了空间,保证了安卓应用后续重构能够快速完成。
如图3所示,一种无人售卖柜的安卓应用重构装置,其特征在于,包括:
分析单元301,用于解析无人售卖柜的各个模块的功能,并根据预设的各个模块的测试方案,确定待完善的目标模块;
第一优化单元302,用于根据预设的各个模块的测试方案,优化待完善的目标模块;
第二优化单元303,用于根据预设的各个模块的测试方案,优化关联模块;所述关联模块为所述无人售卖柜的所有模块中待完善的目标模块以外的其它模块。
进一步地,所述分析单元301包括:
第一测试子单元(图中未示出),用于根据预设的各个模块的测试方案对无人售卖柜的各个模块的功能进行测试;
分析子单元(图中未示出),用于根据测试结果确定待完善的目标模块。
优选地,第一优化单元302包括:
第二测试子单元(图中未示出),用于根据预设的各个模块的测试方案,测试所述待完善的目标模块在执行预设的完善方案后的功能和逻辑;
第二分析子单元(图中未示出),用于当所述待完善的目标模块在执行预设的完善方案后的功能和逻辑与所述待完善的目标模块在执行预设的完善方案前的功能和逻辑一致时,确定待完善的目标模块优化完成。
优选地,第二优化单元303包括:
第三测试子单元(图中未示出),用于根据预设的各个模块的测试方案,测试所述关联模块在执行预设的拓展方案后的功能和逻辑;
第三分析子单元(图中未示出),用于当所述关联模块在执行预设的拓展方案后的功能和逻辑与所述关联模块在执行预设的拓展方案前的功能和逻辑一致时,确定关联模块优化完成。
本实施例通过根据预设的各个模块的测试方案,优化待完善的目标模块;以及根据预设的各个模块的测试方案,优化关联模块,能够在无人售卖柜在需要兼容不同的业务平台,以及兼容不同厂家的硬件时,快速提供重构的优化方案、测试验证方案以及对应的拓展方案,通过增加了测试验证阶段,来保证重构的质量和正确性,同时增加了拓展阶段,为后续重构预留了空间,保证了安卓应用后续重构能够快速完成。
如图4所示,本发明实施例提供了一种无人售卖柜的安卓应用重构装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行本发明任一实施例中的无人售卖柜的安卓应用重构方法。
本发明实施例还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行本发明任一实施例中的无人售卖柜的安卓应用重构方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
Claims (10)
1.一种无人售卖柜的安卓应用重构方法,其特征在于,包括:
解析无人售卖柜的各个模块的功能,并根据预设的各个模块的测试方案,确定待完善的目标模块;
根据预设的各个模块的测试方案,优化待完善的目标模块;
根据预设的各个模块的测试方案,优化关联模块;所述关联模块为所述无人售卖柜的所有模块中待完善的目标模块以外的其它模块。
2.根据权利要求1所述的无人售卖柜的安卓应用重构方法,其特征在于,确定待完善的目标模块的步骤,包括:
根据预设的各个模块的测试方案对无人售卖柜的各个模块的功能进行测试,并根据测试结果确定待完善的目标模块。
3.根据权利要求2所述的无人售卖柜的安卓应用重构方法,其特征在于,优化待完善的目标模块的步骤,包括:
根据预设的各个模块的测试方案,测试所述待完善的目标模块在执行预设的完善方案后的功能和逻辑;
当所述待完善的目标模块在执行预设的完善方案后的功能和逻辑与所述待完善的目标模块在执行预设的完善方案前的功能和逻辑一致时,确定待完善的目标模块优化完成。
4.根据权利要求3所述的无人售卖柜的安卓应用重构方法,其特征在于,优化关联模块的步骤包括:
根据预设的各个模块的测试方案,测试所述关联模块在执行预设的拓展方案后的功能和逻辑;
当所述关联模块在执行预设的拓展方案后的功能和逻辑与所述关联模块在执行预设的拓展方案前的功能和逻辑一致时,确定关联模块优化完成。
5.根据权利要求1-4任一项所述的无人售卖柜的安卓应用重构方法,其特征在于,所述测试方案由以下任一中自动化测试工具执行,所述自动化测试工具包括:Monkey、MonkeyRunner、UIAutomator以及Robotium。
6.一种无人售卖柜的安卓应用重构装置,其特征在于,包括:
分析单元,用于解析无人售卖柜的各个模块的功能,并根据预设的各个模块的测试方案,确定待完善的目标模块;
第一优化单元,用于根据预设的各个模块的测试方案,优化待完善的目标模块;
第二优化单元,用于根据预设的各个模块的测试方案,优化关联模块;所述关联模块为所述无人售卖柜的所有模块中待完善的目标模块以外的其它模块。
7.根据权利要求6所述的无人售卖柜的安卓应用重构装置,其特征在于,所述分析单元包括:
第一测试子单元,用于根据预设的各个模块的测试方案对无人售卖柜的各个模块的功能进行测试;
分析子单元,用于根据测试结果确定待完善的目标模块;
第一优化单元包括:
第二测试子单元,用于根据预设的各个模块的测试方案,测试所述待完善的目标模块在执行预设的完善方案后的功能和逻辑;
第二分析子单元,用于当所述待完善的目标模块在执行预设的完善方案后的功能和逻辑与所述待完善的目标模块在执行预设的完善方案前的功能和逻辑一致时,确定待完善的目标模块优化完成;
第二优化单元包括:
第三测试子单元,用于根据预设的各个模块的测试方案,测试所述关联模块在执行预设的拓展方案后的功能和逻辑;
第三分析子单元,用于当所述关联模块在执行预设的拓展方案后的功能和逻辑与所述关联模块在执行预设的拓展方案前的功能和逻辑一致时,确定关联模块优化完成。
8.根据权利要求6或7所述的无人售卖柜的安卓应用重构装置,其特征在于,所述测试方案由以下任一中自动化测试工具执行,所述自动化测试工具包括:Monkey、MonkeyRunner、UIAutomator以及Robotium。
9.一种无人售卖柜的安卓应用重构装置,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至4中任一所述的方法。
10.计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至4任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111270526.8A CN114003495A (zh) | 2021-10-29 | 2021-10-29 | 无人售卖柜的安卓应用重构方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111270526.8A CN114003495A (zh) | 2021-10-29 | 2021-10-29 | 无人售卖柜的安卓应用重构方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114003495A true CN114003495A (zh) | 2022-02-01 |
Family
ID=79925045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111270526.8A Pending CN114003495A (zh) | 2021-10-29 | 2021-10-29 | 无人售卖柜的安卓应用重构方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114003495A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050103854A1 (en) * | 2003-11-13 | 2005-05-19 | Metrologic Instruments, Inc. | Hand-supportable digital imaging-based bar code symbol reader supporting narrow-area and wide-area modes of illumination and image capture |
CN106021093A (zh) * | 2016-05-05 | 2016-10-12 | 北京思特奇信息技术股份有限公司 | 一种测试用例复用的方法及系统 |
CN106201899A (zh) * | 2016-07-29 | 2016-12-07 | 普元信息技术股份有限公司 | 基于业务分析实现自动生成测试案例的系统和方法 |
CN108388516A (zh) * | 2018-03-14 | 2018-08-10 | 上海微小卫星工程中心 | 可重构fpga软件的专用验证测试系统及方法 |
CN110989417A (zh) * | 2019-10-29 | 2020-04-10 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 适应fpga局部重构的周期检测系统 |
US20200409830A1 (en) * | 2018-01-23 | 2020-12-31 | Netease (Hangzhou) Network Co.,Ltd. | Automated testing method and apparatus, storage medium and electronic device |
CN113377591A (zh) * | 2021-06-18 | 2021-09-10 | 杭州加速科技有限公司 | 一种提升ate设备芯片测试速度的方法、装置 |
-
2021
- 2021-10-29 CN CN202111270526.8A patent/CN114003495A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050103854A1 (en) * | 2003-11-13 | 2005-05-19 | Metrologic Instruments, Inc. | Hand-supportable digital imaging-based bar code symbol reader supporting narrow-area and wide-area modes of illumination and image capture |
CN106021093A (zh) * | 2016-05-05 | 2016-10-12 | 北京思特奇信息技术股份有限公司 | 一种测试用例复用的方法及系统 |
CN106201899A (zh) * | 2016-07-29 | 2016-12-07 | 普元信息技术股份有限公司 | 基于业务分析实现自动生成测试案例的系统和方法 |
US20200409830A1 (en) * | 2018-01-23 | 2020-12-31 | Netease (Hangzhou) Network Co.,Ltd. | Automated testing method and apparatus, storage medium and electronic device |
CN108388516A (zh) * | 2018-03-14 | 2018-08-10 | 上海微小卫星工程中心 | 可重构fpga软件的专用验证测试系统及方法 |
CN110989417A (zh) * | 2019-10-29 | 2020-04-10 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 适应fpga局部重构的周期检测系统 |
CN113377591A (zh) * | 2021-06-18 | 2021-09-10 | 杭州加速科技有限公司 | 一种提升ate设备芯片测试速度的方法、装置 |
Non-Patent Citations (2)
Title |
---|
刘振宇: "极限编程开发方法的研究及其在银行电子设备管理系统中的应用" * |
马一松: "基于Web的可重构应用设计与实现" * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11281570B2 (en) | Software testing method, system, apparatus, device medium, and computer program product | |
EP2245551B1 (en) | Identification of elements of currently-executing component script | |
CN110633209B (zh) | 一种车载安卓多媒体导航仪自动化测试方法及系统 | |
CN110013672B (zh) | 用于机器运行的游戏的自动化测试的方法、设备、装置以及计算机可读存储介质 | |
CN112270149A (zh) | 验证平台自动化集成方法、系统及电子设备和存储介质 | |
US7895575B2 (en) | Apparatus and method for generating test driver | |
CN103365770A (zh) | 移动终端软件测试系统及软件测试方法 | |
CN111124919A (zh) | 一种用户界面的测试方法、装置、设备及存储介质 | |
CA2773981C (en) | System and method of substituting parameter sets in self-contained mini-applications | |
US20210042215A1 (en) | Method of, and apparatus for, testing computer hardware and software | |
CN112882930B (zh) | 自动化测试方法、装置、存储介质及电子设备 | |
Gunasekaran et al. | Survey on automation testing tools for mobile applications | |
CN115658529A (zh) | 用户页面的自动化测试方法以及相关设备 | |
CN112231206A (zh) | 应用程序测试的脚本编辑方法、计算机可读存储介质及测试平台 | |
CN106528429A (zh) | 一种ui界面测试方法及装置 | |
US11341030B2 (en) | Scriptless software test automation | |
US11604724B2 (en) | Software application component testing | |
CN112286433A (zh) | 屏幕画面获取方法、装置及计算机可读介质以及测试端 | |
CN114003495A (zh) | 无人售卖柜的安卓应用重构方法、装置及存储介质 | |
CN113986263A (zh) | 代码自动化测试方法、装置、电子设备、存储介质 | |
US20240211360A1 (en) | Method and system for test script generation and execution | |
CN110795338A (zh) | 一种基于前后端交互的自动化测试方法、装置及电子设备 | |
CN111858302A (zh) | 小程序的测试方法、装置、电子设备及存储介质 | |
CN111858315B (zh) | 一种基于版本管理的软件调试方法、装置、设备和介质 | |
Hu et al. | Droidwalker: generating reproducible test cases via automatic exploration of android apps |
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: 20220201 |
|
RJ01 | Rejection of invention patent application after publication |