对计算机程序进行测试的方法和设备.pdf

上传人:54 文档编号:1312842 上传时间:2018-04-14 格式:PDF 页数:16 大小:2.64MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210266218.2

申请日:

2012.07.30

公开号:

CN103577314A

公开日:

2014.02.12

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 11/36申请日:20120730|||公开

IPC分类号:

G06F11/36

主分类号:

G06F11/36

申请人:

国际商业机器公司

发明人:

宋强; 黄朝源; 江威德

地址:

美国纽约

优先权:

专利代理机构:

北京市中咨律师事务所 11247

代理人:

于静;张亚非

PDF下载: PDF下载
内容摘要

本发明实施例提供了一种用于对计算机程序进行测试的方法和设备。所述方法包括:获取所述计算机程序的图形用户界面GUI中字符区域的第一显示数据;缩小与所述字符区域关联的原始字符串的显示尺寸设置;获取刷新后的GUI中字符区域的第二显示数据;以及在所述第一显示数据和第二显示数据除字符的实际显示尺寸以外存在其他不同的情况下,生成指示字符截断的消息。采用本发明实施例提供的技术方案可以自动地检测GUI中存在的字符截断。

权利要求书

1.  一种对计算机程序进行测试的方法,所述方法包括:
获取所述计算机程序的图形用户界面GUI中字符区域的第一显示数据;
缩小与所述字符区域关联的原始字符串的显示尺寸设置;
获取刷新后的GUI中字符区域的第二显示数据;以及,
在所述第一显示数据和第二显示数据除字符的实际显示尺寸以外存在其他不同的情况下,生成指示字符截断的消息。

2.
  如权利要求1所述的方法,其中所述在所述第一显示数据和第二显示数据除字符的实际显示尺寸以外存在其他不同的情况下生成指示字符截断的消息包括:
根据所述第一显示数据,识别所述字符区域中的第一已显示字符串;
根据所述第二显示数据,识别所述字符区域中的第二已显示字符串;以及,
在所述第一已显示字符串和所述第二已显示字符串的字符个数不同的情况下,生成指示字符截断的消息。

3.
  如权利要求2所述的方法,进一步包括:
在所述第一已显示字符串和所述第二已显示字符串的字符个数相同的情况下,进一步判断第一已显示字符串和第二已显示字符串是否相同,如果不同则生成指示文字截断的消息。

4.
  如权利要求1所述的方法,其中所述在所述第一显示数据和第二显示数据除字符的实际显示尺寸以外存在其他不同的情况下生成指示字符截断的消息包括:
根据所述第一显示数据,获取第一字符显示数据;
根据所述第二显示数据,获取第二字符显示数据;以及
在所述第一字符显示数据中的字符部分和第二字符显示数据中的字符部分具有不同的宽高比的情况下,生成指示字符截断的消息。

5.
  如权利要求1至3中任意一项所述的方法,其中通过减小原始字符串的显示尺寸设置,使得所述第一已显示字符串的实际显示尺寸的水平减小量之和大于第一已显示字符串中字符的水平间距。

6.
  如权利要求1至3中任意一项所述的方法,其中通过减小原始字符串的显示尺寸设置,使得所述第一已显示字符串的实际显示尺寸的水平减小量之和大于第一已显示字符串中字符的水平间距加上空格的实际显示尺寸。

7.
  如权利要求1至3中任意一项所述的方法,其中通过减小原始字符串的显示尺寸设置,使得字符的实际显示尺寸为字符识别软件所能处理的最小尺寸。

8.
  一种对计算机程序进行测试的设备,所述设备包括:
第一获取装置,配置为获取所述计算机程序的图形用户界面GUI中字符区域的第一显示数据;
显示尺寸设置装置,配置为缩小与所述字符区域关联的原始字符串的显示尺寸设置;
第二获取装置,配置为获取刷新后的GUI中字符区域的第二显示数据;以及,
字符截断检测装置,配置为在所述第一显示数据和第二显示数据除字符的实际显示尺寸以外存在其他不同的情况下,生成指示字符截断的消息。

9.
  如权利要求8所述的设备,其中所述字符截断检测装置包括:
第一识别装置,配置为根据所述第一显示数据,识别所述字符区域中的第一已显示字符串;
第二识别装置,配置为根据所述第二显示数据,识别所述字符区域中的第二已显示字符串;以及,
字符个数比较装置,配置为在所述第一已显示字符串和所述第二已显示字符串的字符个数不同的情况下,生成指示字符截断的消息。

10.
  如权利要求9所述的设备,进一步包括:
字符串比较装置,在所述第一已显示字符串和所述第二已显示字 符串的字符个数相同的情况下,进一步判断第一已显示字符串和第二已显示字符串是否相同,如果不同则生成指示文字截断的消息。

11.
  如权利要求8所述的设备,其中所述字符截断检测装置包括:
第三获取装置,配置为根据所述第一显示数据,获取第一字符显示数据;
第四获取装置,配置为根据所述第二显示数据,获取第二字符显示数据;以及
宽高比比较装置,配置为在所述第一字符显示数据中的字符部分和第二字符显示数据中的字符部分具有不同的宽高比的情况下,生成指示字符截断的消息。

12.
  如权利要求8至10中任意一项所述的设备,其中通过减小原始字符串的显示尺寸设置,使得所述第一已显示字符串的实际显示尺寸的水平减小量之和大于第一已显示字符串中字符的水平间距。

13.
  如权利要求8至10中任意一项所述的设备,其中通过减小原始字符串的显示尺寸设置,使得所述第一已显示字符串的实际显示尺寸的水平减小量之和大于第一已显示字符串中字符的水平间距加上空格的实际显示尺寸。

14.
  如权利要求8至10中任意一项所述的设备,其中通过减小原始字符串的显示尺寸设置,使得字符的实际显示尺寸为字符识别软件所能处理的最小尺寸。

说明书

