基于虚拟化装置的测试系统及其方法与流程

文档序号:24177575发布日期:2021-03-09 10:42阅读:78来源:国知局
基于虚拟化装置的测试系统及其方法与流程

1.本发明涉及一种测试系统及其方法,特别是基于虚拟化装置的测试系统及其方法。


背景技术:

2.近年来,随着软件产业的普及与蓬勃发展,各种软件系统的便如雨后春笋般地涌现,其中又以具有网络功能的软件系统最为常见。
3.一般而言,传统在软件系统完成后,需要进行多项测试以确认功能符合预期,其测试方式通常以人力进行各项操作,并且提供回报机制,以便在出现问题时,即时回报给程序设计师进行修正及调整。然而,此方式需要耗费大量的人力、物力,如:需要配置相应的软硬件装置,故具有系统测试的便利性不佳的问题。另外,软件系统的测试过程也容易因为枯燥乏味而导致出错率上升。
4.有鉴于此,便有厂商提出自动化测试的技术手段,其预先在软件系统上设置相应的程序指令,例如:自检指令,并且通过执行程序指令来取代人工测试。然而,此方式难以应用在复杂的测试环境中,例如:在同时需要搭配行动装置共同进行测试的流程中,软件系统上用于测试的程序指令,无法真实的反应行动装置上所进行的各种操作,以及对软件系统所造成的影响,故仍然存在系统测试的便利性不佳的问题。
5.综上所述,可知现有技术中长期以来一直存在系统测试的便利性不佳的问题,因此实有必要提出改进的技术手段,来解决此问题。


技术实现要素:

