一种用于应用程序的测试方法、电子设备及系统的制作方法_3

文档序号:9787309阅读:来源:国知局
于文本框控件,确定其操作方式是输入文字,等 等。
[0136] 在具体实施过程中,在执行步骤SlOl时,可以基于N个控件中每个控件的操作方 式,对N个控件进行遍历操作。例如:对于命令按钮控件,则采用点击的方式进行操作;对于 文本框控件,则采用输入文字的方式进行操作;等等。且可以采用前序遍历算法、或中序遍 历算法、或后续遍历算法、或层序遍历算法等等,对所述N个控件中的每个控件进行遍历操 作。为了提高测试数据的准确性,可以增加遍历操作的次数,以避免偶然情况造成的数据偏 离,例如:可以遍历10次、或50次、或100等等,对应遍历操作的次数,本申请实施例不做具体 限定。
[0137] 步骤S102:第一电子设备在对N个控件进行遍历操作过程中,实时对待测试应用程 序的性能和/或稳定性进行监测,获得N个控件中每个控件对应的监测数据。
[0138] 在具体实施过程中,在执行步骤S102时,主要有以下五种方式:
[0139] 方式1.1:在对N个控件进行遍历操作过程中,实时对待测试应用程序的CPU (Central Processing Unit,中央处理器)占用率进行监测,获得N个控件中每个控件对应 的CHJ占用率数据。
[0140] 方式1.2:在对N个控件进行遍历操作过程中,实时对待测试应用程序的内存占用 率进行监测,获得N个控件中每个控件对应的内存占用率数据。
[0141] 方式1.3:在对N个控件进行遍历操作过程中,实时对第一电子设备的耗电情况进 行监测,获得N个控件中每个控件对应的耗电情况数据。
[0142] 方式1.4:在对N个控件进行遍历操作过程中,实时对待测试应用程序是否出现ANR (Application Not Responding,应用程序无响应)进行监测,获得N个控件控件中每个控件 对应的ANR数据。
[0143] 方式1.5:在对N个控件进行遍历操作过程中,实时对待测试应用程序是否出现崩 溃情况进行监测,获得N个控件中每个控件对应的崩溃情况数据。
[0144] 在具体实施过程中,可以根据实际需要,采用上述五种实施方式中的任意一种或 多种的组合。其中,前三种方式(即:方式1.1、方式1.2和方式1.3)是出于对待测试应用程序 的性能的考虑,后两种方式(即:方式1.4和1.5)是出于对待测试应用程序的稳定性的考虑。
[0145] 在具体实施过程中,在获得N个控件中每个控件对应的监测数据后,可以基于每个 控件的标识信息,生成每个控件和其监测数据的表格(如表一)或曲线图。

