CN103268289B - 在移动终端上录制应用测试脚本的方法和系统 - Google Patents
在移动终端上录制应用测试脚本的方法和系统 Download PDFInfo
- Publication number
- CN103268289B CN103268289B CN201310240339.4A CN201310240339A CN103268289B CN 103268289 B CN103268289 B CN 103268289B CN 201310240339 A CN201310240339 A CN 201310240339A CN 103268289 B CN103268289 B CN 103268289B
- Authority
- CN
- China
- Prior art keywords
- script
- record
- user
- computer
- breakpoint
- 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.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一种在移动终端上录制应用测试脚本的方法和系统。该方法包括:移动终端连接到电脑,以调试模式启动应用程序,电脑上的调试器程序和应用程序之间通过TCP/IP协议进行连接;无需应用的源代码,黑盒环境下,在用户操作的相关函数添加断点;用户在移动终端上操作,触发断点命中;此时调试器程序记录相关的动作,录制针对界面元素的操作,同时通过调试协议请求获取当前的变量值,并在断点位置继续执行,不影响用户的操作;最终形成测试脚本。根据本发明的技术方案不但可以简便的录制脚本,同时在执行脚本时准确度高,易于判定结果。
Description
技术领域
本发明涉及软件测试领域,具体地说,涉及软件测试过程中自动生成测试脚本的方法和装置。
背景技术
软件测试是指通过测试软件的各项功能以发现软件存在的缺陷的过程,目前软件测试技术正在向纵深发展,新的高效软件测试方法还在不断涌现。软件自动化测试作为软件测试技术的一个分支,是在传统的代码调试和黑盒手工测试的基础上新兴的一种测试技术。与此同时,移动领域正在迅猛发展,移动应用也越来越多地影响着我们的生活,在移动终端,每天都有数以万计的软件被开发出来供移动用户使用,这个领域具备更新速度快,生命周期短的特点,且用户对功能、性能、稳定性的要求越来越高,所以移动应用领域对自动化测试的需求也越来越大。
有统计表明,在现阶段的所有软件测试开销中,约60%用在脚本的编写、编译、执行和配置管理上,还有约40%用在测试用例的生成和检查测试结果。因此,自动化测试中一个重要的因素就是测试脚本,测试脚本的质量很大程度上决定了测试的质量。而获取好的测试脚本往往费时费力,需要有比较高的技术要求和比较大的工作量。
现有的脚本通常采用如下两种生成方式:
(1)手工编写。脚本语言也是一种编程语言,常见的如Java、Python、Javascript等都可以用做脚本语言;脚本编写完成后,通过系统提供的测试框架来执行脚本。这种编写脚本方式的优点是执行准确率高,易于判定结果;但缺点是对人员要求比较高,往往是由开发人员或者具备编程能力的高级测试人员才可以完成。
(2)用记录坐标的方式录制脚本。通过在终端或模拟器上操作,如屏幕点击、按键等,记录用户点击的位置,从而生成一套脚本,然后通过发送模拟指令使脚本在终端上运行。这种编写脚本方式的优点是操作方便,不需掌握专业的编程知识,但是却存在执行结果准确性不强的缺点。具体表现在:执行的终端和录制的终端必须是同一分辨率,不能跨分辨率执行;如果终端屏幕方向发生变化,脚本也执行失败;如果涉及到文本输入,若执行终端和录制上使用的是不同的输入法,脚本也会执行失败,很难校验结果的准确性。
发明内容
有鉴于此,本发明主要解决上述两种生成脚本方式的不足,根据本发明的技术方案不但可以简便的录制脚本,同时在执行脚本时准确度高,易于判定结果。
本发明实施例的主要目的在于提供一种录制应用测试脚本的方法,应用该方法能够根据测试脚本生成方的需要,快速生成准确度高的测试脚本。
同时,本发明实施例的又一主要目的在于提供一种录制应用测试脚本的系统,该系统能够实现根据测试脚本生成方的需要,快速生成准确度高的测试脚本。
为达到上述目的,本发明的技术方案是这样实现的:
一种在移动终端上录制应用测试脚本的方法,包括以下步骤:
A、移动终端连接到电脑,以调试模式启动应用程序,电脑上的调试器程序和应用程序之间通过TCP/IP协议进行连接;
B、无需应用的源代码,黑盒环境下,在用户操作的相关函数添加断点;
C、用户在移动终端上操作,触发断点命中;
D、此时调试器程序记录相关的动作,录制针对界面元素的操作,同时通过调试协议请求获取当前的变量值,并在断点位置继续执行,不影响用户的操作;
E、最终形成测试脚本。
优选地,上述步骤A中,移动终端通过数据线或者无线网络连接到电脑。
优选地,上述步骤A中,协议采用标准的调试协议,如Android平台下使用JDWP。
优选地,上述步骤B中,用户操作包括屏幕点击、滑动、按键按下、列表操作或文本输入,其中采用OnKeyDown相关函数代表按键按下的指令。
优选地,上述步骤D中,针对界面元素的操作与用户操作相对应,也包括屏幕点击、滑动、按键按下、列表操作或文本输入等操作。
优选地,上述步骤中,对于文本输入操作,在脚本中记录的是针对某个输入框的最终文本。
本发明同时提供了一种在移动终端上录制应用测试脚本的系统,包括以下单元:
启动单元,将移动终端连接到电脑,以调试模式启动应用程序,电脑上的调试器程序和应用程序之间通过TCP/IP协议进行连接;
断点单元,其无需应用的源代码,黑盒环境下,在用户操作的相关函数添加断点;
触发单元,使得用户在移动终端上操作,触发断点命中;
记录单元,使得调试器程序记录相关的动作,录制针对界面元素的操作,同时通过调试协议请求获取当前的变量值,并在断点位置继续执行,不影响用户的操作;
形成单元,最终形成测试脚本。
优选地,上述启动单元中,移动终端通过数据线或者无线网络连接到电脑。
优选地,上述启动单元中,协议采用标准的调试协议,如Android平台下使用JDWP。
优选地,上述断点单元中,用户操作包括屏幕点击、滑动、按键按下、列表操作或文本输入,其中采用OnKeyDown相关函数代表按键按下的指令。
优选地,上述记录单元中,针对界面元素的操作与用户操作相对应,也包括屏幕点击、滑动、按键按下、列表操作或文本输入等操作。
优选地,上述系统中,对于文本输入操作,在脚本中记录的是针对某个输入框的最终文本。
这种新型的脚本录制方法及系统,录制的是针对界面元素的操作,如按钮按下、列表选择、文本输入等,不依赖于屏幕分辨率和方向,解决了跨分辨率执行的难题;同时因为在脚本中记录的界面元素,方便进行结果判定。特别的,针对文本输入的问题,在脚本中记录的是针对某个输入框的最终文本,省去中间的操作过程,彻底摆脱了输入法的限制,而且非常精确。
附图说明
图1是现有技术中手工编写测试脚本的方法的流程图;
图2是现有技术中用记录坐标的方式录制测试脚本的方法的示例图;
图3是根据本发明的实施例的在移动终端上录制应用测试脚本的方法的流程图;
图4是根据本发明的实施例的在移动终端上录制应用测试脚本的运行场景图。
具体实施方式
相信通过以下结合附图对本发明的具体实施例的详细说明,本发明的上述方案的特征和优点会更加明显。
在本发明中,“测试脚本”是指实现测试实例的程序,图3是根据本发明的实施例的为软件测试过程自动生成测试执行序列的方法的流程图。
由图3公开的流程图可知,本发明提出一种在移动终端上录制应用测试脚本的方法,包括以下步骤:
A、移动终端连接到电脑,以调试模式启动应用程序,电脑上的调试器程序和应用程序之间通过TCP/IP协议进行连接;
B、无需应用的源代码,黑盒环境下,在用户操作的相关函数添加断点;
C、用户在移动终端上操作,触发断点命中;
D、此时调试器程序记录相关的动作,录制针对界面元素的操作,同时通过调试协议请求获取当前的变量值,并在断点位置继续执行,不影响用户的操作;
E、最终形成测试脚本。
在本发明的测试方法中,移动终端通过数据线或者无线网络连接到电脑。
在本发明的测试方法中,协议采用标准的调试协议,如Android平台下使用JDWP。
在本发明的测试方法中,用户操作包括屏幕点击、滑动、按键按下、列表操作或文本输入,其中采用OnKeyDown相关函数代表按键按下的指令。
在本发明的测试方法中,针对界面元素的操作与用户操作相对应,也包括屏幕点击、滑动、按键按下、列表操作或文本输入等操作。
在本发明的测试方法中,对于文本输入操作,在脚本中记录的是针对某个输入框的最终文本。
另外,为解决上述技术问题,本发明还提供了一种在移动终端上录制应用测试脚本的系统,包括以下单元:
启动单元,将移动终端连接到电脑,以调试模式启动应用程序,电脑上的调试器程序和应用程序之间通过TCP/IP协议进行连接;
断点单元,其无需应用的源代码,黑盒环境下,在用户操作的相关函数添加断点;
触发单元,使得用户在移动终端上操作,触发断点命中;
记录单元,使得调试器程序记录相关的动作,录制针对界面元素的操作,同时通过调试协议请求获取当前的变量值,并在断点位置继续执行,不影响用户的操作;
形成单元,最终形成测试脚本。
在本发明的测试系统中,移动终端通过数据线或者无线网络连接到电脑。
在本发明的测试系统中,协议采用标准的调试协议,如Android平台下使用JDWP。
在本发明的测试系统中,用户操作包括屏幕点击、滑动、按键按下、列表操作或文本输入,其中采用OnKeyDown相关函数代表按键按下的指令。
在本发明的测试系统中,针对界面元素的操作与用户操作相对应,也包括屏幕点击、滑动、按键按下、列表操作或文本输入等操作。
在本发明的测试系统中,对于文本输入操作,在脚本中记录的是针对某个输入框的最终文本。
这种新型的脚本录制方法及系统,录制的是针对界面元素的操作,如按钮按下、列表选择、文本输入等,不依赖于屏幕分辨率和方向,解决了跨分辨率执行的难题;同时因为在脚本中记录的界面元素,方便进行结果判定。特别的,针对文本输入的问题,在脚本中记录的是针对某个输入框的最终文本,省去中间的操作过程,彻底摆脱了输入法的限制,而且非常精确。
Claims (8)
1.一种在移动终端上录制应用测试脚本的方法,其特征在于,包括以下步骤:
A、移动终端连接到电脑,以调试模式启动应用程序,电脑上的调试器程序和应用程序之间通过TCP/IP协议进行连接;
B、无需应用的源代码,黑盒环境下,在用户操作的相关函数添加断点;
C、用户在移动终端上操作,触发断点命中;
D、此时调试器程序记录相关的动作,录制针对界面元素的操作,同时通过调试协议请求获取当前的变量值,并在断点位置继续执行,不影响用户的操作;
E、最终形成测试脚本,
上述步骤B中,用户操作包括屏幕点击、滑动、按键按下、列表操作或文本输入,
上述步骤D中,针对界面元素的操作与用户操作相对应。
2.根据权利要求1所述的方法,其特征在于,上述步骤A中,移动终端通过数据线或者无线网络连接到电脑。
3.根据权利要求1所述的方法,其特征在于,上述步骤A中,协议采用标准的调试协议。
4.根据权利要求1所述的方法,其特征在于,对于文本输入操作,在脚本中记录的是针对某个输入框的最终文本。
5.一种在移动终端上录制应用测试脚本的系统,其特征在于,包括以下单元:
启动单元,将移动终端连接到电脑,以调试模式启动应用程序,电脑上的调试器程序和应用程序之间通过TCP/IP协议进行连接;
断点单元,其无需应用的源代码,黑盒环境下,在用户操作的相关函数添加断点;
触发单元,使得用户在移动终端上操作,触发断点命中;
记录单元,使得调试器程序记录相关的动作,录制针对界面元素的操作,同时通过调试协议请求获取当前的变量值,并在断点位置继续执行,不影响用户的操作;
形成单元,最终形成测试脚本,
上述断点单元中,用户操作包括屏幕点击、滑动、按键按下、列表操作或文本输入,
上述记录单元中,针对界面元素的操作与用户操作相对应。
6.根据权利要求5所述的系统,其特征在于,上述启动单元中,移动终端通过数据线或者无线网络连接到电脑。
7.根据权利要求5所述的系统,其特征在于,上述启动单元中,协议采用标准的调试协议。
8.根据权利要求5所述的系统,其特征在于,上述系统中,对于文本输入操作,在脚本中记录的是针对某个输入框的最终文本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310240339.4A CN103268289B (zh) | 2013-06-18 | 2013-06-18 | 在移动终端上录制应用测试脚本的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310240339.4A CN103268289B (zh) | 2013-06-18 | 2013-06-18 | 在移动终端上录制应用测试脚本的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103268289A CN103268289A (zh) | 2013-08-28 |
CN103268289B true CN103268289B (zh) | 2016-04-06 |
Family
ID=49011920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310240339.4A Active CN103268289B (zh) | 2013-06-18 | 2013-06-18 | 在移动终端上录制应用测试脚本的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103268289B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866414B (zh) * | 2014-02-24 | 2018-07-06 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、装置及系统 |
CN104572464B (zh) * | 2014-12-31 | 2018-01-19 | 广东欧珀移动通信有限公司 | 一种Android平台的自动化测试状态保存方法及装置 |
CN104699610A (zh) * | 2015-03-12 | 2015-06-10 | 安一恒通(北京)科技有限公司 | 测试方法和装置 |
US20170171020A1 (en) * | 2015-12-14 | 2017-06-15 | Microsoft Technology Licensing, Llc | Using declarative configuration data to manage cloud lifecycle |
CN105843734B (zh) * | 2016-03-18 | 2019-03-15 | 厦门美图移动科技有限公司 | 一种自动化测试方法、装置及计算设备 |
CN106250318A (zh) * | 2016-08-11 | 2016-12-21 | 浪潮电子信息产业股份有限公司 | 一种软件更新智能风险分析系统 |
CN107451058B (zh) * | 2017-07-31 | 2023-05-30 | 北京云测信息技术有限公司 | 一种软件开发方法和装置 |
CN108654088B (zh) * | 2018-04-13 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 程序调试方法和装置、存储介质及电子装置 |
CN109977011A (zh) * | 2019-03-18 | 2019-07-05 | 平安普惠企业管理有限公司 | 测试脚本的自动生成方法、装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060372A (zh) * | 2007-06-26 | 2007-10-24 | 华为技术有限公司 | 一种快速生成自动化测试脚本的方法及系统 |
CN101262681A (zh) * | 2008-04-16 | 2008-09-10 | 青岛海信移动通信技术股份有限公司 | 自动测试的移动终端及实现方法 |
CN102902618A (zh) * | 2011-07-28 | 2013-01-30 | 华为技术有限公司 | 移动设备应用程序开发调试的方法及装置 |
-
2013
- 2013-06-18 CN CN201310240339.4A patent/CN103268289B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060372A (zh) * | 2007-06-26 | 2007-10-24 | 华为技术有限公司 | 一种快速生成自动化测试脚本的方法及系统 |
CN101262681A (zh) * | 2008-04-16 | 2008-09-10 | 青岛海信移动通信技术股份有限公司 | 自动测试的移动终端及实现方法 |
CN102902618A (zh) * | 2011-07-28 | 2013-01-30 | 华为技术有限公司 | 移动设备应用程序开发调试的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103268289A (zh) | 2013-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103268289B (zh) | 在移动终端上录制应用测试脚本的方法和系统 | |
CN107562610B (zh) | 获取页面加载时间的方法、装置、终端和介质 | |
US10853232B2 (en) | Adaptive system for mobile device testing | |
CN104281520B (zh) | 跟踪和调试的方法、装置及系统 | |
CN105338110A (zh) | 远程调试方法和平台、服务器 | |
CN108717393A (zh) | 一种应用程序测试方法及移动终端 | |
CN104360922A (zh) | 一种基于ipmitool的自动监测BMC工作状态的方法 | |
CN105094783A (zh) | 安卓应用稳定性测试的方法及装置 | |
CN109871326A (zh) | 一种脚本录制的方法和装置 | |
CN103365770A (zh) | 移动终端软件测试系统及软件测试方法 | |
CN106649107B (zh) | 安卓系统稳定性的自动化测试方法及装置 | |
CN104778121A (zh) | 游戏程序的测试方法、装置及系统 | |
CN107562637B (zh) | 一种用于软件测试的方法、设备、系统及存储介质 | |
CN104572422A (zh) | 一种基于Linux系统开关机下内存监测实现方法 | |
CN103675528B (zh) | 一种基于特征字的继电保护装置自动测试方法与装置 | |
Singh et al. | Automated testing of mobile applications using scripting technique: A study on appium | |
CN101262681A (zh) | 自动测试的移动终端及实现方法 | |
CN104978262A (zh) | 一种终端测试方法和装置 | |
CN106557419B (zh) | 程序的测试方法及装置 | |
CN105138463A (zh) | 一种移动终端的软件测试方法及系统 | |
CN102045397A (zh) | Telnet登录嵌入式终端以进行调试的方法及设备 | |
CN110597704B (zh) | 应用程序的压力测试方法、装置、服务器和介质 | |
CN105279092A (zh) | 一种软件测试的方法及装置 | |
CN104915297A (zh) | 一种android设备的APP耗电量的自动化测试方法 | |
CN111078547A (zh) | 一种python通用app软件自动化测试框架系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |