测试系统、方法、存储介质和处理器与流程

文档序号:16627947发布日期:2019-01-16 06:17阅读:166来源:国知局
测试系统、方法、存储介质和处理器与流程

本发明涉及测试技术领域,具体而言,涉及测试系统、方法、存储介质和处理器。



背景技术:

目前,一些操作系统在进行软件安装测试时,需要通过该系统的接口来进行,兼容性差,比如,ios系统是苹果的操作系统,ios系统的移动终端在进行测试时存在多种不便之处,主要是因为ios为较为独立的操作系统,ios系统并不支持直接运行java应用程序,所以很多应用程序在ios系统中难以进行测试。现有技术无法随时便捷、高效的对ios系统的移动终端进行兼容性测试、appium+python框架测试、calabash框架测试、uiautomator框架测试、lettuce框架测试等,即使能够测试,测试过程也比较复杂,且测试方法种类经常受限制。除此之外,现有技术中进行测试时通常是直接在各个移动终端上分别进行测试,由于测试时需要在每个移动终端上逐步进行点击、滑动等操作,所以测试量大,给测试工作带来不便,导致测试成本高、效率低。现有技术中没有针对ios系统的移动终端进行高效测试的方法。

针对现有技术中移动终端进行测试时由于苹果系统的封闭性导致的测试效率低的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明提供了一种测试系统、方法、存储介质和处理器,以解决在对移动终端进行测试时由于苹果系统的封闭性导致的测试效率低的问题。

根据本发明实施例的一个方面,提供了一种测试系统,包括:服务器程序,保存在服务器的存储介质中,所述服务器程序用于接收测试者上传待测试的应用程序文件,以及用于接收对所述应用程序文件进行测试的指令;计算机程序,保存在计算设备的存储介质中,所述计算机程序用于获取所述待测试的应用程序文件,并将所述待测试的应用程序文件安装在移动终端中,以及,将所述指令发送给安装在所述移动终端上的应用程序文件;移动终端程序,保存在所述移动终端的存储介质中,所述移动终端程序用于获取所述待测试的应用程序文件并将所述待测试的应用程序文件在移动终端上进行安装测试,同时将安装测试时的屏幕变化发送给所述计算机;其中,所述计算设备与所述移动终端之间的交互通过所述计算设备上安装的与所述移动终端进行交互的交互程序进行,所述交互程序为所述移动终端上的操作系统的提供商提供的。

进一步地,测试系统还包括:所述移动终端程序,还用于检测安装测试时的屏幕变化并将所述屏幕变化发送给所述计算机;所述计算机程序,还用于接收所述移动终端程序发送的屏幕变化;并将所述屏幕变化同步发送给所述服务器程序;所述服务器程序,还用于在服务器上显示所述移动终端程序发送的屏幕变化,并根据所述屏幕变化发送所述指令给所述计算机程序。

进一步地,测试系统还包括:所述服务器程序用于提供网页服务,所述网页服务用于接收所述测试者上传所述待测试的应用程序文件,以及用于接收对所述待测试的应用程序文件进行测试的指令。

进一步地,测试系统还包括:所述服务器程序用于提供网页服务,所述网页服务用于接收所述移动终端上的屏幕变化并显示所述屏幕变化,以及发送根据所述屏幕变化对所述待测试的应用程序文件进行测试的指令。

进一步地,测试系统还包括:推送器,用于接收所述服务器程序发送的指令以及所述待测试的应用程序文件,并将所述指令以及所述待测试的应用程序文件推送给代理器,所述推送器位于所述计算设备上。

进一步地,测试系统还包括:代理器,用于将推送器提供的指令以及所述待测试的应用程序文件发送给所述移动终端,所述代理器位于所述计算设备上,所述代理器与所述推送器相连。

进一步地,测试系统还包括:数据处理器,用于获取所述待测试的应用程序文件和所述指令,所述数据处理器位于所述移动终端上。

根据本发明实施例的一个方面,提供了一种测试方法,包括:获取测试者上传待测试的应用程序文件,以及对所述应用程序文件进行测试的指令;将所述应用程序文件发送所述移动终端;将所述指令发送给安装在所述移动终端上的应用程序文件。

进一步地,将所述指令发送给安装在所述移动终端上的应用程序文件之后,还包括:接收所述的移动终端发送的屏幕变化。

进一步地,接收所述的移动终端发送的屏幕变化之后,还包括:根据所述屏幕变化,发送所述指令给移动终端。

进一步地,将所述应用程序文件发送所述移动终端,和将所述指令发送给安装在所述移动终端上的应用程序文件,还包括:发送所述应用程序文件和所述指令到推送服务器,其中,所述推送服务器是将数据发送给代理服务器;建立网络通讯连接;将所述应用程序文件和所述指令推送到所述移动终端。

进一步地,将所述应用程序文件和所述指令推送到所述移动终端,还包括:将所述应用程序文件和所述指令通过代理服务器推送到所述移动终端,其中,所述代理服务器是将所述推送服务器提供的数据发送给所述移动终端。

根据本发明实施例的一个方面,还提供了一种测试方法,包括:将所述待测试的应用程序文件安装在移动终端中,其中,所述移动终端为一个或多个;检测安装测试时的屏幕变化;将安装测试时的屏幕变化发送给计算机。

进一步地,将安装测试时的屏幕变化发送给计算机之后,还包括:移动终端上的应用程序文件接收所述指令;移动终端根据计算机所述指令对所述测试程序文件进行操作。

进一步地,将所述待测试的应用程序文件安装在移动终端中包括:建立网络通讯连接;通过数据处理器获取所述应用程序文件和所述指令。

根据本发明实施例的另一个方面,还提供给了一种存储介质,所述存储介质上保存有程序,所述程序被运行时执行上所述的方法。

根据本发明实施例中,采用服务器程序,保存在服务器的存储介质中,所述服务器程序用于接收测试者上传待测试的应用程序文件,以及用于接收对所述应用程序文件进行测试的指令;计算机程序,保存在计算设备的存储介质中,所述计算机程序用于获取所述待测试的应用程序文件,并将所述待测试的应用程序文件安装在移动终端中,以及,将所述指令发送给安装在所述移动终端上的应用程序文件;移动终端程序,保存在所述移动终端的存储介质中,所述移动终端程序用于获取所述待测试的应用程序文件并将所述待测试的应用程序文件在移动终端上进行安装测试,同时将安装测试时的屏幕变化发送给所述计算机;其中,所述计算设备与所述移动终端之间的交互通过所述计算设备上安装的与所述移动终端进行交互的交互程序进行,所述交互程序为所述移动终端上的操作系统的提供商提供的。通过本发明解决了在对移动终端进行测试时由于苹果系统的封闭性导致的测试效率低的问题,从而提高了测试的效率。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种测试系统的结构图;

图2是根据本发明实施例的一种测试系统的ios设备远程实时控制架构图;

图3是根据本发明实施例的一种测试系统的用户操作流程图;

图4是根据本发明实施例的一种测试方法的流程图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明实施例提供了一种测试系统。图1是根据本发明实施例的一种测试系统的结构图。如图1所示,该系统包括程序如下:

服务器程序12,保存在服务器的存储介质中,服务器程序用于接收测试者上传待测试的应用程序文件,以及用于接收对应用程序文件进行测试的指令;

计算机程序14,保存在计算设备的存储介质中,计算机程序用于获取待测试的应用程序文件,并将待测试的应用程序文件安装在移动终端中,以及,将指令发送给安装在移动终端上的应用程序文件;

移动终端程序16,保存在移动终端的存储介质中,移动终端程序用于获取待测试的应用程序文件并将待测试的应用程序文件在移动终端上进行安装测试,同时将安装测试时的屏幕变化发送给计算机;

其中,计算设备与移动终端之间的交互通过计算设备上安装的与移动终端进行交互的交互程序进行,交互程序为移动终端上的操作系统的提供商提供的。

在上述系统中,通过服务器程序预先存入待测试的应用程序,然后在每一个移动终端进行安装测试时,均通过计算机程序获取该待测试的应用程序文件,再通过移动终端程序使得计算设备与移动终端之间进行交互和反馈,这不同于现有技术中分别直接在每个测试设备上进行安装测试,现有技术中每测试一次就需要做一系列跟待安装设备的系统相适应的操作,如果遇到待安装应用的设备由于苹果系统的封闭性导致无法自动处理的情况,就需要处理每一个安装设备的安装程序,测试人员的工作量十分庞大,而本实施例解决了在对移动终端进行测试时由于苹果系统的封闭性导致的测试效率低的问题,从而提高了测试的效率。

下面以ios设备进行举例说明,首先,通过服务器程序上传专门用于ios设备运行的应用程序文件(ipa格式),实施的测试平台(服务器)上存有服务器程序,将协助用户,对该应用程序在测试平台的测试设备(手机或者ipad)中全自动进行应用程序的安装、启动、运行、操作、卸载等一系列测试过程,而在ios设备上安装应用程序,由于苹果ios操作系统的封闭性,所以对每一个测试程序都需要更多的步骤才能够进行测试,本实施的方法仅仅需要将待测试的应用程序文件上传到服务器的平台中,该上传的应用程序就可以被多个测试设备所下载,并且该测试设备可以是测试任意的应用程序的,不会受到系统的限制。上述方法可以使得多台测试设备同时进行测试,并且可以通过实时观察安装测试时的屏幕变化,远程控制ios设备进行测试,从而使得替代了手动测试ios应用程序的繁重工作,为测试人员节省大量时间精力和成本。

在上述服务器程序中,还包括可以自动识别用户名和密码的模块,得以在登录服务器时保证测试的安全性。

上述系统是详细描述服务器程序、计算机程序和移动终端程序在进行安装测试时的作用,顺序是应用程序文件先经过服务器程序再经过计算机程序最后经过移动终端程序最终完成在测试设备上的软件安装过程以及安装命令的传递工作,下面为了便于更清楚的描述上述系统中各个程序的反馈过程,对上述系统中的程序运行过程反向进行描述,在一个可选的实施方式中,移动终端程序106,还用于检测安装测试时的屏幕变化并将屏幕变化发送给计算机;计算机程序104,还用于接收移动终端程序发送的屏幕变化;并将屏幕变化同步发送给服务器程序;服务器程序102,还用于在服务器上显示移动终端程序发送的屏幕变化,并根据屏幕变化发送指令给计算机程序。

当应用程序文件已经发送给移动终端时,上述系统通过移动终端程序和计算机程序使计算机与移动终端屏幕上的变化相同步,通过上述系统使得测试过程完全透明、可视化,测试结果清晰明了,上述系统在测试结束后还可以实时的输出测试报告。

上述服务器程序中还有其他功能,便于测试者进行使用和上传测试程序,在一个可选的实施方式中,服务器程序102用于提供网页服务,网页服务用于接收测试者上传待测试的应用程序文件,以及用于接收对待测试的应用程序文件进行测试的指令。

当上述服务器提供网页服务时,屏幕同步就在网页与待测试设备的屏幕显示之间进行,在一个可选的实施方式中,服务器程序102用于提供网页服务,网页服务用于接收移动终端上的屏幕变化并显示屏幕变化,以及发送根据屏幕变化对待测试的应用程序文件进行测试的指令。通过上述服务器程序,使得测试更加方便快捷和直观。

上述系统中还可以包括推送器,在一个可选的实施方式中,推送器,用于接收服务器程序发送的指令以及待测试的应用程序文件,并将指令以及待测试的应用程序文件推送给代理器,推送器位于计算设备上。

上述系统中还可以包括代理器,在一个可选的实施方式中,代理器,用于将推送器提供的指令以及待测试的应用程序文件发送给移动终端,代理器位于计算设备上,代理器与推送器相连。

上述系统中还可以包括数据处理器,在一个可选的实施方式中,数据处理器,用于获取待测试的应用程序文件和指令,数据处理器位于移动终端上。

上述系统中数据处理器的一种可选的实施方式,可以采用自动化代理程序,在后文中,以自动化代理程序为例进行说明。

结合图2对上述推送器、代理器和自动化代理程序的用途进行说明,图2是根据本发明实施例的ios设备远程实时控制图。图中,iosprovider代表推送器,iosprovider是ios设备和设备控制平台之间的桥梁,用于联系ios设备和设备控制平台;设备agent代表代理器,用于联系自动化代理程序和iosprovider;自动化代理程序是运行在ios设备上的一种代理工具,avrserver是代表投屏服务器,用于获取ios设备的屏幕变化并发送给iosprovider.其中avr是audio,video,recorder的缩写,即声音视频录制。上述可以在一台或多台服务器上,浏览器指用户的客户端,可在任何一款浏览器上使用;iosprovider、agent和avrserver设置在macmini或macpro上(或其他mac设备上),而自动化代理程序和xcuitest则设置在ios移动设备上(包括iphone,ipad等)。

