CN107357720A - 一种软件运行错误的测试方法及系统 - Google Patents
一种软件运行错误的测试方法及系统 Download PDFInfo
- Publication number
- CN107357720A CN107357720A CN201710457047.4A CN201710457047A CN107357720A CN 107357720 A CN107357720 A CN 107357720A CN 201710457047 A CN201710457047 A CN 201710457047A CN 107357720 A CN107357720 A CN 107357720A
- Authority
- CN
- China
- Prior art keywords
- test
- software
- tested
- terminal
- error code
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种软件运行错误的测试方法及系统,该方法包括:获取测试终端发送的心跳包;根据心跳包判断测试终端是否处于空闲状态;当测试终端处于空闲状态时,向测试终端发送待测试软件和错误代码检测脚本;在测试终端上运行待测试软件,当待测试软件在运行过程中出现错误时,通过错误代码检测脚本获取错误代码。本发明提供的一种软件运行错误的测试方法及系统,实现了在测试阶段获取错误代码,提高了软件测试的效率,同时缩短了软件开发的周期,便于开发人员对运行出错的代码进行修改。
Description
技术领域
本发明涉及智能测试领域,尤其涉及一种软件运行错误的测试方法及系统。
背景技术
在软件或应用交付用户使用之前,需要对软件或应用的运行情况进行测试。测试方法通常是将需要测试的软件或应用安装到需要测试的终端设备上,在终端设备上运行该软件或应用,以测试该软件或应用在该终端设备上的运行错误情况,而云测试则是通过网络,远程获取用户需要测试的软件或应用,通过云服务器对软件进行测试。
目前的检测手段只能检测出错误出现的位置和错误类型,需要开发人员根据测试结果对软件的后台代码再次进行检查,过程很繁琐且效率低下,目前市面上还没有一种能够直接定位找出软件中错误代码的测试方法。
发明内容
本发明所要解决的技术问题是针对现有技术不能直接定位找出软件中错误代码的问题,提供一种能够在测试阶段就直接定位找出测试过程中出错代码的测试方法及系统。
本发明解决上述技术问题的技术方案如下:
一种软件运行错误的测试方法,包括以下步骤:
步骤1,获取测试终端发送的心跳包;
步骤2,根据所述心跳包判断所述测试终端是否处于空闲状态;
步骤3,当所述测试终端处于空闲状态时,向所述测试终端发送待测试软件和错误代码检测脚本;
步骤4,在所述测试终端上运行所述待测试软件,当所述待测试软件在运行过程中出现错误时,通过所述错误代码检测脚本获取错误代码。
本发明的有益效果是:本发明提供的一种软件运行错误的测试方法,通过获取测试终端发送的心跳包判断测试终端是否处于空闲状态,并当测试终端处于空闲状态时,对软件进行测试,并当软件出现错误时,通过错误代码检测脚本对出现错误的代码进行定位和获取,实现了在测试阶段获取错误代码,提高了软件测试的效率,同时缩短了软件开发的周期,便于开发人员对运行出错的代码进行修改。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步地,所述心跳包携带有所述测试终端的型号信息和系统版本信息。
进一步地,步骤3具体包括:
步骤3.1,当所述测试终端处于空闲状态时,获取所述待测试软件,以及需进行测试的终端型号和系统版本号;
步骤3.2,当所述终端型号与所述型号信息相同,且所述系统版本号与所述系统版本信息相同时,向所述测试终端发送待测试软件和错误代码检测脚本。
采用上述进一步方案的有益效果是:通过对测试终端的型号和系统版本号进行匹配判断,能够准确的将待测试软件发送到需要测试的终端中,而不需要人工的去判断测试终端型号,或人工地将待测试软件发送至需要测试的对应测试终端里,提高了测试的效率和测试的准确性。
进一步地,步骤4具体包括:
步骤4.1,将所述待测试软件的测试过程分为多个测试阶段;
步骤4.2,当所述待测试软件在任一测试阶段出现错误时,通过所述错误代码检测脚本对所述测试阶段的运行代码进行检测;
步骤4.3,获取所述测试阶段的错误代码。
采用上述进一步方案的有益效果是:通过将测试过程分成多个测试阶段,便于对错误代码进行精确定位,能够更快捷地找出错误代码,提高测试效率。
进一步地,所述测试阶段包括:安装测试阶段、软件启动测试阶段、功能执行测试阶段、运行稳定性测试阶段、软件关闭测试阶段和卸载测试阶段,其中,所述功能执行测试阶段根据所述待测试软件待测试的功能数量分为对应数量的功能执行测试子阶段。
本发明解决上述技术问题的另一种技术方案如下:
一种软件运行错误的测试系统,包括:
心跳包获取模块,用于获取测试终端发送的心跳包;
空闲状态判断模块,用于根据所述心跳包判断所述测试终端是否处于空闲状态;
待测试软件发送模块,用于当所述测试终端处于空闲状态时,向所述测试终端发送待测试软件和错误代码检测脚本;
错误代码获取模块,用于当所述待测试软件在运行过程中出现错误时,通过所述错误代码检测脚本获取错误代码。
进一步地,所述心跳包携带有所述测试终端的型号信息和系统版本信息。
进一步地,所述待测试软件发送模块具体包括:
终端信息获取单元,用于当所述测试终端处于空闲状态时,获取所述待测试软件,以及需进行测试的终端型号和系统版本号;
待测试软件发送单元,用于当所述终端型号与所述型号信息相同,且所述系统版本号与所述系统版本信息相同时,向所述测试终端发送待测试软件和错误代码检测脚本。
进一步地,所述错误代码获取模块具体包括:
测试阶段划分单元,用于将所述待测试软件的测试过程分为多个测试阶段;
错误代码检测单元,用于当所述待测试软件在任一测试阶段出现错误时,通过所述错误代码检测脚本对所述测试阶段的运行代码进行检测;
错误代码获取单元,用于获取所述测试阶段的错误代码。
进一步地,所述测试阶段包括:安装测试阶段、软件启动测试阶段、功能执行测试阶段、运行稳定性测试阶段、软件关闭测试阶段和卸载测试阶段,其中,所述功能执行测试阶段根据所述待测试软件待测试的功能数量分为对应数量的功能执行测试子阶段。
本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
附图说明
图1为本发明实施例提供的一种软件运行错误的测试方法的流程示意图;
图2为本发明另一实施例提供的一种软件运行错误的测试方法的流程图;
图3为本发明另一实施例提供的一种软件运行错误的测试系统的结构框架图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,为本发明实施例提供的一种软件运行错误的测试方法的流程示意图,该方法包括:
S101,获取测试终端发送的心跳包;
S102,根据心跳包判断测试终端是否处于空闲状态;
S103,当测试终端处于空闲状态时,向测试终端发送待测试软件和错误代码检测脚本;
S104,在测试终端上运行待测试软件,当待测试软件在运行过程中出现错误时,通过错误代码检测脚本获取错误代码。
上述实施例提供的一种软件运行错误的测试方法,通过获取测试终端发送的心跳包判断测试终端是否处于空闲状态,并当测试终端处于空闲状态时,对软件进行测试,并当软件出现错误时,通过错误代码检测脚本对出现错误的代码进行定位和获取,实现了在测试阶段获取错误代码,提高了软件测试的效率,同时缩短了软件开发的周期,便于开发人员对运行出错的代码进行修改。
在另一实施例中,如图2所示,为本发明另一实施例提供的一种软件运行错误的测试方法的流程图,以对手机应用微信在搭载有MIUI8系统的小米5S手机上测试为例,进行说明。该方法包括:
S201,获取各个测试终端发送的心跳包,心跳包携带有测试终端的型号信息和系统版本信息,例如,测试终端可以包括小米5、小米5S、苹果7或三星note7等,系统版本信息可以包括安卓5.0、安卓6.0或IOS10等;
S202,根据心跳包判断各个测试终端是否处于空闲状态,空闲状态指的是没有进行测试的状态;
S203,当有测试终端处于空闲状态时,获取待测试的应用微信,并获取该终端型号和系统版本号;
S204,当处于空闲状态的测试终端的型号为小米5S,系统版本号为MIUI8时,向该测试终端发送待测试的应用微信和错误代码检测脚本,其中,错误代码检测脚本是为了实现对出现错误代码的检测和定位,例如,可以通过Junit等实现对代码的检测,定位错误代码,或,通过IOS系统自带的ASDL机制检测错误代码;
S205,将对微信的测试过程分为多个测试阶段,测试阶段包括:安装测试阶段、软件启动测试阶段、功能执行测试阶段、运行稳定性测试阶段、软件关闭测试阶段和卸载测试阶段,其中,功能执行测试阶段根据待测试软件待测试的功能数量分为对应数量的功能执行测试子阶段,例如,可以将测试分为安装阶段、启动阶段、发送文字信息阶段、发送语音信息阶段、接收文字信息阶段、接收语音信息阶段、关闭阶段和卸载阶段等;
S206,在该测试终端上运行微信,在任一测试阶段出现错误时,通过错误代码检测脚本对该测试阶段的运行代码进行检测,例如,当发送文字信息阶段出现发送错误,导致文字无法正常发出时,通过错误代码检测脚本对发送文字信息对应的后台代码进行检测;
S207,得到发送文字信息阶段中出现错误的代码,并收集出现错误的阶段信息和错误代码。
在另一实施例中,如图3所示,为本发明另一实施例提供的一种软件运行错误的测试系统的结构框架图,该系统包括:
心跳包获取模块310,用于获取测试终端发送的心跳包,心跳包携带有测试终端的型号信息和系统版本信息;
空闲状态判断模块320,用于根据心跳包判断测试终端是否处于空闲状态;
待测试软件发送模块330,用于当测试终端处于空闲状态时,向测试终端发送待测试软件和错误代码检测脚本;
错误代码获取模块340,用于当待测试软件在运行过程中出现错误时,通过错误代码检测脚本获取错误代码。
其中,待测试软件发送模块330具体包括:
终端信息获取单元331,用于当测试终端处于空闲状态时,获取待测试软件,以及需进行测试的终端型号和系统版本号;
待测试软件发送单元332,用于当终端型号与型号信息相同,且系统版本号与系统版本信息相同时,向测试终端发送待测试软件和错误代码检测脚本。
其中,错误代码获取模块340具体包括:
测试阶段划分单元341,用于将待测试软件的测试过程分为多个测试阶段,测试阶段包括:安装测试阶段、软件启动测试阶段、功能执行测试阶段、运行稳定性测试阶段、软件关闭测试阶段和卸载测试阶段,其中,功能执行测试阶段根据待测试软件待测试的功能数量分为对应数量的功能执行测试子阶段;
错误代码检测单元342,用于当待测试软件在任一测试阶段出现错误时,通过错误代码检测脚本对测试阶段的运行代码进行检测;
错误代码获取单元343,用于获取测试阶段的错误代码。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种软件运行错误的测试方法,其特征在于,包括以下步骤:
步骤1,获取测试终端发送的心跳包;
步骤2,根据所述心跳包判断所述测试终端是否处于空闲状态;
步骤3,当所述测试终端处于空闲状态时,向所述测试终端发送待测试软件和错误代码检测脚本;
步骤4,在所述测试终端上运行所述待测试软件,当所述待测试软件在运行过程中出现错误时,通过所述错误代码检测脚本获取错误代码。
2.根据权利要求1所述的测试方法,其特征在于,所述心跳包携带有所述测试终端的型号信息和系统版本信息。
3.根据权利要求2所述的测试方法,其特征在于,步骤3具体包括:
步骤3.1,当所述测试终端处于空闲状态时,获取所述待测试软件,以及需进行测试的终端型号和系统版本号;
步骤3.2,当所述终端型号与所述型号信息相同,且所述系统版本号与所述系统版本信息相同时,向所述测试终端发送待测试软件和错误代码检测脚本。
4.根据权利要求1至3中任一项所述的测试方法,其特征在于,步骤4具体包括:
步骤4.1,将所述待测试软件的测试过程分为多个测试阶段;
步骤4.2,当所述待测试软件在任一测试阶段出现错误时,通过所述错误代码检测脚本对所述测试阶段的运行代码进行检测;
步骤4.3,获取所述测试阶段的错误代码。
5.根据权利要求4所述的测试方法,其特征在于,所述测试阶段包括:安装测试阶段、软件启动测试阶段、功能执行测试阶段、运行稳定性测试阶段、软件关闭测试阶段和卸载测试阶段,其中,所述功能执行测试阶段根据所述待测试软件待测试的功能数量分为对应数量的功能执行测试子阶段。
6.一种软件运行错误的测试系统,其特征在于,包括:
心跳包获取模块,用于获取测试终端发送的心跳包;
空闲状态判断模块,用于根据所述心跳包判断所述测试终端是否处于空闲状态;
待测试软件发送模块,用于当所述测试终端处于空闲状态时,向所述测试终端发送待测试软件和错误代码检测脚本;
错误代码获取模块,用于当所述待测试软件在运行过程中出现错误时,通过所述错误代码检测脚本获取错误代码。
7.根据权利要求6所述的测试系统,其特征在于,所述心跳包携带有所述测试终端的型号信息和系统版本信息。
8.根据权利要求7所述的测试系统,其特征在于,所述待测试软件发送模块具体包括:
终端信息获取单元,用于当所述测试终端处于空闲状态时,获取所述待测试软件,以及需进行测试的终端型号和系统版本号;
待测试软件发送单元,用于当所述终端型号与所述型号信息相同,且所述系统版本号与所述系统版本信息相同时,向所述测试终端发送待测试软件和错误代码检测脚本。
9.根据权利要求6至8中任一项所述的测试系统,其特征在于,所述错误代码获取模块具体包括:
测试阶段划分单元,用于将所述待测试软件的测试过程分为多个测试阶段;
错误代码检测单元,用于当所述待测试软件在任一测试阶段出现错误时,通过所述错误代码检测脚本对所述测试阶段的运行代码进行检测;
错误代码获取单元,用于获取所述测试阶段的错误代码。
10.根据权利要求9所述的测试系统,其特征在于,所述测试阶段包括:安装测试阶段、软件启动测试阶段、功能执行测试阶段、运行稳定性测试阶段、软件关闭测试阶段和卸载测试阶段,其中,所述功能执行测试阶段根据所述待测试软件待测试的功能数量分为对应数量的功能执行测试子阶段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710457047.4A CN107357720A (zh) | 2017-06-16 | 2017-06-16 | 一种软件运行错误的测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710457047.4A CN107357720A (zh) | 2017-06-16 | 2017-06-16 | 一种软件运行错误的测试方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107357720A true CN107357720A (zh) | 2017-11-17 |
Family
ID=60272775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710457047.4A Pending CN107357720A (zh) | 2017-06-16 | 2017-06-16 | 一种软件运行错误的测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107357720A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109561159A (zh) * | 2018-12-28 | 2019-04-02 | 厦门中控生物识别信息技术有限公司 | 一种基于Websocket长连接的数据处理方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08317057A (ja) * | 1995-05-22 | 1996-11-29 | Oki Electric Ind Co Ltd | 交換ソフトウェアの試験システムおよび試験方法 |
CN102750220A (zh) * | 2011-12-31 | 2012-10-24 | 中国信息安全测评中心 | 一种软件源代码安全缺陷分析的方法和装置 |
CN103377118A (zh) * | 2012-04-23 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 一种测试Flash引擎的方法及装置 |
CN104038381A (zh) * | 2013-03-07 | 2014-09-10 | 腾讯科技(深圳)有限公司 | 应用的云测试方法、系统、客户端及服务器 |
CN105117289A (zh) * | 2015-09-30 | 2015-12-02 | 北京奇虎科技有限公司 | 基于云测试平台的任务分配方法、装置及系统 |
CN106776270A (zh) * | 2016-11-11 | 2017-05-31 | 努比亚技术有限公司 | 一种代码检测方法、装置及终端 |
-
2017
- 2017-06-16 CN CN201710457047.4A patent/CN107357720A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08317057A (ja) * | 1995-05-22 | 1996-11-29 | Oki Electric Ind Co Ltd | 交換ソフトウェアの試験システムおよび試験方法 |
CN102750220A (zh) * | 2011-12-31 | 2012-10-24 | 中国信息安全测评中心 | 一种软件源代码安全缺陷分析的方法和装置 |
CN103377118A (zh) * | 2012-04-23 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 一种测试Flash引擎的方法及装置 |
CN104038381A (zh) * | 2013-03-07 | 2014-09-10 | 腾讯科技(深圳)有限公司 | 应用的云测试方法、系统、客户端及服务器 |
CN105117289A (zh) * | 2015-09-30 | 2015-12-02 | 北京奇虎科技有限公司 | 基于云测试平台的任务分配方法、装置及系统 |
CN106776270A (zh) * | 2016-11-11 | 2017-05-31 | 努比亚技术有限公司 | 一种代码检测方法、装置及终端 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109561159A (zh) * | 2018-12-28 | 2019-04-02 | 厦门中控生物识别信息技术有限公司 | 一种基于Websocket长连接的数据处理方法及系统 |
CN109561159B (zh) * | 2018-12-28 | 2021-08-31 | 厦门熵基生物识别信息技术有限公司 | 一种基于Websocket长连接的数据处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108563567B (zh) | 自动化测试方法、装置、设备及计算机可读存储介质 | |
CN102143523B (zh) | 基于业务递送平台的应用测试方法和业务递送平台 | |
CN101236523B (zh) | 输入法的测试方法和装置 | |
CN105425065A (zh) | 智能家电自动化生产测试的系统及方法 | |
CN105354118B (zh) | 智能终端的自动测试方法、装置及系统 | |
CN103488513B (zh) | 设备即插即用通用驱动方法 | |
CN105912340A (zh) | 一种主设备、遥控器及对其空中升级的方法 | |
CN104486169A (zh) | 可重用自动检测及随机验证系统和方法 | |
CN108228465A (zh) | 一种软件功能测试方法及装置 | |
CN109324962A (zh) | 一种基于云物联技术的应用程序的测试方法及设备 | |
CN103023708A (zh) | 通信协议接口的测试方法及系统 | |
CN103269291B (zh) | android平台上利用点对点射频设备进行ADB调试的方法 | |
CN106452978A (zh) | 一种通信异常的检测方法及装置 | |
CN107085554A (zh) | 一种添加控件标识的方法和装置 | |
CN103118172A (zh) | 一种移动终端sim卡兼容性测试方法及系统 | |
CN106648762A (zh) | 一种搭建开发环境的方法及装置 | |
CN105117340B (zh) | 用于iOS浏览器应用质量评估的URL检测方法和装置 | |
CN102707710A (zh) | 汽车电子控制单元诊断功能验证方法及系统 | |
CN105141484A (zh) | 基于云服务器的安卓设备远程调试方法 | |
CN106020898A (zh) | 一种多处理器设备的软件升级方法及系统 | |
CN107357720A (zh) | 一种软件运行错误的测试方法及系统 | |
CN103778058A (zh) | 基于ttcn-3的tetra数字集群空中接口测试方法及系统 | |
CN108964807B (zh) | 一种用于车载导航WiFi信号强度的测试系统及方法 | |
CN103546342B (zh) | 一种终端一致性测试方法及用于该方法的api接口通用适配器 | |
CN103023711B (zh) | 服务可靠性验证方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171117 |