对计算机程序进行测试的方法和设备
技术领域
本发明总体上涉及数据处理领域,特别地,涉及对计算机程序进行测试的方法和设备。
背景技术
在对计算机程序进行测试的过程中,图形用户界面(Graphic User Interface,GUI)测试是一个重要的部分。GUI测试可以发现计算机程序的GUI中可能导致用户误操作或操作不方便的问题。一种典型的此类问题是字符截断。GUI中可能包括许多字符区域,以便指示用户进行操作。字符区域在计算机程序中的表示就是可视对象以及与所述可视对象关联的字符串。在计算机程序的开发过程中,可能忽略了字符串的显示尺寸设置与可视对象的显示尺寸设置之间的匹配。在将计算机程序从一种语言翻译到另一种语言的过程中,字符串的实际显示尺寸可能发生变化。这些原因都有可能造成字符截断。字符截断使得某些字符在GUI上变得不可见,从而无法有效地指导用户的操作。
为了在GUI测试中判断一个字符区域是否发生字符截断,需要首先获取该字符区域对应的可视对象,并获取与所述可视对象关联的字符串,然后对比与该可视对象关联的字符串以及GUI所显示的字符串是否相同。与可视对象关联的字符串必须要通过查看计算机程序的源代码才能获得。在一个计算机程序的GUI中,往往有大量的可视对象。针对这些可视对象逐个查看源代码是不现实的。因此,需要一种方案能够自动地发现字符截断问题。
发明内容
本发明实施例提供了对计算机程序进行测试的方法和设备。
根据本发明实施例的对计算机程序进行测试的方法包括:获取所述计算机程序的图形用户界面GUI中字符区域的第一显示数据;缩小与所述字符区域关联的原始字符串的显示尺寸设置;获取刷新后的GUI中字符区域的第二显示数据;以及,在所述第一显示数据和第二显示数据除字符的实际显示尺寸以外存在其他不同的情况下,生成指示字符截断的消息。
根据本发明实施例的对计算机程序进行测试的设备包括:第一获取装置,配置为获取所述计算机程序的图形用户界面GUI中字符区域的第一显示数据;显示尺寸设置装置,配置为缩小与所述字符区域关联的原始字符串的显示尺寸设置;第二获取装置,配置为获取刷新后的GUI中字符区域的第二显示数据;以及,字符截断检测装置,配置为在所述第一显示数据和第二显示数据除字符的实际显示尺寸以外存在其他不同的情况下,生成指示字符截断的消息。
利用本发明的方法和设备,可以自动地检测GUI中存在的至少一种类型的字符截断。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1是适于用来实现本发明实施方式的示例性计算系统100的框图。
图2是字符截断的示意图。
图3是根据本发明实施例的用于检测字符截断的方法的流程图。
图4是根据本发明实施例的用于检测字符截断的方法的流程图。
图5示出了检测字符截断的示意图。
图6是根据本发明实施例的用于检测字符截断的方法的流程图。
图7示出了检测字符截断的示意图。
图8是根据本发明实施例的用于检测字符截断的方法的流程图。
图9示出了检测字符截断的示意图。
图10是根据本发明实施例的用于检测字符截断的设备的方框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算系统100的框图。如图1所示,计算机系统100可以包括:CPU(中央处理单元)101、RAM(随机存取存储器)102、ROM(只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器18、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和显示器114。在这些设备中,与系统总线104耦合的有CPU 101、RAM 102、ROM 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图1所述的结构框图仅仅是为了示例的目的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况增加或减少某些设备。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读 介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计 算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图2是字符截断的示意图。虽然在图2以及后续的其他附图中以英文字母作为所述字符的示例,但是本发明实施例所提供的方法可以用于其他各种字符,包括但不限于中文字符。
如图2所示,通过查看计算机程序的源代码,可以知道该可视对象关联的字符串是Hello World。在后面的描述中,将计算机程序的源代码中为可视对象关联的字符串称为原始字符串。水平截断指的是由于可视对象的实际显示尺寸的宽度不足,导致原始字符串末尾的字符无法正常显示。例如,在完全水平截断的情况下,字符d完全没有显示在GUI上。在部分水平截断的情况下,字符d的一部分没有显示在 GUI上。竖直截断指的是由于可视对象的实际显示尺寸的高度不够,导致高度大于一定程度的部分或全部字符无法正常显示。在仅存在竖直截断的情况下,所显示的字符的个数通常并不会发生变化。
图3是根据本发明实施例的检测字符截断的方法的示意图。需要注意的是,本发明并非意图解决针对上述所有类型的字符截断的检测。本发明的一些实施例可能在检测完全水平截断时具有较好的性能,而其他一些实施例可能在检测部分水平截断或竖直截断时具有较好的性能。
步骤301,获取计算机程序的GUI中字符区域的第一显示数据。
如前所述,GUI中的字符数据在计算机程序中对应于至少一个可视对象和与所述至少一个可视对象关联的原始字符串。一般来说,可视对象的属性包括该可视对象的坐标。因此可以通过所述坐标来确定字符区域在GUI中的位置。
作为替换地,可以由测试人员指定字符区域的位置。例如,在GUI显示在计算机系统的显示设备上后,测试人员可以利用诸如鼠标、键盘的输入设备来指定字符区域的位置。
在确定了字符区域的位置后,就可以获取所述字符区域的显示数据。例如可以通过拷屏的方法来获取所述显示数据。
步骤302,缩小与所述字符区域关联的原始字符串的显示尺寸设置。
本领域技术人员可以容易地缩小原始字符串的显示尺寸设置。例如,可以在计算机程序的代码中减小原始字符串的字号,也可以在计算机程序的代码中取消原始字符串的黑体显示。这样,在GUI界面被刷新以后,与所述字符区域关联的字符串将以较小的实际显示尺寸在字符区域中显示。
步骤303,获取刷新后的GUI中字符区域的第二显示数据。
该步骤与步骤301类似,在此不再赘述。
步骤304,在所述第一显示数据和第二显示数据除字符的实际显示尺寸以外存在其他不同的情况下,生成指示字符截断的消息。
由于在步骤302中调整了原始字符串的显示尺寸设置,因此第一显示数据和第二显示数据在字符的实际显示尺寸方面必然是不同的。根据本发明实施例,如果在字符的实际显示尺寸之外还存在其他的不同,则认为发生了字符截断。
下面分别针对完全水平截断、部分水平截断和竖直截断来具体描述如何判断第一显示数据和第二显示数据是否存在所述其他不同。
对于完全水平截断的情况,步骤304的具体实施如图4所示。
步骤401,根据所述第一显示数据,识别所述字符区域中的第一已显示字符串。
本领域已经有许多方法来进行字符识别,在此不再赘述。
步骤402,根据所述第二显示数据,识别所述字符区域中的第二已显示字符串。
步骤403,在所述第一已显示字符串和所述第二已显示字符串的字符个数不同的情况下,生成指示字符截断的消息。
在完全水平截断的情况下,由于可视对象的实际显示尺寸的宽度不足,导致原始字符串末尾的一部分字符无法显示,这一部分字符称为未显示字符串。缩小原始字符串的显示尺寸设置,可以使得未显示字符串中至少第一个字符的至少一部分就会出现在字符区域中。这样在缩小显示尺寸设置前后所得到的已显示字符串中字符的数目就会有所不同。
图5A-图5C示出根据图4所示的方法检测字符截断的示意图。原始字符串是Hello。
假设初始的字体大小是24,在步骤301中所取得的显示数据如图5A所示。在步骤302中,通过将字体大小设置为18,来缩小原始字符串的显示尺寸设置。在步骤303中,所取得的显示数据如图5B所示。相应地,在步骤401中所识别出的第一已显示字符串为Hell,字符数为4;在步骤402中所识别出的第二已显示字符串为Hello,字符数目为5。第一已显示字符串和第二已显示字符串的字符数目不同,则认为发生了字符截断。
假设初始的字体大小是20,在步骤301中所取得的显示数据如图5C所示。在步骤302中,通过将字体大小设置为18,来缩小原始字符串的显示尺寸设置。在步骤303中,所取得的显示数据如图5B所示。相应地,在步骤401中所识别出的第一已显示字符串为Hello,字符数为5;在步骤402中所识别出的第二已显示字符串为Hello,字符数目也为5。第一已显示字符串和第二已显示字符串的字符数目相同,则认为没有发生字符截断。
图6是根据本发明另一实施例的步骤304的具体实现。其中,步骤601到步骤603与步骤401到步骤403相同,在此不再赘述。
步骤604,在所述第一已显示字符串和所述第二已显示字符串的字符个数相同的情况下,进一步判断第一已显示字符串和第二已显示字符串是否相同,如果不同则生成指示文字截断的消息。
参考图7A和图7B。原始字符串仍然是Hello。
假设初始的字体大小是22,在步骤301中所取得的显示数据如图7A所示。在步骤302中,通过将字体大小设置为18,来缩小原始字符串的显示尺寸设置。在步骤303中,所取得的显示数据如图7B所示。相应地,在步骤601中所识别出的第一已显示字符串可能是Hellc,字符数为5。则在步骤602中所识别出的第二已显示字符串为Hello,字符数目为5。因此第一已显示字符串和第二已显示字符串的字符数目相同。
图7A实际上是部分水平截断的情况,即字符o的一部分显示在GUI中。字符识别软件可能将所显示的o的一部分识别为c。相应地,第一已显示字符串和第二已显示字符串的字符数目相同。
因此,在第一已显示字符串和第二已显示字符串的字符数目相同的情况下,可以进一步判断第一已显示字符串和第二已显示字符串的本身是否相同以便检测部分水平截断。
假设初始的字体大小是20,在步骤301中所取得的显示数据如图7C所示。在步骤302中,通过将字体大小设置为18,来缩小原始字符串的显示尺寸设置。在步骤303中,所取得的显示数据仍然如图7B 所示。相应地,在步骤601中所识别出的第一已显示字符串是Hello,字符数为5。在步骤602中所识别出的第二已显示字符串为Hello,字符数目为5。因此第一已显示字符串和第二已显示字符串的字符数目相同,并且第一已显示字符串和第二已显示字符串本身相同,从而确定没有发生截断。
根据本发明的一个实施例,可以只比较第一已显示字符串和第一已显示字符串的最后一个字符。这样可以节省用于进行字符比较的计算机资源。
图6所示的方法对竖直截断也同样适用。这是因为,在竖直截断的情况下,虽然已显示字符串的字符个数不会发生变化,但是在调整原始字符串的显示尺寸设置前后,已显示字符串的某些字符在截断程度上有所变化。对于截断程度不同的同一个字符,字符识别软件可能将其识别为不同的字符。例如对于图2中竖直截断情况下的字符“d”,字符识别软件可能将其识别为字符“o”或“a”。因此,对第一已显示字符串和第二已显示字符串本身进行比较,也可以检测竖直截断。
根据本发明的一个实施例,在步骤302中,通过减小原始字符串的显示尺寸设置,使得第一已显示字符串的实际显示尺寸的水平减小量之和大于第一已显示字符串中字符的水平间距。在第一已显示字符串的实际显示尺寸的水平减小量之和大于第一已显示字符串中字符的水平间距的情况下,可以确保未显示字符串中的至少一个的至少一部分在刷新后的GUI中显示在字符区域中。本领域技术人员可以理解,已显示字符串中字符的个数越多,则已显示字符串的实际显示尺寸的水平减小量之和就越大。
根据本发明的另一个实施例,在步骤302中,通过减小原始字符串的显示尺寸设置,使得所述第一已显示字符串的实际显示尺寸的水平减小量之和大于第一已显示字符串中字符的水平间距加上空格的实际显示尺寸。这是因为未显示字符串中的第一个字符和第一已显示字符串中的最后一个字符可能分属不同的单词。
根据本发明的在一个实施例,在步骤302中,通过减小原始字符 串的显示尺寸设置,使得字符的实际显示尺寸为字符识别软件所能处理的最小尺寸。
本领域技术人员根据字符特点,还可以设计出其他的标准来确定原始字符串的显示尺寸设置的缩小程度。
下面接合图8描述根据本发明再一实施例的步骤304的具体实现。
步骤801,根据所述第一显示数据,获取第一字符显示数据。
步骤801与步骤401的区别在于,步骤801不需要进行字符识别,只需要获取字符的显示数据即可。一般来说,根据原始字符串的显示尺寸设置,字符的宽度是在一定范围内变化的。因此,根据本发明一个实施例,可以截取字符区域中的这样一块区域的显示数据作为所述第一字符显示数据:从字符区域的左侧或右侧边缘开始,高度为字符区域的高度,宽度为所述范围内的任意一个预先设定的值。所述预先设定的值例如可以是所述范围的中值或均值。
根据本发明另外一个实施例,也可以不预先设置所述宽度,而是根据所述第一显示数据动态地确定所述宽度。例如,字符识别技术往往包括两个步骤:第一步是确定需要对哪部分显示数据进行识别,也就是确定哪部分显示数据是表示单个字符的字符显示数据;第二步是对所述字符显示数据进行模式识别,以便确定所述字符显示数据所对应的字符。可以利用所述第一步来确定所述宽度。
步骤802,根据所述第二显示数据,获取第二字符显示数据。
该步骤与步骤801类似。
步骤803,在所述第一字符显示数据中的字符部分和第二字符显示数据中的字符部分具有不同的宽高比的情况下,生成指示字符截断的消息。
如果未发生竖直截断,则在缩小原始字符串的显示尺寸设置前后,字符显示数据的高度和宽度发生相同比例的变化,则字符显示数据的宽高比不发生变化。
如果发生了竖直截断,则字符在垂直方向上有一部分无法显示, 但是在水平方向上能够完全显示。在缩小原始字符串的显示尺寸设置之后,原先无法显示的所述部分变为能够显示,使得字符显示数据的高度发生的变化超过与宽度变化比例相同的变化。相应地,字符显示数据的宽高比发生变化。
图9A-图9C示出根据图8所示的方法检测字符截断的示意图。
假设初始的字体大小是24,在步骤801中所取得的第一字符显示数据如图9A所示,该字符显示数据的宽度为460,高度为500,宽高比为0.92。在步骤302中,通过将字体大小设置为18,来缩小原始字符串的显示尺寸设置。在步骤402中,所取得的第二字符显示数据如图9B所示,该字符显示数据的宽度为422,高度为434,宽高比为0.97。在改变原始字符串的显示尺寸设置前后,第一字符显示数据和第二字符显示数据的宽高比发生了变化,则确定发生了字符截断。
假设初始的字体大小是20,在步骤801中所取得的第一字符显示数据如图9C所示,该字符显示数据的宽度为468,高度为481,宽高比为0.97。在步骤302中,通过将字体大小设置为18,来缩小原始字符串的显示尺寸设置。在步骤802中,所取得的第二字符显示数据也如图9B所示,该字符显示数据的宽度为422,高度为434,宽高比为0.97。在改变原始字符串的显示尺寸设置前后,第一字符显示数据和第二字符显示数据的宽高比未发生变化,则确定未发生字符截断。
图10是根据本发明实施例的用于对计算机程序进行测试的设备的方框图。
所述设备包括:
第一获取装置,配置为获取GUI中字符区域的第一显示数据;
显示尺寸设置装置,配置为缩小与所述字符区域关联的原始字符串的显示尺寸设置;
第二获取装置,配置为获取刷新后的GUI中字符区域的第二显示数据;以及,
字符截断检测装置,配置为在所述第一显示数据和第二显示数据除字符的实际显示尺寸以外存在其他不同的情况下,生成指示字符截 断的消息。
所述字符截断检测装置包括:
第一识别装置,配置为根据所述第一显示数据,识别所述字符区域中的第一已显示字符串;
第二识别装置,配置为根据所述第二显示数据,识别所述字符区域中的第二已显示字符串;以及,
字符个数比较装置,配置为在所述第一已显示字符串和所述第二已显示字符串的字符个数不同的情况下,生成指示字符截断的消息。
所述字符截断检测装置进一步包括:
字符串比较装置,在所述第一已显示字符串和所述第二已显示字符串的字符个数相同的情况下,进一步判断第一已显示字符串和第二已显示字符串是否相同,如果不同则生成指示文字截断的消息。
所述字符截断检测装置包括:
第三获取装置,配置为根据所述第一显示数据,获取第一字符显示数据;
第四获取装置,配置为根据所述第二显示数据,获取第二字符显示数据;以及
宽高比比较装置,配置为在所述第一字符显示数据中的字符部分和第二字符显示数据中的字符部分具有不同的宽高比的情况下,生成指示字符截断的消息。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以 用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

对计算机程序进行测试的方法和设备.pdf_第1页
第1页 / 共16页
对计算机程序进行测试的方法和设备.pdf_第2页
第2页 / 共16页
对计算机程序进行测试的方法和设备.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《对计算机程序进行测试的方法和设备.pdf》由会员分享,可在线阅读,更多相关《对计算机程序进行测试的方法和设备.pdf(16页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN103577314A43申请公布日20140212CN103577314A21申请号201210266218222申请日20120730G06F11/3620060171申请人国际商业机器公司地址美国纽约72发明人宋强黄朝源江威德74专利代理机构北京市中咨律师事务所11247代理人于静张亚非54发明名称对计算机程序进行测试的方法和设备57摘要本发明实施例提供了一种用于对计算机程序进行测试的方法和设备。所述方法包括获取所述计算机程序的图形用户界面GUI中字符区域的第一显示数据;缩小与所述字符区域关联的原始字符串的显示尺寸设置;获取刷新后的GUI中字符区域的第二显示数据;以及在所。

2、述第一显示数据和第二显示数据除字符的实际显示尺寸以外存在其他不同的情况下,生成指示字符截断的消息。采用本发明实施例提供的技术方案可以自动地检测GUI中存在的字符截断。51INTCL权利要求书2页说明书8页附图5页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书8页附图5页10申请公布号CN103577314ACN103577314A1/2页21一种对计算机程序进行测试的方法,所述方法包括获取所述计算机程序的图形用户界面GUI中字符区域的第一显示数据;缩小与所述字符区域关联的原始字符串的显示尺寸设置;获取刷新后的GUI中字符区域的第二显示数据;以及,在所述第一显示数据和第二显。

3、示数据除字符的实际显示尺寸以外存在其他不同的情况下,生成指示字符截断的消息。2如权利要求1所述的方法,其中所述在所述第一显示数据和第二显示数据除字符的实际显示尺寸以外存在其他不同的情况下生成指示字符截断的消息包括根据所述第一显示数据,识别所述字符区域中的第一已显示字符串;根据所述第二显示数据,识别所述字符区域中的第二已显示字符串;以及,在所述第一已显示字符串和所述第二已显示字符串的字符个数不同的情况下,生成指示字符截断的消息。3如权利要求2所述的方法,进一步包括在所述第一已显示字符串和所述第二已显示字符串的字符个数相同的情况下,进一步判断第一已显示字符串和第二已显示字符串是否相同,如果不同则生。

4、成指示文字截断的消息。4如权利要求1所述的方法,其中所述在所述第一显示数据和第二显示数据除字符的实际显示尺寸以外存在其他不同的情况下生成指示字符截断的消息包括根据所述第一显示数据,获取第一字符显示数据;根据所述第二显示数据,获取第二字符显示数据;以及在所述第一字符显示数据中的字符部分和第二字符显示数据中的字符部分具有不同的宽高比的情况下,生成指示字符截断的消息。5如权利要求1至3中任意一项所述的方法,其中通过减小原始字符串的显示尺寸设置,使得所述第一已显示字符串的实际显示尺寸的水平减小量之和大于第一已显示字符串中字符的水平间距。6如权利要求1至3中任意一项所述的方法,其中通过减小原始字符串的显。

5、示尺寸设置,使得所述第一已显示字符串的实际显示尺寸的水平减小量之和大于第一已显示字符串中字符的水平间距加上空格的实际显示尺寸。7如权利要求1至3中任意一项所述的方法,其中通过减小原始字符串的显示尺寸设置,使得字符的实际显示尺寸为字符识别软件所能处理的最小尺寸。8一种对计算机程序进行测试的设备,所述设备包括第一获取装置,配置为获取所述计算机程序的图形用户界面GUI中字符区域的第一显示数据;显示尺寸设置装置,配置为缩小与所述字符区域关联的原始字符串的显示尺寸设置;第二获取装置,配置为获取刷新后的GUI中字符区域的第二显示数据;以及,字符截断检测装置,配置为在所述第一显示数据和第二显示数据除字符的实。

6、际显示尺寸以外存在其他不同的情况下,生成指示字符截断的消息。9如权利要求8所述的设备,其中所述字符截断检测装置包括第一识别装置,配置为根据所述第一显示数据,识别所述字符区域中的第一已显示字权利要求书CN103577314A2/2页3符串;第二识别装置,配置为根据所述第二显示数据,识别所述字符区域中的第二已显示字符串;以及,字符个数比较装置,配置为在所述第一已显示字符串和所述第二已显示字符串的字符个数不同的情况下,生成指示字符截断的消息。10如权利要求9所述的设备,进一步包括字符串比较装置,在所述第一已显示字符串和所述第二已显示字符串的字符个数相同的情况下,进一步判断第一已显示字符串和第二已显示。

7、字符串是否相同,如果不同则生成指示文字截断的消息。11如权利要求8所述的设备,其中所述字符截断检测装置包括第三获取装置,配置为根据所述第一显示数据,获取第一字符显示数据;第四获取装置,配置为根据所述第二显示数据,获取第二字符显示数据;以及宽高比比较装置,配置为在所述第一字符显示数据中的字符部分和第二字符显示数据中的字符部分具有不同的宽高比的情况下,生成指示字符截断的消息。12如权利要求8至10中任意一项所述的设备,其中通过减小原始字符串的显示尺寸设置,使得所述第一已显示字符串的实际显示尺寸的水平减小量之和大于第一已显示字符串中字符的水平间距。13如权利要求8至10中任意一项所述的设备,其中通过。

8、减小原始字符串的显示尺寸设置,使得所述第一已显示字符串的实际显示尺寸的水平减小量之和大于第一已显示字符串中字符的水平间距加上空格的实际显示尺寸。14如权利要求8至10中任意一项所述的设备,其中通过减小原始字符串的显示尺寸设置,使得字符的实际显示尺寸为字符识别软件所能处理的最小尺寸。权利要求书CN103577314A1/8页4对计算机程序进行测试的方法和设备技术领域0001本发明总体上涉及数据处理领域,特别地,涉及对计算机程序进行测试的方法和设备。背景技术0002在对计算机程序进行测试的过程中,图形用户界面(GRAPHICUSERINTERFACE,GUI)测试是一个重要的部分。GUI测试可以发。

9、现计算机程序的GUI中可能导致用户误操作或操作不方便的问题。一种典型的此类问题是字符截断。GUI中可能包括许多字符区域,以便指示用户进行操作。字符区域在计算机程序中的表示就是可视对象以及与所述可视对象关联的字符串。在计算机程序的开发过程中,可能忽略了字符串的显示尺寸设置与可视对象的显示尺寸设置之间的匹配。在将计算机程序从一种语言翻译到另一种语言的过程中,字符串的实际显示尺寸可能发生变化。这些原因都有可能造成字符截断。字符截断使得某些字符在GUI上变得不可见,从而无法有效地指导用户的操作。0003为了在GUI测试中判断一个字符区域是否发生字符截断,需要首先获取该字符区域对应的可视对象,并获取与所。

10、述可视对象关联的字符串,然后对比与该可视对象关联的字符串以及GUI所显示的字符串是否相同。与可视对象关联的字符串必须要通过查看计算机程序的源代码才能获得。在一个计算机程序的GUI中,往往有大量的可视对象。针对这些可视对象逐个查看源代码是不现实的。因此,需要一种方案能够自动地发现字符截断问题。发明内容0004本发明实施例提供了对计算机程序进行测试的方法和设备。0005根据本发明实施例的对计算机程序进行测试的方法包括获取所述计算机程序的图形用户界面GUI中字符区域的第一显示数据;缩小与所述字符区域关联的原始字符串的显示尺寸设置;获取刷新后的GUI中字符区域的第二显示数据;以及,在所述第一显示数据和。

11、第二显示数据除字符的实际显示尺寸以外存在其他不同的情况下,生成指示字符截断的消息。0006根据本发明实施例的对计算机程序进行测试的设备包括第一获取装置,配置为获取所述计算机程序的图形用户界面GUI中字符区域的第一显示数据;显示尺寸设置装置,配置为缩小与所述字符区域关联的原始字符串的显示尺寸设置;第二获取装置,配置为获取刷新后的GUI中字符区域的第二显示数据;以及,字符截断检测装置,配置为在所述第一显示数据和第二显示数据除字符的实际显示尺寸以外存在其他不同的情况下,生成指示字符截断的消息。0007利用本发明的方法和设备,可以自动地检测GUI中存在的至少一种类型的字符截断。说明书CN1035773。

12、14A2/8页5附图说明0008通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。0009图1是适于用来实现本发明实施方式的示例性计算系统100的框图。0010图2是字符截断的示意图。0011图3是根据本发明实施例的用于检测字符截断的方法的流程图。0012图4是根据本发明实施例的用于检测字符截断的方法的流程图。0013图5示出了检测字符截断的示意图。0014图6是根据本发明实施例的用于检测字符截断的方法的流程图。0015图7示出了检测字符截断的示意图。0016图8是根据本发明实。

13、施例的用于检测字符截断的方法的流程图。0017图9示出了检测字符截断的示意图。0018图10是根据本发明实施例的用于检测字符截断的设备的方框图。具体实施方式0019下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。0020图1示出了适于用来实现本发明实施方式的示例性计算系统100的框图。如图1所示,计算机系统100可以包括CPU(中央处理单元)101、RAM(随机存取存储器)102、R。

14、OM(只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器18、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和显示器114。在这些设备中,与系统总线104耦合的有CPU101、RAM102、ROM103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图1。

15、所述的结构框图仅仅是为了示例的目的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况增加或减少某些设备。0021所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。0022可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质。

16、或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括具有一个或多个导线的电连接、便说明书CN103577314A3/8页6携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器ROM、可擦式可编程只读存储器EPROM或闪存、光纤、便携式紧凑磁盘只读存储器CDROM、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。0023计算机可读的。

17、信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。0024计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。0025可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设。

18、计语言诸如JAVA、SMALLTALK、C,还包括常规的过程式程序设计语言诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网LAN或广域网WAN连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。0026下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和。

19、/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。0027也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置INSTRUCTIONMEANS的制造品(MANUFACTURE)。0028也可以把计算机程序指令加载到计算机。

20、、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。0029图2是字符截断的示意图。虽然在图2以及后续的其他附图中以英文字母作为所述字符的示例,但是本发明实施例所提供的方法可以用于其他各种字符,包括但不限于中文字符。0030如图2所示,通过查看计算机程序的源代码,可以知道该可视对象关联的字符串是HELLOWORLD。在后面的描述中,将计算机程序的源代码中为可视对象关联的字符串称为原始字符串。水平截断指的是由于可。

21、视对象的实际显示尺寸的宽度不足,导致原始字符说明书CN103577314A4/8页7串末尾的字符无法正常显示。例如,在完全水平截断的情况下,字符D完全没有显示在GUI上。在部分水平截断的情况下,字符D的一部分没有显示在GUI上。竖直截断指的是由于可视对象的实际显示尺寸的高度不够,导致高度大于一定程度的部分或全部字符无法正常显示。在仅存在竖直截断的情况下,所显示的字符的个数通常并不会发生变化。0031图3是根据本发明实施例的检测字符截断的方法的示意图。需要注意的是,本发明并非意图解决针对上述所有类型的字符截断的检测。本发明的一些实施例可能在检测完全水平截断时具有较好的性能,而其他一些实施例可能在。

22、检测部分水平截断或竖直截断时具有较好的性能。0032步骤301,获取计算机程序的GUI中字符区域的第一显示数据。0033如前所述,GUI中的字符数据在计算机程序中对应于至少一个可视对象和与所述至少一个可视对象关联的原始字符串。一般来说,可视对象的属性包括该可视对象的坐标。因此可以通过所述坐标来确定字符区域在GUI中的位置。0034作为替换地,可以由测试人员指定字符区域的位置。例如,在GUI显示在计算机系统的显示设备上后,测试人员可以利用诸如鼠标、键盘的输入设备来指定字符区域的位置。0035在确定了字符区域的位置后,就可以获取所述字符区域的显示数据。例如可以通过拷屏的方法来获取所述显示数据。00。

23、36步骤302,缩小与所述字符区域关联的原始字符串的显示尺寸设置。0037本领域技术人员可以容易地缩小原始字符串的显示尺寸设置。例如,可以在计算机程序的代码中减小原始字符串的字号,也可以在计算机程序的代码中取消原始字符串的黑体显示。这样,在GUI界面被刷新以后,与所述字符区域关联的字符串将以较小的实际显示尺寸在字符区域中显示。0038步骤303,获取刷新后的GUI中字符区域的第二显示数据。0039该步骤与步骤301类似,在此不再赘述。0040步骤304,在所述第一显示数据和第二显示数据除字符的实际显示尺寸以外存在其他不同的情况下,生成指示字符截断的消息。0041由于在步骤302中调整了原始字符。

24、串的显示尺寸设置,因此第一显示数据和第二显示数据在字符的实际显示尺寸方面必然是不同的。根据本发明实施例,如果在字符的实际显示尺寸之外还存在其他的不同,则认为发生了字符截断。0042下面分别针对完全水平截断、部分水平截断和竖直截断来具体描述如何判断第一显示数据和第二显示数据是否存在所述其他不同。0043对于完全水平截断的情况,步骤304的具体实施如图4所示。0044步骤401,根据所述第一显示数据,识别所述字符区域中的第一已显示字符串。0045本领域已经有许多方法来进行字符识别,在此不再赘述。0046步骤402,根据所述第二显示数据,识别所述字符区域中的第二已显示字符串。0047步骤403,在所。

25、述第一已显示字符串和所述第二已显示字符串的字符个数不同的情况下,生成指示字符截断的消息。0048在完全水平截断的情况下,由于可视对象的实际显示尺寸的宽度不足,导致原始字符串末尾的一部分字符无法显示,这一部分字符称为未显示字符串。缩小原始字符串的显示尺寸设置,可以使得未显示字符串中至少第一个字符的至少一部分就会出现在字符区说明书CN103577314A5/8页8域中。这样在缩小显示尺寸设置前后所得到的已显示字符串中字符的数目就会有所不同。0049图5A图5C示出根据图4所示的方法检测字符截断的示意图。原始字符串是HELLO。0050假设初始的字体大小是24,在步骤301中所取得的显示数据如图5A。

26、所示。在步骤302中,通过将字体大小设置为18,来缩小原始字符串的显示尺寸设置。在步骤303中,所取得的显示数据如图5B所示。相应地,在步骤401中所识别出的第一已显示字符串为HELL,字符数为4;在步骤402中所识别出的第二已显示字符串为HELLO,字符数目为5。第一已显示字符串和第二已显示字符串的字符数目不同,则认为发生了字符截断。0051假设初始的字体大小是20,在步骤301中所取得的显示数据如图5C所示。在步骤302中,通过将字体大小设置为18,来缩小原始字符串的显示尺寸设置。在步骤303中,所取得的显示数据如图5B所示。相应地,在步骤401中所识别出的第一已显示字符串为HELLO,字。

27、符数为5;在步骤402中所识别出的第二已显示字符串为HELLO,字符数目也为5。第一已显示字符串和第二已显示字符串的字符数目相同,则认为没有发生字符截断。0052图6是根据本发明另一实施例的步骤304的具体实现。其中,步骤601到步骤603与步骤401到步骤403相同,在此不再赘述。0053步骤604,在所述第一已显示字符串和所述第二已显示字符串的字符个数相同的情况下,进一步判断第一已显示字符串和第二已显示字符串是否相同,如果不同则生成指示文字截断的消息。0054参考图7A和图7B。原始字符串仍然是HELLO。0055假设初始的字体大小是22,在步骤301中所取得的显示数据如图7A所示。在步骤。

28、302中,通过将字体大小设置为18,来缩小原始字符串的显示尺寸设置。在步骤303中,所取得的显示数据如图7B所示。相应地,在步骤601中所识别出的第一已显示字符串可能是HELLC,字符数为5。则在步骤602中所识别出的第二已显示字符串为HELLO,字符数目为5。因此第一已显示字符串和第二已显示字符串的字符数目相同。0056图7A实际上是部分水平截断的情况,即字符O的一部分显示在GUI中。字符识别软件可能将所显示的O的一部分识别为C。相应地,第一已显示字符串和第二已显示字符串的字符数目相同。0057因此,在第一已显示字符串和第二已显示字符串的字符数目相同的情况下,可以进一步判断第一已显示字符串和。

29、第二已显示字符串的本身是否相同以便检测部分水平截断。0058假设初始的字体大小是20,在步骤301中所取得的显示数据如图7C所示。在步骤302中,通过将字体大小设置为18,来缩小原始字符串的显示尺寸设置。在步骤303中,所取得的显示数据仍然如图7B所示。相应地,在步骤601中所识别出的第一已显示字符串是HELLO,字符数为5。在步骤602中所识别出的第二已显示字符串为HELLO,字符数目为5。因此第一已显示字符串和第二已显示字符串的字符数目相同,并且第一已显示字符串和第二已显示字符串本身相同,从而确定没有发生截断。0059根据本发明的一个实施例,可以只比较第一已显示字符串和第一已显示字符串的最。

30、后一个字符。这样可以节省用于进行字符比较的计算机资源。0060图6所示的方法对竖直截断也同样适用。这是因为,在竖直截断的情况下,虽然已说明书CN103577314A6/8页9显示字符串的字符个数不会发生变化,但是在调整原始字符串的显示尺寸设置前后,已显示字符串的某些字符在截断程度上有所变化。对于截断程度不同的同一个字符,字符识别软件可能将其识别为不同的字符。例如对于图2中竖直截断情况下的字符“D”,字符识别软件可能将其识别为字符“O”或“A”。因此,对第一已显示字符串和第二已显示字符串本身进行比较,也可以检测竖直截断。0061根据本发明的一个实施例,在步骤302中,通过减小原始字符串的显示尺寸。

31、设置,使得第一已显示字符串的实际显示尺寸的水平减小量之和大于第一已显示字符串中字符的水平间距。在第一已显示字符串的实际显示尺寸的水平减小量之和大于第一已显示字符串中字符的水平间距的情况下,可以确保未显示字符串中的至少一个的至少一部分在刷新后的GUI中显示在字符区域中。本领域技术人员可以理解,已显示字符串中字符的个数越多,则已显示字符串的实际显示尺寸的水平减小量之和就越大。0062根据本发明的另一个实施例,在步骤302中,通过减小原始字符串的显示尺寸设置,使得所述第一已显示字符串的实际显示尺寸的水平减小量之和大于第一已显示字符串中字符的水平间距加上空格的实际显示尺寸。这是因为未显示字符串中的第一。

32、个字符和第一已显示字符串中的最后一个字符可能分属不同的单词。0063根据本发明的在一个实施例,在步骤302中,通过减小原始字符串的显示尺寸设置,使得字符的实际显示尺寸为字符识别软件所能处理的最小尺寸。0064本领域技术人员根据字符特点,还可以设计出其他的标准来确定原始字符串的显示尺寸设置的缩小程度。0065下面接合图8描述根据本发明再一实施例的步骤304的具体实现。0066步骤801,根据所述第一显示数据,获取第一字符显示数据。0067步骤801与步骤401的区别在于,步骤801不需要进行字符识别,只需要获取字符的显示数据即可。一般来说,根据原始字符串的显示尺寸设置,字符的宽度是在一定范围内变。

33、化的。因此,根据本发明一个实施例,可以截取字符区域中的这样一块区域的显示数据作为所述第一字符显示数据从字符区域的左侧或右侧边缘开始,高度为字符区域的高度,宽度为所述范围内的任意一个预先设定的值。所述预先设定的值例如可以是所述范围的中值或均值。0068根据本发明另外一个实施例,也可以不预先设置所述宽度,而是根据所述第一显示数据动态地确定所述宽度。例如,字符识别技术往往包括两个步骤第一步是确定需要对哪部分显示数据进行识别,也就是确定哪部分显示数据是表示单个字符的字符显示数据;第二步是对所述字符显示数据进行模式识别,以便确定所述字符显示数据所对应的字符。可以利用所述第一步来确定所述宽度。0069步骤。

34、802,根据所述第二显示数据,获取第二字符显示数据。0070该步骤与步骤801类似。0071步骤803,在所述第一字符显示数据中的字符部分和第二字符显示数据中的字符部分具有不同的宽高比的情况下,生成指示字符截断的消息。0072如果未发生竖直截断,则在缩小原始字符串的显示尺寸设置前后,字符显示数据的高度和宽度发生相同比例的变化,则字符显示数据的宽高比不发生变化。0073如果发生了竖直截断,则字符在垂直方向上有一部分无法显示,但是在水平方向说明书CN103577314A7/8页10上能够完全显示。在缩小原始字符串的显示尺寸设置之后,原先无法显示的所述部分变为能够显示,使得字符显示数据的高度发生的变。

35、化超过与宽度变化比例相同的变化。相应地,字符显示数据的宽高比发生变化。0074图9A图9C示出根据图8所示的方法检测字符截断的示意图。0075假设初始的字体大小是24,在步骤801中所取得的第一字符显示数据如图9A所示,该字符显示数据的宽度为460,高度为500,宽高比为092。在步骤302中,通过将字体大小设置为18,来缩小原始字符串的显示尺寸设置。在步骤402中,所取得的第二字符显示数据如图9B所示,该字符显示数据的宽度为422,高度为434,宽高比为097。在改变原始字符串的显示尺寸设置前后,第一字符显示数据和第二字符显示数据的宽高比发生了变化,则确定发生了字符截断。0076假设初始的字。

36、体大小是20,在步骤801中所取得的第一字符显示数据如图9C所示,该字符显示数据的宽度为468,高度为481,宽高比为097。在步骤302中,通过将字体大小设置为18,来缩小原始字符串的显示尺寸设置。在步骤802中,所取得的第二字符显示数据也如图9B所示,该字符显示数据的宽度为422,高度为434,宽高比为097。在改变原始字符串的显示尺寸设置前后,第一字符显示数据和第二字符显示数据的宽高比未发生变化,则确定未发生字符截断。0077图10是根据本发明实施例的用于对计算机程序进行测试的设备的方框图。0078所述设备包括0079第一获取装置,配置为获取GUI中字符区域的第一显示数据;0080显示尺。

37、寸设置装置,配置为缩小与所述字符区域关联的原始字符串的显示尺寸设置;0081第二获取装置,配置为获取刷新后的GUI中字符区域的第二显示数据;以及,0082字符截断检测装置,配置为在所述第一显示数据和第二显示数据除字符的实际显示尺寸以外存在其他不同的情况下,生成指示字符截断的消息。0083所述字符截断检测装置包括0084第一识别装置,配置为根据所述第一显示数据,识别所述字符区域中的第一已显示字符串;0085第二识别装置,配置为根据所述第二显示数据,识别所述字符区域中的第二已显示字符串;以及,0086字符个数比较装置,配置为在所述第一已显示字符串和所述第二已显示字符串的字符个数不同的情况下,生成指。

38、示字符截断的消息。0087所述字符截断检测装置进一步包括0088字符串比较装置,在所述第一已显示字符串和所述第二已显示字符串的字符个数相同的情况下,进一步判断第一已显示字符串和第二已显示字符串是否相同,如果不同则生成指示文字截断的消息。0089所述字符截断检测装置包括0090第三获取装置,配置为根据所述第一显示数据,获取第一字符显示数据;0091第四获取装置,配置为根据所述第二显示数据,获取第二字符显示数据;以及0092宽高比比较装置,配置为在所述第一字符显示数据中的字符部分和第二字符显示说明书CN103577314A108/8页11数据中的字符部分具有不同的宽高比的情况下,生成指示字符截断的。

39、消息。0093附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来。

40、实现,或者可以用专用硬件与计算机指令的组合来实现。0094以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。说明书CN103577314A111/5页12图1图2说明书附图CN103577314A122/5页13图3图4图5A图5B图5C说明书附图CN103577314A133/5页14图6图7A图7B图7C说明书附图CN103577314A144/5页15图8图9A图9B说明书附图CN103577314A155/5页16图9C图10说明书附图CN103577314A16。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1