CN104346276A - 软件测试的方法及装置 - Google Patents

软件测试的方法及装置 Download PDF

Info

Publication number
CN104346276A
CN104346276A CN201310343793.2A CN201310343793A CN104346276A CN 104346276 A CN104346276 A CN 104346276A CN 201310343793 A CN201310343793 A CN 201310343793A CN 104346276 A CN104346276 A CN 104346276A
Authority
CN
China
Prior art keywords
action events
audiomonitor
tested
created
program
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.)
Granted
Application number
CN201310343793.2A
Other languages
English (en)
Other versions
CN104346276B (zh
Inventor
邓曦
万宇
谢少佳
蒋志毅
沈杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201310343793.2A priority Critical patent/CN104346276B/zh
Publication of CN104346276A publication Critical patent/CN104346276A/zh
Application granted granted Critical
Publication of CN104346276B publication Critical patent/CN104346276B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Telephone Function (AREA)

Abstract

本发明适用于软件测试技术领域,提供了一种软件测试的方法及装置,该方法包括:接收启动待测试程序的信息;获取所述待测试程序相关的控件;通过预先创建的监听器监听用户对所述控件的操作事件,并记录监听到的所述操作事件;根据所述操作事件生成对应的测试脚本。本发明本发明实施例在进行软件测试时,不需要第三方设备的协助。而且在测试的过程中,不需要用户输入shell命令,降低了测试的专业度及复杂度,提高了测试的效率。

Description

软件测试的方法及装置
技术领域
本发明属于软件测试技术领域,尤其涉及软件测试的方法及装置。
背景技术
现有基于安卓(Android)操作系统的移动终端在进行软件测试时,需要将所述移动终端与计算机连接,通过在计算机上安装Android自带的驱动工具或是通过通用串行总线实现与外围设备连接并配置好套接字通讯参数,在计算机上通过标准小窗口工具箱(如SWT)展示出来,并在底层通过shell命令来获取所述移动终端被测软件的信息进而生成相应的测试脚本,操作较复杂,测试效率较低。而且还需要计算机的协助,易用性较差。
发明内容
本发明实施例提供一种软件测试的方法,以解决现有基于Android操作系统的移动终端在进行软件测试时,存在的操作复杂、测试效率低以及易用性较差的问题。
本发明实施例的第一方面,提供一种软件测试的方法,所述方法包括:
接收启动待测试程序的信息;
获取所述待测试程序相关的控件;
通过预先创建的监听器监听用户对所述控件的操作事件,并记录监听到的所述操作事件;
根据所述操作事件生成对应的测试脚本。
本发明实施例的第二方面,提供一种软件测试的装置,所述装置包括:
信息接收单元,用于接收启动待测试程序的信息;
控件获取单元,用于在所述信息接收单元接收到启动待测试程序的信息之后,获取所述待测试程序相关的控件;
事件记录单元,用于通过预先创建的监听器监听用户对所述控件的操作事件,并记录监听到的所述操作事件;
脚本生成单元,用于根据所述事件记录单元记录的操作事件生成对应的测试脚本。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例的测试脚本直接在待测试程序所在终端生成,不需要其他终端设备的协助,易用性强。另外,本发明实施例不需要用户输入shell命令来获取待测试程序的测试信息,而直接通过监听和记录待测试程序相关控件的操作事件,根据所述操作事件生成对应的测试脚本,降低了测试的专业度及复杂度,提高了测试的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的软件测试方法的实现流程图;
图2是本发明实施例二提供的软件测试装置的结构框图;
图3是本发明实施例三提供的终端设备的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明第一实施例提供的软件测试方法的实现流程,其过程详述如下:
在步骤S101中,接收启动待测试程序的信息。
在实际应用中,可以在待测试程序终端预先设置一启动测试程序的按钮或者直接设置一启动测试程序的指令(例如在触摸屏上顺时针或者逆时针滑动指令,或者键盘上数字和/或字母的组合等),在接收到用户点击所述按钮或者发出的所述启动指令,或者接收到待测试程序所在终端根据预设的时间间隔产生的启动某个测试程序的触发信息后,开始对所述测试程序进行测试。其中,所述按钮点击指令或者所述启动指令可以是用户通过待测试程序终端屏幕或待测试程序终端键盘发出的。
其中,所述待测试程序可以是终端设备上运行的任一应用程序,例如QQ、浏览器等。
在步骤S102中,获取所述待测试程序相关的控件。
在本实施例中,所述控件是指用户与所述待测试程序进行交互以输入或操作数据的对象。控件通常出现在对话框中或工具栏上,例如QQ的信息输入对话框以及QQ界面上的好友搜索框等。
当所述待测试程序相关的控件较多时,优选获取当前所显示的与所述待测试程序相关的控件。
在步骤S103中,通过预先创建的监听器监听用户对所述控件的操作事件,并记录监听到的所述操作事件。
具体的可以是,通过预先创建的监听器监听用户对所述控件的操作事件,当创建的所述监听器监听到用户对所述控件的操作事件时,记录所述操作事件起始操作的位置坐标、结束操作的位置坐标、起始操作的触发时间以及结束操作的触发时间。
进一步的,本实施例还包括:
根据所述操作事件起始操作的位置坐标、结束操作的位置坐标、起始操作的触发时间以及结束操作的触发时间,确定所述操作事件的操作类型,所述操作类型包括但不限于点击操作、长按操作以及拖动操作。
举例说明上述过程,当创建的监听器监听到用户对手机上某个应用程序的控件(view)的操作(触摸操作或按键操作)时,记录该操作的Action_Down消息(按下消息,即本实施例所述的起始操作)和Action_Up消息(弹起消息,即本实施例所述的结束操作),所述Action_Down消息包括Action_Dow的位置坐标及触发时间,所述Action_Up消息包括Action_Up的位置坐标及触发时间。比较Action_Dow的位置坐标与Action_Up的位置坐标,若两者位置坐标不同,则确定所述操作为拖动操作(DragAction);若两者位置坐标相同,则根据Action_Dow的触发时间和Action_Up的触发时间,获取两者之间的时间差,并将所述时间差与预设的时间阈值进行比较,若所述时间差小于所述时间阈值,则确定所述操作为点击操作(ClickAction);若所述时间差大于所述时间阈值,则确定所述操作为长按操作(LongClickAction)。
优选的,为了方便查找,本实施例在记录监听到的所述操作事件之后,还包括:
将监听到的所述操作事件封装成预定格式的字符串添加到字符串缓冲区。
示例性的,预定格式可以为:“待测试程序名称”“+”“控件名称”“+”“X坐标”“+”“Y坐标”“+”“触发时间”“+”“操作类型”。
优选的,本实施例在通过预先创建的监听器监听用户对所述控件的操作事件之前,还包括:
创建监听器,并将创建的所述监听器替换所述控件原有的监听器或者将创建的所述监听器覆盖在所述控件原有的监听器上。
需要说明的是,本实施例创建监听器替换或者覆盖原有监听器的目的是,通过创建后的监听器去监听用户对控件的操作事件,并记录所述操作事件。而原有监听器监听用户对控件的操作事件只是为了响应用户的操作,不会记录所述操作事件,因此也无法根据所述操作事件生成对应的测试脚本。
在步骤S104中,根据所述操作事件生成对应的测试脚本。
具体的可以是,将所述操作事件序列化为可扩展标记语言XML测试用例,根据所述XML测试用例生成对应的测试脚本。
本实施例生成XML测试用例的目的是:在所述待测试程序所在终端处理性能较差时,方便将所述操作事件转发到其他终端设备生成对应的测试脚本。
其中,所述测试脚本为可执行脚本,通过运行所述测试脚本可实现对所述待测试程序的测试。
本发明实施例在进行软件测试时,不需要第三方设备的协助。而且在测试的过程中,不需要用户输入shell命令,降低了测试的专业度及复杂度,提高了测试的效率,具有较强的易用性和实用性。
实施例二:
图2示出了本发明第二实施例提供的软件测试装置的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该软件测试装置可以是运行于终端设备(优选移动终端,例如手机、平板电脑、掌上电脑等)内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到所述终端设备中或者运行于所述终端设备的应用系统中。
该软件测试装置包括信息接收单元21、控件获取单元22、事件记录单元23以及脚本生成单元24。其中,各单元的具体功能如下:
信息接收单元21,用于接收启动待测试程序的信息;
控件获取单元22,用于在所述信息接收单元21接收到启动待测试程序的信息之后,获取所述待测试程序相关的控件;
事件记录单元23,用于通过预先创建的监听器监听用户对所述控件的操作事件,并记录监听到的所述操作事件;
脚本生成单元24,用于根据所述事件记录单元23记录的操作事件生成对应的测试脚本。
进一步的,所述信息接收单元21具体用于:
接收用户发出的启动待测试程序指令,或者接收待测试程序所在终端根据预设的时间间隔产生的启动待测试程序的触发信息。
进一步的,所述装置还包括:
第一处理单元25,用于在通过预先创建的监听器监听用户对所述控件的操作事件之前,创建监听器,并将创建的所述监听器替换所述控件原有的监听器或者将创建的所述监听器覆盖在所述控件原有的监听器上。
进一步的,所述事件记录单元23包括:
事件监听模块231,用于通过预先创建的监听器监听用户对所述控件的操作事件;
事件记录模块232,用于当创建的所述监听器监听到用户对所述控件的操作事件时,记录所述操作事件起始操作的位置坐标、结束操作的位置坐标、起始操作的触发时间以及结束操作的触发时间。
进一步的,所述事件记录单元23还包括:
操作类型确定模块233,用于根据所述操作事件起始操作的位置坐标、结束操作的位置坐标、起始操作的触发时间以及结束操作的触发时间,确定所述操作事件的操作类型,所述操作类型包括但不限于点击操作、长按操作以及拖动操作。
进一步的,所述装置还包括:
第二处理单元26,用于在记录监听到的所述操作事件之后,将监听到的所述操作事件封装成预定格式的字符串添加到字符串缓冲区。
进一步的,所述脚本生成单元24具体用于:
将所述操作事件序列化为可扩展标记语言XML测试用例,根据所述XML测试用例生成对应的测试脚本。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元或模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元或模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例一中的对应过程,在此不再赘述。
实施例三:
图3示出了一种终端设备的结构框图,该终端设备可以用于实施上述实施例中提供的软件测试方法。
如图3所示,终端设备1200可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上(图中仅示出一个)计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、传输模块170、包括有一个或者一个以上(图中仅示出一个)处理核心的处理器180以及电源190等部件。本领域技术人员可以理解,图3中示出的终端设备1200结构并不构成对终端设备1200的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。RF电路110可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。RF电路110可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for Mobile Communication,GSM)、增强型移动通信技术(Enhanced Data GSM Environment,EDGE),宽带码分多址技术(wideband codedivision multiple access,W-CDMA),码分多址技术(Code division access,CDMA)、时分多址技术(time division multiple access,TDMA),无线保真技术(Wireless,Fidelity,WiFi)(如美国电气和电子工程师协会标准IEEE802.11a,IEEE802.11b,IEEE802.11g和/或IEEE802.11n)、网络电话(Voiceover internet protocal,VoIP)、全球微波互联接入(Worldwide Interoperability forMicrowave Access,Wi-Max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
存储器104可用于存储软件程序以及模块,如上述实施例中软件测试方法/装置对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现待测试程序测试脚本生成的功能。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端设备1200。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端设备1200的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-EmittingDiode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图3中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端设备1200还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端设备1200移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备1200还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端设备1200之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端设备1200的通信。
终端设备1200通过传输模块170(例如WiFi模块)可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图3示出了传输模块170,但是可以理解的是,其并不属于终端设备1200的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端设备1200的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端设备1200的各种功能和处理数据,从而对终端设备进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端设备1200还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端设备1200还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端设备的显示单元是触摸屏显示器,终端设备还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序包含用于进行以下操作的指令:
接收启动待测试程序的信息;
获取所述待测试程序相关的控件;
通过预先创建的监听器监听用户对所述控件的操作事件,并记录监听到的所述操作事件;
根据所述操作事件生成对应的测试脚本。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,所述终端设备的存储器中,还包含用于执行以下操作的指令:
接收用户发出的启动待测试程序指令,或者接收待测试程序所在终端根据预设的时间间隔产生的启动待测试程序的触发信息。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第三种可能的实施方式中,所述终端设备的存储器中,还包含用于执行以下操作的指令:
创建监听器,并将创建的所述监听器替换所述控件原有的监听器或者将创建的所述监听器覆盖在所述控件原有的监听器上。
假设上述为第一种可能的实施方式,则在第四种可能的实施方式作为基础而提供的第四种可能的实施方式中,所述终端设备的存储器中,还包含用于执行以下操作的指令:
通过预先创建的监听器监听用户对所述控件的操作事件;
当创建的所述监听器监听到用户对所述控件的操作事件时,记录所述操作事件起始操作的位置坐标、结束操作的位置坐标、起始操作的触发时间以及结束操作的触发时间。
假设上述为第四种可能的实施方式,则在第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,所述终端设备的存储器中,还包含用于执行以下操作的指令:
根据所述操作事件起始操作的位置坐标、结束操作的位置坐标、起始操作的触发时间以及结束操作的触发时间,确定所述操作事件的操作类型,所述操作类型包括点击操作、长按操作以及拖动操作。
在第一种可能的实施方式或第二种可能的实施方式或第三种可能的实施方式或第四种可能的实施方式或第五种可能的实施方式作为基础而提供的第六种可能的实施方式中,所述终端设备的存储器中,还包含用于执行以下操作的指令:
将监听到的所述操作事件封装成预定格式的字符串添加到字符串缓冲区。
在第一种可能的实施方式或第二种可能的实施方式或第三种可能的实施方式或第四种可能的实施方式或第五种可能的实施方式或第六种可能的实施方式作为基础而提供的第七种可能的实施方式中,所述终端设备的存储器中,还包含用于执行以下操作的指令:
将所述操作事件序列化为可扩展标记语言XML测试用例,根据所述XML测试用例生成对应的测试脚本。
综上所述,本发明实施例的测试脚本直接在待测试程序所在终端生成,不需要其他终端设备的协助。另外,本发明实施例不需要用户输入shell命令来获取待测试程序的测试信息,而直接通过监听和记录待测试程序相关控件的操作事件,根据所述操作事件生成对应的测试脚本,降低了测试的专业度及复杂度,提高了测试的效率,具有较强的易用性和实用性。
本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,包括ROM/RAM、磁盘、光盘等。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明由所提交的权利要求书确定的专利保护范围。

Claims (14)

1.一种软件测试的方法,其特征在于,所述方法包括:
接收启动待测试程序的信息;
获取所述待测试程序相关的控件;
通过预先创建的监听器监听用户对所述控件的操作事件,并记录监听到的所述操作事件;
根据所述操作事件生成对应的测试脚本。
2.如权利要求1所述的方法,其特征在于,所述接收启动待测试程序的信息包括:
接收用户发出的启动待测试程序指令,或者接收待测试程序所在终端根据预设的时间间隔产生的启动待测试程序的触发信息。
3.如权利要求1所述的方法,其特征在于,在通过预先创建的监听器监听用户对所述控件的操作事件之前,还包括:
创建监听器,并将创建的所述监听器替换所述控件原有的监听器或者将创建的所述监听器覆盖在所述控件原有的监听器上。
4.如权利要求1所述的方法,其特征在于,所述通过预先创建的监听器监听用户对所述控件的操作事件,并记录监听到的所述操作事件包括:
通过预先创建的监听器监听用户对所述控件的操作事件;
当创建的所述监听器监听到用户对所述控件的操作事件时,记录所述操作事件起始操作的位置坐标、结束操作的位置坐标、起始操作的触发时间以及结束操作的触发时间。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述操作事件起始操作的位置坐标、结束操作的位置坐标、起始操作的触发时间以及结束操作的触发时间,确定所述操作事件的操作类型,所述操作类型包括点击操作、长按操作以及拖动操作。
6.如权利要求1至5任一项所述的方法,其特征在于,在记录监听到的所述操作事件之后,还包括:
将监听到的所述操作事件封装成预定格式的字符串添加到字符串缓冲区。
7.如权利要求1至5任一项所述的方法,其特征在于,所述根据所述操作事件生成对应的测试脚本包括:
将所述操作事件序列化为可扩展标记语言XML测试用例,根据所述XML测试用例生成对应的测试脚本。
8.一种软件测试的装置,其特征在于,所述装置包括:
信息接收单元,用于接收启动待测试程序的信息;
控件获取单元,用于在所述信息接收单元接收到启动待测试程序的信息之后,获取所述待测试程序相关的控件;
事件记录单元,用于通过预先创建的监听器监听用户对所述控件的操作事件,并记录监听到的所述操作事件;
脚本生成单元,用于根据所述事件记录单元记录的操作事件生成对应的测试脚本。
9.如权利要求8所述的装置,其特征在于,所述信息接收单元具体用于:
接收用户发出的启动待测试程序指令,或者接收待测试程序所在终端根据预设的时间间隔产生的启动待测试程序的触发信息。
10.如权利要求8所述的装置,其特征在于,所述装置还包括:
第一处理单元,用于在通过预先创建的监听器监听用户对所述控件的操作事件之前,创建监听器,并将创建的所述监听器替换所述控件原有的监听器或者将创建的所述监听器覆盖在所述控件原有的监听器上。
11.如权利要求8所述的装置,其特征在于,所述事件记录单元包括:
事件监听模块,用于通过预先创建的监听器监听用户对所述控件的操作事件;
事件记录模块,用于当创建的所述监听器监听到用户对所述控件的操作事件时,记录所述操作事件起始操作的位置坐标、结束操作的位置坐标、起始操作的触发时间以及结束操作的触发时间。
12.如权利要求11所述的装置,其特征在于,所述事件记录单元还包括:
操作类型确定模块,用于根据所述操作事件起始操作的位置坐标、结束操作的位置坐标、起始操作的触发时间以及结束操作的触发时间,确定所述操作事件的操作类型,所述操作类型包括点击操作、长按操作以及拖动操作。
13.如权利要求8至12任一项所述的装置,其特征在于,所述装置还包括:
第二处理单元,用于在记录监听到的所述操作事件之后,将监听到的所述操作事件封装成预定格式的字符串添加到字符串缓冲区。
14.如权利要求8至12任一项所述的装置,其特征在于,所述脚本生成单元具体用于:
将所述操作事件序列化为可扩展标记语言XML测试用例,根据所述XML测试用例生成对应的测试脚本。
CN201310343793.2A 2013-08-08 2013-08-08 软件测试的方法及装置 Active CN104346276B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310343793.2A CN104346276B (zh) 2013-08-08 2013-08-08 软件测试的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310343793.2A CN104346276B (zh) 2013-08-08 2013-08-08 软件测试的方法及装置

Publications (2)

Publication Number Publication Date
CN104346276A true CN104346276A (zh) 2015-02-11
CN104346276B CN104346276B (zh) 2018-12-11

Family

ID=52501938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310343793.2A Active CN104346276B (zh) 2013-08-08 2013-08-08 软件测试的方法及装置

Country Status (1)

Country Link
CN (1) CN104346276B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106469113A (zh) * 2015-08-18 2017-03-01 腾讯科技(深圳)有限公司 应用程序测试方法及系统
CN107729223A (zh) * 2017-08-31 2018-02-23 福建天晴数码有限公司 一种在移动终端上记录用户操作的方法及装置
CN109684184A (zh) * 2018-12-26 2019-04-26 百度在线网络技术(北京)有限公司 一种应用操作的复现方法、装置及电子设备
WO2019196498A1 (zh) * 2018-04-12 2019-10-17 京东方科技集团股份有限公司 页面数据采集的方法、装置、服务器、电子设备及计算机可读介质
CN111143200A (zh) * 2019-12-12 2020-05-12 广州华多网络科技有限公司 触摸事件的录制及回放方法、装置、存储介质及设备
CN111752827A (zh) * 2020-06-04 2020-10-09 武汉迎风聚智科技有限公司 一种测试脚本的生成方法以及装置
CN112699040A (zh) * 2020-12-30 2021-04-23 深圳前海微众银行股份有限公司 压力测试方法、装置、设备及计算机可读存储介质
TWI791781B (zh) * 2019-01-03 2023-02-11 鴻海精密工業股份有限公司 軟體測試監控裝置及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5542043A (en) * 1994-10-11 1996-07-30 Bell Communications Research, Inc. Method and system for automatically generating efficient test cases for systems having interacting elements
CN101242621A (zh) * 2008-01-21 2008-08-13 中兴通讯股份有限公司 一种基于界面的自动化测试方法及系统
US20110231708A1 (en) * 2010-03-18 2011-09-22 Salesforce.Com, Inc. System, method and computer program product for automated test case generation and scheduling
CN102314386A (zh) * 2011-09-05 2012-01-11 百度在线网络技术(北京)有限公司 一种测试移动终端的方法与设备
CN102841845A (zh) * 2012-07-30 2012-12-26 广东欧珀移动通信有限公司 一种Android设备软件自动测试方法
CN103064781A (zh) * 2011-10-18 2013-04-24 飞图科技(北京)有限公司 一种手机软件的自动化测试方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5542043A (en) * 1994-10-11 1996-07-30 Bell Communications Research, Inc. Method and system for automatically generating efficient test cases for systems having interacting elements
CN101242621A (zh) * 2008-01-21 2008-08-13 中兴通讯股份有限公司 一种基于界面的自动化测试方法及系统
US20110231708A1 (en) * 2010-03-18 2011-09-22 Salesforce.Com, Inc. System, method and computer program product for automated test case generation and scheduling
CN102314386A (zh) * 2011-09-05 2012-01-11 百度在线网络技术(北京)有限公司 一种测试移动终端的方法与设备
CN103064781A (zh) * 2011-10-18 2013-04-24 飞图科技(北京)有限公司 一种手机软件的自动化测试方法
CN102841845A (zh) * 2012-07-30 2012-12-26 广东欧珀移动通信有限公司 一种Android设备软件自动测试方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
许晖: "面向IBM自动化测试框架GUI录制工具的设计与实现", 《中国优秀硕士学位论文全文数据库》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106469113A (zh) * 2015-08-18 2017-03-01 腾讯科技(深圳)有限公司 应用程序测试方法及系统
CN106469113B (zh) * 2015-08-18 2023-08-08 腾讯科技(深圳)有限公司 应用程序测试方法及系统
CN107729223A (zh) * 2017-08-31 2018-02-23 福建天晴数码有限公司 一种在移动终端上记录用户操作的方法及装置
WO2019196498A1 (zh) * 2018-04-12 2019-10-17 京东方科技集团股份有限公司 页面数据采集的方法、装置、服务器、电子设备及计算机可读介质
US11538046B2 (en) 2018-04-12 2022-12-27 Boe Technology Group Co., Ltd. Page data acquisition method, apparatus, server, electronic device and computer readable medium
CN109684184A (zh) * 2018-12-26 2019-04-26 百度在线网络技术(北京)有限公司 一种应用操作的复现方法、装置及电子设备
TWI791781B (zh) * 2019-01-03 2023-02-11 鴻海精密工業股份有限公司 軟體測試監控裝置及方法
CN111143200A (zh) * 2019-12-12 2020-05-12 广州华多网络科技有限公司 触摸事件的录制及回放方法、装置、存储介质及设备
CN111752827A (zh) * 2020-06-04 2020-10-09 武汉迎风聚智科技有限公司 一种测试脚本的生成方法以及装置
CN112699040A (zh) * 2020-12-30 2021-04-23 深圳前海微众银行股份有限公司 压力测试方法、装置、设备及计算机可读存储介质
CN112699040B (zh) * 2020-12-30 2024-02-23 深圳前海微众银行股份有限公司 压力测试方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN104346276B (zh) 2018-12-11

Similar Documents

Publication Publication Date Title
CN104346276A (zh) 软件测试的方法及装置
CN104636047B (zh) 对列表中的对象进行操作的方法、装置及触屏终端
WO2015062235A1 (zh) 电子设备、电池保护方法和装置
CN104238893B (zh) 一种对视频预览图片进行显示的方法和装置
CN103634717B (zh) 一种利用耳机控制的方法、装置及终端设备
CN105005909A (zh) 预测流失用户的方法及装置
WO2015154670A1 (en) Method and apparatus for invoking application programming interface
CN105487649A (zh) 一种提示方法及移动终端
CN103543913A (zh) 一种终端设备操作方法、装置和终端设备
KR20150075059A (ko) 표시된 폰트를 확대하는 방법과 장치, 프로그램 및 기록매체
CN104065693A (zh) 一种网页应用中网络数据的访问方法、装置和系统
CN103473092A (zh) 一种下载应用的处理方法、装置及终端设备
CN104298666A (zh) 网页分享方法和装置
CN106126411A (zh) 一种对被测程序代码进行测试的方法和装置
CN104657666A (zh) 一种终端运行环境的优化方法及装置
CN106371749A (zh) 一种终端控制的方法和装置
CN104281621A (zh) 网页浏览方法及装置
CN104182401A (zh) 在移动终端浏览器中进行搜索的方法及装置
CN104077211A (zh) 一种移动终端软件的测试方法及测试系统
CN105162930B (zh) 移动终端的录音方法及装置
CN105045522A (zh) 手持终端的触摸控制方法及装置
CN104077184A (zh) 一种应用程序的进程控制方法及计算机系统
CN105807908B (zh) 一种切换工作模式的方法和装置
CN106708555B (zh) 一种加载插件的方法和装置
CN105100361B (zh) 移动终端的录音方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant