CN109783345A - 一种小程序性能测试方法和系统 - Google Patents

一种小程序性能测试方法和系统 Download PDF

Info

Publication number
CN109783345A
CN109783345A CN201811464895.9A CN201811464895A CN109783345A CN 109783345 A CN109783345 A CN 109783345A CN 201811464895 A CN201811464895 A CN 201811464895A CN 109783345 A CN109783345 A CN 109783345A
Authority
CN
China
Prior art keywords
ability
stage
timestamp
state
analysis
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
CN201811464895.9A
Other languages
English (en)
Other versions
CN109783345B (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 CN201811464895.9A priority Critical patent/CN109783345B/zh
Publication of CN109783345A publication Critical patent/CN109783345A/zh
Application granted granted Critical
Publication of CN109783345B publication Critical patent/CN109783345B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请提供一种小程序性能测试方法和系统,所述方法包括在小程序调用端能力的过程中,记录调用端能力各阶段的时间戳及执行状态;根据所记录的各阶段的时间戳进行性能分析,根据所记录的各阶段的执行状态进行功能分析;根据所述性能分析的结果及所述功能分析的结果输出分析报表。用于解决现有技术中只能人肉测试,由测试人员通过点击、人眼观察测试小程序性能的问题;能够有效提高小程序性能测试的准确性和效率。

Description

一种小程序性能测试方法和系统
【技术领域】
本申请涉及计算机技术领域,尤其涉及一种小程序性能测试方法和系统。
【背景技术】
小程序是一种不需要下载安装即可使用的应用,实现了应用「触手可及」的梦想,用户扫一扫或搜一下即可打开应用。也体现了「用完即走」的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。小程序本身依托在大型的App中(如微信、百度App),需要大型的App提供各种Native原生能力。App将规定好的功能协议开放给小程序,小程序遵循协议格式,在网页点击或加载等运行场景下,调用固定能力的协议,即可使用App提供的Native原生能力。所述协议为App为小程序提供的,称为端能力。
但是,小程序调用端能力的过程中容易出现问题,这就需要对其进行测试。目前,只能人肉测试,由测试人员通过点击、人眼观察测试小程序调用端能力的过程中出现的问题;也无法对小程序的性能进行精确分析;效率和准确性都存在问题。
【发明内容】
本申请的多个方面提供一种小程序性能测试方法和系统,用以进行小程序性能测试,提高测试的效率和准确性。
本申请的一方面,提供一种小程序性能测试方法,包括:
在小程序调用端能力的过程中,记录调用端能力各阶段的时间戳及执行状态;
根据所记录的各阶段的时间戳进行性能分析,根据所记录的各阶段的执行状态进行功能分析;
根据所述性能分析的结果及所述功能分析的结果输出分析报表。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述记录调用端能力各阶段的时间戳及执行状态包括:
监控调用端能力各阶段的时间戳并记录在日志文件中;接收端能力在回调函数中返回的各阶段的执行状态。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述调用端能力各阶段的时间戳包括:
端能力被调用时间戳、端能力解析完毕进入对应能力执行函数时间戳、执行对应能力时间戳、端能力调用结果返回时间戳。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,调用端能力各阶段的执行状态包括:
协议解析状态、对应能力调起状态、对应能力执行状态、调用结果返回状态。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,根据所记录的各阶段的时间戳进行性能分析包括:
根据端能力调用过程中的各阶段的时间戳,计算各阶段的耗时;与各阶段的预设耗时进行比较。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,根据所记录的各阶段的执行状态进行功能分析包括:
若状态返回为失败,发起报警,并终止端能力调用,进行止损;
若状态返回为成功,继续执行状态跟踪。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,根据所述性能分析的结果及所述功能分析的结果输出分析报表包括:
输出性能分析列表、发出警报、提供执行状态跟踪及执行失败错误分析。
本申请的另一方面,公开了一种小程序性能测试系统,包括:
记录模块,用于在小程序调用端能力的过程中,记录调用端能力各阶段的时间戳及执行状态;
分析模块,用于根据所记录的各阶段的时间戳进行性能分析,根据所记录的各阶段的执行状态进行功能分析;
输出模块,用于根据所述性能分析的结果及所述功能分析的结果输出分析报表。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述记录模块具体用于:
监控调用端能力各阶段的时间戳并记录在日志文件中;接收端能力在回调函数中返回的各阶段的执行状态。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述调用端能力各阶段的时间戳包括:
端能力被调用时间戳、端能力解析完毕进入对应能力执行函数时间戳、执行对应能力时间戳、端能力调用结果返回时间戳。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,调用端能力各阶段的执行状态包括:
协议解析状态、对应能力调起状态、对应能力执行状态、调用结果返回状态。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述分析模块具体用于:
根据端能力调用过程中的各阶段的时间戳,计算各阶段的耗时;与各阶段的预设耗时进行比较。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述分析模块具体还用于:
若状态返回为失败,发起报警,并终止端能力调用,进行止损;
若状态返回为成功,继续执行状态跟踪。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述输出模块具体用于:
输出性能分析列表、发出警报、提供执行状态跟踪及执行失败错误分析。
本发明的另一方面,提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
本发明的另一方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。
由所述技术方案可知,本申请实施例,提高了小程序性能测试的效率和准确性。
【附图说明】
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的小程序性能测试方法的流程示意图;
图2为本申请一实施例提供的小程序性能测试系统的结构示意图;
图3示出了适于用来实现本发明实施方式的示例性计算机系统/服务器012的框图。
【具体实施方式】
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本申请保护的范围。
图1为本申请一些实施例提供的小程序性能测试方法的流程示意图,如图1所示,包括以下步骤:
步骤S11、在小程序调用端能力的过程中,记录调用端能力各阶段的时间戳及执行状态;
步骤S12、根据所记录的各阶段的时间戳进行性能分析,根据所记录的各阶段的执行状态进行功能分析;
步骤S13、根据所述性能分析的结果及所述功能分析的结果输出分析报表。
本实施例中,所述方法的执行主体为App内置的小程序性能测试模块。
在步骤S11的一种优选实现方式中,
App中的小程序在运行过程中,需要调用App提供的端能力,所述端能力为App为小程序提供的一种功能协议,App将规定好的功能协议开放给小程序,小程序遵循协议格式,调用固定能力的协议,即可使用App提供的原生Native能力。
优选地,小程序向App发出端能力调用请求,APP对所述端能力解析完毕后,调用所述端能力对应的固定能力,在端能力执行的各阶段中,通过端能力内提供指定的回调函数向所述小程序测试模块返回当前阶段的执行状态。
App内置的小程序性能测试模块在小程序启动后被激活,开始对端能力执行进行监控,以便进一步进行性能分析及功能分析。
具体的端能力执行过程如下:
一、当APP中的小程序被启动后,根据所接收的用户输入的操作指令,向App发出端能力调用请求,调用App提供的端能力以完成所述操作指令。
App接收小程序发出的端能力调用请求,记录接收到所述端能力调用请求的时间,并开始对所述小程序的性能监控。
本实施例中,以微信中的小程序调用系统相机进行拍照为例。App中的小程序被启动后,根据所接收的用户输入的拍照指令,向App发出对“调用系统相机拍照”这个端能力的调用请求,以便调用系统相机进行拍照,完成用户输入的拍照指令。
优选地,所述小程序性能测试模块根据App收到小程序发送的对“调用系统相机拍照”这个端能力的调用请求的时间,记录App的端能力被调用的时间戳t1,开始对所述小程序的性能监控。
优选地,所述时间戳为系统时间,所述时间戳被存储在App生成的日志文件中。
二、App接收所述小程序发出的端能力调用请求后,对例如“调用系统相机拍照”这个端能力进行解析,解析完毕,进入对应的能力执行函数,例如相机拍摄能力执行函数。
优选地,所述小程序性能测试模块记录App对所述“调用系统相机拍照”这个端能力解析完毕,进入相机拍摄能力执行函数的时间戳t2。所述小程序性能测试模块同时记录对所述“调用系统相机拍照”这个端能力进行解析的执行状态,例如,协议解析成功,或协议解析失败。
优选地,各阶段的执行状态是通过指定的回调函数返回给所述小程序性能测试模块的。
优选地,所述小程序性能测试模块将所述执行状态存储在App生成的日志文件中。
优选地,如果解析失败,后续功能分析会发起报警,并终止端能力调用,进行止损。优选地,可以在App主界面中弹出报警消息,例如“XX小程序调用系统相机拍照,解析失败”。
三、App进入对应的能力执行函数,例如相机拍摄能力执行函数后,启动对应的端能力,例如相机拍摄能力,系统相机被启动。
优选地,所述小程序性能测试模块记录所述对应的功能启动完毕的时间戳,即相机启动完毕的时间戳t3。所述小程序性能测试模块记录所述对应的功能启动的执行状态,例如,相机启动完毕,或相机启动失败。
优选地,所述小程序性能测试模块将所述执行状态存储在App生成的日志文件中。
如果相机启动失败,后续功能分析会发起报警,并终止端能力调用,进行止损。优选地,可以在App主界面中弹出报警消息,例如“XX小程序调用系统相机拍照,相机启动失败”。
四、所述对应的功能启动完毕后,接收用户针对该功能发出的操作指令。例如,当相机完毕后,用户可以通过点击小程序主界面上的拍摄按钮等方式发出拍照指令。
所述小程序性能测试模块记录接收到用户发出的操作指令的时间戳,例如,用户点击拍摄按钮的时间戳t4。
五、所述对应的功能执行后,App向用户展现所述执行结果,例如系统相机进行拍照后,生成拍照数据并呈现给用户。所述小程序性能测试模块记录照片数据的生成并可见时刻的时间戳t5。
所述小程序性能测试模块记录所述功能执行的执行状态,例如拍摄照片成功,或拍摄照片失败。
优选地,所述小程序性能测试模块将所述执行状态存储在App生成的日志文件中。
如果拍摄照片失败,后续功能分析会发起报警,并终止端能力调用,进行止损。优选地,可以在App主界面中弹出报警消息,例如“XX小程序调用系统相机拍照,拍摄照片失败”。
六、APP接收用户对所述执行结果,例如照片数据,的确认操作;所述小程序性能测试模块记录所述确认操作的时间戳t6。
七、App将所述执行结果,例如照片数据,通过端能力内提供的前端callback回调,向小程序传输所述执行结果。
优选地,所述小程序性能测试模块记录所述执行结果传输的时间戳t7。优选地,所述小程序性能测试模块以所述执行结果传输的时间戳t7作为端能力调用结束的时间戳。
所述小程序性能测试模块记录回调函数数据传输的执行状态,例如传输成功,或传输失败。优选地,所述小程序性能测试模块将所述执行状态存储在App生成的日志文件中。
如果传输失败,后续功能分析会发起报警,并终止端能力调用,进行止损。优选地,可以在App主界面中弹出报警消息,例如“XX小程序调用系统相机拍照,照片传输失败”。
优选地,所述日志文件中存储了t1-t7,以及执行状态。
优选地,在本实施例中,日志文件中存储有当前阶段及当前阶段之前的时间戳及执行状态。在任何一个阶段的状态返回失败,则所述小程序性能测试模块会在App中发起报警,并终止端能力调用,进行止损。
在步骤S12的一种优选实现方式中,
根据所记录的各阶段的时间戳进行性能分析,根据所记录的各阶段的执行状态进行功能分析。
优选地,所述根据所记录的各阶段的时间戳进行性能分析包括:
根据日志文件中存储的端能力调用过程中的各阶段的时间戳,计算各阶段的耗时,与预设耗时进行比较。例如,在协议能力解析阶段,协议能力解析耗时为端能力解析完毕,进入相机拍摄能力执行函数的时间戳t2减去App的端能力被调用的时间戳t1所得到的差值;预设的端能力协议解析时间△t1为20ms,若t2-t1的时间大于20ms,则认为该阶段耗时大于预期,可能存在问题。但是,t2-t1的时间受设备内存及cpu影响,例如,当设备内存消耗上升,App性能下降,则协议解析时间会受此影响而变长,虽然可能会超过预设的端能力协议解析时间△t1,但是端能力调用过程仍在继续执行,可以只报警或不进行操作,而继续后续阶段。
优选地,如果大于预设耗时,则在App中发起报警。
优选地,将比较结果记录在性能评估列表中。
优选地,所述根据所记录的各阶段的时间戳进行性能分析也可以在步骤
S11中记录各阶段的时间戳的同时进行比较,将比较结果存储在日志文件中。优选地,如果大于预设耗时,则在App中发起报警,但是,不影响端能力调用,
只有在任何一个阶段的状态返回失败,则所述小程序性能测试模块会在App中发起报警,并终止端能力调用,进行止损。
优选地,根据所述报警信息进行错误分析,确定错误原因,例如,APP性能下降造成,或App运行错误。
优选地,所述根据所记录的各阶段的执行状态进行功能分析包括:
根据日志文件中存储的端能力调用过程中的各阶段的执行状态,判断端能力调用过程是否出现错误。对所述错误进行分析,确定错误原因,例如,App运行错误等。
优选地,所述根据所记录的各阶段的执行状态进行功能分析,若接收到的执行状态为失败状态,则发出状态端能力调用错误的报警,并终止端能力调用,进行止损后;若接收到的执行状态为成功状态,则无需进行功能分析,仅执行状态追踪即可。
在步骤S13的一种优选实现方式中,
根据所述性能分析的结果及所述功能分析的结果输出分析报表。
优选地,在端能力调用结束后,输出分析列表。
优选地,所述分析报表为性能分析报表,包括端能力调用过程中的各阶段的时间戳及执行状态。
优选地,所述分析报表还包括将端能力调用过程中的各阶段的时间戳与各阶段预设时间的对比关系图。
优选地,所述分析列表还包括分析得到的错误原因等。
优选地,通过本实施例所述方法,能够对App中的小程序调用端能力的过程进行自动化性能测试,提高了测试的效率和准确性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
以上是关于方法实施例的介绍,以下通过装置实施例,对本发明所述方案进行进一步说明。
图2为本申请一些实施例提供的小程序性能测试系统的结构示意图,如图2所示,包括:
记录模块21,用于在小程序调用端能力的过程中,记录调用端能力各阶段的时间戳及执行状态;
分析模块22,用于根据所记录的各阶段的时间戳进行性能分析,根据所记录的各阶段的执行状态进行功能分析;
输出模块23,用于根据所述性能分析的结果及所述功能分析的结果输出分析报表。
本实施例中,所述方法的执行主体为App内置的小程序性能测试模块。
在记录模块21的一种优选实现方式中,
App中的小程序在运行过程中,需要调用App提供的端能力,所述端能力为App为小程序提供的一种功能协议,App将规定好的功能协议开放给小程序,小程序遵循协议格式,调用固定能力的协议,即可使用App提供的原生Native能力。
优选地,小程序向App发出端能力调用请求,App对所述端能力解析完毕后,调用所述端能力对应的固定能力,在端能力执行的各阶段中,通过端能力内提供指定的回调函数向所述小程序测试模块返回当前阶段的执行状态。
App内置的小程序性能测试模块在小程序启动后被激活,开始对端能力执行进行监控,以便进一步进行性能分析及功能分析。
具体的端能力执行过程如下:
一、当APP中的小程序被启动后,根据所接收的用户输入的操作指令,向App发出端能力调用请求,调用App提供的端能力以完成所述操作指令。
App接收小程序发出的端能力调用请求,记录接收到所述端能力调用请求的时间,并开始对所述小程序的性能监控。
本实施例中,以微信中的小程序调用系统相机进行拍照为例。App中的小程序被启动后,根据所接收的用户输入的拍照指令,向App发出对“调用系统相机拍照”这个端能力的调用请求,以便调用系统相机进行拍照,完成用户输入的拍照指令。
优选地,所述记录模块21根据App收到小程序发送的对“调用系统相机拍照”这个端能力的调用请求的时间,记录App的端能力被调用的时间戳t1,开始对所述小程序的性能监控。
优选地,所述时间戳为系统时间,所述时间戳被存储在App生成的日志文件中。
二、App接收所述小程序发出的端能力调用请求后,对例如“调用系统相机拍照”这个端能力进行解析,解析完毕,进入对应的能力执行函数,例如相机拍摄能力执行函数。
优选地,所述记录模块21记录App对所述“调用系统相机拍照”这个端能力解析完毕,进入相机拍摄能力执行函数的时间戳t2。所述小程序性能测试模块同时记录对所述“调用系统相机拍照”这个端能力进行解析的执行状态,例如,协议解析成功,或协议解析失败。
优选地,各阶段的执行状态是通过指定的回调函数返回给所述小程序性能测试模块的。
优选地,所述记录模块21将所述执行状态存储在App生成的日志文件中。
优选地,如果解析失败,后续功能分析会发起报警,并终止端能力调用,进行止损。优选地,可以在App主界面中弹出报警消息,例如“XX小程序调用系统相机拍照,解析失败”。
三、App进入对应的能力执行函数,例如相机拍摄能力执行函数后,启动对应的端能力,例如相机拍摄能力,系统相机被启动。
优选地,所述记录模块21记录所述对应的功能启动完毕的时间戳,即相机启动完毕的时间戳t3。所述记录模块21记录所述对应的功能启动的执行状态,例如,相机启动完毕,或相机启动失败。
优选地,所述记录模块21将所述执行状态存储在App生成的日志文件中。
如果相机启动失败,后续功能分析会发起报警,并终止端能力调用,进行止损。优选地,可以在App主界面中弹出报警消息,例如“XX小程序调用系统相机拍照,相机启动失败”。
四、所述对应的功能启动完毕后,接收用户针对该功能发出的操作指令。例如,当相机完毕后,用户可以通过点击小程序主界面上的拍摄按钮等方式发出拍照指令。
所述记录模块21记录接收到用户发出的操作指令的时间戳,例如,用户点击拍摄按钮的时间戳t4。
五、所述对应的功能执行后,App向用户展现所述执行结果,例如系统相机进行拍照后,生成拍照数据并呈现给用户。所述记录模块21记录照片数据的生成并可见时刻的时间戳t5。
所述记录模块21记录所述功能执行的执行状态,例如拍摄照片成功,或拍摄照片失败。
优选地,所述记录模块21将所述执行状态存储在App生成的日志文件中。
如果拍摄照片失败,后续功能分析会发起报警,并终止端能力调用,进行止损。优选地,可以在App主界面中弹出报警消息,例如“XX小程序调用系统相机拍照,拍摄照片失败”。
六、APP接收用户对所述执行结果,例如照片数据,的确认操作;所述记录模块21记录所述确认操作的时间戳t6。
七、App将所述执行结果,例如照片数据,通过端能力内提供的前端callback回调,向小程序传输所述执行结果。
优选地,所述记录模块21记录所述执行结果传输的时间戳t7。优选地,所述记录模块21以所述执行结果传输的时间戳t7作为端能力调用结束的时间戳。
所述记录模块21记录回调函数数据传输的执行状态,例如传输成功,或传输失败。优选地,所述记录模块21将所述执行状态存储在App生成的日志文件中。
如果传输失败,后续功能分析会发起报警,并终止端能力调用,进行止损。优选地,可以在App主界面中弹出报警消息,例如“XX小程序调用系统相机拍照,照片传输失败”。
优选地,所述日志文件中存储了t1-t7,以及执行状态。
优选地,在本实施例中,日志文件中存储有当前阶段及当前阶段之前的时间戳及执行状态。在任何一个阶段的状态返回失败,则所述小程序性能测试模块会在App中发起报警,并终止端能力调用,进行止损。
在分析模块22的一种优选实现方式中,
包括性能分析子模块,用于根据所记录的各阶段的时间戳进行性能分析;功能分析子模块,用于根据所记录的各阶段的执行状态进行功能分析。
优选地,所述性能分析子模块根据所记录的各阶段的时间戳进行性能分析包括:
根据日志文件中存储的端能力调用过程中的各阶段的时间戳,计算各阶段的耗时,与预设耗时进行比较。例如,在协议能力解析阶段,协议能力解析耗时为端能力解析完毕,进入相机拍摄能力执行函数的时间戳t2减去App的端能力被调用的时间戳t1所得到的差值;预设的端能力协议解析时间△t1为20ms,若t2-t1的时间大于20ms,则认为该阶段耗时大于预期,可能存在问题。但是,t2-t1的时间受设备内存及cpu影响,例如,当设备内存消耗上升,App性能下降,则协议解析时间会受此影响而变长,虽然可能会超过预设的端能力协议解析时间△t1,但是端能力调用过程仍在继续执行,可以只报警或不进行操作,而继续后续阶段。
优选地,如果大于预设耗时,则在App中发起报警。
优选地,将比较结果记录在性能评估列表中。
优选地,所述根据所记录的各阶段的时间戳进行性能分析也可以在步骤S11中记录各阶段的时间戳的同时进行比较,将比较结果存储在日志文件中。优选地,如果大于预设耗时,则在App中发起报警,但是,不影响端能力调用,只有在任何一个阶段的状态返回失败,则所述小程序性能测试模块会在App中发起报警,并终止端能力调用,进行止损。
优选地,根据所述报警信息进行错误分析,确定错误原因,例如,APP性能下降造成,或App运行错误。
优选地,所述功能分析子模块根据所记录的各阶段的执行状态进行功能分析包括:
根据日志文件中存储的端能力调用过程中的各阶段的执行状态,判断端能力调用过程是否出现错误。对所述错误进行分析,确定错误原因,例如,App运行错误等。
优选地,所述根据所记录的各阶段的执行状态进行功能分析,若接收到的执行状态为失败状态,则发出状态端能力调用错误的报警,并终止端能力调用,进行止损后;若接收到的执行状态为成功状态,则无需进行功能分析,仅执行状态追踪即可。
在输出模块23的一种优选实现方式中,
所述输出模块23根据所述性能分析的结果及所述功能分析的结果输出分析报表。
优选地,在端能力调用结束后,输出分析列表。
优选地,所述分析报表为性能分析报表,包括端能力调用过程中的各阶段的时间戳及执行状态。
优选地,所述分析报表还包括将端能力调用过程中的各阶段的时间戳与各阶段预设时间的对比关系图。
优选地,所述分析列表还包括分析得到的错误原因等。
优选地,通过本实施例所述系统,能够对App中的小程序调用端能力的过程进行自动化性能测试,提高了测试的效率和准确性。
在所述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
图3示出了适于用来实现本发明实施方式的示例性计算机系统/服务器012的框图。图3显示的计算机系统/服务器012仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图3所示,计算机系统/服务器012以通用计算设备的形式表现。计算机系统/服务器012的组件可以包括但不限于:一个或者多个处理器或者处理单元016,系统存储器028,连接不同系统组件(包括系统存储器028和处理单元016)的总线018。
总线018表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器012典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器012访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器028可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)030和/或高速缓存存储器032。计算机系统/服务器012可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统034可以用于读写不可移动的、非易失性磁介质(图3未显示,通常称为“硬盘驱动器”)。尽管图3中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线018相连。存储器028可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块042的程序/实用工具040,可以存储在例如存储器028中,这样的程序模块042包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块042通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器012也可以与一个或多个外部设备014(例如键盘、指向设备、显示器024等)通信,在本发明中,计算机系统/服务器012与外部雷达设备进行通信,还可与一个或者多个使得用户能与该计算机系统/服务器012交互的设备通信,和/或与使得该计算机系统/服务器012能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口022进行。并且,计算机系统/服务器012还可以通过网络适配器020与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图3所示,网络适配器020通过总线018与计算机系统/服务器012的其它模块通信。应当明白,尽管图3中未示出,可以结合计算机系统/服务器012使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元016通过运行存储在系统存储器028中的程序,从而执行本发明所描述的实施例中的功能和/或方法。
上述的计算机程序可以设置于计算机存储介质中,即该计算机存储介质被编码有计算机程序,该程序在被一个或多个计算机执行时,使得一个或多个计算机执行本发明上述实施例中所示的方法流程和/或装置操作。
随着时间、技术的发展,介质含义越来越广泛,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载等。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (16)

