软件性能测试方法和系统的制作方法

文档序号:6631060阅读:707来源:国知局
软件性能测试方法和系统的制作方法
【专利摘要】本发明提供一种软件性能测试方法和系统,其中,方法包括以下步骤:通过测试主机连接智能终端,并由测试主机启动智能终端上安装的被测试软件;对所述被测试软件进行应用操作,通过脚本录制方式录制所述应用操作的操作信息;实时监控当前应用操作状态,当所述被测试软件在所述应用操作过程中出现故障时,利用脚本回放所述出现故障的应用操作过程;在测试主机上保存所述脚本回放的所述出现故障的应用操作过程,然后根据所述保存的所述出现故障的应用操作过程确定被测试软件的性能。采取本发明的方案,通过启动脚本录制对被测试软件的应用操作,简化了测试步骤,从而提高了测试的效率。
【专利说明】软件性能测试方法和系统

【技术领域】
[0001]本发明涉及计算机【技术领域】,特别是涉及一种软件性能测试方法和软件性能测试系统。

【背景技术】
[0002]随着智能终端的不断发展,智能终端的软件数量和种类增长迅速。而在软件数量增长和功能日趋完善的同时,其占用内存也在不断增大,这就带来了响应时间变长、耗电量加大等问题。而软件性能是智能终端有效实现其功能的重要指标,也是影响设备正常使用的关键因素,因此对于软件的性能评测尤为重要。
[0003]在智能终端软件性能测试方面,一般是通过录制测试脚本来检测智能终端的软件,但在实际检测过程中,由于测试脚本需要测试人员手工编写录制,所以测试效率低。


【发明内容】

[0004]基于此,有必要针对现有智能终端软件性能测试测试效率低的问题,提供一种软件性能测试方法和软件性能测试系统。
[0005]一种软件性能测试方法,包括以下步骤:
[0006]通过测试主机连接智能终端,并由测试主机启动智能终端上安装的被测试软件;
[0007]对所述被测试软件进行应用操作,通过脚本录制方式录制所述应用操作的操作信息;
[0008]实时监控当前应用操作状态,当所述被测试软件在所述应用操作过程中出现故障时,利用脚本回放所述出现故障的应用操作过程;
[0009]在测试主机上保存所述脚本回放的所述出现故障的应用操作过程,然后根据所述保存的所述出现故障的应用操作过程确定被测试软件的性能。
[0010]一种软件性能测试系统,包括:
[0011]启动模块,用于通过测试主机连接智能终端,并由测试主机启动智能终端上安装的被测试软件;
[0012]录制模块,用于对所述被测试软件进行应用操作,通过脚本录制方式录制所述应用操作的操作信息;
[0013]回放模块,用于实时监控当前应用操作状态,当所述被测试软件在所述应用操作过程中出现故障时,利用脚本回放所述出现故障的应用操作过程;
[0014]确定模块,用于在测试主机上保存所述脚本回放的所述出现故障的应用操作过程,然后根据所述保存的所述出现故障的应用操作过程确定被测试软件的性能。
[0015]采取本发明的方案,通过启动脚本录制对被测试软件的应用操作,简化了测试步骤;而当所述被测试软件因所述应用操作出现故障时,利用脚本回放所述出现故障的应用操作过程可以更好的测试被测试软件对于哪些应用操作的性能不太高的问题,从而提高了测试的效率。

【专利附图】

【附图说明】
[0016]图1为一实施例的软件性能测试方法流程图;
[0017]图2为一实施例的软件性能测试平台结构示意图;
[0018]图3为另一实施例的软件性能测试方法流程图;
[0019]图4为一实施例的软件性能测试指标分析报告流程图;
[0020]图5为一实施例的软件性能测试系统结构示意图。

