CN109308263A - 一种小程序测试方法、装置及设备 - Google Patents
一种小程序测试方法、装置及设备 Download PDFInfo
- Publication number
- CN109308263A CN109308263A CN201811147721.XA CN201811147721A CN109308263A CN 109308263 A CN109308263 A CN 109308263A CN 201811147721 A CN201811147721 A CN 201811147721A CN 109308263 A CN109308263 A CN 109308263A
- Authority
- CN
- China
- Prior art keywords
- class
- test
- small routine
- case
- test case
- 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/368—Test management for test version control, e.g. updating test cases to a new software version
-
- 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
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)
- Stored Programmes (AREA)
Abstract
本申请公开了一种小程序测试方法、装置及设备。该方法包括:获取需要测试的小程序的开发文档;基于所述开发文档,对所述小程序的每个类进行封装;基于所述每个类的测试用例,测试封装的每个类。可见,本申请通过对小程序的类进行封装,并针对各个类设计测试用例,以测试小程序的各个类,能够有效提高测试效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及小程序测试方法、装置及设备。
背景技术
小程序Mini Program,是指不需要下载安装即可使用的应用。
目前,针对小程序的测试方案一般是开发完成后,由测试人员开启并点击使用小程序,以检测其功能是否存在的问题。
因此,需要更加高效的测试方案。
发明内容
本说明书实施例提供一种小程序测试方法,用于提高小程序的测试效率。
本说明书实施例还提供一种小程序测试方法,包括:
获取需要测试的小程序的开发文档;
基于所述开发文档,对所述小程序的每个类进行封装;
基于所述每个类的测试用例,测试封装的每个类。
可选的,在测试封装的每个类之前,还包括:
从测试用例库中查找出所述小程序的每个类的测试用例;
其中,所述测试用例库中存有各个类的测试用例。
可选的,还包括:
确定所述小程序的类中存在所述测试用例库之外的目标类时,对所述目标类进行漏洞检测;
若所述目标类存在漏洞,则确定所述目标类为异常类。
可选的,所述方法还包括:
若所述目标类不存在漏洞,则确定所述目标类为正常类;
生成所述正常类的测试用例并测试所述正常类。
可选的,还包括:
将所述正常类的测试用例补充至所述测试用例库。
可选的,生成所述目标类的测试用例,包括:
确定所述目标类的方法中的一个或多个参数,并生成各参数的类的测试用例。
可选的,生成所述目标类的测试用例,包括:
确定所述目标类要求的最低版本,并生成所述最低版本对应的测试用例。
可选的,还包括:
生成测试报告,所述测试报告包括测试覆盖率、异常类、非异常类中一个或多个。
可选的,还包括:
生成测试日志,以供定位异常对应的代码段。
本说明书实施例还提供一种小程序测试装置,包括:
获取模块,用于获取需要测试的小程序的开发文档;
封装模块,用于基于所述开发文档,封装所述小程序中属于同一类的控件;
测试模块,用于基于预生成的各个类的测试用例,测试封装的每个类。
可选的,装置还包括:
查找模块,用于从测试用例库中查找出所述小程序的每个类的测试用例;
其中,所述测试用例库中存有各个类的测试用例。
可选的,装置还包括:
漏洞检测模块,用于确定所述小程序的类中存在所述测试用例库之外的目标类时,对所述目标类进行漏洞检测;
状态确定模块,用于若所述目标类存在漏洞,则确定所述目标类为异常类;若所述目标类不存在漏洞,则确定所述目标类为正常类;
可选的,装置还包括:
生成模块,用于生成所述正常类的测试用例并测试所述正常类。
可选的,装置还包括:
补充模块,用于将所述正常类的测试用例补充至所述测试用例库。
可选的,生成模块,具体用于:
确定所述目标类的方法中的一个或多个参数,并生成各参数的类的测试用例。
可选的,生成模块,还用于:
确定所述目标类要求的最低版本,并生成所述最低版本对应的测试用例。
可选的,装置还包括:
测试结果生成模块,用于生成测试报告,所述测试报告包括测试覆盖率、异常类、非异常类中一个或多个。
可选的,测试结果生成模块,还用于:
生成测试日志,以供定位异常对应的代码段。
本说明书实施例还提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上述小程序测试方法的步骤。
本说明书实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述小程序测试方法的步骤。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
基于小程序的开发文档对小程序的类进行封装,并从测试用例库中查找出小程序的类对应的测试用例,进而使用查找出的测试用例测试封装的类。与现有技术通过人为使用小程序以测试其功能的方案相比,能从类的维度对小程序进行检测,从而有效提高代码检测效率及逻辑覆盖率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书提供的一种应用场景的示意图;
图2为本说明书一实施例提供的一种小程序测试方法的流程示意图;
图3为本说明书一实施例提供的漏洞检测步骤的流程示意图;
图4为本说明书另一实施例提供的一种小程序测试方法的流程示意图;
图5为本说明书一实施例提供的一种小程序测试装置的结构示意图;
图6为本说明书一实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
正如背景技术部分陈述的,目前针对小程序的测试方案,一般是由测试人员使用小程序,以查看其功能能否正常使用。该测试方案至少存在如下缺点:
1、测试效率低;由于是人为进行的测试,对于功能众多、需适用机型众多等条件下的测试过程,测试人员需花费的时间和精力是非常巨大的;
2、测试精度低;由于是人为进行的测试,测试过程中出现的异常并不一定能被发现;
3、测试覆盖率低;测试过程是针对功能的,而非针对代码的,存在相当一部分代码没有被测试。
基于此,本发明提供一种小程序测试方法,基于小程序的开发文档对小程序的类进行封装,并从测试用例库中查找出小程序的类对应的测试用例,进而使用查找出的测试用例测试封装的类。与现有技术通过使用小程序以测试其功能的方案相比,能从类的维度对小程序进行检测,从而有效提高代码检测效率及逻辑覆盖率。
其中,小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。类是面向对象程序设计实现信息封装的基础,每个类包含数据说明和一组操作数据或传递消息的函数;类的实例称为对象,即小程序。开发文档,是指以小程序为对象定义的事件、方法、属性。
下面参见图1对本申请的应用场景进行示例性说明:
该应用场景包括:服务器110、开发者终端120和用户终端130,其中:
开发者终端120,是指服务器授权的开发人员使用的终端设备,用于获取开发人员构建的小程序的各个类的标识及其对应的测试用例,并上传至服务器;
用户终端130,是指请求测试小程序的用户使用的终端设备,用于向服务器发起测试请求,该测试请求携带小程序的开发文档;
服务器110,用于将来自开发者终端120的测试用例存入测试用例库;基于待测试的小程序的开发文档,封装其各个类,并从测试用例库中查找出对应的测试用例以对该小程序进行测试,并将测试结果返回给用户终端130。
其中,开发者终端120和用户终端130可以为PC端,也可以为移动终端;移动终端或者叫移动通信终端是指可以在移动中使用的计算机设备,广义的讲包括手机、笔记本、平板电脑、POS机甚至包括车载电脑。但是大部分情况下是指手机或者具有多种应用功能的智能手机以及平板电脑。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图2为本说明书一实施例提供的一种小程序测试方法的流程示意图,参见图2,该方法具体可以包括如下步骤:
步骤220、获取需要测试的小程序的开发文档;
其中,小程序包括框架、组件和应用程序编程接口(Application ProgrammingInterface,API),此处的开发文档可以为API文档。
该API文档包括:网络API列表、媒体API列表、文件API列表、数据API列表、位置API列表、设备API列表等等;网络API列表包括:网络请求接口request、上传文件接口uploadFile等,媒体API列表包括:预览图片接口previewImage、播放语音接口playVoice等;API列表还包括:各接口对应的接口对象的参数、类型、说明、代码等等,以网络API列表中的request为例,其参数包括URL、data、header、success等,其示例代码可以为:
步骤240、基于所述开发文档,对所述小程序的每个类进行封装;其一种实现方式可以为:
基于小程序的开发文档中的内容,封装出的小程序中的每个类,包括:注册、登录、支付等对应的类。
其中,类是面向对象程序设计实现信息封装的基础。类是一种用户定义类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数,例如:登录操作相关的说明、操作数据或传递消息的函数。
步骤260、基于所述每个类的测试用例,测试封装的每个类。其一种实现方式可以为:
从测试用例库中查找出所述小程序的每个类的测试用例,并基于查找出的测试用例测试所述小程序的每个类。
其中,所述测试用例库中存有各个类的测试用例,测试用例的构建方式可以为:
确定所述目标类的方法中的一个或多个参数,并生成各参数的类的测试用例。例如:发起网络请求-xx.request(OBJECT)有9个参数,则需要对每个参数的类进行测试用例的设计。
或者,
确定所述目标类要求的最低版本,并生成所述最低版本对应的测试用例。例如:有些API或者方法有最低版本要求,如:responseTupe最低版本要求为1.7.0,success返回的header参数最低版本要求为1.2.0等等,则可基于对应的版本要求设计测试用例。
步骤260的该实现方式具体可以示例为:
将小程序的某一类的标识与测试用例库中的类的标识进行匹配,若测试用例库中存在与该类的标识相匹配的类的标识,则从测试用例库中选出相匹配的类的测试用例,并用选出的测试用例测试小程序的该类。
若小程序的类中存在某一类(称为目标类)并不存在于测试用例库,即测试用例库中不存在与该目标类相匹配的类,则进一步地进行对目标类进行漏洞检测步骤,参见图3,该漏洞检测步骤具体可以包括:
步骤302、对目标类进行漏洞检测;
其中,此处的漏洞检测一般是指对目标类的代码进行的代码漏洞检测,其对应的实现方式可以为现有的代码漏洞检测技术,具体的检测过程此处不再赘述。
步骤304、判断所述目标类是否存在漏洞;
若是,则执行步骤306;若否,则执行步骤308;
其中,漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。
步骤306、确定所述目标类为异常类;
步骤308、确定所述目标类为正常类;
不难理解的是,对于异常类,可将其异常写入测试报告中进行展示,供开发人员进行修复;对于正常类,则需要进一步设计该目标类的测试用例并进行测试。
步骤310、生成所述正常类的测试用例并测试所述正常类。其一种实现方式可以为:
确定所述目标类的方法中的一个或多个参数,并生成各参数的类的测试用例。
例如:发起网络请求-xx.request(OBJECT)有9个参数,则需要对每个参数的类进行测试用例的设计。
其另一种实现方式可以为:
确定所述目标类要求的最低版本,并生成所述最低版本对应的测试用例。
例如:有些API或者方法有最低版本要求,如:responseTupe最低版本要求为1.7.0,success返回的header参数最低版本要求为1.2.0等等,则可基于对应的版本要求设计测试用例。
可见,本实施例对于小程序的不存在于测试用例库的类,为提高小程序的测试覆盖率,以提高测试精度,会进一步对其进行代码漏洞检测以确定该目标类是未存入测试用例库的正常的类,还是存在漏洞的异常的类;若是前者,则生成目标类的测试用例并进行测试;若是后者,则将其漏洞写入测试报告中。
进一步地,为丰富测试用例库,以提高小程序的测试精度,本实施例还会将所述正常类的标识及其测试用例写入所述测试用例库,以更新测试用例库,供后续封装出该正常类时,从更新后的测试用例库中查找出该正常类对应的测试用例并测试该正常类。
进一步地,还包括:生成测试报告,所述测试报告可以包括测试覆盖率、异常类、非异常类中一个或多个,也可以包括测试是否通过的结果。
进一步地,还包括:生成测试日志,以供定位异常对应的代码段。即,建立异常逻辑的代码段与测试报告中的异常之间的关联关系,以便开发人员点击某异常时,基于该关联关系展示该异常对应的代码段,供查看代码逻辑,以提高异常修改效率。
可见,本实施例基于小程序的开发文档对小程序的类进行封装,并从测试用例库中查找出小程序的类对应的测试用例,进而使用查找出的测试用例测试封装的类。与现有技术通过使用小程序以测试其功能的方案相比,能从类的维度对小程序进行检测,从而有效提高代码检测效率及逻辑覆盖率。
图4为本说明书另一实施例提供的一种小程序测试方法的流程示意图,参见图4,该方法具体可以包括如下步骤:
步骤420、类的封装;具体可以为:
(1)方法的封装
根据微信的开发文档,针对方法进行封装。如注册,登录,支付等。
(2)版本封装
有些api或者方法有最低版本要求,如responseType最低版本要求为1.7.0,success返回的header参数最低版本要求为1.2.0等。
(3)学习封装
有些api中会指出一些Bug&Tip,需要即时抓取并生成白盒测试代码。如”css动画对map组件无效”。
步骤440、确定测试用例,具体可以为:
(1)全参数以及方法用例设计。
例如:wx.request(OBJECT)有9个参数,需要对每个参数的类,默认值,大小写做用例设计。
(2)最低版本测试用例
根据步骤420中的版本封装的部分要求,生成测试用例。
(3)异常逻辑的测试用例
小程序都是基于移动端的,那么必要的测试用例可以保证程序的健壮性,如弱网,通话,切后台等
步骤460、执行测试用例,具体可以为:
步骤S1、客户可以选择上传代码到gitHub或者gitlab,也可以上传至其他测试服务器;
步骤S2、通过脚本clone客户代码并放到预定测试路径下;
步骤S3、一键执行白盒测试用例。具体包括:通过脚本抓取代码中的类和方法,并与参考代码进行比对,如果匹配,即执行测试用例,打印测试结果并生成测试报告。
步骤480、生成测试报告;测试报告中主要有以下几类问题:
(1)类&方法问题;最低版本问题;异常操作问题
(2)未识别的类&方法。
(3)测试用例覆盖率。按所执行的源代码占总代码的比例计算。
(4)输出所有bug,用例执行情况(执行or未执行)
可见,本实施例通过封装微信提供的所有控件为通用模块,针对所有模块进行测试用例编写,主要以jason配置文件展示,方便后续的扩展性以及覆盖度。在测试过程中通过精准匹配模式去一一对应当前测试程序使用到的控件以及api,通过系统记录下来并即时后台执行测试用例并导出log。大幅度提升小程序的代码走查以及逻辑覆盖。减少测试时间,精准定位到bug出现行,降低debug的时间以及成本。
另外,对于上述方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施方式并不受所描述的动作顺序的限制,因为依据本发明实施方式,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于优选实施方式,所涉及的动作并不一定是本发明实施方式所必须的。
图5为本说明书一实施例提供的一种小程序测试装置的结构示意图,参见图5,该装置具体可以包括:获取模块51、封装模块52和测试模块53,其中:
获取模块51,用于获取需要测试的小程序的开发文档;
封装模块52,用于基于所述开发文档,封装所述小程序中属于同一类的控件;
测试模块53,用于基于预生成的各个类的测试用例,测试封装的每个类。
可选的,装置还包括:
查找模块,用于从测试用例库中查找出所述小程序的每个类的测试用例;
其中,所述测试用例库中存有各个类的测试用例。
可选的,装置还包括:
漏洞检测模块,用于确定所述小程序的类中存在所述测试用例库之外的目标类时,对所述目标类进行漏洞检测;
状态确定模块,用于若所述目标类存在漏洞,则确定所述目标类为异常类;若所述目标类不存在漏洞,则确定所述目标类为正常类;
可选的,装置还包括:
生成模块,用于生成所述正常类的测试用例并测试所述正常类。
可选的,装置还包括:
补充模块,用于将所述正常类的测试用例补充至所述测试用例库。
可选的,生成模块,具体用于:
确定所述目标类的方法中的一个或多个参数,并生成各参数的类的测试用例。
可选的,生成模块,还用于:
确定所述目标类要求的最低版本,并生成所述最低版本对应的测试用例。
可选的,装置还包括:
测试结果生成模块,用于生成测试报告,所述测试报告包括测试覆盖率、异常类、非异常类中一个或多个。
可选的,测试结果生成模块,还用于:
生成测试日志,以供定位异常对应的代码段。
可见,本实施例基于小程序的开发文档对小程序的类进行封装,并从测试用例库中查找出小程序的类对应的测试用例,进而使用查找出的测试用例测试封装的类。与现有技术通过使用小程序以测试其功能的方案相比,能从类的维度对小程序进行检测,从而有效提高代码检测效率及逻辑覆盖率。
另外,对于上述装置实施方式而言,由于其与方法实施方式基本相似,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。而且,应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合。
图6为本说明书一实施例提供的一种电子设备的结构示意图,参见图6,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成小程序测试装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
网络接口、处理器和存储器可以通过总线系统相互连接。总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器可能包含高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器。
处理器,用于执行所述存储器存放的程序,并具体执行:
获取需要测试的小程序的开发文档;
基于所述开发文档,对所述小程序的每个类进行封装;
基于所述每个类的测试用例,测试封装的每个类。
上述如本申请图5所示实施例揭示的小程序测试装置或管理者(Master)节点执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
小程序测试装置还可执行图2-4的方法,并实现管理者节点执行的方法。
基于相同的发明创造,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行图2-4对应的实施例提供的小程序测试方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种小程序测试方法,其特征在于,包括:
获取需要测试的小程序的开发文档;
基于所述开发文档,对所述小程序的每个类进行封装;
基于所述每个类的测试用例,测试封装的每个类。
2.根据权利要求1所述的方法,其特征在于,在测试封装的每个类之前,还包括:
从测试用例库中查找出所述小程序的每个类的测试用例;
其中,所述测试用例库中存有各个类的测试用例。
3.根据权利要求2所述的方法,其特征在于,还包括:
确定所述小程序的类中存在所述测试用例库之外的目标类时,对所述目标类进行漏洞检测;
若所述目标类存在漏洞,则确定所述目标类为异常类。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述目标类不存在漏洞,则确定所述目标类为正常类;
生成所述正常类的测试用例并测试所述正常类。
5.根据权利要求4所述的方法,其特征在于,还包括:
将所述正常类的测试用例补充至所述测试用例库。
6.根据权利要求4所述的方法,其特征在于,生成所述目标类的测试用例,包括:
确定所述目标类的方法中的一个或多个参数,并生成各参数的类的测试用例。
7.根据权利要求4所述的方法,其特征在于,生成所述目标类的测试用例,包括:
确定所述目标类要求的最低版本,并生成所述最低版本对应的测试用例。
8.根据权利要求1-7中任一项所述的方法,其特征在于,还包括:
生成测试报告,所述测试报告包括测试覆盖率、异常类、非异常类中一个或多个。
9.根据权利要求1-7中任一项所述的方法,其特征在于,还包括:
生成测试日志,以供定位异常对应的代码段。
10.一种小程序测试装置,其特征在于,包括:
获取模块,用于获取需要测试的小程序的开发文档;
封装模块,用于基于所述开发文档,封装所述小程序中属于同一类的控件;
测试模块,用于基于预生成的各个类的测试用例,测试封装的每个类。
11.一种电子设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811147721.XA CN109308263B (zh) | 2018-09-29 | 2018-09-29 | 一种小程序测试方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811147721.XA CN109308263B (zh) | 2018-09-29 | 2018-09-29 | 一种小程序测试方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109308263A true CN109308263A (zh) | 2019-02-05 |
CN109308263B CN109308263B (zh) | 2021-10-22 |
Family
ID=65224850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811147721.XA Active CN109308263B (zh) | 2018-09-29 | 2018-09-29 | 一种小程序测试方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109308263B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109976800A (zh) * | 2019-03-28 | 2019-07-05 | 北京字节跳动网络技术有限公司 | 基于Gitlab的消息通知方法、装置、设备及存储介质 |
CN110134584A (zh) * | 2019-04-12 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 一种接口测试用例的生成方法、装置、存储介质和服务器 |
CN110191019A (zh) * | 2019-05-28 | 2019-08-30 | 北京百度网讯科技有限公司 | 车辆can总线的测试方法、装置、计算机设备和存储介质 |
CN110209576A (zh) * | 2019-05-21 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 测试用例覆盖率的计算方法及相关设备 |
CN110515829A (zh) * | 2019-07-10 | 2019-11-29 | 平安普惠企业管理有限公司 | 应用测试方法、装置、设备及计算机可读存储介质 |
CN112256554A (zh) * | 2019-07-22 | 2021-01-22 | 腾讯科技(深圳)有限公司 | 一种基于场景测试用例进行测试的方法及设备 |
CN112583651A (zh) * | 2019-09-27 | 2021-03-30 | 腾讯科技(深圳)有限公司 | 一种用于对小程序通信接口进行测试的方法、装置及介质 |
WO2021243555A1 (zh) * | 2020-06-02 | 2021-12-09 | 深圳市欢太科技有限公司 | 一种快应用检测方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6536035B1 (en) * | 1998-09-12 | 2003-03-18 | International Business Machines Corporation | Loading software files in client-server and object oriented environment |
CN102662807A (zh) * | 2012-03-13 | 2012-09-12 | 浙江大学 | 一种Java卡栈性能测试应用程序及其框架的制作方法 |
KR20130035607A (ko) * | 2011-09-30 | 2013-04-09 | 주식회사 효광 | 반도체 패키지 소팅 장치 및 그를 적용한 테스트 핸들러 |
CN105117342A (zh) * | 2015-09-16 | 2015-12-02 | 上海斐讯数据通信技术有限公司 | 一种基于面向对象的交换机软件测试用例的测试方法 |
CN106598834A (zh) * | 2015-10-19 | 2017-04-26 | 腾讯科技(深圳)有限公司 | Ui测试方法及装置 |
CN108132879A (zh) * | 2017-12-21 | 2018-06-08 | 周舟 | 自动化软件测试方法、平台、终端及介质 |
CN108595329A (zh) * | 2018-04-23 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 一种应用测试方法、装置及计算机存储介质 |
-
2018
- 2018-09-29 CN CN201811147721.XA patent/CN109308263B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6536035B1 (en) * | 1998-09-12 | 2003-03-18 | International Business Machines Corporation | Loading software files in client-server and object oriented environment |
KR20130035607A (ko) * | 2011-09-30 | 2013-04-09 | 주식회사 효광 | 반도체 패키지 소팅 장치 및 그를 적용한 테스트 핸들러 |
CN102662807A (zh) * | 2012-03-13 | 2012-09-12 | 浙江大学 | 一种Java卡栈性能测试应用程序及其框架的制作方法 |
CN105117342A (zh) * | 2015-09-16 | 2015-12-02 | 上海斐讯数据通信技术有限公司 | 一种基于面向对象的交换机软件测试用例的测试方法 |
CN106598834A (zh) * | 2015-10-19 | 2017-04-26 | 腾讯科技(深圳)有限公司 | Ui测试方法及装置 |
CN108132879A (zh) * | 2017-12-21 | 2018-06-08 | 周舟 | 自动化软件测试方法、平台、终端及介质 |
CN108595329A (zh) * | 2018-04-23 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 一种应用测试方法、装置及计算机存储介质 |
Non-Patent Citations (1)
Title |
---|
张雪云: "基于微信小程序的电源监测管理系统设计", 《计算机与现代化》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109976800A (zh) * | 2019-03-28 | 2019-07-05 | 北京字节跳动网络技术有限公司 | 基于Gitlab的消息通知方法、装置、设备及存储介质 |
CN110134584A (zh) * | 2019-04-12 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 一种接口测试用例的生成方法、装置、存储介质和服务器 |
CN110209576A (zh) * | 2019-05-21 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 测试用例覆盖率的计算方法及相关设备 |
CN110191019A (zh) * | 2019-05-28 | 2019-08-30 | 北京百度网讯科技有限公司 | 车辆can总线的测试方法、装置、计算机设备和存储介质 |
CN110191019B (zh) * | 2019-05-28 | 2021-05-28 | 北京百度网讯科技有限公司 | 车辆can总线的测试方法、装置、计算机设备和存储介质 |
CN110515829A (zh) * | 2019-07-10 | 2019-11-29 | 平安普惠企业管理有限公司 | 应用测试方法、装置、设备及计算机可读存储介质 |
CN112256554A (zh) * | 2019-07-22 | 2021-01-22 | 腾讯科技(深圳)有限公司 | 一种基于场景测试用例进行测试的方法及设备 |
CN112256554B (zh) * | 2019-07-22 | 2023-06-16 | 腾讯科技(深圳)有限公司 | 一种基于场景测试用例进行测试的方法及设备 |
CN112583651A (zh) * | 2019-09-27 | 2021-03-30 | 腾讯科技(深圳)有限公司 | 一种用于对小程序通信接口进行测试的方法、装置及介质 |
WO2021243555A1 (zh) * | 2020-06-02 | 2021-12-09 | 深圳市欢太科技有限公司 | 一种快应用检测方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109308263B (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109308263A (zh) | 一种小程序测试方法、装置及设备 | |
US9697108B2 (en) | System, method, and apparatus for automatic recording and replaying of application executions | |
CN111259395B (zh) | 智能合约的利用程序获取方法、装置及存储介质 | |
CN105760292B (zh) | 一种用于单元测试的断言验证方法和装置 | |
CN110007952A (zh) | 数据处理方法、装置、设备和机器可读介质 | |
CN107133174A (zh) | 测试用例代码自动生成装置与方法 | |
CN109871312B (zh) | 一种接口测试方法、装置、设备及可读存储介质 | |
US10824549B1 (en) | System and method for regression testing of an application programming interface | |
CN113158189B (zh) | 一种恶意软件分析报告生成方法、装置、设备和介质 | |
CN107729121A (zh) | 模拟器检测方法及装置 | |
CN109766697A (zh) | 应用于Linux系统的漏洞扫描方法、存储介质、设备及系统 | |
CN107729750A (zh) | 结合配置信息和硬件特性的安卓模拟器检测方法及装置 | |
CN106021054A (zh) | 一种对bmc升降级稳定性进行测试的方法及装置 | |
CN111260336B (zh) | 基于规则引擎的业务核对方法、装置及设备 | |
CN113419971B (zh) | 安卓系统服务漏洞检测方法及相关装置 | |
CN113268243A (zh) | 内存预测方法及装置、存储介质、电子设备 | |
US10387288B2 (en) | Interactive analysis of a security specification | |
CN110287700B (zh) | 一种iOS应用安全分析方法及装置 | |
CN109753435A (zh) | 一种软件测试方法和装置 | |
CN111221721A (zh) | 一种单元测试案例自动化录制和执行方法及装置 | |
US20230141948A1 (en) | Analysis and Testing of Embedded Code | |
CN110457201A (zh) | 一种接口测试用例生成方法以及装置 | |
CN114282221B (zh) | 注入类漏洞检测方法、系统、终端及存储介质 | |
CN114443337B (zh) | 一种基于js的日志分析方法、装置、电子设备和介质 | |
CN115687158B (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 |