1.一种小程序性能测试方法,其特征在于,包括:
在小程序调用端能力的过程中,记录调用端能力各阶段的时间戳及执行状态;
根据所记录的各阶段的时间戳进行性能分析,根据所记录的各阶段的执行状态进行功能分析;
根据所述性能分析的结果及所述功能分析的结果输出分析报表。
2.根据权利要求1所述的方法,其特征在于,所述记录调用端能力各阶段的时间戳及执行状态包括:
监控调用端能力各阶段的时间戳并记录在日志文件中;接收端能力在回调函数中返回的各阶段的执行状态。
3.根据权利要求1所述的方法,其特征在于,所述调用端能力各阶段的时间戳包括:
端能力被调用时间戳、端能力解析完毕进入对应能力执行函数时间戳、执行对应能力时间戳、端能力调用结果返回时间戳。
4.根据权利要求1所述的方法,其特征在于,调用端能力各阶段的执行状态包括:
协议解析状态、对应能力调起状态、对应能力执行状态、调用结果返回状态。
5.根据权利要求1所述的方法,其特征在于,根据所记录的各阶段的时间戳进行性能分析包括:
根据端能力调用过程中的各阶段的时间戳,计算各阶段的耗时;与各阶段的预设耗时进行比较。
6.根据权利要求1所述的方法,其特征在于,根据所记录的各阶段的执行状态进行功能分析包括:
若状态返回为失败,发起报警,并终止端能力调用,进行止损;
若状态返回为成功,继续执行状态跟踪。
7.根据权利要求1所述的方法,其特征在于,根据所述性能分析的结果及所述功能分析的结果输出分析报表包括:
输出性能分析列表、发出警报、提供执行状态跟踪及执行失败错误分析。
8.一种小程序性能测试系统,其特征在于,包括:
记录模块,用于在小程序调用端能力的过程中,记录调用端能力各阶段的时间戳及执行状态;
分析模块,用于根据所记录的各阶段的时间戳进行性能分析,根据所记录的各阶段的执行状态进行功能分析;
输出模块,用于根据所述性能分析的结果及所述功能分析的结果输出分析报表。
9.根据权利要求8所述的系统,其特征在于,所述记录模块具体用于:
监控调用端能力各阶段的时间戳并记录在日志文件中;接收端能力在回调函数中返回的各阶段的执行状态。
10.根据权利要求8所述的系统,其特征在于,所述调用端能力各阶段的时间戳包括:
端能力被调用时间戳、端能力解析完毕进入对应能力执行函数时间戳、执行对应能力时间戳、端能力调用结果返回时间戳。
11.根据权利要求8所述的系统,其特征在于,调用端能力各阶段的执行状态包括:
协议解析状态、对应能力调起状态、对应能力执行状态、调用结果返回状态。
12.根据权利要求8所述的系统,其特征在于,所述分析模块具体用于:
根据端能力调用过程中的各阶段的时间戳,计算各阶段的耗时;与各阶段的预设耗时进行比较。
13.根据权利要求8所述的系统,其特征在于,所述分析模块具体还用于:
若状态返回为失败,发起报警,并终止端能力调用,进行止损;
若状态返回为成功,继续执行状态跟踪。
14.根据权利要求8所述的系统,其特征在于,所述输出模块具体用于:
输出性能分析列表、发出警报、提供执行状态跟踪及执行失败错误分析。
15.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~7中任一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~7中任一项所述的方法。
CN201811464895.9A 2018-12-03 2018-12-03 一种小程序性能测试方法和系统 Active CN109783345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811464895.9A CN109783345B (zh) 2018-12-03 2018-12-03 一种小程序性能测试方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811464895.9A CN109783345B (zh) 2018-12-03 2018-12-03 一种小程序性能测试方法和系统