[0148] 步骤S103:第一电子设备将N个控件中每个控件对应的监测数据发送给第二电子 设备。
[0149] 在具体实施过程中,第一电子设备可以将得到的表格(如表一)或曲线图发送给第 二电子设备侧的测试脚本,使得第二电子设备侧的测试脚本在接收到这些表格或曲线图 后,可以通过显示屏进行显示,从而将获得的监测数据呈现给测试人员。
[0150] 在具体实施过程中,第一电子设备可以通过与第二电子设备连接的数据线,将上 述监测数据发送给第二电子设备。
[0151] 步骤S104:第二电子设备接收N个控件中每个控件对应的监测数据,并基于N个控 件中每个控件对应的监测数据,从N个控件中确定出P个异常控件,P为小于等于N的正整数。
[0152] 在具体实施过程中,针对步骤S102的上述五种实施方式,在实施步骤步骤S104时, 对应有以下五种实施方式:
[0153] 方式2.1:基于N个控件中每个控件对应的CPU占用率数据,判断N个控件中每个控 件对应的CPU占用率是否大于第一预设值,并将N个控件中对应的CPU占用率大于第一预设 值的控件确定为异常控件。
[0154] 举例来讲,所述第一预设值可以为40 %,如表一所示,在操作控件Con_5、Con_8、 Con_9时,待测试应用程序的CPU占有率分别为41 %、80 %、90 %,都超过了 40 %的标准,所 以,将控件Con_5、Con_8、Con_9确定为异常控件。其中,所述第一预设值可以由测试人员自 定义,第二电子设备侧的测试脚本可以获取测试人员输入的第一预设值,并将该第一预设 值发送给第一电子设备侧的测试APP。
[0155] 方式2_2:基于N个控件中每个控件对应的内存占用率数据,判断N个控件中每个控 件对应的内存占用率是否大于第二预设值,并将N个控件中对应的内存占用率大于第二预 设值的控件确定为异常控件。
[0156] 举例来讲,所述第二预设值可以为30 %,如表一所示,在操作控件Con_6、Con_8、 Con_9时,待测试应用程序的内存占有率分别为35%、40%、45%,都超过了30%的标准,所 以,将控件Con_6、Con_8、Con_9确定为异常控件。其中,所述第二预设值可以由测试人员自 定义,第二电子设备侧的测试脚本可以获取测试人员输入的第二预设值,并将该第二预设 值发送给第一电子设备侧的测试APP。
[0157] 方式2.3:基于N个控件中每个控件对应的耗电情况数据,判断N个控件中每个控件 对应的耗电速率是否大于第三预设值,并将N个控件中对应的耗电速率大于第三预设值的 控件确定为异常控件。
[0158] 举例来讲,所述第三预设值可以为0.15%,如表一所示,在操作控件Con_3、Con_5、 (:〇11_8、(:〇11_9时,待测试应用程序的每分钟耗电量分别为0.16%、0.21%、0.4%、0.5%,都 超过了 0.15 %的标准,所以,将控件Con_3、Con_5、Con_8、Con_9确定为异常控件。其中,所述 第三预设值可以由测试人员自定义,第二电子设备侧的测试脚本可以获取测试人员输入的 第三预设值,并将该第三预设值发送给第一电子设备侧的测试APP。
[0159] 方式2.4 :基于N个控件控件中每个控件对应的ANR (App I i ca t i on No t Responding,应用程序无响应)数据,将N个控件中导致待测应用程序出现ANR的控件作为异 常控件。
[0160] 举例来讲,如表一所示,在操作控件Con_8、Con_9时,待测试应用程序出现了 ANR的 状况,所以,将控件Con_8、Con_9确定为异常控件。
[0161] 方式2.5:基于N个控件中每个控件对应的崩溃情况数据,将N个控件中导致待测应 用程序崩溃的控件作为异常控件。
[0162] 举例来讲,如表一所示,在操作控件Con_9时,待测试应用程序出现了崩溃的状况, 所以,将控件Con_9确定为异常控件。
[0163] 在具体实施过程中,对于步骤S2104,在判断待测试应用程序UI上某一控件是否为 异常控件时,可以根据操作这个控件时,待测试应用程序的CHJ占用率、内存占用率、耗电情 况、ANR情况和崩溃情况五种方式实现。在具体实施过程中,可以根据实际需要,从这五种方 式中选择一种或几种的组合。在确定了异常控件后,也就确定了待测试应用程序存在缺陷 的区域,将异常控件反馈给研发人员,这样有利于研发人员对待测试应用程序进行改进,从 而提高待测试应用程序的性能和/或稳定性。
[0164] 步骤S105:第二电子设备确定P个异常控件中每个异常控件的回放路径;其中,该 回放路径用于在待测试应用程序的UI上再次找到P个异常控件中每个异常控件。
[0165] 在具体实施过程中,若待测试应用程序UI上的控件采用树状结构分布,则每个控 件只有一个操作路径,此时,每个异常控件的操作路径即为该异常控件的回放路径。若待测 试应用程序UI上的控件采用网状节构分布,则每个控件可能包含多个操作路径,此时,可以 获取P个异常控件中每个异常控件的全部操作路径,从每个异常控件的全部操作路径中选 择出路径最短的操作路径作为每个异常控件的回放路径。此处,采用最短的操作路径作为 每个异常的回放路径,可以提高异常控件的回放操作效率。
[0166] 步骤S106:第二电子设备将P个异常控件中每个异常控件的回放路径发送给第一 电子设备。
[0167] 在具体实施过程中,第二电子设备侧测试脚本可以基于测试人员的操作,将P个异 常控件中每个异常控件的回放路径发送给第一电子设备,使得第二电子设备侧测试脚本存 储这些回放路径,以及基于P个异常控件中每个异常控件的回放路径,再次对P个异常控件 进行操作,进行问题重现。
[0168] 步骤S107:第一电子设备接收P个异常控件中每个异常控件的回放路径,并基于P 个异常控件中每个异常控件的回放路径,再次对P个异常控件进行操作。
[0169] 在具体实施过程中,在第一电子设备接收P个异常控件中每个异常控件的回放路 径后,可以基于P个异常控件中每个异常控件的回放路径,再次对P个异常控件进行操作,进 行问题重现。这样可以对这些异常控件进行更为深入的测试,有利于测试人员找出异常控 件存在缺陷的根源,也有利于发现更多未知的缺陷,有利于研发人员对待测试应用程序进 行改进,从而进一步提高待测试应用程序的性能和/或稳定性。
[0170] 另外,由于不同的移动终端硬件环境和系统环境都存在差异,使得同一款应用程 序在不同的移动终端上运行,可能会出现不同的问题。所以测试人员可以将待测试应用程 序安装到不同的移动终端中,并应用本实施例中的用于应用程序的测试方法对多个不同的 移动终端中的待测试应用程序分别进行测试,从而确定不同移动终端各自对应的异常控 件,再将得到的测试结果反馈给研发人员,这样有利于研发人员针对不同的移动终端对待 测试应用程序进行优化,从而提高待测试应用程序在不同移动终端中的性能和/或稳定性。
[0171] 上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
[0172] 根据本发明的一种用于应用程序的测试方法,对待测试应用程序的UI上的N个控 件进行遍历操作;其中,N个控件为UI上的全部可操作控件,N为正整数,在对N个控件进行遍 历操作过程中,实时对待测试应用程序的性能和/或稳定性进行监测,获得N个控件中每个 控件对应的监测数据,将N个控件中每个控件对应的监测数据发送给第二电子设备,以使第 二电子设备基于N个控件中每个控件对应的监测数据,从N个控件中确定出P个异常控件,P 为小于等于N的正整数。由于通过对待测试应用程序的UI上的全部可操作控件进行遍历操 作,来模拟待测试应用程序实际的运行情况,并在遍历过程中实时监测待测试的性能和/或 稳定性,从而确定出异常的控件,所以能够最大程度上发现产品发布后在用户机器上出现 的问题,大大提升了问题发现的科学性,避免了因为测试涉及局限性带来的测试不合理,同 时,不用针对场景进行脚本转换,所以大大减小了自动化过程中编码代价,大大提高了测试 效率。
[0173] 实施例二
[0174] 基于同一发明构思,从第一电子设备侧考虑,本实施例提供了一种用于应用程序 的测试方法,应用于第一电子设备中,如图3所示,包括:
[0175] 步骤S201:对待测试应用程序的用户界面UI上的N个控件进行遍历操作;其中,N个 控件为UI上的全部可操作控件,N为正整数;
[0176] 步骤S202:在对N个控件进行遍历操作过程中,实时对待测试应用程序的性能和/ 或稳定性进行监测,获得N个控件中每个控件对应的监测数据;
[0177] 步骤S203:将N个控件中每个控件对应的监测数据发送给第二电子设备,以使第二 电子设备基于N个控件中每个控件对应的监测数据,从N个控件中确定出P个异常控件,P为 小于等于N的正整数。
[0178] 作为一种可选的实施例,在步骤S201之前,还包括:从UI上的全部控件中确定出N 个控件。
[0179 ]作为一种可选的实施例,从UI上的全部控件中确定出N个控件,包括:
[0180] 获取UI上的全部控件中每个控件的属性信息;基于全部控件中每个控件的属性信 息,确定全部控件中每个控件的类型;基于全部控件中每个控件的类型,从全部控件中确定 出属于预设类型的控件为N个控件。
[0181] 作为一种可选的实施例,在步骤S201之前,还包括:基于N个控件中每个控件的类 型,确定N个控件中每个控件的操作方式。
[0182] 作为一种可选的实施例,步骤S201,包括:基于N个控件中每个控件的操作方式,对 N个控件进行遍历操作。
[0183] 作为一种可选的实施例,在步骤S201之前,还包括:生成用于表示N个控件中每个 控件的标识信息。
[0184] 作为一种可选的实施例,步骤S202,包括:在对N个控件进行遍历操作过程中,实时 对待测试应用程序的CPU占用率进行监测,获得N个控件中每个控件对应的CPU占用率数据。
[0185] 作为一种可选的实施例,步骤S202,包括:在对N个控件进行遍历操作过程中,实时 对待测试应用程
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1