【具体实施方式】
[0021]下面结合附图对本发明的软件性能测试方法和软件性能测试系统的【具体实施方式】作详细描述。
[0022]请参阅图1,图1为一实施例的软件性能测试方法流程图。
[0023]一种软件性能测试方法,包括以下步骤:
[0024]步骤S102:通过测试主机连接智能终端,并由测试主机启动智能终端上安装的被测试软件;
[0025]在步骤S102中,所述测试主机可以为电脑,由测试主机启动智能终端上安装的被测试软件可以避免占用智能终端内存,影响软件性能测试的准确性,并且也可以避免智能终端在测试时数据流量流失的问题,安全性较高。
[0026]在一实施例中,所述并由测试主机启动智能终端上安装的被测试软件步骤之前还可以包括:
[0027]通过调用智能终端操作系统指令在所述智能终端安装所述被测试软件。
[0028]通过调用智能终端操作系统指令安装所述被测试软件可以简化软件性能测试的步骤,提高软件性能测试的效率。
[0029]步骤S104:对所述被测试软件进行应用操作,通过脚本录制方式录制所述应用操作的操作信息;
[0030]在步骤S104中,所述进行应用操作的方式可以为通过在智能终端上进行实际应用操作、通过模拟器对所述被测试软件进行模拟应用操作或通过数据同步连接工具同步所述测试主机和所述智能终端,在测试主机上对被测试软件进行应用操作。在通过数据同步连接工具进行应用操作时,智能终端系统的性能指标将在测试主机的界面上动态显示。所述应用操作可以为点击菜单、滑动选项等。通过脚本录制方式录制所述应用操作的操作信息可以使得软件性能测试更便捷。
[0031]在一实施例中,对所述被测试软件进行应用操作的步骤可以包括:
[0032]通过数据同步连接工具同步所述测试主机和所述智能终端;
[0033]在测试主机上对所述智能终端的所述被测试软件进行应用操作。
[0034]通过数据同步连接工具可以同步所述测试主机和所述智能终端,使得在所述测试主机上可以对所述智能终端的被测试软件进行应用操作,使得软件性能测试更加便捷,从而提高了软件性能测试效率。
[0035]步骤S106:实时监控当前应用操作状态,当所述被测试软件在所述应用操作过程中出现故障时,利用脚本回放所述出现故障的应用操作过程;
[0036]在步骤S106中,当所述被测试软件在所述应用操作过程中出现故障时,利用脚本回放所述出现故障的应用操作过程,所述故障可以为进行滑动选项时出现蓝屏或者进行某个进程时出现的卡帧等。进行脚本回放有利于再现所述出现故障的应用操作过程,从而使得测试不需要在进行重复的应用操作,继而提高了软件性能测试的效率。
[0037]步骤S108:在测试主机上保存所述脚本回放的所述出现故障的应用操作过程,然后根据所述保存的所述出现故障的应用操作过程确定被测试软件的性能。
[0038]在步骤S108中,根据所述保存的所述出现故障的应用操作过程可以得知所述被测试软件对于哪些应用操作的性能比较低,从而可以确定被测试软件的性能。
[0039]在一实施例中,所述根据所述保存的所述出现故障的应用操作过程确定被测试软件的性能的步骤可以包括:
[0040]获取所述应用操作的过程中所述被测试软件内存的堆栈、线程和内存溢出参数;
[0041]根据所述堆栈、线程和内存溢出参数和所述保存的所述出现故障的应用操作过程确定被测试软件的性能。
[0042]通过获取所述应用操作的过程中所述被测试软件内存的堆栈、线程和内存溢出参数可以更详细的测试所述被测试软件的运行内存和内存占用情况,从而可以提高软件性能测试的内存分析功能。
[0043]进一步的,所述根据所述堆栈、线程和内存溢出参数和所述保存的所述出现故障的应用操作过程确定被测试软件的性能步骤可以包括:
[0044]将所述堆栈、线程和内存溢出参数和所述保存的出现故障的应用操作过程分别与设定的标准进行对比,然后对所述对比的结果进行分析,根据所述分析的结果获取被测试软件的性能。
[0045]在智能终端操作系统上测试时,比如安卓操作系统,通过在JVM(Java VirtualMachine,Java虚拟机)参数中配置端口监控Java(爪哇)内存、Java CPU使用率、线程执行情况等方面,从而监视JVM的运行情况。通过打开gc (garbage collect1n,垃圾收集器)的详细log日志并将log日志内容写入java_pidxxxx.hprof文件,当出现内存溢出时,HeapDumpOnOutOfMemoryError 的配置信息将被写入 java_pidxxxx.hprof 文件中,比如java_pid4843.hprof,打开java_pidxxxx.hprof文件即可以获取内存溢出时的内存堆栈信息和参数。
[0046]通过将所述堆栈、线程和内存溢出参数和所述保存的出现故障的应用操作过程分别与设定的标准进行对比可以得知被测试软件的性能与设定的标准之间的差异,然后通过对所述对比的结果进行分析可以得知被测试软件的性能。
[0047]在一实施例中,所述确定被测试软件的性能步骤之后还包括:通过调用智能终端操作系统指令卸载所述被测试软件。
[0048]通过调用智能终端操作系统指令卸载所述被测试软件可以简化软件性能测试的步骤,提高软件性能测试的效率。
[0049]为了更进一步的详细解释本发明软件性能测试方法,下面将结合具体应用实例进行说明。
[0050]本应用实例采用台式电脑作为测试主机,测试主机连接互联网,采用安卓手机作为智能终端。
[0051]请参阅图2,图2为一实施例的软件性能测试平台结构示意图。
[0052]测试主机台式电脑中含有软件性能测试软件和用于建立智能终端安卓手机数据同步连接的数据同步连接工具。首先通过USB接口连接如图2所示的智能终端和测试主机,然后运行软件性能测试软件,开始软件性能测试准备工作。通过软件性能测试软件的启动模块导入并安装被测试软件,然后启动所述被测试软件。通过数据同步连接工具建立测试主机与智能终端数据同步连接。
[0053]请参阅图3,图3为另一实施例的软件性能测试方法流程图。
[0054]测试主机首先对智能终端进行实时显示测试,测试测试主机与智能终端的同步数据显示质量,并判断测试主机与智能终端数据同步连接是否正常。若数据同步连接异常则重新建立数据同步连接工作,若数据同步连接正常,则进行所述被测试软件的性能测试。首先,在测试主机上对所述被测试软件进行应用操作,然后通过脚本录制方式录制所述应用操作的操作信息。若在被测试软件的应用操作过程中,所述被测试软件没有出现故障,比如蓝屏,卡屏等,则继续进行所述应用操作;若在被测试软件的应用操作过程中,所述被测试软件出现故障则利用脚本回放对于被测试软件的出现故障的应用操作过程并进行动态显示,然后通过测试主机保存所述出现故障的应用操作过程。
[0055]接下来,对所述被测试软件的占用内存和运行内存性能问题进行测试,生成dump文件(进程的内存镜像),对被测试的软件运行错误进行测试,并通过dump文件获取所述应用操作的过程中所述被测试软件内存的堆栈、线程和内存溢出参数。
[0056]请参阅图4,图4为一实施例的软件性能测试指标分析报告流程图。运行确定模块时,提取智能终端内存、CPU (Central Processing Unit,中央处理器)、机身存储、系统软硬件信息、系统平均负载等关键性能指标,也可以进一步根据测试需求选择设备驱动程序等参数指标进行提取,然后获取所述应用操作的过程中所述被测试软件内存的堆栈、线程和内存溢出参数,接下来获取所述保存的出现故障的应用操作过程;在进行上述获取之后,判断是否完成整个测试工作,若未完成则继续测试,若完成则将上述保存的出现故障的应用操作过程和参数分别与设定的标准进行对比,然后对所述对比的结果进行分析,根据所述分析的结果获取被测试软件的性能;最后生成终端性能测试报告,并在测试主机上显示测试结果。
[0057]请参阅图5,图5为一实施例的软件性能测试系统结构示意图。
[0058]一种软件性能测试系统,包括:
[0059]启动模块220,用于通过测试主机连接智能终端,并由测试主机启动智能终端上安装的被测试软件;
[0060]所述测试主机可以为电脑,由测试主机启动智能终端上安装的被测试软件可以避免占用智能终端内存,影响软件性能测试的准确性,并且也可以避免智能终端在测试时数据流量流失的问题,安全性较高。
[0061]在一实施例中,启动模块220还可以包括:安装模块,用于通过调用智能终端操作系统指令在所述智能终端安装所述被测试软件;
[0062]通过调用智能终端操作系统指令安装所述被测试软件可以简化软件性能测试的步骤,提高软件性能测试的效率。
[0063]录制模块240,用于对所述被测试软件进行应用操作,通过脚本录制方式录制所述应用操作的操作信息;
[0064]所述进行应用操作的方式可以为通过在智能终端上进行实际应用操作、通过模拟器对所述被测试软件进行模拟应用操作或通过数据同步连接工具同步所述测试主机和所述智能终端,在测试主机上对被测试软件进行应用操作。在通过数据同步连接工具进行应用操作时,智能终端系统的性能指标将在测试主机的界面上动态显示。所述应用操作可以为点击菜单、滑动选项等。通过脚本录制方式录制所述应用操作的操作信息可以使得软件性能测试更便捷。
[0065]在一实施例中,所述录制模块240执行对所述被测试软件进行应用操作的过程可以包括:
[0066]通过数据同步连接工具同步所述测试主机和所述智能终端;
[0067]在测试主机上对所述智能终端的所述被测试软件进行应用操作。
[0068]通过数据同步连接工具可以同步所述测试主机和所述智能终端,使得在所述测试主机上可以对所述智能终端的被测试软件进行应用操作,使得软件性能测试更加便捷,从而提高了软件性能测试效率。
[0069]回放模块260,用于实时监控当前应用操作状态,当所述被测试软件在所述应用操作过程中出现故障时,利用脚本回放所述出现故障的应用操作过程;
[0070]当所述被测试软件在所述应用操作过程中出现故障时,利用脚本回放所述出现故障的应用操作过程,所述故障可以为进行滑动选项时出现蓝屏或者进行某个进程时出现的卡帧等。进行脚本回放有利于再现所述出现故障的应用操作过程,从而使得测试不需要在进行重复的应用操作,继而提高了软件性能测试的效率。
[0071]确定模块280,用于在测试主机上保存所述脚本回放的所述出现故障的应用操作过程,然后根据所述保存的所述出现故障的应用操作过程确定被测试软件的性能。
[0072]根据所述保存的所述出现故障的应用操作过程可以得知所述被测试软件对于哪些应用操作的性能比较低,从而可以确定被测试软件的性能。
[0073]在一实施例中,所述确定模块280执行根据所述保存的所述出现故障的应用操作过程确定被测试软件的性能的过程可以包括:
[0074]获取所述应用操作的过程中所述被测试软件内存的堆栈、线程和内存溢出参数;
[0075]根据所述堆栈、线程和内存溢出参数和所述保存的所述出现故障的应用操作过程确定被测试软件的性能。
[0076]通过获取所述应用操作的过程中所述被测试软件内存的堆栈、线程和内存溢出参数可以更详细的测试所述被测试软件的运行内存和内存占用情况,从而可以提高软件性能测试的内存分析功能。
[0077]进一步的,所述确认模块280执行根据所述堆栈、线程和内存溢出参数和所述保存的所述出现故障的应用操作过程确定被测试软件的性能的过程可以包括:
[0078]将所述堆栈、线程和内存溢出参数和所述保存的出现故障的应用操作过程分别与设定的标准进行对比,然后对所述对比的结果进行分析,根据所述分析的结果获取被测试软件的性能。
[0079]在智能终端操作系统上测试时,比如安卓操作系统,通过在JVM(Java VirtualMachine, Java虚拟机)参数中配置端口监控Java内存、Java CPU使用率、线程执行情况等方面,从而监视JVM的运行情况。通过打开gc (garbage collect1n,垃圾收集器)的详细log日志并将log日志内容写入java_pidxxxx.hprof文件,当出现内存溢出时,HeapDumpOnOutOfMemoryError 的配置信息将被写入 java_pidxxxx.hprof 文件中,比如java_pid4843.hprof,打开java_pidxxxx.hprof文件即可以获取内存溢出时的内存堆栈信息和参数。通过将所述堆栈、线程和内存溢出参数和所述保存的出现故障的应用操作过程分别与设定的标准进行对比可以得知被测试软件的性能与设定的标准之间的差异,然后通过对所述对比的结果进行分析可以得知被测试软件的性能。
[0080]在一实施例中,确定模块280之后还可以包括:卸载模块,用于通过调用智能终端操作系统指令卸载所述被测试软件。
[0081]通过调用智能终端操作系统指令卸载所述被测试软件可以简化软件性能测试的步骤,提高软件性能测试的效率。
[0082]需要声明的是,在本发明的软件性能测试方法和软件性能测试系统中,并不限定于上述优选实施例中阐述的技术方案,也可以采用其它形式的技术方案,可实现软件性能测试效率高的效果。
[0083]本发明的软件性能测试系统与本发明的软件性能测试方法一一对应,在上述软件性能测试方法的实施例阐述的技术特征及其有益效果均适用于软件性能测试系统的实施例中,特此声明。
[0084]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种软件性能测试方法,其特征在于,包括以下步骤: 通过测试主机连接智能终端,并由测试主机启动智能终端上安装的被测试软件; 对所述被测试软件进行应用操作,通过脚本录制方式录制所述应用操作的操作信息; 实时监控当前应用操作状态,当所述被测试软件在所述应用操作过程中出现故障时,利用脚本回放所述出现故障的应用操作过程; 在测试主机上保存所述脚本回放的所述出现故障的应用操作过程,然后根据所述保存的所述出现故障的应用操作过程确定被测试软件的性能。
2.根据权利要求1所述的软件性能测试方法,其特征在于,所述根据所述保存的所述出现故障的应用操作过程确定被测试软件的性能的步骤包括: 获取所述应用操作的过程中所述被测试软件内存的堆栈、线程和内存溢出参数; 根据所述堆栈、线程和内存溢出参数和所述保存的所述出现故障的应用操作过程确定被测试软件的性能。
3.根据权利要求2所述的软件性能测试方法,其特征在于,所述根据所述堆栈、线程和内存溢出参数和所述保存的所述出现故障的应用操作过程确定被测试软件的性能步骤包括: 将所述堆栈、线程和内存溢出参数和所述保存的出现故障的应用操作过程分别与设定的标准进行对比,然后对所述对比的结果进行分析,根据所述分析的结果获取被测试软件的性能。
4.根据权利要求1所述的软件性能测试方法,其特征在于,所述对所述被测试软件进行应用操作的步骤包括: 通过数据同步连接工具同步所述测试主机和所述智能终端; 在测试主机上对所述智能终端的所述被测试软件进行应用操作。
5.根据权利要求1所述的软件性能测试方法,其特征在于,所述并由测试主机启动智能终端上安装的被测试软件步骤之前还包括:通过调用智能终端操作系统指令在所述智能终端安装所述被测试软件; 所述确定被测试软件的性能步骤之后还包括:通过调用智能终端操作系统指令卸载所述被测试软件。
6.一种软件性能测试系统,其特征在于,包括: 启动模块,用于通过测试主机连接智能终端,并由测试主机启动智能终端上安装的被测试软件; 录制模块,用于对所述被测试软件进行应用操作,通过脚本录制方式录制所述应用操作的操作信息; 回放模块,用于实时监控当前应用操作状态,当所述被测试软件在所述应用操作过程中出现故障时,利用脚本回放所述出现故障的应用操作过程; 确定模块,用于在测试主机上保存所述脚本回放的所述出现故障的应用操作过程,然后根据所述保存的所述出现故障的应用操作过程确定被测试软件的性能。
7.根据权利要求6所述的软件性能测试系统,其特征在于,所述确定模块执行根据所述保存的所述出现故障的应用操作过程确定被测试软件的性能的过程包括: 获取所述应用操作的过程中所述被测试软件内存的堆栈、线程和内存溢出参数; 根据所述堆栈、线程和内存溢出参数和所述保存的所述出现故障的应用操作过程确定被测试软件的性能。
8.根据权利要求7所述的软件性能测试系统,其特征在于,所述确认模块执行根据所述堆栈、线程和内存溢出参数和所述保存的所述出现故障的应用操作过程确定被测试软件的性能的过程包括: 将所述堆栈、线程和内存溢出参数和所述保存的出现故障的应用操作过程分别与设定的标准进行对比,然后对所述对比的结果进行分析,根据所述分析的结果获取被测试软件的性能。
9.根据权利要求6所述的软件性能测试系统,其特征在于,所述录制模块执行对所述被测试软件进行应用操作的过程包括: 通过数据同步连接工具同步所述测试主机和所述智能终端; 在测试主机上对所述智能终端的所述被测试软件进行应用操作。
10.根据权利要求6所述的软件性能测试系统,其特征在于,启动模块还包括:安装模块,用于通过调用智能终端操作系统指令在所述智能终端安装所述被测试软件; 确定模块之后还包括:卸载模块,用于通过调用智能终端操作系统指令卸载所述被测试软件。
【文档编号】G06F11/36GK104317709SQ201410562827
【公开日】2015年1月28日 申请日期:2014年10月21日 优先权日:2014年10月21日
【发明者】贾世准, 林军, 冯晓荣, 杨春晖, 宾建伟 申请人:工业和信息化部电子第五研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1