Publications (2)

Publication Number Publication Date
CN109783345A true CN109783345A (zh) 2019-05-21
CN109783345B CN109783345B (zh) 2022-05-03

Family

ID=66496498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811464895.9A Active CN109783345B (zh) 2018-12-03 2018-12-03 一种小程序性能测试方法和系统

Country Status (1)

Country Link
CN (1) CN109783345B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111796805A (zh) * 2019-06-27 2020-10-20 上海市计量测试技术研究院 一种aml语言性能验证方法
CN111796998A (zh) * 2019-06-27 2020-10-20 上海市计量测试技术研究院 一种aml语言性能验证系统
CN112346947A (zh) * 2020-11-16 2021-02-09 百度在线网络技术(北京)有限公司 性能检测方法、装置、电子设备和计算机可读介质
CN112882945A (zh) * 2021-03-12 2021-06-01 百度在线网络技术(北京)有限公司 小程序数据处理方法、装置、设备及存储介质
US11954013B2 (en) 2020-11-16 2024-04-09 Baidu Online Network Technology (Beijing) Co., Ltd. Method of testing applet performance, electronic device, and computer-readable medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339535A (zh) * 2008-08-21 2009-01-07 金蝶软件(中国)有限公司 一种对应用程序进行性能监控的方法及装置
CN102147811A (zh) * 2011-03-22 2011-08-10 杭州华三通信技术有限公司 一种基于日志的系统性能分析方法和装置
JP2013246599A (ja) * 2012-05-25 2013-12-09 Hitachi Ltd ソースコード解析支援方法およびソースコード解析支援システム
CN104866416A (zh) * 2014-02-25 2015-08-26 腾讯科技(深圳)有限公司 实现应用程序性能分析的方法和装置
CN107918587A (zh) * 2017-11-15 2018-04-17 北京中电普华信息技术有限公司 一种应用程序的调试方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339535A (zh) * 2008-08-21 2009-01-07 金蝶软件(中国)有限公司 一种对应用程序进行性能监控的方法及装置
CN102147811A (zh) * 2011-03-22 2011-08-10 杭州华三通信技术有限公司 一种基于日志的系统性能分析方法和装置
JP2013246599A (ja) * 2012-05-25 2013-12-09 Hitachi Ltd ソースコード解析支援方法およびソースコード解析支援システム
CN104866416A (zh) * 2014-02-25 2015-08-26 腾讯科技(深圳)有限公司 实现应用程序性能分析的方法和装置
CN107918587A (zh) * 2017-11-15 2018-04-17 北京中电普华信息技术有限公司 一种应用程序的调试方法及系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111796805A (zh) * 2019-06-27 2020-10-20 上海市计量测试技术研究院 一种aml语言性能验证方法
CN111796998A (zh) * 2019-06-27 2020-10-20 上海市计量测试技术研究院 一种aml语言性能验证系统
CN111796805B (zh) * 2019-06-27 2024-05-07 上海市计量测试技术研究院 一种aml语言性能验证方法
CN111796998B (zh) * 2019-06-27 2024-05-07 上海市计量测试技术研究院 一种aml语言性能验证系统
CN112346947A (zh) * 2020-11-16 2021-02-09 百度在线网络技术(北京)有限公司 性能检测方法、装置、电子设备和计算机可读介质
WO2022100075A1 (zh) * 2020-11-16 2022-05-19 百度在线网络技术(北京)有限公司 性能检测方法、装置、电子设备和计算机可读介质
CN112346947B (zh) * 2020-11-16 2023-08-01 百度在线网络技术(北京)有限公司 性能检测方法、装置、电子设备和计算机可读介质
US11954013B2 (en) 2020-11-16 2024-04-09 Baidu Online Network Technology (Beijing) Co., Ltd. Method of testing applet performance, electronic device, and computer-readable medium
CN112882945A (zh) * 2021-03-12 2021-06-01 百度在线网络技术(北京)有限公司 小程序数据处理方法、装置、设备及存储介质
CN112882945B (zh) * 2021-03-12 2024-06-04 百度在线网络技术(北京)有限公司 小程序数据处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN109783345B (zh) 2022-05-03

