CN103593290B - 一种测试软件稳定性的方法和装置 - Google Patents
一种测试软件稳定性的方法和装置 Download PDFInfo
- Publication number
- CN103593290B CN103593290B CN201310573509.0A CN201310573509A CN103593290B CN 103593290 B CN103593290 B CN 103593290B CN 201310573509 A CN201310573509 A CN 201310573509A CN 103593290 B CN103593290 B CN 103593290B
- Authority
- CN
- China
- Prior art keywords
- tested
- pixel
- software
- effective area
- mouse
- 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
本发明提供了一种测试软件稳定性的方法和装置。方法包括:获得待测试软件界面上的有效区域;在所述有效区域上进行暴力点击,获得所述待测试软件的稳定性指标。装置包括:获得模块和测试模块。本发明提供的方案,对待测试软件的所有暴力点击都是有效的暴力点击,大大去除了点击无效界面所浪费的时间,使得对软件稳定性的测试更加高效可靠。
Description
技术领域
本发明涉及软件测试领域,尤其涉及一种测试软件稳定性的方法和装置。
背景技术
软件的稳定性测试主要是为了测试软件的长期稳定运行能力,在软件运行过程中,对软件进行施压,获得软件的性能指标。稳定性测试是概率性的检测,就是说即使稳定性测试通过,也不能保证软件在实际的运行过程中不出问题,因此,如何提高测试的可靠性便成了急需解决的问题。
发明内容
本发明的目的在于提供一种测试软件稳定性的方法和装置。
为达到上述目的,一方面,本发明提供了一种测试软件稳定性的方法,包括:
获得待测试软件界面上的有效区域;
在所述有效区域上进行暴力点击,获得所述待测试软件的稳定性指标。
另一方面,本发明还提供了一种测试软件稳定性的装置,包括:
获得模块,用于获得待测试软件界面上的有效区域;
测试模块,用于在所述有效区域上进行暴力点击,获得所述待测试软件的稳定性指标。
本发明提供的方案,在对软件稳定性进行测试之前,首先获得待测试软件界面上的有效区域,对有效区域进行暴力点击,获得待测试软件的稳定值指标。使得对待测试软件的所有暴力点击都是有效的暴力点击,大大去除了点击无效界面所浪费的时间,使得对软件稳定性的测试更加高效可靠。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例一提供的测试软件稳定性的方法流程图;
图2为本发明实施例二提供的测试软件稳定性的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施例作详细描述。
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
图1为本发明实施例一提供的测试软件稳定性的方法流程图,如图1所示,该方法包括:
101、获得待测试软件界面上的有效区域;
软件界面上可以区分为有效区域和无效区域。有效区域的理解包括但不限于:软件界面上的视频控件、图像控件、按钮、复选框、列表框、上下文菜单、日期控件、编辑框、绘图控件、分组控件、图标、输入框、标签、菜单控件、进度条、滑动条、单选框、标签页、树形列表等等。
102、在有效区域上进行暴力点击,获得待测试软件的稳定性指标。
平均无故障时间(MeanTimeToFailure,简称为:MTTF)是目前使用最为广泛的一个衡量稳定性的参数。MTTF值可以理解为待测试软件在规定的环境下,正常工作到发生下一次故障的平均时间。
一种实施方式下,101中具体可以包括:
对于待测试软件界面上的第N个像素点,获得鼠标位于第N个像素点时第N个像素点的第一种界面状态,以及,鼠标不位于第N个像素点时第N个像素点的第二种界面状态;N为自然数;如果第一种界面状态与第二种界面状态不同,则第N个像素点属于有效区域。
不断变换N的数值,可以获得整个待测试软件界面上的全部有效区域。N的数值的变换,可以是规律的,例如从头到尾、从尾到头、逐行、逐列等等去遍历所有像素点,也可以是随机的,随机变换N的数值去遍历所有像素点。
对于这种实施方式需要说明的是,可以调用相应的API函数来获得像素点的界面状态,该函数可以如下所示:
winAPICOLORREFGetPixel(
_In_HDChdc,
_In_intnXPos,
_In_intnYPos
);
其中的hdc为设备环境句柄,nXPo为像素点的x坐标逻辑单位,nYPo为像素点的y坐标逻辑单位。
再一种实施方式下,101中具体可以包括:对于待测试软件界面上的第M个像素点,获得鼠标位于第M个像素点时的鼠标指针ID,M为自然数;如果鼠标指针ID不是默认ID,则第N个像素点属于有效区域。
不断变换M的数值,可以获得整个待测试软件界面上的全部有效区域。M的数值的变换,可以是规律的,例如从头到尾、从尾到头、逐行、逐列等等去遍历所有像素点,也可以是随机的,随机变换N的数值去遍历所有像素点。
对于这种实施方式需要说明的是,可以通过调用相应的函数来获得像素点的鼠标指针ID,该函数如下所示:
调用MouseGetCursor()函数,返回的指针ID编号的含义分别为:
0=UNKNOWN(未知,包括指针和手型图标)
1=APPSTARTING(后台运行)
2=ARROW(正常选择)
3=CROSS(精确定位)
4=HELP(帮助选择)
5=IBEAM(选定文本)
6=ICON(图标)
7=NO(不可用)
8=SIZE(设置大小)
9=SIZEALL(移动)
10=SIZENESW(东北西南沿对角线调整)
11=SIZENS(垂直调整)
12=SIZENWSE(西北东南沿对角线调整)
13=SIZEWE(水平调整)
14=UPARROW(候选)
15=WAIT(忙碌)
16=HAND(手型)
其中,将指针ID编号2作为默认ID。
进一步的,该方法还可以包括:
对待测试软件的性能指标进行监控,如果监控到性能指标超过预设阀值,抓取事件痕迹日志,事件痕迹日志用于对待测试软件的性能进行分析;该性能指标包括如下指标的一种或多种:中央处理器CPU、内存、虚存、句柄、线程、输入输出(InputOutput,简称为:IO)读次数、IO读大小、IO写次数、IO写大小。
本发明提供的方案,在对软件稳定性进行测试之前,首先获得待测试软件界面上的有效区域,对有效区域进行暴力点击,获得待测试软件的稳定值指标。使得对待测试软件的所有暴力点击都是有效的暴力点击,大大去除了点击无效界面所浪费的时间,使得对软件稳定性的测试更加高效可靠。进一步的,在对稳定性进行测试的同时,还可以获得待测试软件的性能指标,对待测试软件给出更为全面并且准确的评价。图2为本发明实施例二提供的测试软件稳定性的装置结构示意图,该装置为上述方法的执行主体,流程可参考上述方法实施例,此处不做赘述。参见图2,该装置可以包括:获得模块201和测试模块202。其中,获得模块201用于获得待测试软件界面上的有效区域;测试模块202用于在所述有效区域上进行暴力点击,获得所述待测试软件的稳定性指标。
一种实施方式下,获得模块201可以包括:
第一获得单元,用于对于所述待测试软件界面上的第N个像素点,获得鼠标位于所述第N个像素点时所述第N个像素点的第一种界面状态,以及,鼠标不位于所述第N个像素点时所述第N个像素点的第二种界面状态;N为自然数;
第一确定单元,用于如果所述获得模块获得的第一种界面状态与第二种界面状态不同,则确定所述第N个像素点属于有效区域。
又一种实施方式下,获得模块201可以包括:
第二获得单元,用于对于所述待测试软件界面上的第M个像素点,获得鼠标位于所述第M个像素点时的鼠标指针ID,M为自然数;
第二确定单元,用于如果所述鼠标指针ID不是默认ID,则确定所述第N个像素点属于有效区域。
还一种实施方式下,该装置还可以包括:
监控模块,用于对所述待测试软件的性能指标进行监控,如果监控到所述性能指标超过预设阀值,抓取事件痕迹日志,所述事件痕迹日志用于对所述待测试软件的性能进行分析;所述性能指标包括如下指标的一种或多种:CPU、内存、虚存、句柄、线程、IO读次数、IO读大小、IO写次数、IO写大小。
本发明提供的方案,在对软件稳定性进行测试之前,首先获得待测试软件界面上的有效区域,对有效区域进行暴力点击,获得待测试软件的稳定值指标。使得对待测试软件的所有暴力点击都是有效的暴力点击,大大去除了点击无效界面所浪费的时间,使得对软件稳定性的测试更加高效可靠。进一步的,在对稳定性进行测试的同时,还可以获得待测试软件的性能指标,对待测试软件给出更为全面并且准确的评价。
还需要说明的是,本发明提供的方法可以实施为计算机程序软件,例如根据本发明的实施例可以是一种计算机程序产品,运行该程序产品使计算机执行用于所示范的方法。所述计算机程序产品包括计算机可读存储介质,该介质上包含计算机程序逻辑或代码部分,用于实现所述移动终端的消息的内容的处理方法。所述计算机可读存储介质可以是被安装在计算机中的内置介质或者可从计算机主体拆卸的可移动介质(例如热拔插技术存储设备)。所述内置介质包括但不限于可重写的非易失性存储器,例如RAM、ROM、快闪存储器和硬盘。所述可移动介质包括但不限于:光存储媒体(例如CD-ROM和DVD)、磁光存储媒体(例如MO)、磁存储媒体(例如盒带或移动硬盘)、具有内置的可重写的非易失性存储器的媒体(例如存储卡)和具有内置ROM的媒体(例如ROM盒)。
本领域技术人员应当理解,任何具有适当编程装置的计算机系统都将能够执行包含在程序产品中的本发明的方法的诸步骤。尽管本说明书中描述的多数具体实施方式都侧重于软件程序,但是作为固件和硬件实现本发明提供的方法的替代实施例同样在本发明要求保护的范围之内。
以上所揭露的仅为本发明的一些较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (4)
1.一种测试软件稳定性的方法,其特征在于,包括:
获得待测试软件界面上的有效区域;
在所述有效区域上进行暴力点击,获得所述待测试软件的稳定性指标;
所述获得待测试软件界面上的有效区域,包括:
对于所述待测试软件界面上的第N个像素点,获得鼠标位于所述第N个像素点时所述第N个像素点的第一种界面状态,以及,鼠标不位于所述第N个像素点时所述第N个像素点的第二种界面状态;N为自然数;
如果所述第一种界面状态与第二种界面状态不同,则所述第N个像素点属于有效区域;
或者,所述获得待测试软件界面上的有效区域,包括:
对于所述待测试软件界面上的第M个像素点,获得鼠标位于所述第M个像素点时的鼠标指针ID,M为自然数;
如果所述鼠标指针ID不是默认ID,则所述第M个像素点属于有效区域。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述待测试软件的性能指标进行监控,如果监控到所述性能指标超过预设阀值,抓取事件痕迹日志,所述事件痕迹日志用于对所述待测试软件的性能进行分析;所述性能指标包括如下指标的一种或多种:CPU、内存、虚存、句柄、线程、IO读次数、IO读大小、IO写次数、IO写大小。
3.一种测试软件稳定性的装置,其特征在于,包括:
获得模块,用于获得待测试软件界面上的有效区域;
测试模块,用于在所述有效区域上进行暴力点击,获得所述待测试软件的稳定性指标;
所述获得模块包括:
第一获得单元,用于对于所述待测试软件界面上的第N个像素点,获得鼠标位于所述第N个像素点时所述第N个像素点的第一种界面状态,以及,鼠标不位于所述第N个像素点时所述第N个像素点的第二种界面状态;N为自然数;
第一确定单元,用于如果所述获得模块获得的第一种界面状态与第二种界面状态不同,则确定所述第N个像素点属于有效区域;
或者,所述获得模块包括:
第二获得单元,用于对于所述待测试软件界面上的第M个像素点,获得鼠标位于所述第M个像素点时的鼠标指针ID,M为自然数;
第二确定单元,用于如果所述鼠标指针ID不是默认ID,则确定所述第M个像素点属于有效区域。
4.根据权利要求3所述的装置,其特征在于,所述装置还包括:
监控模块,用于对所述待测试软件的性能指标进行监控,如果监控到所述性能指标超过预设阀值,抓取事件痕迹日志,所述事件痕迹日志用于对所述待测试软件的性能进行分析;所述性能指标包括如下指标的一种或多种:CPU、内存、虚存、句柄、线程、IO读次数、IO读大小、IO写次数、IO写大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310573509.0A CN103593290B (zh) | 2013-11-13 | 2013-11-13 | 一种测试软件稳定性的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310573509.0A CN103593290B (zh) | 2013-11-13 | 2013-11-13 | 一种测试软件稳定性的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103593290A CN103593290A (zh) | 2014-02-19 |
CN103593290B true CN103593290B (zh) | 2016-06-01 |
Family
ID=50083441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310573509.0A Active CN103593290B (zh) | 2013-11-13 | 2013-11-13 | 一种测试软件稳定性的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103593290B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317699A (zh) * | 2014-07-24 | 2015-01-28 | 小米科技有限责任公司 | 应用程序审核方法及装置 |
CN105975383A (zh) * | 2015-09-28 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种日志信息的处理方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950270A (zh) * | 2010-09-28 | 2011-01-19 | 电子科技大学 | 一种针对软件界面安全缺陷的检测方法 |
CN102508675A (zh) * | 2011-12-28 | 2012-06-20 | Tcl集团股份有限公司 | 基于android平台鼠标移动的响应处理方法及装置 |
CN103136100A (zh) * | 2011-12-02 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 一种Android测试的方法和系统 |
CN103164300A (zh) * | 2011-12-13 | 2013-06-19 | 腾讯科技(深圳)有限公司 | 一种移动终端触摸屏自动测试方法及装置 |
CN103309802A (zh) * | 2012-03-16 | 2013-09-18 | 百度在线网络技术(北京)有限公司 | 一种移动终端中系统稳定性测试的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201321968A (zh) * | 2011-11-29 | 2013-06-01 | Askey Technology Jiangsu Ltd | 手持式電子裝置應用程式的測試方法 |
-
2013
- 2013-11-13 CN CN201310573509.0A patent/CN103593290B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950270A (zh) * | 2010-09-28 | 2011-01-19 | 电子科技大学 | 一种针对软件界面安全缺陷的检测方法 |
CN103136100A (zh) * | 2011-12-02 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 一种Android测试的方法和系统 |
CN103164300A (zh) * | 2011-12-13 | 2013-06-19 | 腾讯科技(深圳)有限公司 | 一种移动终端触摸屏自动测试方法及装置 |
CN102508675A (zh) * | 2011-12-28 | 2012-06-20 | Tcl集团股份有限公司 | 基于android平台鼠标移动的响应处理方法及装置 |
CN103309802A (zh) * | 2012-03-16 | 2013-09-18 | 百度在线网络技术(北京)有限公司 | 一种移动终端中系统稳定性测试的方法及装置 |
Non-Patent Citations (1)
Title |
---|
"软件稳定性测试研究及实践";崔岩等;《信息技术与标准化》;20130731(第7期);第61页引言第2段,第62页"(4)对应用平台的影响",第68页左栏第1-3段及图1,3 * |
Also Published As
Publication number | Publication date |
---|---|
CN103593290A (zh) | 2014-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10606731B2 (en) | Code component debugging in an application program | |
CN107506300B (zh) | 一种用户界面测试方法、装置、服务器和存储介质 | |
CN109086203B (zh) | 页面的检测方法和装置 | |
CN104424094A (zh) | 一种异常信息获取方法、装置及智能终端设备 | |
US9619367B1 (en) | Object monitoring in code debugging | |
CN103578568A (zh) | 固态硬盘的性能测试方法及装置 | |
CN108777158B (zh) | 测试固态硬盘Trim性能的方法、装置及计算机设备 | |
US9817909B1 (en) | Accessing information from a firmware using two-dimensional barcodes | |
CN104035863A (zh) | 一种浏览器测试方法及装置 | |
CN103902454A (zh) | 一种软件故障的定位方法和装置 | |
CN110597704B (zh) | 应用程序的压力测试方法、装置、服务器和介质 | |
WO2019218464A1 (zh) | 一种应用程序测试方法、装置、移动终端及介质 | |
CN103778056A (zh) | 无线应用稳定性测试方法及系统 | |
CN115145777B (zh) | 一种测试方法、系统、装置及存储介质 | |
CN113835643B (zh) | 数据存储方法、装置、电子设备及可读存储介质 | |
CN104115097A (zh) | 触摸屏装置的自动化感知质量评估 | |
CN111026400A (zh) | 业务数据流的解析方法及其装置 | |
CN108520063B (zh) | 事件日志的处理方法、装置及终端设备 | |
CN103593290B (zh) | 一种测试软件稳定性的方法和装置 | |
CN114356218A (zh) | Flash存储器的数据纠错方法、设备以及介质 | |
CN108021478B (zh) | 一种图形处理器鲁棒性测试方法 | |
US9165007B2 (en) | Log message optimization to ignore or identify redundant log messages | |
CN114995674B (zh) | 边缘误触的检测方法、电子设备和计算机可读存储介质 | |
US8803808B1 (en) | Keyboard event detection and network event generation | |
CN111274143B (zh) | 埋点测试方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190809 Address after: 100085 Beijing, Haidian District, No. ten on the ground floor, No. 10 Baidu building, layer 2 Patentee after: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd. Address before: 100091 Beijing, Haidian District, northeast Wang West Road, No. 4, Zhongguancun Software Park, building C, block, 1-03 Patentee before: Pacify a Heng Tong (Beijing) Science and Technology Ltd. |