6.本发明说明一种基于虚拟化装置的测试系统及其方法。
7.首先,本发明说明一种基于虚拟化装置的测试系统,此系统包含:待测端主机及测试端主机。其中,待测端主机用以执行基于网页的待测系统,并且允许通过网页进行登录;测试端主机用以通过网络与待测端主机连线,所述测试端主机包含:模拟模块、设定模块、测试模块及生成模块。所述模拟模块用以执行行动装置模拟程序以生成虚拟行动装置,并且在此行动装置模拟程序中预先设置多个基础函数,所述基础函数包含模拟使用者在虚拟行动装置的触控操作、检测虚拟行动装置的显示状态及识别虚拟行动装置显示的文字信息;设定模块连接模拟模块,用以预先在测试端主机建立待测项目及其对应的脚本文件,此脚本文件包含用于测试待测项目的基础函数;测试模块连接设定模块,用以在进行测试时,执行脚本文件以测试待测项目,以及通过应用程序界面(application programming interface,api)控制虚拟行动装置的浏览器登录至待测端主机,并且执行多个控制函数,所述控制函数包含持续定位浏览器中的网页元素,以及驱动浏览器根据已定位的网页元素执行网页操作;生成模块连接测试模块,用以持续记录脚本文件及网页操作的执行结果以生成日志文件,并且根据日志文件、触控操作、显示状态及文字信息产生测试报告以进行传送或显示。
8.另外,本发明说明一种基于虚拟化装置的测试方法,应用在具有待测端主机及测试端主机的网络环境,其步骤包括:待测端主机执行基于网页的待测系统,并且允许测试端主机通过网页进行登录;于测试端主机执行行动装置模拟程序以生成虚拟行动装置,并且在行动装置模拟程序中预先设置多个基础函数,所述基础函数包含模拟使用者在虚拟行动装置的触控操作、检测虚拟行动装置的显示状态及识别虚拟行动装置显示的文字信息;预先在测试端主机建立待测项目及其对应的脚本文件,此脚本文件包含用于测试待测项目的基础函数;当进行测试时,测试端主机执行脚本文件以测试待测项目,以及通过应用程序界面控制虚拟行动装置的浏览器登录至待测端主机,并且执行多个控制函数,所述控制函数包含持续定位浏览器中的网页元素,以及驱动浏览器根据已定位的网页元素执行网页操作;以及测试端主机持续记录脚本文件及网页操作的执行结果以生成日志文件,并且根据日志文件、触控操作、显示状态及文字信息产生测试报告以进行传送或显示。
9.本发明所说明的系统与方法如上,与现有技术的差异在于本发明是通过在测试端主机产生虚拟行动装置,并且允许建立与待测项目相应的脚本文件,当进行测试时,执行脚本文件以通过其中的基础函数模拟触控操作、检测显示状态及识别文字信息,以及通过应用程序界面及控制函数驱动虚拟行动装置的浏览器执行网页操作,接着再根据脚本文件及网页操作的执行结果生成日志文件,以及根据日志文件、触控操作、显示状态及文字信息产生测试报告以进行传送或显示。
10.通过上述的技术手段,本发明可以达成提高系统测试的便利性的技术功效。
附图说明
11.图1为本发明基于虚拟化装置的测试系统的系统方框图。
12.图2为本发明基于虚拟化装置的测试方法的方法流程图。
13.图3a及图3b为应用本发明进行系统测试的示意图。
14.图4为应用本发明模拟扫描二维条码的示意图。
15.【附图标记列表】
16.110
ꢀꢀꢀꢀꢀ
待测端主机
17.120
ꢀꢀꢀꢀꢀ
测试端主机
18.121
ꢀꢀꢀꢀꢀ
模拟模块
19.122
ꢀꢀꢀꢀꢀ
设定模块
20.123
ꢀꢀꢀꢀꢀ
测试模块
21.124
ꢀꢀꢀꢀꢀ
生成模块
22.300
ꢀꢀꢀꢀꢀ
虚拟行动装置
23.311
ꢀꢀꢀꢀꢀ
返回按键
24.312
ꢀꢀꢀꢀꢀ
筛选工单按键
25.313
ꢀꢀꢀꢀꢀ
扫描条码按键
26.321
ꢀꢀꢀꢀꢀ
输入块
27.322
ꢀꢀꢀꢀꢀ
确定按键
28.410
ꢀꢀꢀꢀꢀ
分析按键
29.420
ꢀꢀꢀꢀꢀ
虚拟摄像元件
30.421
ꢀꢀꢀꢀꢀ
二维条码
具体实施方式
31.以下将配合图式及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
32.在说明本发明所说明的基于虚拟化装置的测试系统及其方法之前,先对本发明所应用的网络环境作说明,所述网络环境包含有线网络或无线网络或两者组合,以便待测端主机与测试端主机之间相互通信。其中,有线网络可使用电话线、双绞线、电缆线、光纤等方式连接;无线网络可通过蓝牙(bluetooth)、wi-fi、lora、zigbee、coap(constrained application protocol)或mqtt(message queuing telemetry transport)等无线通信技术来实现。在实际实施上,待测端主机及测试端主机皆可使用计算机装置来实现,如:个人电脑、笔记本电脑、平板电脑、智能行动装置及服务器等等。
33.以下配合图式对本发明基于虚拟化装置的测试系统及其方法做进一步说明,请参阅图1,图1为本发明基于虚拟化装置的测试系统的系统方框图,此系统包含:待测端主机110及测试端主机120。其中,所述待测端主机110用以执行基于网页的待测系统,例如:备品管理系统,并且允许通过网页进行登录。
34.在测试端主机120的部分,其通过网络与待测端主机110连接,所述测试端主机120包含:模拟模块121、设定模块122、测试模块123及生成模块124。其中,模拟模块121用以执行行动装置模拟程序以生成虚拟行动装置,并且在此行动装置模拟程序中预先设置多个基础函数,所述基础函数包含模拟使用者在虚拟行动装置的触控操作、检测虚拟行动装置的显示状态及识别虚拟行动装置显示的文字信息。在实际实施上,行动装置模拟程序可使用如:mumu模拟器、安卓(android)模拟器或其它相似模拟器来实现,用以产生模拟手机或个人数位助理(personal digital assistant,pda)的虚拟行动装置,此虚拟行动装置可通过执行基础函数来进行自动控制。举例来说,可通过基础函数mouseclick(x,y)模拟在虚拟行动装置上进行触控操作(也可称为游标点选),其中,x代表点选位置的x座标值、y代表点选位置的y座标值;可通过基础函数scandisplay()来检测虚拟行动装置的显示状态;可通过基础函数ocrtext()来识别虚拟行动装置显示的文字信息等等。另外,所述基础函数还可包含模拟网络攻击以进行安全性测试、模拟负载以进行效能测试,以及模拟大量网络流量及使用者操作以进行压力测试等等。特别要说明的是,所述行动装置模拟程序还可在生成的虚拟行动装置中建立一个虚拟摄像元件,此虚拟摄像元件可对显示在虚拟行动装置中的二维条码进行图像分析,用以获得嵌入在二维条码中的信息,换句话说,此方式能够模拟扫描二维条码,获得与使用实体摄像元件扫描二维条码相同的结果。除此之外,虚拟摄像元件允许在测试模块123的控制下,可以按需要产生所需的二维条码,并且以此来控制测试流程按照预期进行下去,例如:当自动测试流程执行到某一步,需要扫入一个序号(如:smtline01-ao1-001)时,测试模块123就会控制此虚拟摄像元件产生一个嵌入有序号smtline01-ao1-001的二维条码,以便提供给测试流程模拟扫描二维条码并获得其中的序号,让测试流程能够按照预期执行下去。
35.设定模块122连接模拟模块121,用以预先在测试端主机120建立待测项目及其对应的脚本文件,此脚本文件包含用于测试待测项目的基础函数。在实际实施上,脚本文件是
通过脚本语言(script languages)撰写而成,所述脚本语言是一种用来控制程序的编程语言,通常以ascii的字符进行储存。以上述基础函数为例,脚本文件中可包含一连串的基础函数,用以在虚拟行动装置上实现相应的一连串操作,以便对待测项目进行测试。举例来说,假设待测项目是要测试某座标位置被点选后,是否会出现预设的文字。此时,待测项目对应的脚本文件将包含基础函数mouseclick(x,y)及ocrtext(),用以依序模拟在虚拟行动装置进行点选及识别出现的文字等操作。
36.测试模块123连接设定模块122,用以在进行测试时,执行脚本文件以测试待测项目,以及通过应用程序界面控制虚拟行动装置的浏览器登录至待测端主机110,并且执行多个控制函数,所述控制函数包含持续定位浏览器中的网页元素,以及驱动浏览器根据已定位的网页元素执行网页操作。在实际实施上,所述控制函数是用以控制浏览器进行相应动作的程序指令集合,例如:控制浏览器登录网页、在网页上进行各种操作等等,其与基础函数的差异在于,基础函数是控制虚拟行动装置,而此处的控制函数是控制虚拟行动装置的浏览器。另外,所述测试端主机120在测试待测项目之前,会将测试端主机120中的数据库数据、配置文件、环境参数、基础函数及控制函数的所有参数进行初始化,以确保每次的测试结果不受其它因素影响。
37.生成模块124连接测试模块123,用以持续记录脚本文件及网页操作的执行结果以生成日志文件,并且根据日志文件、触控操作、显示状态及文字信息产生测试报告以进行传送或显示。在实际实施上,日志文件会记录执行脚本文件及网页操作的过程中所产生的信息或事件,例如:反馈一个成功或错误的信息。除此之外,生成模块124会在产生信息或事件的同时,记录相同时间点的触控操作、显示状态及文字信息,以便将这些记录的数据一并作为测试报告。另外,在实际实施上,还可将测试报告嵌入电子邮件、即时通信信息及网页文件至少其中之一,并且通过网络传送至行动装置以进行显示。
38.特别要说明的是,在实际实施上,本发明所述的各模块皆可利用各种方式来实现,包含软件、硬件或其任意组合,例如,在某些实施方式中,模块可利用软件及硬件或其中之一来实现,除此之外,本发明亦可部分地或完全地基于硬件来实现,例如,系统中的一个或多个模块可以通过集成电路芯片、片上系统(system on chip,soc)、复杂可编程逻辑装置(complex programmable logic device,cpld)、现场可编程逻辑门阵列(field programmable gate array,fpga)等等来实现。本发明可以是系统、方法及/或电脑程序。电脑程序可以包括电脑可读储存介质,其上载有用于使处理器实现本发明的各个方面的电脑可读程序指令,电脑可读储存介质可以是可以保持和储存由指令执行设备使用的指令的有形设备。电脑可读储存介质可以是但不限于电储存设备、磁储存设备、光储存设备、电磁储存设备、半导体储存设备或上述的任意合适的组合。电脑可读储存介质的更具体的例子(非穷举的列表)包括:硬盘、随机存取存储器、只读存储器、快闪存储器、光盘、软盘以及上述的任意合适的组合。此处所使用的电脑可读储存介质不被解释为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、通过波导或其它传输媒介传播的电磁波(例如,通过光纤电缆的光信号)、或者通过电线传输的电信号。另外,此处所描述的电脑可读程序指令可以从电脑可读储存介质下载到各个计算/处理设备,或者通过网络,例如:网际网络、区域网络、广域网络及/或无线网络下载到外部电脑设备或外部储存设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换器、集线器及/或网关。每一个计算/处理设备中
的网卡或者网络界面从网络接收电脑可读程序指令,并转发此电脑可读程序指令,以供储存在各个计算/处理设备中的电脑可读储存介质中。执行本发明操作的电脑程序指令可以是组合语言指令、指令集架构指令、机器指令、机器相关指令、微指令、固件指令、或者以一种或多种程序语言的任意组合编写的原始码或目的码(object code),所述程序语言包括物件导向的程序语言,如:common lisp、python、c++、objective-c、smalltalk、delphi、java、swift、c#、perl、ruby与php等等,以及常规的程序式(procedural)程序语言,如:c语言或类似的程序语言。计算机可读程序指令可以完全地在电脑上执行、部分地在电脑上执行、作为一个独立的软件执行、部分在客户端电脑上部分在远端电脑上执行、或者完全在远端电脑或服务器上执行。
39.接着,请参阅图2,图2为本发明基于虚拟化装置的测试方法的方法流程图,应用在具有待测端主机110及测试端主机120的网络环境,其步骤包括:待测端主机110执行基于网页的待测系统,并且允许测试端主机120通过网页进行登录(步骤210);于测试端主机120执行行动装置模拟程序以生成虚拟行动装置,并且在行动装置模拟程序中预先设置多个基础函数,所述基础函数包含模拟使用者在虚拟行动装置的触控操作、检测虚拟行动装置的显示状态及识别虚拟行动装置显示的文字信息(步骤220);预先在测试端主机120建立待测项目及其对应的脚本文件,此脚本文件包含用于测试待测项目的基础函数(步骤230);当进行测试时,测试端主机120执行脚本文件以测试待测项目,以及通过应用程序界面控制虚拟行动装置的浏览器登录至待测端主机110,并且执行多个控制函数,所述控制函数包含持续定位浏览器中的网页元素,以及驱动浏览器根据已定位的网页元素执行网页操作(步骤240);以及测试端主机120持续记录脚本文件及网页操作的执行结果以生成日志文件,并且根据日志文件、触控操作、显示状态及文字信息产生测试报告以进行传送或显示(步骤250)。通过上述步骤,即可通过在测试端主机120产生虚拟行动装置,并且允许建立与待测项目相应的脚本文件,当进行测试时,执行脚本文件以通过其中的基础函数模拟触控操作、检测显示状态及识别文字信息,以及通过应用程序界面及控制函数驱动虚拟行动装置的浏览器执行网页操作,接着再根据脚本文件及网页操作的执行结果生成日志文件,以及根据日志文件、触控操作、显示状态及文字信息产生测试报告以进行传送或显示。
40.以下配合图3a至图4以实施例的方式进行如下说明,请先参阅图3a及图3b,图3a及图3b为应用本发明进行系统测试的示意图。假设欲测试待测端主机110提供给行动装置使用的报修系统(即:待测系统),应用本发明的测试端主机120会执行一个行动装置模拟程序来生成一个如图3a所示意的虚拟行动装置300,而且所述行动装置模拟程序中预先设置有多个用来模拟使用者操作行为的基础函数。接着,测试端主机120将提供使用者建立待测项目及其对应的脚本文件,使用者可根据不同的待测项目建立相应的脚本文件。以测试如图3a所示意的报修系统为例,假设待测项目是要测试各按键,如:返回按键311、筛选工单按键312及扫描条码按键313等等,是否能够正常被触控,或者报修流程是否正确无误。那么,使用者可通过测试端主机120预先建立此待测项目所对应的脚本文件,例如,借由所述基础函数撰写脚本文件,以便自动根据预先设置好的座标位置进行触控点选,以测试各按键为例,若返回按键311的座标位置为(10,15),可通过基础函数mouseclick(10,15)来模拟使用者触控点选返回按键311的操作;以确认文字信息为例,可通过执行控制函数ocrtext(已维修结束)来模拟使用者确认图形使用者界面中是否出现文字已维修结束,若是,可返回数值1
来代表已出现,若否,则返回数值0来代表未出现,其中,识别文字是通过光学字元辨识(optical character recognition,ocr)的技术来实现。至此,即可借由在脚本文件中使用不同基础函数进行程序设计,用以自动模拟使用者操作此报修系统的一连串操作行为,例如:点选按键、确认文字及输入文字等等。
41.接下来,如图3b所示意,当测试端主机120在测试过程中需连线至网站时,例如:连线至网站申领维修的备品,将通过api(如:webdriver api、selenium api)控制虚拟行动装置300的浏览器来完成,并且持续定位浏览器中的网页元素(element),例如:网页中的输入块321及确定按键322,以及驱动浏览器根据已定位的网页元素执行网页操作。举例来说,可以先通过控制函数webdriver.getelementbyxpath()来定位网页元素(例如:输入块321及确定按键322),再通过控制函数webdriver.sendkeysbyxpath()尝试对定位到的网页元素(即:输入块321)进行设置文字的操作,例如:设置拣选人编号tpmuser3,以及通过控制函数webdriver.tryclickelement()来尝试点选定位到的网页元素(即:确定按键322),如此一来,便能够自动在网页元素的位置完成设置文字及点选等网页操作。最后,测试端主机120持续记录脚本文件及网页操作的执行结果以生成日志文件,并且根据此日志文件、模拟的触控操作、检测到的显示状态及识别出的文字信息来产生测试报告以进行传送或显示。
42.如图4所示意,图4为应用本发明模拟扫描二维条码的示意图。在实际实施上,行动装置模拟程序除了生成虚拟行动装置300之外,还可建立虚拟摄像元件420,当使用者点选分析按键410后,虚拟摄像元件420会对显示在虚拟行动装置300中的二维条码421进行图像分析,并且获得嵌入在二维条码421中的信息,例如:维修备品的网址、详细信息等等。换句话说,在虚拟摄像元件420的区域中即代表实体摄像元件(图中未示)的拍摄内容。在实际实施上,二维条码421是被测试模块123控制下载入的图像,用以模拟通过实体摄像元件扫描到的条码。测试模块123可以根据实际的测试需要来调整产生所需的二维条码。当图像分析完成后,可清空显示的二维条码421,用以防止后续仍然以同一个二维条码进行图像分析。借由上述建立的虚拟摄像元件420,即使在待测项目中存在需要扫描二维条码的流程,也能够顺利进行模拟并完成测试。
43.综上所述,可知本发明与现有技术之间的差异在于通过在测试端主机产生虚拟行动装置,并且允许建立与待测项目相应的脚本文件,当进行测试时,执行脚本文件以通过其中的基础函数模拟触控操作、检测显示状态及识别文字信息,以及通过应用程序界面及控制函数驱动虚拟行动装置的浏览器执行网页操作,接着再根据脚本文件及网页操作的执行结果生成日志文件,以及根据日志文件、触控操作、显示状态及文字信息产生测试报告以进行传送或显示,借由此技术手段可以解决现有技术所存在的问题,进而达成提高系统测试的便利性的技术功效。
44.虽然本发明所说明的实施方式如上,但所述的内容并非用以直接限定本发明的专利保护范围。任何本发明所属技术领域中的技术人员,在不脱离本发明所说明的精神和范围的前提下,可以在实施的形式上及细节上作些许的更动。本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1