Similar Documents

Publication Publication Date Title
CN109783345A (zh) 一种小程序性能测试方法和系统
CN110166432A (zh) 对内网目标服务的访问方法、提供内网目标服务的方法
CN108833131A (zh) 分布式数据库云服务的系统、方法、设备和计算机存储介质
CN109243425A (zh) 语音识别测试方法、装置、系统、计算机设备及存储介质
WO2020177734A1 (zh) 小程序触发方法、计算机设备及存储介质
CN111330280B (zh) 游戏中的数据处理方法、装置、存储介质与电子设备
CN110072268A (zh) wifi热点分享的方法、设备和计算机存储介质
CN109933269A (zh) 小程序推荐的方法、设备和计算机存储介质
WO2022127196A1 (zh) 应用识别方法、装置、设备及存储介质
CN110515758A (zh) 一种故障定位方法、装置、计算机设备及存储介质
CN110471740A (zh) 执行机器学习任务的方法、装置、设备和计算机存储介质
CN108696649A (zh) 图像处理方法、装置、设备及计算机可读存储介质
CN109684566A (zh) 标签引擎实现方法、装置、计算机设备及存储介质
CN111966653A (zh) 微服务调用链路数据处理方法、装置、服务器及存储介质
CN103902543A (zh) 数据库查询方法和装置及数据库系统
CN112000491B (zh) 一种应用程序接口调用方法、装置、设备和存储介质
CN108829646A (zh) 数据存储及解析方法、装置、系统及存储介质
CN109684103A (zh) 一种接口调用方法、装置、服务器及存储介质
CN109033456A (zh) 一种条件查询方法、装置、电子设备和存储介质
US7356683B2 (en) System and method for monitoring BIOS messages of remote computers by a local server
CN110489210A (zh) 创建虚拟机的方法、装置、设备和计算机存储介质
CN116136857A (zh) 数据采集方法及装置、电子设备和存储介质
CN109189332A (zh) 一种磁盘挂载方法、装置、服务器及存储介质
CN110213310A (zh) 一种网络服务的路径获取方法、装置和存储介质
CN109241164A (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