CN110502414B - 终端设备性能测试方法、装置、终端设备及存储介质 - Google Patents

终端设备性能测试方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN110502414B
CN110502414B CN201910770334.XA CN201910770334A CN110502414B CN 110502414 B CN110502414 B CN 110502414B CN 201910770334 A CN201910770334 A CN 201910770334A CN 110502414 B CN110502414 B CN 110502414B
Authority
CN
China
Prior art keywords
test
terminal equipment
static data
application
storage space
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.)
Active
Application number
CN201910770334.XA
Other languages
English (en)
Other versions
CN110502414A (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201910770334.XA priority Critical patent/CN110502414B/zh
Publication of CN110502414A publication Critical patent/CN110502414A/zh
Application granted granted Critical
Publication of CN110502414B publication Critical patent/CN110502414B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请实施例公开了一种终端设备性能测试方法、装置、终端设备及存储介质,涉及计算机技术领域。方法包括获取静态数据,并将静态数据填充至终端设备的存储空间;对静态数据进行碎片化处理,碎片化处理用于模拟用户在指定时间内通过终端设备对静态数据进行处理的操作,以使终端设备的存储空间处于碎片化状态;通过存储空间处于碎片化状态的终端设备执行指定应用的测试脚本,以对与测试脚本对应的测试用例进行测试,得到测试结果;基于测试结果生成终端设备的性能测试报表。可实现有效模拟终端设备在用户使用一定时间的状态,并在该状态下对终端设备性能的自动化测试,避免了大量重复的手工操作,并保证了测试的全面性和准确性。

Description

终端设备性能测试方法、装置、终端设备及存储介质
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种终端设备性能测试方法、装置、终端设备及存储介质。
背景技术
随着移动互联网的快速发展,像手机或者平板电脑之类的终端设备的使用也越来越广泛。为了保证用户能够正常地使用终端设备,在终端设备出厂前需要对终端设备进行反复测试。
目前的终端设备依赖于测试人员或者机械手对终端设备上的应用进行反复又细致的测试。然而,人工测试不仅过程繁琐,而且难免存在一些疏漏。而通过机械手进行测试则无法实时监视终端设备的测试过程,无法保证测试结果的准确性。
发明内容
鉴于上述问题,本申请提出了一种终端设备性能测试方法、装置、终端设备及存储介质,以解决上述问题。
第一方面,本申请实施例提供了一种终端设备性能测试方法,该方法包括:获取静态数据,并将静态数据填充至终端设备的存储空间;对静态数据进行碎片化处理,碎片化处理用于模拟用户在指定时间内通过终端设备对静态数据进行处理的操作,以使终端设备的存储空间处于碎片化状态;通过存储空间处于碎片化状态的终端设备执行指定应用的测试脚本,以对与测试脚本对应的测试用例进行测试,得到测试结果;基于测试结果生成终端设备的性能测试报表。
第二方面,本申请实施例提供了一种终端设备性能测试装置,该装置包括:填充模块、碎片化处理模块、测试模块以及报表生成模块,其中,填充模块用于获取静态数据,并将静态数据填充至终端设备的存储空间;碎片化处理模块用于对静态数据进行碎片化处理,碎片化处理用于模拟用户在指定时间内通过终端设备对静态数据进行处理的操作,以使终端设备的存储空间处于碎片化状态;测试模块用于通过存储空间处于碎片化状态的终端设备执行指定应用的测试脚本,以对与测试脚本对应的测试用例进行测试,得到测试结果;报表生成模块,用于基于测试结果生成终端设备的性能测试报表。
第三方面,本申请实施例提供了一种终端设备,包括一个或多个处理器、存储器、以及一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行上述的终端设备性能测试方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行上述的终端设备性能测试方法。
本申请实施例提供的终端设备性能测试方法、装置、终端设备及存储介质,通过获取静态数据,并将该静态数据填充至终端设备的存储空间,以模拟用户使用终端设备的存储空间的状态。再对该静态数据进行碎片化处理,以模拟用户在指定时间内通过该终端设备对该静态数据进行处理的操作,以使该终端设备的存储空间处于碎片化状态,然后通过存储空间处于碎片化状态的终端设备执行指定应用的测试脚本,以对与该测试脚本对应的测试用例进行测试,得到测试结果;基于该测试结果生成该终端设备的性能测试报表,从而实现有效模拟终端设备在用户使用一定时间的状态,并在该状态下对终端设备性能的自动化测试,避免了大量重复的手工操作,并保证了测试的全面性和准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本申请实施例提供的应用环境的结构示意图。
图2示出了根据本申请一个实施例的终端设备性能测试方法流程图。
图3示出了根据本申请另一个实施例的终端设备性能测试方法流程图。
图4示出了根据本申请又一个实施例的终端设备性能测试方法流程图。
图5示出了根据本申请再一个实施例的终端设备性能测试方法流程图。
图6示出了根据本申请又另一个实施例的终端设备性能测试方法流程图。
图7示出了根据本申请图6所示的终端设备性能测试方法中步骤S510的一个实施例的方法流程图。
图8示出了根据本申请图6所示的终端设备性能测试方法中步骤S510的另一个实施例的方法流程图。
图9示出了本申请一个实施例提供的终端设备性能测试的功能模块图。
图10示出了本申请实施例提供的终端设备的结构框图。
图11是本申请实施例的用于保存或者携带实现根据本申请实施例的终端设备性能测试方法的程序代码的存储介质。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
随着移动互联网的快速发展,像手机或者平板电脑之类的终端设备的使用也越来越广泛。为了保证用户能够正常地使用终端设备,在终端设备出厂前需要对终端设备进行反复测试。
目前的终端设备依赖于测试人员或者机械手对终端设备上的应用进行反复又细致的测试。然而,人工测试不仅过程繁琐,而且难免存在一些疏漏。而通过机械手进行测试则无法实时监视终端设备的测试过程,无法保证测试结果的准确性。
发明人经过研究发现,通过自动化测试工具或者编程语言编写出自动化脚本,并利用自动化脚本驱动被测试的应用程序实现自动化测试,从而代替大量重复的手工操作,同时降低因为人为原因造成的失误。但是,目前的自动化测试往往是在终端设备初始化的状态下,无法对终端设备在使用后的性能进行评估,从而导致测试不全面,测试结果不准确。因此,发明人提出了本申请实施例提的终端设备性能测试方法、装置、终端设备及存储介质,可实现有效模拟终端设备在用户使用一定时间的状态,并在该状态下对终端设备性能的自动化测试,避免了大量重复的手工操作,并保证了测试的全面性和准确性。
请参见图1,图1示出了本申请实施例提供的终端设备性能测试方法所涉及的一种应用环境的结构示意图,该应用环境包括:终端设备100和测试终端200。其中,终端设备100可以是智能手机、平板电脑、个人电脑、电子书阅读器、音频播放器、视频播放器等等。测试终端200可以是台式计算机、便携式计算机等等。其中,测试终端200可以通过无线网络、有线网络或者通用串行总线(Universal Serial Bus,USB)数据线与终端设备100建立连接,将自动化测试脚本发送给终端设备。终端设备100接收到测试终端200发送的自动化测试脚本之后,执行该自动化测试脚本对指定的应用程序的至少一个测试用例进行自动化测试,并在测试过程中记录终端设备100自身的性能数据。需要说明的是,当测试终端200与终端设备100之间通过USB数据线建立连接时,在终端设备执行自动化测试脚本以及采集性能数据的过程中,为了不影响测试的准确性,需要断开该USB连接。
在一种实施方式中,该应用环境可以只包括终端设备100。其中,终端设备100可以预先存储有自动化测试脚本,当进行性能测试时,终端设备可以自动执行该自动化测试脚本,对指定的一个或多个引用程序的只要一个测试用例进行自动化测试,并在自动生成测试结果以及记录终端设备100自身的性能数据。
基于上述介绍的应用环境,下面将通过具体实施例对本申请实施例提供的终端设备性能测试方法、装置、终端设备及存储介质进行详细说明。
请参阅图2,图2示出了本申请一个实施例提供的终端设备性能测试方法流程图,该方法可以包括:
步骤S110,获取静态数据,并将静态数据填充至终端设备的存储空间。
在一些实施方式中,静态数据可以由测试终端发送至终端设备,其中,发送方式可以是无线发送(如通过WiFi、4G、5G、蓝牙等发送),也可以是有线发送(如通过USB数据线等发送)。然后将静态数据填充至终端设备的存储空间,以模拟用户在长时间使用终端设备后其终端设备的存储空间的状态。其中,静态数据可以是通讯录、短信、图片、视频、音乐等数据。
步骤S120,对静态数据进行碎片化处理,碎片化处理用于模拟用户在指定时间内通过终端设备对静态数据进行处理的操作,以使终端设备的存储空间处于碎片化状态。
在一些实施方式中,终端设备中可以预先存储了用于将静态数据进行碎片化处理的程序。当碎片化的程序在终端设备中运行时,终端设备可以模拟用户在一定时间内对静态数据进行处理的操作,以产生文件碎片,进而使终端设备的存储空间处于碎片化状态。
步骤S130,通过存储空间处于碎片化状态的终端设备执行指定应用的测试脚本,以对与测试脚本对应的测试用例进行测试,得到测试结果。
在终端设备的存储空间处于碎片化状态下,终端设备自动执行指定应用的测试脚本以对与测试脚本对应的测试用例进行测试。其中,指定应用可以是即时通讯应用(如微信、QQ等)、音频播放应用、视频播放应用、拍摄应用等等。可以理解的是,测试用例是指对应用程序的某个或者某些功能进行测试任务的概括性描述,一个测试用例可以包含至少一个操作事件。其中,操作事件是指通过对设备对象进行操作动作产生的事件,比如点击设备对象上的实体按钮或者虚拟按钮或者界面窗口。需要说明的是,在本申请实施例中设备对象即终端设备。
作为一种示例,终端设备在执行测试脚本时,可以无人操作的情况下自动实现例如打开微信、在微信中进行滑动浏览、发送消息、打开相机进行拍照等动作,并在终端设备做出上述动作时,记录与上述动作对应的测试结果,从而实现模拟人为操作达到测试目的。可选地,测试脚本可以预先存储在终端设备中,也可以由测试终端发送给终端设备。在一些实施方式中,测试终端可以根据终端设备的测试版本,发送与测试版本对应的测试脚本。
步骤S140,基于测试结果生成终端设备的性能测试报表。
终端设备通过对不同测试用例进行测试,从而得到不同测试用例下的测试结果,根据测试结果可以生成终端设备的性能测试报表。其中,性能测试报表可以包括该终端设备的内存占用率、内存回收次数、IO读写量、碎片整理次数、进程被清理次数、CPU负载中的至少一种。
在本实施例中,终端设备通过获取静态数据,并将静态数据填充至终端设备的存储空间,从而模拟用户长时间使用终端设备而导致存储空间被占用的状态。再通过对静态数据进行碎片化处理,从而模拟用户一定时间内对终端设备上应用进行操作后终端设备的状态。然后通过存储空间处于碎片化状态的终端设备执行指定应用的测试脚本,以对与测试脚本对应的测试用例进行测试,得到测试结果,从而代替大量重复的手工操作,同时降低因为人为原因造成的失误。最后基于测试结果生成终端设备的性能测试报表,以便测试人员对测试结果进行分析,从而快速地获知引起终端设备异常的原因。由于在执行测试脚本之前模拟了用户长时间使用终端设备的状态,从而保证了测试结果的真实性,并提升了测试的准确性。
请参阅图3,图3示出了本申请另一个实施例提供的终端设备性能测试方法流程图,该方法可以包括:
步骤S210,获取静态数据,并将静态数据填充至终端设备的存储空间。
其中,步骤S210的具体描述可以参阅步骤S110,故不在此赘述。
步骤S220,基于静态数据创建测试文件。
终端设备在本地根据一些静态数据的大小创建文件,并将静态数据装入到文件中即得到测试文件。可选地,多个测试文件中也可以有部分测试文件没有装入静态数据。
步骤S230,删除测试文件。
终端设备删除步骤S220创建的一个或多个测试文件。
步骤S240,重复执行基于静态数据创建测试文件和删除测试文件,直至终端设备的存储空间处于碎片化状态。
由于终端设备中的测试文件在创建、使用、删除过程中会或多或少地产生文件碎片。例如需要将静态数据A装入测试文件A中,如果测试文件A的容量不足以装下静态数据A,则需要创建一个测试文件B来装入静态数据A的剩余部分,此时静态数据A就会被分成了不连续的两部分,从而产生了碎片。因此终端设备通过反复创建测试文件和删除测试文件,可以模拟用户长时间使用终端设备后存储空间的碎片化状态。
在一些实施方式中,碎片化达成的程度可以按不同大小文件碎片化比例执行。比如参考用户在指定时间内(如一个月内)使用手机后手机中不同大小文件碎片化的比例(如4k文件30个,16k文件40个,64K文件50个)。终端设备则可以通过反复创建测试文件和删除测试文件的来使存储空间中的4k文件:16k文件:64K文件的比例达到3:4:5的状态,从而模拟出用户使用终端设备一个月时,终端设备的存储空间状态。
在一些实施方式中,重复创建测试文件和删除测试文件的步骤可以依次进行,例如测试文件可以按照创建、删除、创建、删除的顺序进行。在本实施方式中,通过有序地反复创建测试文件和删除测试文件,可以更精准地产生文件碎片,从而快速、准确地模拟出用户在指定时间使用终端设备后存储空间的碎片化状态。
在另一些实施方式中,重复创建测试文件和删除测试文件的步骤可以不用依次进行,例如测试文件可以按照创建、创建、删除、删除的顺序进行。在本实施方式中,通过无秩序地反复创建测试文件和删除测试文件,可以更快速地产生文件碎片,从而快速、准确地模拟出用户在指定时间使用终端设备后存储空间的碎片化状态。
步骤S250,通过存储空间处于碎片化状态的终端设备执行指定应用的测试脚本,以对与测试脚本对应的测试用例进行测试,得到测试结果。
其中,步骤S250的具体描述可以参阅步骤S150,故不在此赘述。
步骤S260,基于测试结果生成终端设备的性能测试报表。
其中,步骤S260的具体描述可以参阅步骤S160,故不在此赘述。
在本实施例中,通过重复创建测试文件和删除测试文件的方法可以在终端设备的存储空间中制造出文件碎片,以模拟用户使用终端设备的过程,使存储空间处于碎片化状态。其中,通过控制重复创建测试文件和删除测试文件的次数,可以精准控制文件碎片的产出量,进而可以更精准地模拟出存储空间的碎片化程度。
请参阅图4,图4示出了本申请又一个实施例提供的终端设备性能测试方法流程图,该方法可以包括:
步骤S310,获取静态数据,并将静态数据填充至终端设备的存储空间。
其中,步骤S310的具体描述可以参阅步骤S210,故不在此赘述。
步骤S320,对静态数据进行碎片化处理,碎片化处理用于模拟用户在指定时间内通过终端设备对静态数据进行处理的操作,以使终端设备的存储空间处于碎片化状态。
步骤S330,通过存储空间处于碎片化状态的终端设备执行指定应用的测试脚本,以对与测试脚本对应的测试用例进行测试,得到测试结果,测试结果包括指定应用在预设时间内的卡顿次数。
在一些实施方式中,卡顿次数可以是指定应用预设时间内执行一种测试用例出现卡顿的次数,例如视频播放应用在播放视频的30分钟内出现的卡顿次数;也可以是指定应用在预设时间内执行多种测试用例出现的卡顿次数,例如微信在30分钟内执行开启、发送信息、调用相机等动作时出现的卡顿次数。
在本实施方式中,通过检测终端设备执行一种或多种测试用例时出现的卡顿次数,可以更全面地对终端设备进行检测。
步骤S340,判断预设时间内的卡顿次数是否大于或等于预设卡顿次数。
步骤S350,当终端设备在预设时间内的卡顿次数小于预设卡顿次数时,可以直接根据终端设备的测试结果以及测试过程中记录的性能参数生成的性能测试报表。
作为一种示例,如30分钟内预设卡顿次数为3次,即终端设备在开启应用后的30分钟内允许的卡顿次数为3次,而在测试过程中,终端设备的卡顿次数正好为3次,则可以判定终端设备的卡顿次数处于正常范围内。此时,终端设备不存在卡顿异常,可以直接输出当前的测试结果即预设时间内的卡顿次数,以及终端设备在测试过程中记录的性能参数,如内存占用率、内存回收次数、IO读写量等等,以生成性能测试报表。
步骤S360,当预设时间内的卡顿次数大于或等于预设卡顿次数,确定终端设备处于第一异常状态。
在一些实施方式中,当终端设备在预设时间内的卡顿次数大于或等于预设卡顿次数时,例如30分钟内的允许的卡顿次数为3次,而在30分钟的测试过程中终端设备的卡顿次数为4次,则终端设备卡顿次数不处于正常范围内,可以确定终端设备存在卡顿的异常,并将终端设备确定为第一异常状态。其中,第一异常状态是指终端设备出现卡顿次数超标的异常状态。
步骤S370,获取终端设备处于第一异常状态时的第一性能参数。
当确定终端设备处于第一状态时,终端设备的后台全程记录性能相关指标,以得到第一性能参数,其中,第一性能参数是指终端设备在卡顿次数超标的异常状态下所显示的性能参数。第一性能参数可以包括终端设备的内存占用率、内存回收次数、IO读写量、碎片整理次数、进程被清理次数、CPU负载中的至少一种。
步骤S380,基于第一性能参数生成性能测试报表。
在本实施例中,通过检测终端设备的卡顿次数可以准确判断终端设备是否存在卡顿异常,当确定终端设备存在卡顿异常时,及时记录终端设备的第一性能参数,以便能够根据第一性能参数分析引起卡顿异常的原因。
请参阅图5,图5示出了本申请再一个实施例提供的终端设备性能测试方法流程图,该方法可以包括:
步骤S410,获取静态数据,并将静态数据填充至终端设备的存储空间。
其中,步骤S410的具体描述可以参阅步骤S310,故不在此赘述。
步骤S420,对静态数据进行碎片化处理,碎片化处理用于模拟用户在指定时间内通过终端设备对静态数据进行处理的操作,以使终端设备的存储空间处于碎片化状态。
步骤S430,通过存储空间处于碎片化状态的终端设备执行指定应用的测试脚本,以对与测试脚本对应的测试用例进行测试,得到测试结果,该测试结果包括指定应用的响应时间。
其中,响应时间是指应用程序的某一测试用例从触发至响应所耗费的时长。
在一些实施方式中,响应时间可以是指定应用的开启时间,例如终端设备上开启微信、开启相机等应用所需时间;也可以是指定应用在执行某些测试用例的响应时间,例如音频播放应用在播放键按下后到开始播放音乐的响应时间。
步骤S440,判断响应时间是否超过预设响应时间。
步骤S450,当终端设备的响应时间小于或等于预设响应时间时,可以直接根据终端设备的测试结果以及测试过程中记录的性能参数生成的性能测试报表。
其中,步骤S450的具体描述可以参阅步骤S350,故不在此赘述。
步骤S460,当响应时间超过预设响应时间,确定终端设备处于第二异常状态。
终端设备检测指定应用开启或执行测试用例的响应时间,当响应时间超过预设响应时间,则确定终端设备存在响应异常,并将终端设备确定为第二异常状态。其中,第二异常状态是指终端设备出现响应时间超标的异常状态。
步骤S470,获取终端设备处于第二异常状态时的第二性能参数。
当确定终端设备处于第二状态时,终端设备的后台全程记录性能相关指标,以得到第二性能参数,其中,第二性能参数是指终端设备在响应时间超标的异常状态下所显示的性能参数。第二性能参数可以包括终端设备的内存占用率、内存回收次数、IO读写量、碎片整理次数、进程被清理次数、CPU负载中的至少一种。
步骤S480,基于第二性能参数生成性能测试报表。
在本实施例中,通过检测终端设备的响应时间可以准确判断终端设备是否存在响应异常,当确定终端设备存在响应异常时,及时记录终端设备的第二性能参数,以便能够根据第二性能参数分析引起响应异常的原因。
请参阅图6,图6示出了本申请又另一个实施例提供的终端设备性能测试方法流程图,该方法可以包括:
步骤S510,获取静态数据,并将静态数据填充至终端设备的存储空间;
在一些实施方式中,请参阅图7,步骤S510可以包括如下步骤:
步骤S511A,获取第一参考终端设备的存储空间在指定时间内所存储的数据量。
在一种实施方式中,第一参考终端的数量可以是一个,然后查询该第一参考终端设备在指定时间内所存储的数据量。比如进入第一参考终端的系统设置中查看到一个月内第一参考终端的存储空间存储的数据量为10GB。需要说明的是,第一参考终端设备的机型、系统等与终端设备的完全相同。
在一种实施方式中,第一参考终端的数量可以是多个,然后分别查询每个第一参考终端在指定时间内所存储的参考数据量,得到多个参考数据量,再计算多个数据量的平均值以得到最终的数据量。比如第一参考终端的数量为3个,三个第一参考终端的参考数据量分别为5GB、10GB、15GB,则最终的数据量为10GB。
步骤S512A,获取对应数据量的静态数据,并将对应数据量的静态数据填充至终端设备的存储空间。
终端设备获取10GB的静态数据,并将该静态数据填充至终端设备的存储空间,以模拟该终端设备在使用一个月后的存储空间状态。
在本实施方式中,通过获取第一参考终端设备的存储空间在指定时间内所存储的数据量,并获取对应数据量的静态数据来填充终端设备的存储空间,从而可以真实、准确地模拟终端设备在用户使用指定时间后存储空间的状态。
在一些实施例中,请参阅图8,步骤S510可以包括如下步骤:
步骤S511B,获取第二参考终端设备的存储空间中的数据类型。
其中,数据类型可以是视频、图片、音频、文本等等。其中,第二参考终端设备的数量可以是一个,当第二参考终端设备的数量为一个时,则获取其存储空间中的数据类型。例如查看得知,第二参考终端设备的存储空间内包含的数据类型有视频、图片、音频。
可选地,第二终端设备的数量可以是多个。当第二终端设备的数量为多个时,可以选取多个第二终端设备中参考数据类型出现频率最高的作为数据类型。例如10个第二终端设备中有7个第二终端设备的参考数据类型包含视频、图片、音频,则将该参考数据类型确定为第二终端设备的数据类型。
需要说明的是,第二参考终端设备的机型、系统等与终端设备的完全相同。
步骤S512B,获取对应数据类型的静态数据,并将对应数据类型的静态数据填充至终端设备的存储空间。
获取包含视频、图片、音频的静态数据,并将对应数据类型的静态数据填充至终端设备的存储空间。
在本实施方式中,通过第二参考终端设备的存储空间中的数据类型,并获取对应数据类型的静态数据来填充终端设备的存储空间,从而可以真实、准确地模拟终端设备在用户使用后存储空间的状态。
在另一些实施方式中,可以获取参考终端的数据类型以及指定时间内与该数据类型的数据量;再根据该数据类型以及指定时间内与该数据类型的数据量来获取对应的静态数据,并将该静态数据填充至终端设备的存储空间。需要说明的是,参考终端设备的机型、系统等与终端设备的完全相同。
作为一种示例,如参考终端设备的数据类型包含视频、图片、音频,假设在一个月内,参考终端设备的存储空间中视频为10GB,图片为5GB,音频为2GB。则根据视频为10GB,图片为5GB,音频为2GB的静态数据填充至终端设备的存储空间。
在本实施方式中,通过获取参考终端的数据类型以及指定时间内与该数据类型的数据量,再根据该数据类型以及指定时间内与该数据类型的数据量来获取对应的静态数据以填充终端设备的存储空间,从而进一步保证了模拟终端设备在用户使用后存储空间的状态的真实性和准确性。
步骤S520,对静态数据进行碎片化处理,碎片化处理用于模拟用户在指定时间内通过终端设备对静态数据进行处理的操作,以使终端设备的存储空间处于碎片化状态。
步骤S530,分别获取多个应用中的每个应用的下载量排名。
终端设备可以从应用市场中查看预设时间段内各个应用的下载量排名,如2019年上半年各个应用的下载量排名。
步骤S540,从多个应用中将下载量排名高于预设下载量排名的应用确定为待测试应用。
在一些实施方式中,可以根据每个应用的下量载排名选取出下载量排名高于预设下载量排名的应用确定为待测试应用。例如选取出应用市场中下载量排名在100或100以前的应用。
步骤S550,从待测试应用中选取至少一个待测试应用作为指定应用。
在一些实施方式中,可以从下载量排名前100的应用中选取至少一个待测试应用作为指定应用。
在一些实施方式中,可以选取下载量排名前100的应用中用户上报的卡顿次数较多的应用作为指定应用,例如,从应用市场中获取下载量排名前100的应用中各个应用的用户评论,并分别查看每个应用对应的用户评论中出现“卡顿”、“卡”等关键词的次数,选取关键词出现次数超过预定次数的应用作为指定应用,从而具有针对性地对应用进行测试,可以更有效地解析终端设备引起卡顿的原因。
在另一些实施方式中,可以选取下载量排名前100的应用中用户上报的响应时间较慢的应用作为指定应用,例如,从应用市场中获取下载量排名前100的应用中各个应用的用户评论,并分别查看每个应用对应的用户评论中出现“响应慢”、“延迟”等关键词的出现次数,选取关键词出现次数超过预定次数的应用作为指定应用,从而具有针对性地对应用进行测试,可以更有效地解析终端设备引起卡顿的原因。
步骤S560,通过存储空间处于碎片化状态的终端设备执行指定应用的测试脚本,以对与测试脚本对应的测试用例进行测试,得到测试结果。
步骤S570,基于测试结果生成终端设备的性能测试报表。
在本实施例中,通过选取下载量较多个应用作为待测试应用,并从待测应用中选取出指定应用进行测试,保证经过测试后的终端设备能满足用户的应用使用需求。
请参阅图9,其示出了本申请一实施例提供的终端设备性能测试装置,该装置700包括:填充模块710、碎片化处理模块720、测试模块730以及报表生成模块740。其中,填充模块710用于获取静态数据,并将静态数据填充至终端设备的存储空间;碎片化处理模块720用于对静态数据进行碎片化处理,碎片化处理用于模拟用户在指定时间内通过终端设备对静态数据进行处理的操作,以使终端设备的存储空间处于碎片化状态;测试模块730用于通过存储空间处于碎片化状态的终端设备执行指定应用的测试脚本,以对与测试脚本对应的测试用例进行测试,得到测试结果;报表生成模块740,用于基于测试结果生成终端设备的性能测试报表。
进一步的,该碎片化处理模块720包括。
文件创建单元,用于基于静态数据创建测试文件。
文件删除单元,用于删除测试文件。
循环单元,用于重复执行基于静态数据创建测试文件和删除测试文件,直至终端设备的存储空间处于碎片化状态。
进一步的,测试结果包括指定应用在预设时间内的卡顿次数,该报表生成模块740包括:
卡顿次数检测单元,用于判断预设时间内的卡顿次数是否大于或等于预设卡顿次数。
第一异常状态生成单元,用于当预设时间内的卡顿次数大于或等于预设卡顿次数,确定终端设备处于第一异常状态。
第一性能参数获取单元,用于获取终端设备处于第一异常状态时的第一性能参数。
第一报表生成单元,用于基于第一性能参数生成性能测试报表。
进一步的,测试结果包括指定应用的响应时间,该报表生成模块740包括:
响应时间检测单元,判断响应时间是否超过预设响应时间。
第二异常状态生成单元,用于当响应时间超过预设响应时间,确定终端设备处于第二异常状态。
第二性能参数获取单元,用于获取终端设备处于第二异常状态时的第二性能参数。
第二报表生成单元,用于基于第二性能参数生成性能测试报表。
进一步的,该填充模块710包括:
数据量获取单元,获取第一参考终端设备的存储空间在指定时间内所存储的数据量。
第一填充单元,获取对应数据量的静态数据,并将对应数据量的静态数据填充至终端设备的存储空间。
进一步的,该填充模块710包括:
数据类型获取单元,获取第二参考终端设备的存储空间中的数据类型;
第二填充单元,获取对应数据类型的静态数据,并将对应数据类型的静态数据填充至终端设备的存储空间。
进一步的,该终端设备性能测试装置700,还包括应用选取模块,该应用选取模块用于分别获取多个应用中的每个应用的下载量排名;从多个应用中将下载量排名高于预设下载量排名的应用确定为待测试应用;从待测试应用中选取至少一个待测试应用作为指定应用。
进一步的,性能测试报表包括终端设备的内存占用率、内存回收次数、IO读写量、碎片整理次数、进程被清理次数、CPU负载中的至少一种。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置700和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置700或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参考图10,其示出了本申请实施例提供的一种设备终端的结构框图。该设备终端800可以是前述实施例中能够运行应用程序的设备终端800。本申请中的设备终端800可以包括一个或多个如下部件:处理器810、存储器820、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器820中并被配置为由一个或多个处理器810执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器810可以包括一个或者多个处理核。处理器810利用各种接口和线路连接整个终端设备内的各个部分,通过运行或执行存储在存储器820内的指令、程序、代码集或指令集,以及调用存储在存储器820内的数据,执行终端设备的各种功能和处理数据。可选地,处理器810可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器810可集成中央处理器810(CentralProcessing Unit,CPU)、图像处理器810(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器810中,单独通过一块通信芯片进行实现。
存储器820可以包括随机存储器820(Random Access Memory,RAM),也可以包括只读存储器820(Read-Only Memory)。存储器820可用于存储指令、程序、代码、代码集或指令集。存储器820可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参考图11,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质900中存储有程序代码910,程序代码910可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质900可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质具有执行上述方法中的任何方法步骤的程序代码的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种终端设备性能测试方法,其特征在于,所述方法包括:
获取静态数据,并将所述静态数据填充至终端设备的存储空间;
对所述静态数据进行碎片化处理,所述碎片化处理用于模拟用户在指定时间内通过所述终端设备对所述静态数据进行处理的操作,以使所述终端设备的存储空间处于碎片化状态;
分别获取多个应用中的每个应用的下载量排名;
从多个应用中将下载量排名高于预设下载量排名的应用确定为待测试应用;
基于所述待测试应用中用户上报的卡顿次数或响应时间,从所述待测试应用中选取至少一个待测试应用作为指定应用;
通过存储空间处于碎片化状态的终端设备执行指定应用的测试脚本,以对与所述测试脚本对应的测试用例进行测试,得到测试结果;
基于所述测试结果生成所述终端设备的性能测试报表。
2.根据权利要求1所述的方法,其特征在于,所述碎片化处理包括:
基于所述静态数据创建测试文件;
删除所述测试文件;
重复执行所述基于所述静态数据创建测试文件和所述删除所述测试文件,直至所述终端设备的存储空间处于碎片化状态。
3.根据权利要求1所述的方法,其特征在于,所述测试结果包括所述指定应用在预设时间内的卡顿次数,所述基于所述测试结果生成所述终端设备的性能测试报表,包括:
判断所述预设时间内的卡顿次数是否大于或等于预设卡顿次数;
当所述预设时间内的卡顿次数大于或等于所述预设卡顿次数,确定所述终端设备处于第一异常状态;
获取所述终端设备处于第一异常状态时的第一性能参数;
基于所述第一性能参数生成所述性能测试报表。
4.根据权利要求1所述的方法,其特征在于,所述测试结果包括所述指定应用的响应时间,所述基于所述测试结果生成所述终端设备的性能测试报表,包括:
判断所述响应时间是否超过预设响应时间;
当所述响应时间超过所述预设响应时间,确定所述终端设备处于第二异常状态;
获取所述终端设备处于第二异常状态时的第二性能参数;
基于所述第二性能参数生成所述性能测试报表。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述获取静态数据,并将所述静态数据填充至终端设备的存储空间,包括:
获取第一参考终端设备的存储空间在指定时间内所存储的数据量;
获取对应所述数据量的静态数据,并将所述对应所述数据量的静态数据填充至终端设备的存储空间。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述获取静态数据,并将所述静态数据填充至终端设备的存储空间,包括:
获取第二参考终端设备的存储空间中的数据类型;
获取对应所述数据类型的静态数据,并将所述对应所述数据类型的静态数据填充至终端设备的存储空间。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述性能测试报表包括所述终端设备的内存占用率、内存回收次数、IO读写量、碎片整理次数、进程被清理次数、CPU负载中的至少一种。
8.一种终端设备性能测试装置,其特征在于,所述装置包括:
填充模块,用于获取静态数据,并将所述静态数据填充至终端设备的存储空间;
碎片化处理模块,用于对所述静态数据进行碎片化处理,所述碎片化处理用于模拟用户在指定时间内通过所述终端设备对所述静态数据进行处理的操作,以使所述终端设备的存储空间处于碎片化状态;
应用选取模块,用于分别获取多个应用中的每个应用的下载量排名;从多个应用中将下载量排名高于预设下载量排名的应用确定为待测试应用;基于所述待测试应用中用户上报的卡顿次数或响应时间,从所述待测试应用中选取至少一个待测试应用作为指定应用;
测试模块,用于通过存储空间处于碎片化状态的终端设备执行指定应用的测试脚本,以对与所述测试脚本对应的测试用例进行测试,得到测试结果;
报表生成模块,用于基于所述测试结果生成所述终端设备的性能测试报表。
9.一种终端设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行如权利要求1-7任一项所述的方法。
10.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7任一项所述的方法。
CN201910770334.XA 2019-08-20 2019-08-20 终端设备性能测试方法、装置、终端设备及存储介质 Active CN110502414B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910770334.XA CN110502414B (zh) 2019-08-20 2019-08-20 终端设备性能测试方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910770334.XA CN110502414B (zh) 2019-08-20 2019-08-20 终端设备性能测试方法、装置、终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN110502414A CN110502414A (zh) 2019-11-26
CN110502414B true CN110502414B (zh) 2023-08-29

Family

ID=68589079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910770334.XA Active CN110502414B (zh) 2019-08-20 2019-08-20 终端设备性能测试方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN110502414B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209257B (zh) * 2020-01-15 2023-05-09 西安奥卡云数据科技有限公司 一种文件系统碎片化的方法及装置
CN111444116B (zh) * 2020-03-23 2022-11-25 海信电子科技(深圳)有限公司 存储空间碎片处理方法及装置
CN114238249B (zh) * 2022-02-25 2022-05-10 成都鲁易科技有限公司 文件系统老化评估方法及装置、存储介质、终端

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699598A (zh) * 2013-12-09 2015-06-10 腾讯科技(深圳)有限公司 自动化测试方法、装置、设备及系统
CN104765678A (zh) * 2014-01-08 2015-07-08 阿里巴巴集团控股有限公司 对移动终端设备上的应用进行测试的方法及装置
CN104869203A (zh) * 2015-06-18 2015-08-26 广东欧珀移动通信有限公司 卡顿的测试方法、装置及测试设备
CN105068876A (zh) * 2015-07-01 2015-11-18 北京博睿宏远科技发展有限公司 基于分布式部署真机采集手机app性能数据的方法
CN105243007A (zh) * 2015-10-13 2016-01-13 广东欧珀移动通信有限公司 移动终端中内存的老化测试方法和装置
CN105824755A (zh) * 2016-03-17 2016-08-03 厦门美图移动科技有限公司 一种自动化测试方法、装置及移动终端
CN106155878A (zh) * 2015-03-24 2016-11-23 富士施乐实业发展(中国)有限公司 用于在数据库中创建供软件测试用的测试环境的方法和装置
CN107145446A (zh) * 2017-05-08 2017-09-08 网易有道信息技术(北京)有限公司 一种应用程序app的测试方法、装置和介质
CN107145440A (zh) * 2017-04-06 2017-09-08 百富计算机技术(深圳)有限公司 应用程序测试方法、装置和计算机设备
CN108153675A (zh) * 2017-12-26 2018-06-12 江苏润和软件股份有限公司 一种面向移动云计算的Android应用自动化测试方法
CN108509348A (zh) * 2018-06-20 2018-09-07 厦门美图移动科技有限公司 一种系统老化的测试方法及移动终端
CN108595323A (zh) * 2018-03-30 2018-09-28 华为技术有限公司 一种系统测试方法及相关装置
CN109840205A (zh) * 2018-12-20 2019-06-04 平安科技(深圳)有限公司 应用程序测试方法、装置、可读存储介质及终端设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9697105B2 (en) * 2015-04-30 2017-07-04 EMC IP Holding Company LLC Composable test automation framework

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699598A (zh) * 2013-12-09 2015-06-10 腾讯科技(深圳)有限公司 自动化测试方法、装置、设备及系统
CN104765678A (zh) * 2014-01-08 2015-07-08 阿里巴巴集团控股有限公司 对移动终端设备上的应用进行测试的方法及装置
CN106155878A (zh) * 2015-03-24 2016-11-23 富士施乐实业发展(中国)有限公司 用于在数据库中创建供软件测试用的测试环境的方法和装置
CN104869203A (zh) * 2015-06-18 2015-08-26 广东欧珀移动通信有限公司 卡顿的测试方法、装置及测试设备
CN105068876A (zh) * 2015-07-01 2015-11-18 北京博睿宏远科技发展有限公司 基于分布式部署真机采集手机app性能数据的方法
CN105243007A (zh) * 2015-10-13 2016-01-13 广东欧珀移动通信有限公司 移动终端中内存的老化测试方法和装置
CN105824755A (zh) * 2016-03-17 2016-08-03 厦门美图移动科技有限公司 一种自动化测试方法、装置及移动终端
CN107145440A (zh) * 2017-04-06 2017-09-08 百富计算机技术(深圳)有限公司 应用程序测试方法、装置和计算机设备
CN107145446A (zh) * 2017-05-08 2017-09-08 网易有道信息技术(北京)有限公司 一种应用程序app的测试方法、装置和介质
CN108153675A (zh) * 2017-12-26 2018-06-12 江苏润和软件股份有限公司 一种面向移动云计算的Android应用自动化测试方法
CN108595323A (zh) * 2018-03-30 2018-09-28 华为技术有限公司 一种系统测试方法及相关装置
CN108509348A (zh) * 2018-06-20 2018-09-07 厦门美图移动科技有限公司 一种系统老化的测试方法及移动终端
CN109840205A (zh) * 2018-12-20 2019-06-04 平安科技(深圳)有限公司 应用程序测试方法、装置、可读存储介质及终端设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
薛海龙.磁盘碎片对Android长时间使用后卡顿的研究与分析.《中国优秀硕士学位论文全文数据库信息科技辑》.2019,(第5期),全文. *

Also Published As

Publication number Publication date
CN110502414A (zh) 2019-11-26

Similar Documents

Publication Publication Date Title
CN110502414B (zh) 终端设备性能测试方法、装置、终端设备及存储介质
US10191838B2 (en) Method and device for checking influence of deleting cache file, and mobile terminal
CN109901881B (zh) 应用程序的插件加载方法、装置、计算机设备及存储介质
CN106126424A (zh) 一种脚本可视化的自动化测试方法、装置和移动终端
CN113449877B (zh) 用于展示机器学习建模过程的方法及系统
CN111198797B (zh) 操作监控方法及装置、操作分析方法及装置
CN104243590A (zh) 资源对象推荐方法和装置
CN110597720A (zh) 一种应用程序的测试方法、装置、电子设备及存储介质
CN109408345A (zh) 操作重现方法、装置、计算机设备和存储介质
CN108509348A (zh) 一种系统老化的测试方法及移动终端
CN111694733A (zh) 一种软件开发工具包sdk的api测试方法以及测试装置
US10503430B2 (en) Method and device for clearing data and electronic device
CN111708704A (zh) 一种云真机测试方法、装置、终端及存储介质
CN111190801A (zh) 推荐系统测试方法、装置及电子设备
CN110515834B (zh) 接口测试方法、装置、移动终端及存储介质
CN106708705B (zh) 终端后台进程监控方法和系统
KR20140121743A (ko) 행위 기반 시뮬레이션에 의한 모바일 포렌식 방법
CN110262856B (zh) 一种应用程序数据采集方法、装置、终端及存储介质
CN113535029A (zh) 操作录制方法、终端、计算机设备及计算机可读存储介质
US10002009B2 (en) Electronic device performing emulation-based forensic analysis and method of performing forensic analysis using the same
CN113127369A (zh) 一种执行脚本的处理方法以及装置
CN108415822B (zh) 一种随机测试方法和装置
CN111949510A (zh) 测试处理方法、装置、电子设备及可读存储介质
CN105893394B (zh) 一种大文件模拟方法和装置
CN111176965B (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