软件的界面状态变化时间的测试方法和装置制造方法
【专利摘要】本申请提供了一种软件的界面状态变化时间的测试方法和装置,以解决现有技术测试的软件的界面变化时间不准确的问题。所述的方法包括:触发改变测试界面状态的操作,将触发时刻记录为开始时间;检测到测试界面的基准目标发生预置变化,将所述检测时刻记录为结束时间;将所述结束时间和开始时间的时间间隔记录为界面状态变化时间。本申请根据在测试界面状态变化时基准目标会发生变化的特点,可以获知软件的界面呈现给用户的时间,即可以获知软件的真实的启动时间。
【专利说明】软件的界面状态变化时间的测试方法和装置
【技术领域】
[0001]本申请涉及测试【技术领域】,特别是涉及一种软件的界面状态变化时间的测试方法和装置。
【背景技术】
[0002]随着计算机的发展和普及,越来越多的人使用计算机,计算机中包含多种软件为用户提供相应的服务。为了给用户提供更好的服务,需要对软件的性能进行测试,以进一步提高软件的性能,其中一项就是测试软件的界面状态变化时间,例如测试软件的界面启动时间和界面关闭时间。
[0003]通常测试软件的界面状态变化时间的方法是通过捕获API事件,即通过接口调用来监控软件的界面启动中的某些事件,事件发生后即可认定软件的界面状态变化完毕。
[0004]例如,测试软件的界面启动时间时,可以通过接口调用监控窗口标题的加载,所述窗口标题加载完毕即认为软件的界面完成启动,记录从软件的界面开始启动到窗口标题加载完毕的时间为启动时间。还可以通过接口调用监控dll (Dynamic Link Library,动态链接库)文件的加载,所述dll文件加载完毕即认为软件的界面完成启动,记录从软件的界面开始启动到dll文件加载完毕的时间为启动时间。
[0005]对每个用户来讲,软件的界面呈现给用户的时间就是该软件的真实的启动时间。但是通过上述方法进行测试时发现,通常测试出的启动时间比所述真实的启动时间短,例如,用户看到软件的界面的真实的启动时间是5s,但测试出的启动时间却是3s,即测试出的软件的启动时间不准确。测试出的启动时间让测试人员以为软件的启动性能比较好,但用户实际看到的启动时间却比较长,因而测试出的启动时间并没有真实的反应出软件的启动性能,进而无法对软件的启动性能进行提高。
[0006]因而采取上述的方法并不能准确的测试出软件的界面状态变化时间,也就没有真实的反应出软件的界面状态变化性能,进而无法对软件的界面状态变化性能进行提高。
【发明内容】
[0007]本申请提供一种软件的界面状态变化时间的测试方法和装置,以解决现有技术测试的软件的界面变化时间不准确的问题。
[0008]为了解决上述问题,本申请公开了一种软件的界面状态变化时间的测试方法,包括:
[0009]触发改变测试界面状态的操作,将触发时刻记录为开始时间;
[0010]检测到测试界面中的基准目标发生预置变化,将所述检测时刻记录为结束时间;[0011 ] 将所述结束时间和开始时间的时间间隔记录为界面状态变化时间。
[0012]优选的,所述界面状态变化时间包括:界面启动时间、界面关闭时间和界面切换时间。
[0013]优选的,所述基准目标为基准点,所述的方法还包括:
[0014]获取至少一个基准点的颜色并记录为开始颜色,其中,将测试界面状态变化前和界面状态变化后颜色不相同的点作为基准点。
[0015]优选的,所述在检测到测试界面中的基准目标发生预置变化,将所述检测时刻记录为结束时间包括:
[0016]在检测到基准点的当前颜色与开始颜色不同时,将所述检测的时刻记录为结束时间。
[0017]优选的,所述在检测到基准点的当前颜色与开始颜色不同,设置所述检测的时刻为结束时间,包括:
[0018]获取所述基准点的颜色,并记录为当前颜色;
[0019]检测所述基准点的当前颜色是否等于开始颜色;
[0020]若不等于,则将所述检测时刻记录为结束时间;
[0021]若等于,则获取下一时刻所述基准点的颜色。
[0022]优选的,所述的方法进一步包括:
[0023]预先获取至少一个在状态变化前和状态变化后颜色不相同的点作为基准点。
[0024]优选的,所述基准目标为基准图片,并且所述界面状态变化包括界面启动和界面切换,则所述检测到测试界面中的基准目标发生预置变化,将所述检测时刻记录为结束时间,包括:
[0025]分别获取基准图片中的颜色和/或形状并记录;
[0026]分别检测基准图片中的颜色和/或形状与对比图片中对应的颜色和/或形状是否相同;
[0027]若相同,则将所述检测时刻记录为结束时间;
[0028]若不相同,则获取下一时刻所述基准图片中的颜色和/或形状。
[0029]优选的,所述基准目标为基准图片,并且所述界面状态变化为界面关闭,则所述检测到测试界面中的基准目标发生预置变化,将所述检测时刻记录为结束时间,包括:
[0030]分别获取基准图片中的颜色和/或形状并记录;
[0031]分别检测基准图片中的颜色和/或形状与对比图片中对应的颜色和/或形状是否相同;
[0032]若不相同,则记录检测时刻为结束时间;
[0033]若相同,则获取下一时刻所述基准图片中的颜色和/或形状。
[0034]优选的,依据所述界面状态变化时间,执行对界面所属程序的优化操作。
[0035]优选的,所述执行对界面所属程序的优化操作,包括:
[0036]判断出所述界面状态变化时间超过预定阈值时,执行对界面所属程序的优化操作或提示操作。
[0037]优选的,所述执行对界面所属程序的优化操作包括:
[0038]使用本地的程序优化工具进行界面所属程序的配置参数优化。
[0039]优选的,述执行对界面所属程序的优化操作包括:
[0040]向服务器发送界面的更新请求信息,以修复界面所属程序。
[0041]相应的,本申请还公开了一种软件的界面状态变化时间的测试装置,包括:
[0042]触发模块,用于触发改变测试界面状态的操作,同时将触发时刻记录设置为开始时间;
[0043]检测模块,用于检测到测试界面中的基准目标发生预置变化,将所述检测的时刻记录为结束时间;
[0044]变化时间记录模块,用于将所述结束时间和开始时间的时间间隔记录为界面状态变化时间;
[0045]输出模块,用于输出所述界面状态变化时间。
[0046]优选的,若所述基准目标为基准点,所述的装置还包括:
[0047]颜色获取模块,用于获取至少一个基准点的颜色并记录为开始颜色,其中,将测试界面状态变化前和状态变化后颜色不相同的点作为基准点。
[0048]优选的,所述检测及记录模块,用于在检测到基准点的当前颜色与开始颜色不同时,将所述检测的时刻记录为结束时间。
[0049]优选的,所述检测及记录模块,包括:
[0050]获取子模块,用于获取所述基准点的颜色,并记录为当前颜色;
[0051]检测子模块,用于检测所述基准点的当前颜色是否等于开始颜色;
[0052]记录时间子模块,用于将所述检测时刻记录为结束时间。
[0053]优选的,所述的装置还包括:
[0054]获取基准点模块,用于预先获取至少一个在状态变化前和状态变化后颜色不相同的点作为基准点。
[0055]优选的,若所述基准目标为基准图片,并且所述界面状态变化包括界面启动和界面切换,所述检测及记录模块包括:
[0056]获取子模块,用于分别获取基准图片中的颜色和/或形状并记录;
[0057]检测子模块,用于分别检测基准图片中的颜色和/或形状与对比图片中对应的颜色和/或形状是否相同;
[0058]记录时间子模块,用于记录检测时刻为结束时间。
[0059]优选的,所述基准目标为基准图片,并且所述界面状态变化为界面关闭,所述检测及记录模块包括:
[0060]获取子模块,用于分别获取基准图片中的颜色和/或形状并记录;
[0061]检测子模块,用于分别检测基准图片中的颜色和/或形状与对比图片中对应的颜色和/或形状是否相同;
[0062]记录时间子模块,用于记录检测时刻为结束时间。
[0063]优选的,所述的装置还包括:
[0064]优化模块,用于依据所述界面状态变化时间,执行对界面所属程序的优化操作。
[0065]优选的,所述优化模块包括:
[0066]阈值判断子模块,用于判断出所述界面状态变化时间超过预定阈值时,执行对界面所属程序的优化操作或提示操作。
[0067]优选的,所述优化模块包括:
[0068]参数优化子模块,用于使用本地的程序优化工具进行界面所属程序的配置参数优化。
[0069]优选的,所述优化模块包括:
[0070]更新子模块,用于向服务器发送界面的更新请求信息,以修复界面所属程序。
[0071]与现有技术相比,本申请包括以下优点:
[0072]首先,本申请以软件的界面呈现给用户的时间为依据,先触发改变测试界面状态的操作,同时将触发时刻记录为开始时间,检测到测试界面中的基准目标发生预置变化,将所述检测的时刻记录为结束时间,然后将所述结束时间和开始时间的时间间隔记录为界面状态变化时间。本申请根据在测试界面状态变化时基准目标会发生变化的特点,可以获知软件的界面呈现给用户的时间,即可以获知软件的真实的启动时间,进而可以更真实的体现出软件的状态变化性能,可以对软件的状态变化性能的提高提供依据。
[0073]其次,本申请在判断软件的界面状态变化时间时,所述的基准目标可以为基准图片,可以将基准图片颜色和/或形状与预置的对比图片的颜色和/或形状进行比较,来检测界面状态是否变化完毕,进而可以获知界面的状态变化时间。所述基准目标也可以为基准点,若检测到基准点的当前颜色与开始颜色不同,则说明软件的界面状态变化完毕,进而可以获知界面的状态变化时间。本申请中获取软件的界面状态变化时间的方法灵活、多样,可以满足各种软件的界面状态变化时间的测试需求。
[0074]再次,本申请还可以根据界面状态变化时间,执行对界面所属程序的优化操作,包括:使用本地的程序优化工具进行界面所属程序的配置参数优化;向服务器发送界面的更新请求信息,以修复界面所属程序。本申请可以通过对界面的优化,缩短界面状态变化时间,提高用户的使用效果,更快的为用户提供服务。
【专利附图】
【附图说明】
[0075]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0076]图1是本申请实施例所述一种软件的界面状态变化时间的测试方法流程图;
[0077]图2是本申请优选实施例所述第一种软件的界面状态变化时间的测试方法流程图;
[0078]图3是本申请实施例所述第一种软件的界面状态变化时间的优选测试装置结构图
[0079]图4是本申请实施例所述第二种软件的界面状态变化时间的测试方法流程图;
[0080]图5是本申请实施例所述第二种软件的界面状态变化时间的测试方法中界面关闭方法流程图;
[0081]图6是本申请实施例所述一种软件的界面状态变化时间的测试装置流程图;
[0082]图7是本申请实施例所述第一种软件的界面状态变化时间的测试装置流程图;
[0083]图8是本申请实施例所述第二种软件的界面状态变化时间的测试装置流程图;
[0084]图9是本申请实施例所述第二种软件的界面状态变化时间中界面关闭的测试装置流程图。
【具体实施方式】
[0085]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0086]为了给用户提供更好的服务,需要对软件的性能进行测试,以进一步提高软件的性能,其中一项就是测试软件的界面状态变化时间。
[0087]通常测试软件的界面状态变化时间的方法是通过捕获API事件,即通过接口调用来监控软件的界面状态变化中的某些事件,事件发生后即可认定软件的界面状态变化完毕。但是现有技术测试软件的界面状态变化时间的方法不准确,测试出的界面状态变化时间并没有真实的反应出软件的界面状态变化性能,进而无法对软件的界面状态变化性能进行提尚。
[0088]本申请所述的方法可以获知软件的界面呈现给用户的时间,即可以获知软件的真实的界面状态变化时间,进而可以更真实的体现出软件的界面状态变化性能,可以对软件的界面状态变化性能进行提高提供依据。
[0089]参照图1,给出了本申请实施例所述一种软件的界面状态变化时间的测试方法流程图。
[0090]步骤11,触发改变测试界面状态的操作,将触发时刻记录为开始时间;
[0091]设开始时间为TimeStar,其中,获取触发时刻后无论是作为参数暂时保存,还是作为记录数据保存,都可以认为是将触发时刻记录为开始时间。
[0092]步骤12,检测到测试界面中的基准目标发生预置变化,将检测时刻记录为结束时间;
[0093]测试界面的状态变化可以导致测试界面中的基准目标产生变化,因此可以预先获取测试界面状态变化时基准目标的变化,若检测到测试界面中的基准目标发生预置变化,则记录检测的时刻为结束时间,设所述结束时间为TimeEnd。
[0094]步骤13,将所述结束时间和开始时间的时间间隔记录为界面状态变化时间。
[0095]可以将TimeEnd-TimeStar得到时间间隔,即为界面状态变化时间。
[0096]其中,所述界面状态变化时间包括:界面启动时间、界面关闭时间和界面切换时间。
[0097]综上所述,本申请以软件的界面呈现给用户的时间为依据,先触发改变测试界面状态的操作,将触发时刻记录为开始时间,若检测到测试界面中的基准目标发生预置变化,将所述检测时刻记录为结束时间,然后将所述结束时间和开始时间的时间间隔记录为界面状态变化时间。本申请根据在测试界面状态变化时基准目标会发生变化的特点,可以获知软件的界面呈现给用户的时间,即可以获知软件的真实的启动时间,进而可以更真实的体现出软件的状态变化性能,可以为软件的状态变化性能的提高提供依据。
[0098]本申请根据软件的界面状态变化会引起颜色变化的特性,根据不同的基准目标可以采取不同的测试方法。
[0099]一、若所述基准目标为基准点:
[0100]参照图2,给出了本申请实施例所述第一种软件的界面状态变化时间的测试方法流程图。
[0101]步骤21,获取至少一个基准点的颜色并记录为开始颜色;
[0102]其中,将测试界面状态变化前和界面状态变化后颜色不相同的点作为基准点;
[0103]通常系统桌面上展示的软件在界面状态变化前和界面状态变化后的颜色会发生变化,例如,某软件启动前系统桌面是黑色的,但是在启动后,软件的界面标题部分为蓝色,其他部分为白色。又如,软件一个标签中展示的内容是粉色的,另一个标签展示的内容是棕色的,两个标签在切换时展示的内容颜色不同。
[0104]本申请根据上述的特点,将测试界面状态变化前和界面状态变化后颜色不相同的点作为基准点,因此,首先获取至少一个基准点的颜色并记录为开始颜色,其中所述开始颜色为测试界面状态变化前基准点的颜色。
[0105]其中,所述界面状态变化包括界面启动、界面关闭和界面标签切换。
[0106]步骤22,触发改变测试界面状态的操作,将触发时刻记录为开始时间;
[0107]触发改变测试界面状态的操作,将触发时刻记录为开始时间TimeStar,则所述开始时间TimeStar即测试界面状态开始改变的时间。
[0108]步骤23,若检测到基准点的当前颜色与开始颜色不同,将所述检测时刻记录为结束时间;
[0109]不断获取基准点的当前颜色,并检测基准点的颜色是否发生变化,若检测到基准点的当前颜色与上述记录的开始颜色不同,则说明测试界面状态变化完毕,可以将所述检测时刻记录为结束时间TimeEnd。
[0110]具体步骤包括:
[0111]步骤231,获取所述基准点的颜色,并记录为当前颜色;
[0112]在A时刻获取所述基准点的颜色并记录为当前颜色。
[0113]步骤232,检测所述基准点的当前颜色是否等于开始颜色;
[0114]若不等于,则执行步骤233,若等于,返回执行步骤231。
[0115]将基准点的当前颜色和开始颜色进行比较,若当前颜色等于开始颜色,则软件的界面状态变化没有完成,则返回步骤231,获取下一时刻,即A+1时刻基准点的颜色并记录为当前颜色。若当前颜色不等于开始颜色,则软件的界面状态变化完成,执行步骤233。
[0116]步骤233,将所述检测时刻记录为结束时间;
[0117]若当前颜色不等于开始颜色,则软件的界面状态变化完成,将所述检测时刻记录为结束时间TimeEnd。
[0118]在实际处理中,可以每隔5?1ms获取一次基准点的当前颜色,同时检测所述当前颜色与开始颜色是否相等,若不相等,将所述检测时刻记录为结束时间;若相等,则过5?1ms后再重新获取并检测。
[0119]步骤24,将所述结束时间和开始时间的时间间隔记录为界面状态变化时间。
[0120]上述记录了开始时间和结束时间,可以将开始时间TimeStar和结束时间TimeEnd的时间间隔作为界面状态变化的时间,记录所述界面状态变化的时间后,测试完毕。
[0121]具体实施中的一种方法为:
[0122]步骤241,将所述结束时间减去所述开始时间,得到对应的时间间隔;
[0123]将结束时间TimeEnd减去开始时间TimeStar,计算得到的结果为时间间隔,即时间间隔 X = TimeEnd-TimeStar0
[0124]步骤242,将所述时间间隔记录为界面状态变化时间。
[0125]记录所述时间间隔X为界面状态变化时间。
[0126]参照图3,给出了本申请实施例所述第一种软件的界面状态变化时间的优选测试方法流程图。
[0127]步骤301,预先获取至少一个在界面状态变化前和界面状态变化后颜色不相同的点作为基准点。
[0128]本申请正式在对测试界面状态变化时间进行测试之前,会预先启动所述软件以检测在界面状态变换前和界面状态变化后颜色会发生变化的点,将所述点作为基准点。
[0129]其中,对所述基准点的数量不做限定,可以根据不同的需求确定基准点的数量。
[0130]例如,若是对软件的主框架顶部的显示时间进行测试,则可以只获取顶部的一点作为基准点;若是对软件的整体界面进行测试,则可以获取软件的界面的上部、下部、左部、右部和中间部分各取一点,分别作为基准点I?5。
[0131]步骤302,获取至少一个基准点的颜色并记录为开始颜色;
[0132]例如,若测试软件的整体界面的启动时间,则首先获取预先确定的该软件的基准点I到基准点5的颜色,并分别记录为开始颜色I到开始颜色5。
[0133]其中,所述界面状态变化包括:界面启动、界面关闭和界面切换。将测试界面状态变化前和界面状态变化后颜色不相同的点作为基准点。
[0134]步骤303,触发改变测试界面状态的操作,将触发时刻记录为开始时间;
[0135]上述获取基准点I到基准点5的颜色后,触发改变测试界面状态的操作,将触发时刻记录为开始时刻TimeStar,开始改变测试界面状态。
[0136]步骤304,获取所述基准点的颜色,并记录为当前颜色;
[0137]在A时刻分别获取所述基准点I到基准点5的颜色,并分别记录为当前颜色I到当前颜色5。
[0138]步骤305,检测所述基准点的当前颜色是否等于开始颜色;
[0139]若等于,则返回执行步骤304 ;若不等于,则执行步骤306。
[0140]分别检测每个基准点的当前颜色和开始颜色是否相等,只有当5个基准点的当前颜色和开始颜色都不相等时,才能说明测试界面启动完成,才执行步骤306,也就是说,即使5个基准点中仅有一个基准点的当前颜色和开始颜色相等,也同样要执行步骤304。
[0141]步骤306,将所述检测时刻记录为结束时间;
[0142]将所述检测时刻记录为结束时间TimeEnd。
[0143]步骤307,将所述结束时间减去所述开始时间,得到对应的时间间隔;
[0144]将所述结束时间TimeEnd减去所述开始时间TimeStar,计算的记过作为对应的时间间隔X。
[0145]步骤308,将所述时间间隔记录为界面状态变化时间;
[0146]所述时间间隔即为界面状态变化时间,测试结束。
[0147]步骤309,根据测试出的界面状态变化时间,对测试界面状态变化性能进行提高。
[0148]测试出软件的界面状态变化时间后,可以帮助了解软件的界面状态变化性能,对软件的界面状态变化性能进行提高。
[0149]例如,可以对多个浏览器的启动时间进行测试,比较各个浏览器的启动性能,还可以分别测试浏览器的各部分的状态变化时间,判断哪些部分状态变化较慢,然后重点进行优化。
[0150]二、若所述基准目标为基准图片:
[0151]参照图4,给出了本申请实施例所述第种软件的界面状态变化时间的测试方法流程图。
[0152]步骤41,触发改变测试界面状态的操作,将触发时刻记录为开始时间;
[0153]步骤42,分别获取基准图片的颜色和/或形状并记录;
[0154]通常测试界面状态变化前后有些图片会发生变化,例如在浏览器启动前没有浏览器图标,而软件启动后出现了浏览器图标,例如在界面切换前某个图片是灰色,界面切换后所述图片是蓝色等。
[0155]因此可以预先改变软件的界面状态,获取软件的界面状态变化前后发生变化的图片,将所述图片作为基准图片,因此在测试时可以是基准图片颜色改变,或是基准图片形状改变,当然也可以是基准图片的颜色和形状都改变,并且测试时可以至少确定一个基准图片,本申请对此不做限定。在界面状态变化完毕后,保存发生变化的图片为对比图片,并记录对比图片的颜色和/或形状。所述对比图片用于在测试界面状态发生变化是与基准图片进行比较。
[0156]因此可以根据测试前保存的对比图片的数据,来获取基准图片的数据,例如记录了对比图片的形状,则相应的要获取基准图片的形状,记录了对比图片的颜色,则相应的要获取基准图片的颜色。
[0157]例如,软件的界面启动前,软件图标是不存在的,界面启动完毕后,软件图标会出现,因此可以获取软件图标的颜色,也可以获取软件图标的形状。
[0158]例如,测试时,在B时刻还要分别获取基准图片的颜色并记录。
[0159]步骤43,分别检测基准图片的颜色和/或形状与对比图片中对应的颜色和/或形状是否相同;
[0160]其中界面状态变化包括界面启动和界面切换。
[0161]例如,预先保存了对比图片的颜色,在测试时最初基准图片可能是没有的,在界面状态变化完成后可以显示基准图片,因此若检测到基准图片颜色与对比图片的颜色相同,则可以认为界面状态变化完毕,否则,界面状态变化没有完毕。
[0162]若相同,则执行步骤44;若不相同,则返回执行步骤42,获取下一时刻所述基准图片的颜色。界面状态变化没有完毕,获取下一时刻即B+1时刻所述基准图片的颜色。
[0163]预先保存了对比图片的形状,或预先保存了对比图片的颜色和形状时的判定方法与上述基本一致,因此此处不再赘述。
[0164]步骤44,将所述检测时刻记录为结束时间;
[0165]步骤45,将所述结束时间和开始时间的时间间隔记录为界面状态变化时间。
[0166]参照图5,给出了本申请实施例所述第二种软件的界面状态变化时间的测试方法中界面关闭方法流程图。
[0167]由于具体实施中,各个用户系统桌面无法确定,因此在检测时所述基准图片可以是测试界面内的图片,如测试的是浏览器的界面,则基准图片可以是浏览器图标。因此在测试浏览器启动时,浏览器图标是由无到有,而测试浏览器关闭时,浏览器图标是由有到无,因此在判定浏览器启动和浏览器关闭时,针对基准图片的判定可以是不同的,因此一种测试界面关闭的判定方法如下:
[0168]步骤51,触发测试界面关闭操作,将触发时刻记录为开始时间;
[0169]步骤52,分别获取基准图片的颜色和/或形状并记录;
[0170]步骤53,分别检测基准图片的颜色和/或形状与对比图片中对应的颜色和/或形状是否相同;
[0171]若不相同,则执行步骤54 ;若相同,则返回执行步骤52,获取下一时刻所述基准图片的颜色和/或形状。
[0172]实际处理中,若检测基准图片的颜色和对比图片的颜色是否相同,由于基准图片可能包含多种的颜色,在检测时可以将基准图片中各个点的颜色分别与对比图片对应点的颜色进行比较。
[0173]而在界面关闭后,桌面的颜色可能与基准图片的部分位置颜色相同,因此可以预先设置一个控制阈值,若基准图片与对比图片颜色不相同的点超过所述控制阈值,即可执行步骤54。例如设置所述控制阈值为40%,若检测到基准图片与对比图片颜色不相等的点超过40 %,就可以执行步骤54。
[0174]步骤54,将所述检测时刻记录为结束时间;
[0175]步骤55,将所述结束时间和开始时间的时间间隔记录为界面关闭时间。
[0176]综上所述,本申请在判断软件的界面状态变化时间时,所述的基准目标可以为基准图片,可以将基准图片颜色和/或形状与预置的对比图片的颜色和/或形状进行比较,来检测界面状态是否变化完毕,进而可以获知界面的状态变化时间。所述基准目标也可以为基准点,若检测到基准点的当前颜色与开始颜色不同,则说明软件的界面状态变化完毕,进而可以获知界面的状态变化时间。本申请中获取软件的界面状态变化时间的方法灵活、多样,可以满足各种软件的界面状态变化时间的测试需求。
[0177]软件(英文为Software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。
[0178]本申请可以适用于包含界面的各种软件。例如浏览器、办公软件、通讯软件,任务管理器等。
[0179]优选的,所述获取基准点颜色的方法包括:
[0180]方法1,先在获取颜色的函数中导入win32gui子模块,其中win32gui子模块为Win32模块中的一个子模块,可以通过所述win32gui子模块来调用windowsAPI。然后使用函数win32gu1.GetWindowDC(None)获取指定窗口的句柄传入到hwnd变量中;再使用函数win32gu1.GetPixel (hwnd, x, y)获取坐标(x, y)的颜色。
[0181]其中,所述函数win32gu1.GetWindowDC O 对应的 windowsAPI 为 GetWindowDC,函数 win32gu1.GetPixel O 对应的 windowsAPI 为 GetPixel。
[0182]方法2,先在获取颜色的函数中导入windll模块,可以通过所述windll模块来调用windowsAPI。然后使用函数windll.user32.GetDC(None)获取指定窗口的句柄传入到hwnd变量中;再使用函数windll.gdi32.GetPixel (hwnd, X,y)获取坐标(x, y)的颜色。
[0183]其中,所述函数windll.user32.GetDC()对应的 windowsAPI 为 GetDC,所述函数windll.gdi32.GetPixel O 对应的 windowsAPI 为 GetPixel。
[0184]所述Windows API就是windows应用程序接口,是针对microsoft windows操作系统家族的系统编程接口。
[0185]优选的,依据所述界面状态变化时间,执行对界面所属程序的优化操作。
[0186]进一步,判断出所述界面状态变化时间超过预定阈值时,执行对界面所属程序的优化操作或提示操作。
[0187]上述获取到界面状态变化时间后,可以依据所述界面状态变化时间,可以执行对界面所属程序的优化操作。当然在具体实施中可以预定一个阈值,若所述界面状态变化时间超过预定阈值时,就可以执行对界面所属程序的优化操作或提示操作。
[0188]所述优化操作可以减少界面状态变化时间;所述提示操作可以提示用户可执行的操作,以减少界面状态变化时间,或解决界面状态变化长时间不变化的问题等。
[0189]例如,测试出浏览器的平均启动时间为10s,而某个浏览器的启动时间为15s,则可以提示对浏览器对应的程序执行优化操作。具体操作如,可以检测浏览器对应的程序,将其中包含的冗余代码删除等,本申请对具体的优化操作不做限定。
[0190]优选的,所述执行对界面所属程序的优化操作包括:
[0191]1、使用本地的程序优化工具进行界面所属程序的配置参数优化。
[0192]例如,使用本地的程序优化工具对界面所属程序进行优化,例如对配置参数进行优化等。
[0193]2、向服务器发送界面的更新请求信息,以修复界面所属程序。
[0194]界面状态变化时间比较长还有可能是由于软件版本比较旧,因此可以检测软件版本是否是最新的,若不是,可以向服务器发送界面的更新请求信息,以修复界面所属程序。
[0195]综上所述,本申请还可以根据界面状态变化时间,执行对界面所属程序的优化操作,包括:使用本地的程序优化工具进行界面所属程序的配置参数优化;向服务器发送界面的更新请求信息,以修复界面所属程序。本申请可以通过对界面的优化,缩短界面状态变化时间,提高用户的使用效果,更快的为用户提供服务。
[0196]参照图6,给出了本申请实施例所述一种软件的界面状态变化时间的测试装置流程图。
[0197]相应的,本申请还提供了一种软件的界面状态变化时间的测试装置,包括触发及记录模块11、检测及记录模块12、变化时间记录模块13和输出模块14,其中,
[0198]触发及记录模块11,用于触发改变测试界面状态的操作,将触发时刻记录为开始时间;
[0199]检测及记录模块12,用于检测到测试界面中的基准目标发生预置变化,将所述检测时刻记录为结束时间;
[0200]变化时间记录模块13,用于将所述结束时间和开始时间的时间间隔记录为界面状态变化时间;
[0201]输出模块14,用于输出所述界面状态变化时间。
[0202]其中,所述界面状态变化时间包括:界面启动时间、界面关闭时间和界面切换时间。
[0203]优选的,所述的装置还包括:
[0204]优化模块15,用于依据所述界面状态变化时间,执行对界面所属程序的优化操作。
[0205]优选的,所述优化模块包括:
[0206]阈值判断子模块151,用于判断出所述界面状态变化时间超过预定阈值时,执行对界面所属程序的优化操作或提示操作。
[0207]参数优化子模块152,用于使用本地的程序优化工具进行界面所属程序的配置参数优化;
[0208]更新子模块153,用于向服务器发送界面的更新请求信息,以修复界面所属程序。
[0209]一、若所述基准目标为基准点,在测试界面状态变化时间时,所述的装置包括:
[0210]参照图7,给出了本申请实施例所述第一种软件的界面状态变化时间的测试装置流程图。
[0211]颜色获取模块21,用于获取至少一个基准点的颜色并记录为开始颜色,其中,将测试界面状态变化前和界面状态变化后颜色不相同的点作为基准点;
[0212]触发及记录模块22,用于触发改变测试状态的操作,将触发时刻记录为开始时间;
[0213]检测及记录模块23,用于若在检测到基准点的当前颜色与开始颜色不同是,则记录检测的时刻为结束时间;
[0214]变化时间记录模块24,用于将所述结束时间和开始时间的时间间隔记录为界面状态变化时间;
[0215]输出模块25,用于输出所述界面状态变化时间。
[0216]优选的,所述检测及记录模块23,包括:
[0217]获取子模块231,用于获取所述基准点的颜色,并记录为当前颜色;
[0218]检测子模块232,用于检测所述基准点的当前颜色是否等于开始颜色;
[0219]若不等于,则进入记录时间子模块233 ;若等于,则返回颜色获取子模块231。
[0220]记录时间子模块233,用于将所述当前时刻记录为结束时间。
[0221 ] 所述变化时间记录模块24,包括:
[0222]计算子模块241,用于将所述结束时间减去所述开始时间,得到对应的时间间隔;
[0223]记录子模块242,用于将所述时间间隔记录为状态变化时间。
[0224]所述的装置还包括:
[0225]获取基准点模块20,用于预先获取至少一个在状态变化前和状态变化后颜色不相同的点作为基准点。
[0226]二、若所述基准目标为基准图片,在测试界面状态变化时间时:
[0227]1、当界面状态变化包括界面启动时间和界面切换时间时,所述的装置包括:
[0228]参照图8,给出了本申请实施例所述第二种软件的界面状态变化时间的测试装置流程图。
[0229]触发及记录模块31,用于触发改变测试界面状态的操作,将触发时刻记录为开始时间;
[0230]检测及记录模块32包括:
[0231]获取颜色子模块321,用于分别获取基准图片的颜色和/或形状并记录;
[0232]检测颜色子模块322,用于分别检测基准图片的颜色和/或形状与对比图片中对应的颜色和/或形状是否相同;
[0233]若相同,则进入记录时间子模块323,若不相同,则返回获取颜色子模块321,以获取下一时刻所述基准图片的颜色和/或形状。
[0234]记录时间子模块323,用于将所述检测时刻记录为结束时间;
[0235]变化时间记录模块33,用于将所述结束时间和开始时间的时间间隔记录为界面状态变化时间,其中,所述界面状态变化包括界面启动和界面切换;
[0236]输出模块34,用于输出所述界面状态变化时间。
[0237]2、当界面状态变化为关闭时间时,所述的装置包括:
[0238]参照图9,给出了本申请实施例所述第二种软件的界面状态变化时间中界面关闭的测试装置流程图。
[0239]触发及记录模块41,用于触发改变测试界面关闭操作,将触发时刻记录为开始时间;
[0240]检测及记录模块42包括:
[0241]获取颜色子模块421,用于分别获取基准图片的颜色和/或形状并记录;
[0242]检测颜色子模块422,用于分别检测基准图片的颜色和/或形状与对比图片中对应的颜色和/或形状是否相同;
[0243]若不相同,则进入记录时间子模块423,若相同,则返回获取及记录模块421,以获取下一时刻所述基准图片中各个点的颜色。
[0244]记录时间子模块423,用于将所述检测时刻记录为结束时间;
[0245]变化时间记录模块43,用于将所述结束时间和开始时间的时间间隔记录为界面关闭时间;
[0246]输出模块44,用于输出所述界面关闭时间。
[0247]其中,所述获取颜色的方法包括:
[0248]方法1,先在获取颜色的函数中导入win32gui子模块,其中win32gui子模块为Win32模块中的一个子模块,可以通过所述win32gui子模块来调用windowsAPI。然后使用函数win32gu1.GetWindowDC(None)获取指定窗口的句柄传入到hwnd变量中;再使用函数win32gu1.GetPixel (hwnd, x, y)获取坐标(x, y)的颜色。
[0249]其中,所述函数win32gu1.GetWindowDC O 对应的 windowsAPI 为 GetWindowDC,函数 win32gu1.GetPixel O 对应的 windowsAPI 为 GetPixel。
[0250]方法2,先在获取颜色的函数中导入windll模块,可以通过所述windll模块来调用windowsAPI。然后使用函数windll.user32.GetDC(None)获取指定窗口的句柄传入到hwnd变量中;再使用函数windll.gdi32.GetPixel (hwnd, X,y)获取坐标(x, y)的颜色。
[0251]其中,所述函数windll.user32.GetDC()对应的 windowsAPI 为 GetDC,所述函数windll.gdi32.GetPixel O 对应的 windowsAPI 为 GetPixel。
[0252]所述状态变化时间包括:界面启动时间、界面关闭时间和界面切换时间。
[0253]对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0254]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0255]本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0256]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0257]以上对本申请所提供的一种软件的界面状态变化时间的测试方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
【权利要求】
1.一种软件的界面状态变化时间的测试方法,其特征在于,包括: 触发改变测试界面状态的操作,将触发时刻记录为开始时间; 检测到测试界面中的基准目标发生预置变化,将所述检测时刻记录为结束时间; 将所述结束时间和开始时间的时间间隔记录为界面状态变化时间。
2.根据权利要求1所述的方法,其特征在于,所述界面状态变化时间包括:界面启动时间、界面关闭时间和界面切换时间。
3.根据权利要求2所述的方法,其特征在于,所述基准目标为基准点,所述的方法还包括: 获取至少一个基准点的颜色并记录为开始颜色,其中,将测试界面状态变化前和界面状态变化后颜色不相同的点作为基准点。
4.根据权利要求3所述的方法,其特征在于,所述检测到测试界面中的基准目标发生预置变化,将所述检测时刻记录为结束时间包括: 在检测到基准点的当前颜色与开始颜色不同时,将所述检测的时刻记录为结束时间。
5.根据权利要求4所述的方法,其特征在于,所述在检测到基准点的当前颜色与开始颜色不同,设置所述检测的时刻为结束时间,包括: 获取所述基准点的颜色,并记录为当前颜色; 检测所述基准点的当前颜色是否等于开始颜色; 若不等于,则将所述检测时刻记录为结束时间; 若等于,则获取下一时刻所述基准点的颜色。
6.根据权利要求3所述的方法,其特征在于,进一步包括: 预先获取至少一个在状态变化前和状态变化后颜色不相同的点作为基准点。
7.根据权利要求1所述的方法,其特征在于,所述基准目标为基准图片,并且所述界面状态变化包括界面启动和界面切换,则所述检测到测试界面中的基准目标发生预置变化,将所述检测时刻记录为结束时间,包括: 分别获取基准图片中的颜色和/或形状并记录; 分别检测基准图片中的颜色和/或形状与对比图片中对应的颜色和/或形状是否相同; 若相同,则将所述检测时刻记录为结束时间; 若不相同,则获取下一时刻所述基准图片中的颜色和/或形状。
8.根据权利要求1所述的方法,其特征在于,所述基准目标为基准图片,并且所述界面状态变化为界面关闭,则所述检测到测试界面中的基准目标发生预置变化,将所述检测时刻记录为结束时间,包括: 分别获取基准图片中的颜色和/或形状并记录; 分别检测基准图片中的颜色和/或形状与对比图片中对应的颜色和/或形状是否相同; 若不相同,则记录检测时刻为结束时间; 若相同,则获取下一时刻所述基准图片中的颜色和/或形状。
9.根据权利要求1所述的方法,其特征在于,进一步包括: 依据所述界面状态变化时间,执行对界面所属程序的优化操作。
10.根据权利要求9所述的方法,其特征在于,所述执行对界面所属程序的优化操作,包括: 判断出所述界面状态变化时间超过预定阈值时,执行对界面所属程序的优化操作或提示操作。
11.根据权利要求9或10任一所述的方法,其特征在于,所述执行对界面所属程序的优化操作包括: 使用本地的程序优化工具进行界面所属程序的配置参数优化。
12.根据权利要求9或10任一所述的方法,其特征在于,所述执行对界面所属程序的优化操作包括: 向服务器发送界面的更新请求信息,以修复界面所属程序。
13.一种软件的界面状态变化时间的测试装置,其特征在于,包括: 触发及记录模块,用于触发改变测试界面状态的操作,同时将触发时刻记录设置为开始时间; 检测及记录模块,用于检测到测试界面中基准目标发生预置变化,将所述检测的时刻记录为结束时间; 变化时间记录模块,用于将所述结束时间和开始时间的时间间隔记录为界面状态变化时间; 输出模块,用于输出所述界面状态变化时间。
14.根据权利要求13所述的装置,其特征在于,若所述基准目标为基准点,所述的装置还包括: 颜色获取模块,用于获取至少一个基准点的颜色并记录为开始颜色,其中,将测试界面状态变化前和状态变化后颜色不相同的点作为基准点。
15.根据权利要求14所述的装置,其特征在于,所述检测及记录模块,用于在检测到基准点的当前颜色与开始颜色不同时,将所述检测的时刻记录为结束时间。
16.根据权利要求15所述的装置,其特征在于,所述检测及记录模块,包括: 获取子模块,用于获取所述基准点的颜色,并记录为当前颜色; 检测子模块,用于检测所述基准点的当前颜色是否等于开始颜色; 记录时间子模块,用于将所述检测时刻记录为结束时间。
17.根据权利要求14所述的装置,其特征在于,还包括: 获取基准点模块,用于预先获取至少一个在状态变化前和状态变化后颜色不相同的点作为基准点。
18.根据权利要求13所述的装置,其特征在于,若所述基准目标为基准图片,并且所述界面状态变化包括界面启动和界面切换,所述检测及记录模块包括: 获取子模块,用于分别获取基准图片的颜色和/或形状并记录; 检测子模块,用于分别检测基准图片的颜色和/或形状与对比图片中对应的颜色和/或形状是否相同; 记录时间子模块,用于记录检测时刻为结束时间。
19.根据权利要求18所述的装置,其特征在于,所述基准目标为基准图片,并且所述界面状态变化为界面关闭,所述检测及记录模块包括: 获取子模块,用于分别获取基准图片的颜色和/或形状并记录; 检测子模块,用于分别检测基准图片的颜色和/或形状与对比图片中对应点的颜色和/或形状是否相同; 记录时间子模块,用于记录检测时刻为结束时间。
20.根据权利要求13所述的装置,其特征在于,进一步包括: 优化模块,用于依据所述界面状态变化时间,执行对界面所属程序的优化操作。
21.根据权利要求20所述的装置,其特征在于,所述优化模块,包括: 阈值判断子模块,用于判断出所述界面状态变化时间超过预定阈值时,执行对界面所属程序的优化操作或提示操作。
22.根据权利要求20或21任一所述的装置,其特征在于,所述优化模块,包括: 参数优化子模块,用于使用本地的程序优化工具进行界面所属程序的配置参数优化。
23.根据权利要求20或21任一所述的装置,其特征在于,所述优化模块,包括: 更新子模块,用于向服务器发送界面的更新请求信息,以修复界面所属程序。
【文档编号】G06F11/36GK104516819SQ201510005114
【公开日】2015年4月15日 申请日期:2012年3月29日 优先权日:2012年3月29日
【发明者】赵鹏, 任寰 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司