下面再结合图3对上述图2设备中的各个硬件的使用进行说明,图3是根据本发明实施例的用户点击或滑动操作的流程图,如图2和3所示,开始时,用户在浏览器上发送指令,比如,点击或浏览滚动等,设备控制平台接收到指令,并分发到相应的iosprovider上,iosprovider再把指令发送到agent,agent再调用自动化代理程序,最后是自动化代理程序驱动xcuitest来进行相应操作,比如,滑动、点击等操作,然后将这些操作后引起的屏幕变化通过avrserver发送给provider,provider发送指令,再通过设备控制平台接收指令,最后将上述屏幕的变化反映到用户的浏览器上。

图4是根据本发明实施例的一种测试方法的流程图,如图4所示,根据本发明实施例的一种测试方法的流程图,该方法包括如下步骤:

步骤s402,获取测试者上传待测试的应用程序文件,以及对应用程序文件进行测试的指令;

步骤s404,将应用程序文件发送移动终端;

步骤s406,将指令发送给安装在移动终端上的应用程序文件。

上述步骤,通过控制计算机程序从服务器程序中获取测试者上传的待测试的应用程序文件程序,以及对应用程序文件进行测试的指令,并将待测试的应用程序文件程序发送给移动终端,以及将指令发送给移动终端上的应用程序文件,达到了通过远程程序将待测试的应用程序文件安装在移动终端上并进行测试的效果,使得测试可以更加便捷。这不同于现有技术中直接在每个移动终端上进行测试,从而解决了现有技术中不方便控制移动终端进行测试的问题。

将上述指令发送给安装在移动终端上的应用程序文件之后,在移动终端上进行应用程序文件的安装,将安装时的屏幕变化发送给计算机,通过将移动终端与计算机的屏幕变化相同步来实现透明可视化的安装过程,在一种可选实施方式中,接收的移动终端发送的屏幕变化,从而使得计算机可以根据发送过来的屏幕变化将计算机与移动终端上的安装测试的状况相一致,进而更加方便快捷的测试安装。在上述步骤中,计算机程序获取移动终端发送的屏幕变化之后,应当考虑根据屏幕变化,移动终端的安装测试的过程可能存在的不同步的问题,为了避免在应用程序文件的安装测试时,无法进行相应操作而导致应用程序文件的安装测试不能正常进行的情况,需要根据计算机的屏幕变化对移动终端发送操作指令,从而达到实时控制的目的,在一种可选实施方式中,根据屏幕变化,发送指令给移动终端。

通过上述步骤,使得计算机程序可以根据移动终端发送的屏幕变化发送操作指令给移动终端,使移动终端中的待测试的应用程序文件执行此指令,以控制计算机对移动终端的待测试程序进行测试,用户还可以通过该屏幕变化实时控制其移动终端进行安装测试,从而使得整个测试过程更加地方便、快捷和直观。

上述步骤中,计算机程序将应用程序文件以及指令发送给移动终端,其发送方式有多种,在一个可选实施方式中,发送应用程序文件和指令到推送服务器,其中,推送服务器是将数据发送给代理服务器;建立网络通讯连接;将应用程序文件和指令推送到移动终端。

上述步骤中,代理服务器将应用程序文件以及指令发送给移动终端,其发送方式有多种,在一个可选实施方式中,将应用程序文件和指令通过代理服务器推送到移动终端,其中,代理服务器是将推送服务器提供的数据发送给移动终端。

上述步骤s402-s406在执行时还需要待测试设备与计算机相互反馈,才能够使控制计算机与待测试手机的屏幕变化相同步,在一个可选的实施方式中,首先,将待测试的应用程序文件安装在移动终端中,其中,移动终端为一个或多个;其次,检测安装测试时的屏幕变化;最后,将安装测试时的屏幕变化发送给计算机。

上述步骤,通过一个或多个移动终端共同安装检查待测试的应用程序文件,并将该安装测试时的屏幕变化发送给计算机,达到了计算机可以实时监控一个或多个移动终端安装测试的具体状况,使得测试过程完全透明、可视化,测试效率也更高,所以本实施例的方法不同于现有技术中直接在每个移动终端上进行测试,解决了现有技术中无法同时安装测试一个或多个移动终端,以及无法统一监控多个移动终端的安装测试状况的问题。

上述步骤中,移动终端上的应用程序文件接收指令,其接收方式有多种,在一个可选实施方式中,将待测试的应用程序文件安装在移动终端中包括:建立网络通讯连接;通过数据处理器获取应用程序文件和指令。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、移动终端、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1