CN108829606A - 一种输入法性能测试方法及装置 - Google Patents
一种输入法性能测试方法及装置 Download PDFInfo
- Publication number
- CN108829606A CN108829606A CN201810712973.6A CN201810712973A CN108829606A CN 108829606 A CN108829606 A CN 108829606A CN 201810712973 A CN201810712973 A CN 201810712973A CN 108829606 A CN108829606 A CN 108829606A
- Authority
- CN
- China
- Prior art keywords
- input method
- test
- input
- terminal
- data
- 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
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/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)
Abstract
本发明提出了一种输入法性能测试系统和方法。系统包括:第一终端,所述第一终端上安装有被测的输入法程序;模拟输入装置,用于在所述第一终端上,根据测试数据自动模拟在输入法程序中进行输入的操作;性能监控装置,用于获取所述输入法程序对所述第一终端的系统资源占用数据;以及测试控制装置,用于根据预定义的测试场景的参数生成相应的测试数据,以及控制所述模拟输入装置、性能监控装置和所述输入法程序的运行;其中,所述测试数据为:在输入法程序中,实现根据所述预定义的测试场景的参数进行内容输入,所对应的输入操作的数据。可以实现全程的自动测试,无需人工的干预。并且,测试压力可以根据需要进行大范围地调节。
Description
技术领域
本发明涉及计算机应用和软件技术领域,尤其涉及一种输入法性能测试方法及装置。
背景技术
在选择使用或者开发输入法时,需要了解输入法在不同的场景运行时对系统资源的占用情况。特别是对于资源相对受限的移动终端,了解输入法对系统资源的占用情况,对于输入法的设计和选择尤为重要。因此,需要进行输入法性能测试,输入法性能测试时一种评估输入法在使用中对所在系统的系统资源的消耗的测试方法,例如对系统的CPU和内存资源的消耗。现有技术中,是通过人工的测试方式,由测试人员按照指定的输入操作安装了输入法的终端,来实现测试的。
由于人工测试的输入速度有限,且往往无法定量控制,因此,无法完成较大输入压力的测试,也无法进行精确的输入压力下的性能测试。并且,对于目前的大多数移动终端,由于显示窗口往往只是一个,人工测试时,由于要打开输入法的操作界面,故而无法对手机资源的消耗进行实时监控。
发明内容
本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。针对人工测试的不足,提供一种自动化的输入法性能测试系统和方法。
为了达到上述目的,根据本发明第一方面的实施例提出了一种输入法性能测试系统,其包括:
第一终端,所述第一终端上安装有被测的输入法程序;
模拟输入装置,用于在所述第一终端上,根据测试数据自动模拟在输入法程序中进行输入的操作;
性能监控装置,用于获取所述输入法程序对所述第一终端的系统资源占用数据;以及
测试控制装置,用于根据预定义的测试场景的参数生成相应的测试数据,以及控制所述模拟输入装置、性能监控装置和所述输入法程序的运行;
其中,所述测试数据为:在输入法程序中,实现根据所述预定义的测试场景的参数进行内容输入,所对应的输入操作的数据。
在一些实施例中,所述输入法性能测试系统还包括:
图形显示装置,用于根据所述性能监控装置获取的所述输入法程序对所述第一终端的系统资源占用数据,进行图形显示。
在一些实施例中,所述第一终端安装有安卓操作系统;所述模拟输入装置使用安卓操作系统的测试工具UIAutomator实现。
在一些实施例中,所述性能监控装置和所述测试控制装置设置于第二终端,所述第二终端包括:与第一终端相互独立的处理器和存储器。
在一些实施例中,所述性能监控装置还用于对输入法性能测试的过程进行全程录制,记录测试过程中所述输入法程序的运行状态,以及对应的所述输入法程序对所述第一终端的系统资源占用数据。
在一些实施例中,所述测试控制装置根据预定义的测试场景参数生成相应的测试数据时,其中:所述预定义的测试场景的参数包括:输入语言的语种目标输入文本内容、输入文本的数量、模拟按键频率中的一种或一种以上。
在一些实施例中,所述输入法性能测试系统还包括:
报警装置,所述报警装置用于所述报警装置用于实时监控所述输入法程序对所述第一终端的资源占用情况,在所述输入法程序对所述第一终端的系统资源占用数据达到预设阈值时,发出警报信息。
通过本发明的输入法性能测试系统,在启动后,可以实现全程的自动测试,无需人工的干预。并且,测试压力可以根据需要进行大范围地调节,从而精确模拟不同的输入条件(例如,不同输入频率和输入量),获得输入法不同工作场景下的性能表现。此外,通过对测试过程的全程录制,可以记录所有的测试操作和测试操作对应的性能参数,从而便于测试完成后根据全程录制的记录,追溯产生问题的操作。
为了实现上述目的,根据本发明第二方面的实施例提供了一种输入法性能测试方法,用于本发明第一方面所述的输入法性能测试系统,其包括:
发送控制指令,控制输入法程序启动,所述输入法程序安装于第一终端;
启动监控程序,所述监控程序用于获取所述输入法程序对所述第一终端的系统资源占用数据;
获取预定义的测试场景的参数所对应的测试数据,其中,所述测试数据为:在输入法程序中,实现根据所述预定义的测试场景的参数进行内容输入,所对应的输入操作的数据;
向模拟输入装置发送测试数据,所述模拟输入装置用于在所述第一终端上自动模拟将所述测试数据在输入法程序中进行输入的操作;
根据所述监控程序获取的所述输入法程序对所述第一终端的系统资源占用数据,对输入进行性能分析。
在一些实施例中,所述启动监控程序,所述监控程序用于获取所述输入法程序对所述第一终端的系统资源占用数据还包括:所述监控程序还用于对输入法性能测试的过程进行全程录制,记录测试过程中所述输入法程序的运行状态,以及对应的所述输入法程序对所述第一终端的系统资源占用数据。
在一些实施例中,在所述根据预定义的测试场景的参数生成相应的测试数据中,所述预定义的测试场景的参数包括:输入语言的语种目标输入文本内容、输入文本的数量、模拟按键频率中的一种或一种以上。
在一些实施例中,所述方法还包括:根据所述监控程序获取的所述输入法程序对所述第一终端的系统资源占用数据,进行图形显示。
在一些实施例中,所述方法还包括:实时监测所述输入法程序对所述第一终端的系统资源占用数据是否达到预设阈值,并在达到预设阈值时,发出警报信息。
通过本发明的输入法性能测试方法,在启动后,可以实现全程的自动测试,无需人工的干预。并且,测试压力可以根据需要进行大范围地调节,从而精确模拟不同的输入条件(例如,不同输入频率和输入量),获得输入法不同工作场景下的性能表现。此外,通过对测试过程的全程录制,可以记录所有的测试操作和测试操作对应的性能参数,从而便于测试完成后根据全程录制的记录,追溯产生问题的操作。
为了实现上述目的,本发明第三方面实施例提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本发明第二方面所述的输入法性能测试方法。
为了实现上述目的,本发明第四方面实施例提供了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,实现根据本发明第二方面所述的输入法性能测试方法。
为了实现上述目的,本发明第五方面实施例提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现根据本发明第二方面所述的输入法性能测试方法。
根据本发明第三到五方面的非临时性计算机可读存储介质,计算机程序产品和计算设备具有与根据本发明第一和第二方面的输入法性能测试系统和方法类似的有益效果,在此不再赘述。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的输入法性能测试系统的结构框图;
图2是根据本发明另一个实施例的输入法性能测试系统的结构框图;
图3是根据本发明实施例的输入法测试系统的工作流图;
图4是根据本发明实施例的输入法性能测试方法的流程示意图;
图5是根据本发明实施例的计算设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
本发明的主要技术目的和实现方案包括,通过自动化的方式模拟用户在终端上应用输入法的输入操作,并且通过程序自动实时监控模拟输入过程中,输入法程序对终端的资源占用情况,例如对CPU和内存的占用。同时,通过对输入过程和资源占用情况的全程记录,可以对测试过程进行回溯。
下面参考附图对本发明实施例的方法和装置进行详细的说明。
图1是根据本发明实施例的输入法性能测试系统的结构框图。其中,输入法性能测试系统1包括:第一终端110、模拟输入装置120、性能监控装置210和测试控制装置220。
所述输入法性能测试系统的实现可包括一个或多个计算设备,所述计算设备包括处理器和存储器,所述存储器上存储有包括可在所述处理器上运行的计算机程序指令的应用程序。所述应用程序可以划分为多个程序模块,用于系统各个组成部分的相应功能。以下对本发明的系统/装置按照程序模块的功能逻辑划分进行详细说明。
第一终端100,所述第一终端上安装有被测的输入法程序110。第一终端100为具有处理器和存储器的计算设备,并且具有可用于安装输入法程序110的软件环境。具体地,第一终端100可以是移动终端或者固定终端,例如,可以是手机等移动通信装置或者平板电脑、个人计算机等。
本实施例中,以第一终端100为手机,被测的输入法程序110为安装于手机上的应用程序(App)为例,进行说明。这也是输入法性能测试最常见的应用场景之一。
模拟输入装置120,用于在所述第一终端上,根据测试数据,自动模拟在输入法程序中进行输入的操作。模拟输入装置120可以由安装在所述第一终端100上的程序模块实现。
一般来说,各种成熟的操作系统均设置有相应的模拟按键输入的程序指令和应用程序接口(API)。例如,PC端的Windows和Linux、IOS等操作系统具有模拟键盘输入功能,移动操作系统Android和IOS移动版等具有模拟触屏操作功能。
模拟输入装置120可以根据第一终端100的操作系统所提供的相应程序指令和应用程序接口(API)来设置,根据接收的测试数据,生成相应的模拟输入指令,在所述第一终端100 上自动模拟将所述测试数据在输入法程序中进行输入的操作。
本实施例中,以第一终端100安装开源的安卓(Android)操作系统为例。安卓操作系统不但提供了一系列的模拟按键操作指令,从Android4.1之后,还推出了集成自动化测试工具UIAutomator,基本上可以替代所有第三方测试工具。UIAutomator接口丰富易用,可以支持所有Android事件操作,非常适合做UI测试。
因此,在一些实施例中,所述模拟输入装置120使用安卓操作系统的测试工具UIAutomator实现。
性能监控装置210和测试控制装置220用于对测试过程的监测和控制,同样可以安装于计算设备上的程序模块的形式实现。为了尽量减小二者与第一终端上输入法程序测试过程的互相影响,在一些实施例中,可以将所述性能监控装置210和所述测试控制装置220设置于第二终端200上。所述第二终端200包括与第一终端100相互独立的处理器和存储器,并且与第一终端100通信连接。
第二终端200可以是移动或非移动终端,或者任何具有数据处理功能的计算设备。可以是通用的计算机,也可以设计成单独地用于输入法性能测试的专用设备。本发明对此没有限制。要说明的是,作为一种可能的实现形式,本发明并不排除将所述性能监控装置210和测试控制装置220也设置于第一终端的实现方式。
性能监控装置210,用于获取所述输入法程序对所述第一终端的系统资源占用数据。
其中,所述输入法程序对所述第一终端的系统资源占用数据主要包括对CPU和内存的占用。可以读取输入法主进程对CPU和内存的占用数据,以此作为输入法程序对所述第一终端的资源占用数据。例如,每隔指定的时间间隔(例如几秒、几十秒)读取一次CPU和内存的占用数据。
为了对整个测试过程进行更全面的记录,在一些实施例中,性能监控装置210可对整个输入过程进行全程录制。所述全程录制可以录制整个测试过程中的所有时间点的模拟输入情况,并记录对应时间点的输入法运行状态和输入法的CPU及内存占用变动,从而便于回溯和发现问题所在。
例如,一种比较直接的记录方式是,按照一定的时间间隔,进行截屏操作,并存储截取的屏幕图片。例如,按照每秒3-5帧的频率进行截屏,根据测试压力的不同,也可以设置不同的截屏频率,例如,2-9帧的截屏频率可以适应大多数模拟人工输入的按键频率范围的测试记录需求。通过截屏的图片,可以观察输入法的运行状态,例如,当输入某些词汇时,输入法根据输入词汇进行预测并推荐的候选词等。从而,可根据测试进行的时间,综合相应时间范围内的截屏图片并记录的CPU及内存占用情况,发现输入法存在的问题。
测试控制装置220,用于根据预定义的测试场景的参数生成相应的测试数据,以及控制所述模拟输入装置、性能监控装置和所述输入法程序的运行。
其中,测试场景可以根据测试需要灵活设置。例如,预定义的测试场景的参数可包括:输入语言的语种、目标输入文本内容、输入文本的数量、模拟按键频率中的一种或一种以上。
输入文本的数量,一般是指输入文本的文字数量,例如中文的字数,各种拼读语言的单词数等。
所述测试数据为:在输入法程序中,实现根据所述预定义的测试场景的参数进行内容输入,所对应的输入操作的数据。具体而言,测试数据可包括需要点击的屏幕位置或按键的信息,点击的顺序和点击频率等。
根据输入语言的语种和目标输入文本的内容,以及输入法自身的输入规则,可以获取输入目标输入文本所需的按键操作,根据所述所需的按键操作的信息,生成相应的测试数据。由模拟输入装置120在输入法程序110的输入界面模拟所述案件操作的输入,从而实现目标输入文本的输入。
通过目标输入文本的内容的多寡,可以在测试输入法连续工作的性能表现。而通过设置单位时间的输入文本量和模拟按键频率,则可着重测试输入法在不同输入强度(单位时间的输入效率)下的性能表现。本领域中,也用名词测试压力来形容输入法测试中的不同测试场景参数对应的测试条件。
通过本发明的输入法性能测试系统,在启动后,可以实现全程的自动测试,无需人工的干预。并且,测试压力可以根据需要进行大范围地调节,从而精确模拟不同的输入条件(例如,不同输入频率和输入量),获得输入法不同工作场景下的性能表现。此外,通过对测试过程的全程录制,可以记录所有的测试操作和测试操作对应的性能参数,从而便于测试完成后根据全程录制的记录,追溯产生问题的操作。
在进行输入法性能测试的同时,还可以对测试结果进行实时显示,并对测试结果进行记录和分析。参见图2,图2是根据本发明另一个实施例的输入法性能测试系统的结构框图。
为了实现进一步的功能,所述输入法性能测试系统2相对于图1所示的系统1,进一步包括了图形显示装置310、报警装置320和数据存储装置330。
为了实现功能上的分立和避免性能上相互影响,在一些实施例中,图形显示装置310和报警装置320可以设置第三终端300上。或者,所述图形显示装置310和报警装置320也可以设置在第二终端200上。当然,作为一种可能的实现形式,本发明也并不排除将所述图形显示装置310和报警装置320也设置于第一终端100上的实现方式。
第三终端300同样可以是移动或非移动终端。为了实现图形显示和报警,第三终端300 可以具有相应的显示装置。并且,为了便于对性能监控装置获取的所述输入法程序对所述第一终端的系统资源占用数据进行分析和处理,以及存储和进一步地应用,第三终端300可以由具有相对更佳计算能力的服务器设备来实现。
图形显示装置310,用于根据所述性能监控装置获取的所述输入法程序对所述第一终端的系统资源占用数据,进行图形显示。例如,可以按照时间顺序,显示内存和CPU占用情况随测试时间而变化的曲线。或者,按照测试压力,显示不同测试压力下所对应的内存和CPU占用情况等。以及根据性能监控装置210对整个输入过程进行的全程录制的信息,进行进一步地各种形式的显示,例如将截屏的图片进行显示。从而提供更直观的测试结果表现形式,便于测试人员迅速获得信息和发现问题。
此外,还可以设置数据存储装置330,对所述输入法程序对所述第一终端的系统资源占用数据和所述整个输入过程进行的全程录制的信息进行存储。
报警装置320,所述报警装置用于实时监控所述输入法程序对所述第一终端的资源占用情况,在所述输入法程序对所述第一终端的系统资源占用数据达到预设阈值时,发出警报信息。
通过设置报警装置,可以实时监控所述输入法程序对所述第一终端的资源占用。能够及时发现系统资源占用过大的情况,便于有针对性地分析问题产生的原因或者调整测试策略。
下面结合图3和图4,对本发明的输入法性能测试系统的工作过程进行进一步的说明。图3是根据本发明实施例的输入法测试系统的工作流图,图4是根据本发明实施例的输入法性能测试方法的流程示意图。
参见图3,本发明的系统按照运行的工作流内容,可划分为测试运行端、测试控制端、测试数据存储和展示界面几个方面。其中,第一方面的测试运行端包括被测输入法的运行设备和对所述设备进行模拟输入,对应由第一终端100和模拟输入装置120实现。第二方面的测试控制端则用于实现测试场景的规划、测试控制数据的生成、对被测输入法的运行设备的性能监控和通过性能监控获取的输入法资源占用数据并传送到数据库的操作。对应由测试控制装置220和性能监控装置210实现。第三方面的数据服务端和第四方面的展示界面,则可对应地由数据存储装置330和图形显示装置310实现。
下面结合本发明的输入法性能测试方法对输入法性能测试系统的工作过程进行进一步说明。
参见图4,本发明的输入法性能测试方法可包括步骤S110到S150,并且可用于根据上述各个实施例所述的输入法性能测试系统。
在步骤S110,发送控制指令,控制输入法程序启动,所述输入法程序安装于第一终端。
本发明的输入法性能测试方法可以看作是从输入法性能测试系统中,测试控制端的角度出发的方法。
第一终端为具有处理器和存储器的计算设备,并且具有可用于安装输入法程序的软件环境。具体地,第一终端可以是移动终端或者固定终端,例如,可以是手机等移动通信装置或者平板电脑、个人计算机等。以在移动终端上测试输入法为例,发送控制指令,控制输入法启动,可以是通过移动网络将启动输入法的命令发送到第一终端,并由第一终端接收后,启动输入法程序。
在步骤S120,启动监控程序,所述监控程序用于获取所述输入法程序对所述第一终端的系统资源占用数据。
本步骤中,可以是由测试控制端向性能监控程序发送指令,控制启动监控程序。
为了尽量减小监控程序的运行与输入法程序的运行在测试过程的互相影响,在一些实施例中,可以将监控程序和测试控制程序设置于第二终端上。所述第二终端包括与第一终端相互独立的处理器和存储器,并且与第一终端通信连接。所述输入法程序对所述第一终端的系统资源占用数据主要包括对CPU和内存的占用。可以读取输入法主进程对CPU和内存的占用数据,以此作为输入法程序对所述第一终端的资源占用数据。例如,每隔指定的时间间隔 (例如几秒、几十秒)读取一次CPU和内存的占用数据。
为了对整个测试过程进行更全面的记录,在一些实施例中,监控程序可对整个输入过程进行全程录制。所述全程录制可以记录录制整个测试过程中的所有时间点的模拟输入情况,并记录对应时间点的输入法运行状态和输入法的CPU及内存占用变动,从而便于回溯和发现问题所在。
例如,一种比较直接的记录方式是,按照一定的时间间隔,进行截屏操作,并存储截取的屏幕图片。例如,按照每秒3-5帧的频率进行截屏,根据测试压力的不同,也可以设置不同的截屏频率,例如,2-9帧的截屏频率可以适应大多数模拟人工输入的按键频率范围的测试记录需求。通过截屏的图片,可以观察输入法的运行状态,例如,当输入某些词汇时,输入法根据输入词汇进行联想输入的联想和并推荐的候选词等。从而,可根据测试进行的时间,综合相应时间范围内的截屏图片和并记录的CPU及内存占用情况,发现输入法存在的问题。
在步骤S130,获取预定义的测试场景的参数所对应的测试数据,其中,所述测试数据为:在输入法程序中,实现根据所述预定义的测试场景的参数进行内容输入,所对应的输入操作的数据。
要说明的是获取预定义的测试场景的参数生成相应的测试数据这一步骤,可以是在此步骤实时生成测试数据;也可以不在步骤S130生成测试数据,而是可以在步骤S110之前,根据预定义的测试场景的参数生成好测试数据并存储起来,在本步骤直接获取存储的测试数据。
所述根据预定义的测试场景的参数生成相应的测试数据中,所述预定义的测试场景的参数包括:输入语言的语种、目标输入文本内容、输入文本的数量、模拟按键频率中的一种或一种以上。
例如,预定义的测试场景可以设置为:输入50万单词(文本数量)的英文(语种),文本内容为截取自莎士比亚全集,按键频率为每秒10次等。一般,来说人类操作的按键间隔在15-200ms之间,因此可将按键频率设置在相应的每秒5-67次的范围内。
获取待输入的文本内容之后,可以根据待测输入法的输入规则,获取在输入法中进行待输入文本的输入所需要的按键操作和选择操作,根据这些操作的数据生成测试数据。
在步骤S140,向模拟输入装置发送测试数据,所述模拟输入装置用于在所述第一终端上根据所述测试数据自动模拟在输入法程序中进行输入的操作。
模拟输入装置用于在所述第一终端上,根据测试数据,自动模拟在输入法程序中进行输入的操作。模拟输入装置可以由安装在所述第一终端上的程序模块实现。
模拟输入装置可以根据操作系统所提供的相应程序指令和应用程序接口(API)来设置,根据接收的测试数据,生成相应的模拟输入指令,在所述第一终端上自动模拟将所述测试数据在输入法程序中进行输入的操作。
例如,在Android中,有些特定的功能或者在调试的时候需要模拟屏幕点击功能和物理按键等。实现模拟屏幕点击可以有本进程和跨进程两种方式,从输入法测试角度说,可以选择跨进程的方式。例如,可以利用用input keyevent,input text,input swipe等命令来模拟输入操作。
或者,也可以利用现有的集成测试工具来实现模拟输入。从Android4.1之后,推出了集成自动化测试工具UIAutomator,基本上可以替代所有第三方测试工具,因此,在一些实施例中,所述模拟输入可使用安卓操作系统的测试工具UIAutomator实现。
例如,UIAutomator提供了各种按键相关的函数,如pressHome(),用于点击Home键; pressBack(),用于点击Back键,pressMenu(),用于点击Menu键等,以及坐标相关的函数,click(int x,int y),用于点击屏幕的坐标。
可以根据需要执行的输入点击操作,生成相应的控制指令,并调用UIAutomator的各种已有函数实现模拟输入。
在步骤S150,根据所述监控程序获取的所述输入法程序对所述第一终端的系统资源占用数据,对输入法的进行性能分析。
模拟输入装置接收到测试数据后,开始工作,同时,监控程序获取所述输入法程序对所述第一终端的系统资源占用数据。所述资源占用数据和相应的根据测试数据进行模拟输入的过程、输入法的工作状态等均可以被记录,并根据测试过程中,所获取的资源占用数据随着测试进程变化的所有历史数据,进行输入法的性能分析,例如,获取输入法的性能参数或者是发现输入法的异常工作状态等。
所述输入法的性能参数是指用于描述输入法性能的数据指标。性能参数可以包括本领域常用的性能指标,本领域技术人员也可以根据测试的需要自行定义所需的性能参数。例如,性能参数可以包括:CPU和内存的平均占用率、最高占用率、以及CUP和内存的占用率与测试压力之间的关系等。异常工作状态则可以是反应时间过长,或者是系统资源占用过高等。
进一步地,还可以根据所述监控程序获取的所述输入法程序对所述第一终端的系统资源占用数据进行图形显示。
以及,在一些实施例中,可以进一步实时监测所述输入法程序对所述第一终端的系统资源占用数据是否达到预设阈值,并在达到预设阈值时,发出警报信息。
本发明输入法性能测试系统中的各个模块的功能和作用的实现过程的描述,同样适用于方法中对应步骤的实现过程。为避免冗余,在方法实施例中将不会对所有细节进行重复,相关未尽之处可参见上述结合图1到图3对本发明输入法性能测试系统实施例的相关描述。
通过本发明的输入法性能测试方法,在启动后,可以实现全程的自动测试,无需人工的干预。并且,测试压力可以根据需要进行大范围地调节,从而精确模拟不同的输入条件(例如,不同输入频率和输入量),获得输入法不同工作场景下的性能表现。此外,通过对测试过程的全程录制,可以记录所有的测试操作和测试操作对应的性能参数,从而便于测试完成后根据全程录制的记录,追溯产生问题的操作。
本发明第三方面的实施例提出了一种非临时性计算机可读存储介质,其上存储有可执行指令,所述可执行指令在处理器上运行时,实现如本发明第二方面实施例所述的输入法性能测试方法。该存储介质可以作为设备的一部分设置在其上;或者当该设备可以被服务器远程控制时,该存储介质可以设置在对该设备进行控制的远程服务器上。
用于实现本发明方法的计算机指令的可以采用一个或多个计算机可读的介质的任意组合来承载。所谓非临时性计算机可读介质可以包括任何计算机可读介质,除了临时性地传播中的信号本身。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本发明第四方面的实施例提供了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,实现根据本发明第二方面实施例所述的输入法性能测试方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网 (WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本发明第五方面实施例提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现根据本发明第二方面所述的输入法性能测试方法。
图5示出了适于用来实现本公开实施方式的示例性计算设备的框图。图5显示的计算设备12仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,计算设备12可以通用计算设备的形式实现。计算设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA) 局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
计算设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器 (Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性的计算机可读存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图中未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本公开所描述的实施例中的功能和/或方法。
计算设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算设备 12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算设备12的其它模块通信。要说明的是,尽管图中未示出,可以结合计算设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的方法。
根据本发明第三到五方面的非临时性计算机可读存储介质,计算机程序产品和计算设备,可以参照根据本发明第一、二方面实施例具体描述的内容实现,并具有与根据本发明第一、二方面的输入法性能测试系统和方法类似的有益效果,在此不再赘述。
需要说明的是,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,例如两个,三个等,除非另有明确具体的限定。
本技术领域的普通技术人员可以理解实现上述实施例的方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
在本说明书的描述中,流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一个实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种输入法性能测试系统,其特征在于,包括:
第一终端,所述第一终端上安装有被测的输入法程序;
模拟输入装置,用于在所述第一终端上,根据测试数据自动模拟在输入法程序中进行输入的操作;
性能监控装置,用于获取所述输入法程序对所述第一终端的系统资源占用数据;以及
测试控制装置,用于根据预定义的测试场景的参数生成相应的测试数据,以及控制所述模拟输入装置、性能监控装置和所述输入法程序的运行;
其中,所述测试数据为:在输入法程序中,实现根据所述预定义的测试场景的参数进行内容输入,所对应的输入操作的数据。
2.根据权利要求1所述的输入法性能测试系统,其特征在于,还包括:
图形显示装置,用于根据所述性能监控装置获取的所述输入法程序对所述第一终端的系统资源占用数据,进行图形显示。
3.根据权利要求1所述的输入法性能测试系统,其特征在于,
所述第一终端安装有安卓操作系统;
所述模拟输入装置使用安卓操作系统的测试工具UIAutomator实现。
4.根据权利要求1所述的输入法性能测试系统,其特征在于,
所述性能监控装置和所述测试控制装置设置于第二终端,所述第二终端包括:与第一终端相互独立的处理器和存储器。
5.根据权利要求1所述的输入法性能测试系统,其特征在于,
所述性能监控装置还用于对输入法性能测试的过程进行全程录制,记录测试过程中所述输入法程序的运行状态,以及对应的所述输入法程序对所述第一终端的系统资源占用数据。
6.根据权利要求1所述的输入法性能测试系统,其特征在于,
所述测试控制装置根据预定义的测试场景参数生成相应的测试数据时,其中:
所述预定义的测试场景的参数包括:输入语言的语种、目标输入文本内容、输入文本的数量、模拟按键频率中的一种或一种以上。
7.根据权利要求1所述的输入法性能测试系统,其特征在于,还包括:
报警装置,所述报警装置用于所述报警装置用于实时监控所述输入法程序对所述第一终端的资源占用情况,在所述输入法程序对所述第一终端的系统资源占用数据达到预设阈值时,发出警报信息。
8.一种输入法性能测试方法,用于权利要求1-7所述的输入法性能测试系统,其特征在于,包括:
发送控制指令,控制输入法程序启动,所述输入法程序安装于第一终端;
启动监控程序,所述监控程序用于获取所述输入法程序对所述第一终端的系统资源占用数据;
获取预定义的测试场景的参数所对应的测试数据,其中,所述测试数据为:在输入法程序中,实现根据所述预定义的测试场景的参数进行内容输入,所对应的输入操作的数据;
向模拟输入装置发送测试数据,所述模拟输入装置用于在所述第一终端上自动模拟将所述测试数据在输入法程序中进行输入的操作;
根据所述监控程序获取的所述输入法程序对所述第一终端的系统资源占用数据,对输入法的进行性能分析。
9.根据权利要求8所述的输入法性能测试方法,其特征在于,所述启动监控程序,所述监控程序用于获取所述输入法程序对所述第一终端的系统资源占用数据还包括:
所述监控程序还用于对输入法性能测试的过程进行全程录制,记录测试过程中所述输入法程序的运行状态,以及对应的所述输入法程序对所述第一终端的系统资源占用数据。
10.根据权利要求8所述的输入法性能测试方法,其特征在于,所述根据预定义的测试场景的参数生成相应的测试数据中,所述预定义的测试场景的参数包括:
输入语言的语种、目标输入文本内容、输入文本的数量、模拟按键频率中的一种或一种以上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810712973.6A CN108829606A (zh) | 2018-06-29 | 2018-06-29 | 一种输入法性能测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810712973.6A CN108829606A (zh) | 2018-06-29 | 2018-06-29 | 一种输入法性能测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108829606A true CN108829606A (zh) | 2018-11-16 |
Family
ID=64135134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810712973.6A Pending CN108829606A (zh) | 2018-06-29 | 2018-06-29 | 一种输入法性能测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108829606A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297777A (zh) * | 2019-07-10 | 2019-10-01 | 北京百度网讯科技有限公司 | 输入法的测评方法和装置 |
CN110347606A (zh) * | 2019-07-15 | 2019-10-18 | 百度(中国)有限公司 | 一种自动化测试方法、装置、设备及存储介质 |
CN112684909A (zh) * | 2020-12-29 | 2021-04-20 | 科大讯飞股份有限公司 | 输入法联想效果评测方法、装置、电子设备及存储介质 |
CN112684909B (zh) * | 2020-12-29 | 2024-05-31 | 科大讯飞股份有限公司 | 输入法联想效果评测方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331363A (zh) * | 2014-10-17 | 2015-02-04 | 上海斐讯数据通信技术有限公司 | 一种用于安卓设备的自动化测试方法 |
CN105095088A (zh) * | 2015-09-02 | 2015-11-25 | 厦门美图移动科技有限公司 | 基于uiautomator测试框架的计算器自动化测试方法和测试系统 |
CN105204992A (zh) * | 2015-08-28 | 2015-12-30 | 努比亚技术有限公司 | 测试脚本生成装置及方法 |
CN105512033A (zh) * | 2015-12-02 | 2016-04-20 | 厦门美图移动科技有限公司 | 一种移动终端的自动化测试方法、装置及移动终端 |
US20170288957A1 (en) * | 2016-03-30 | 2017-10-05 | International Business Machines Corporation | Input method engine management for edge services |
CN107506296A (zh) * | 2017-07-19 | 2017-12-22 | 北京金山安全软件有限公司 | 一种输入法测试方法、装置、电子设备及存储介质 |
-
2018
- 2018-06-29 CN CN201810712973.6A patent/CN108829606A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331363A (zh) * | 2014-10-17 | 2015-02-04 | 上海斐讯数据通信技术有限公司 | 一种用于安卓设备的自动化测试方法 |
CN105204992A (zh) * | 2015-08-28 | 2015-12-30 | 努比亚技术有限公司 | 测试脚本生成装置及方法 |
CN105095088A (zh) * | 2015-09-02 | 2015-11-25 | 厦门美图移动科技有限公司 | 基于uiautomator测试框架的计算器自动化测试方法和测试系统 |
CN105512033A (zh) * | 2015-12-02 | 2016-04-20 | 厦门美图移动科技有限公司 | 一种移动终端的自动化测试方法、装置及移动终端 |
US20170288957A1 (en) * | 2016-03-30 | 2017-10-05 | International Business Machines Corporation | Input method engine management for edge services |
CN107506296A (zh) * | 2017-07-19 | 2017-12-22 | 北京金山安全软件有限公司 | 一种输入法测试方法、装置、电子设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
尖叫吧少女: ""通过uiautomator及monkey集成一个GUI进行性能测试,工具初版"", 《HTTPS://BLOG.CSDN.NET/U010803735/ARTICLE/DETAILS/78144584》 * |
超江: ""UIautomator输入中文"", 《HTTPS://BLOG.CSDN.NET/G19920917/ARTICLE/DETAILS/37518883》 * |
--龙: ""JAVA_uiautomator 2.0 模拟monkey性能测试 性能数据"", 《HTTPS://BLOG.CSDN.NET/QQ_33668011/ARTICLE/DETAILS/79611364》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297777A (zh) * | 2019-07-10 | 2019-10-01 | 北京百度网讯科技有限公司 | 输入法的测评方法和装置 |
CN110297777B (zh) * | 2019-07-10 | 2023-07-04 | 北京百度网讯科技有限公司 | 输入法的测评方法和装置 |
CN110347606A (zh) * | 2019-07-15 | 2019-10-18 | 百度(中国)有限公司 | 一种自动化测试方法、装置、设备及存储介质 |
CN110347606B (zh) * | 2019-07-15 | 2022-11-08 | 百度(中国)有限公司 | 一种自动化测试方法、装置、设备及存储介质 |
CN112684909A (zh) * | 2020-12-29 | 2021-04-20 | 科大讯飞股份有限公司 | 输入法联想效果评测方法、装置、电子设备及存储介质 |
CN112684909B (zh) * | 2020-12-29 | 2024-05-31 | 科大讯飞股份有限公司 | 输入法联想效果评测方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10580435B2 (en) | Sentiment analysis of mental health disorder symptoms | |
US11087053B1 (en) | Method, electronic device, and computer program product for information display | |
CN109541950A (zh) | 智能家居设备的控制方法、装置和设备 | |
US10838850B2 (en) | Robotic regression testing for smart devices | |
CN106126424B (zh) | 一种脚本可视化的自动化测试方法、装置和移动终端 | |
US20210193173A1 (en) | Speech analysis algorithmic system and method for objective evaluation and/or disease detection | |
CN110059894A (zh) | 设备状态评估方法、装置、系统及存储介质 | |
US20230048386A1 (en) | Method for detecting defect and method for training model | |
CN108829606A (zh) | 一种输入法性能测试方法及装置 | |
CN111198815A (zh) | 用户界面的兼容性测试方法及装置 | |
CN110189104A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN102231127B (zh) | Bios错误信息显示的检测系统及检测方法 | |
CN106842224A (zh) | 用于电子设备的距离传感器的安装结构检测方法及装置 | |
US20160085889A1 (en) | Probabilistic simulation scenario design by using multiple conditional and nested probability distribution input functions | |
KR20210072952A (ko) | 동맥류 파열 예측 장치 및 방법 | |
CN108984380A (zh) | 一种基于Linux系统的服务器测试方法、装置及介质 | |
US11854433B2 (en) | Systems and methods for item response modelling of digital assessments | |
CN112416700A (zh) | 分析启动的预测性故障和smart日志 | |
US10372849B2 (en) | Performing and communicating sheet metal simulations employing a combination of factors | |
CN116578466A (zh) | 计算存储性能指标数据参考值的方法、装置、设备及介质 | |
US20160140857A1 (en) | Personalized and targeted training | |
KR102301293B1 (ko) | 컴퓨터의 노후화 정도를 분석하는 사용자 단말의 성능 측정 방법 | |
CN114372003A (zh) | 测试环境监控方法、装置与电子设备 | |
US10320721B2 (en) | Setting, visualizing and predicting an availability status of an individual for a messaging application | |
CN112712151B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181116 |