当前位置: 首页 > 专利查询>于秀山专利>正文

一种GUI软件输入边界值获取方法和系统技术方案

技术编号:10296573 阅读:183 留言:0更新日期:2014-08-07 01:28
本发明专利技术公开了一种软件输入边界值获取方法,应用于含有图形用户界面GUI的软件,包括:扫描被测软件源代码;在代码文件中得到与所述软件的窗体输入控件相对应的代码段,所述代码段中包含输入字段的范围信息。本发明专利技术还公开了与上述方法相对应的系统。本发明专利技术为软件输入字段测试提供了便捷、高效的方法,可以大大提高软件输入字段测试的充分性、有效性和测试效率。

【技术实现步骤摘要】
一种GUI软件输入边界值获取方法和系统
本专利技术涉及软件测试领域,尤其涉及一种GUI(图形用户界面)软件输入边界值获取方法和系统。
技术介绍
软件输入是驱动软件运行之源,通过对不同的软件输入进行处理,软件完成规定的功能。当软件没有对某些可能出现的输入做相应处理时,软件运行就会出现错误。软件测试的核心任务就是在软件输入域内设计各种不同的软件输入,验证软件处理是否正确。如果能够穷尽软件的输入域,则能够找出软件中存在的所有问题,然而,由于软件输入域是一个巨大的空间,根本无法在有限的时间内运行针对所有输入的测试用例,即通常所说的输入爆炸问题。为了解决输入爆炸问题,业界提出了很多方法,如等价类划分、边界值分析等,这些方法在软件测试实践中得到了广泛应用,受到了良好效果。在采用等价类划分或边界值分析方法时,一个最基本的前提就是要知道软件输入的边界值。对于GUI软件而言,GUI软件中包含大量可供用户输入的控件,如文本框、下拉菜单,通过这些控件,用户输入相应的信息,完成规定的功能。在这些控件中,只有知道其取值范围,才能够设计出有效的测试用例。例如,对于用户登录界面中的用户名输入字段,只有当知道其字段是长度为[1,20]的字符串时,才能够确定出其合法等价类和非法等价类以及上边界和下边界值(分别为1和20)。为了获取软件输入边界值,目前普遍采用三种方法,一是人工查阅软件文档,二是人工查阅源程序代码,三是尝试。在第一种方法中,测试人员通过阅读软件文档,如软件需求规格说明、软件概要设计、详细设计,获取软件输入相关信息。这是一种简单易行的方法,但在具体的实践中,特别是在迭代式软件开发过程中,软件需求变化频繁,上述文档难以与最新的软件代码保持一致,测试人员拿到的经常是过时、陈旧的文档,依靠这样的文档得到的是与最终软件相差甚远的软件输入边界值;相对于第一种方法,第二种方法不存在文档与源程序代码脱节以及过时的问题,但这种方法对测试人员的要求很高,要求测试人员具有较高的编程经验、熟悉不同的编程语言,并且,由于源程序代码与界面控件之间并不存在直接的对应关系,即使通过分析源程序代码找到程序中所有的变量,也无法获取界面控件的取值范围,测试人员依然需要花费较长的时间才能够从源程序代码中找到与软件输入相关的信息;在第三种方法中,测试人员尝试输入不同长度和类型的数据,通过不断的尝试性输入,得到软件输入字段的边界。这种方法具有一定的盲目性,并且需要对每一个字段尝试多次,工作量大、效率低。
技术实现思路
为了解决上述技术问题,本专利技术公开了一种GUI软件输入边界值获取方法和系统,该专利技术针对GUI类应用软件,主要解决如何自动获取目前GUI软件输入边界获取存在的问题。本专利技术的技术方案为:一种GUI软件输入边界值获取方法和系统,应用于含有图形用户界面GUI的软件,包括:扫描被测软件源代码;在代码文件中得到与所述软件的窗体输入控件相对应的代码段,所述代码段中包含输入字段的范围信息;所述代码文件为窗体设计代码文件、窗体实现代码文件、输入验证类代码文件或数据库对象类代码文件,所述窗体输入控件为键盘输入控件、选择性控件、文本框编辑控件或按钮提交控件;所述窗体输入控件为键盘输入控件时,所述窗体设计代码文件的代码段中包含键盘输入控件的MaxLength属性赋值语句,该赋值语句定义了键盘输入控件允许输入的字符个数。较佳地,所述在代码文件中得到与所述软件的窗体输入控件相对应的代码段具体包括:在代码文件中得到所述代码文件的语法树结构;根据所述语法树结构定位与软件的窗体输入控件相对应的代码段的代码位置;根据所述代码位置得到所述代码段。较佳地,所述代码文件为窗体实现代码文件,所述窗体输入控件为文本框编辑控件或按钮提交控件;所述在代码文件中得到与所述软件的窗体输入控件相对应的代码段具体包括:在窗体实现代码文件得到所述文本框编辑控件或按钮提交控件相对应的控件事件;分析所述控件事件,得到控件事件中所包含的窗体控件输入字段的范围信息。较佳地,所述代码文件为输入验证类代码文件,所述窗体输入控件为按钮提交控件;所述在代码文件中得到与所述软件的窗体输入控件相对应的代码段具体包括:在窗体实现代码文件得到所述按钮提交控件相对应的按钮提交事件;构造所述按钮提交事件的函数调用关系式;根据所述函数调用关系式定位键盘输入控件允许输入字段信息的正则表达式。较佳地,所述代码文件为数据库对象类代码文件,所述窗体输入控件为键盘输入控件;所述在代码文件中得到与所述软件的窗体输入控件相对应的代码段具体包括:在所述窗体设计代码文件中得到所述键盘输入控件对应的数据库字段名称;扫描数据库对象类代码文件,得到对应数据库各表的对象类;在每个对象类中通过Column关键字标签找到表中的各字段属性代码段,各字段均与窗体中的输入控件相对应。一种软件输入边界值获取系统,应用于含有图形用户界面GUI的软件,包括:源代码扫描模块,用于扫描被测软件源代码;代码段查询模块,用于在代码文件中得到与所述软件的窗体输入控件相对应的代码段,所述代码段中包含输入字段的范围信息;所述代码文件为窗体设计代码文件、窗体实现代码文件、输入验证类代码文件或数据库对象类代码文件,所述窗体输入控件为键盘输入控件、选择性控件、文本框编辑控件或按钮提交控件。所述窗体输入控件为键盘输入控件时,所述窗体设计代码文件的代码段中包含键盘输入控件的MaxLength属性赋值语句,该赋值语句定义了键盘输入控件允许输入的字符个数。较佳地,所述在代码文件中得到与所述软件的窗体输入控件相对应的代码段具体包括:在代码文件中得到所述代码文件的语法树结构;根据所述语法树结构定位与软件的窗体输入控件相对应的代码段的代码位置;根据所述代码位置得到所述代码段。本专利技术的有益效果为:(1)不依赖于软件文档。该专利技术不需要测试人员阅读相关软件文档就可以得到软件输入边界值,有效避免了因软件文档陈旧、过时、不完整带来的软件输入边界值获取错误;(2)自动化程度高。该专利技术既不需要测试人员阅读源程序代码,也不需要测试人员进行很多尝试性输入,而是通过分析源程序代码就可以找出每个输入字段的边界值,能够大大减轻测试人员的工作量,提高工作效率;(3)直观、便捷。本专利技术以GUI软件中的界面输入字段为研究对象,通过分析源程序代码,直接获取界面输入字段的边界值。该专利技术虽然采用的也是常规的源程序代码分析方法,但其解决的问题与通常的源程序代码分析方法有着本质区别。使用常规的源程序代码分析方法,找出的是源程序代码中所有的变量,而这些变量有些与界面输入控件有关,有些则无关,测试人员无法从这些变量中找出与界面控件有关的变量,从而也就无法确定界面输入控件的边界值。为了解决这个问题,本专利技术中采用了控件-变量映射和字段-控件映射技术,通过构建控件-变量映射表和字段-控件映射表,从众多的变量中找出与界面输入控件有关的变量,针对界面输入控件边界值设定的四种不同方式,给出了具体的解决方案。软件输入边界值是软件测试的基础数据之一,只有知道了软件输入边界,才能设计出有效的测试用例。本专利技术为软件输入字段测试提供了便捷、高效的方法,可以大大提高软件输入字段测试的充分性、有效性和测试效率。附图说明图1输入字段边界值获取流程;图2窗体设计代码文件分析流程;图本文档来自技高网
...
一种GUI软件输入边界值获取方法和系统

【技术保护点】
一种软件输入边界值获取方法,应用于含有图形用户界面GUI的软件,包括:扫描被测软件源代码;在代码文件中得到与所述软件的窗体输入控件相对应的代码段,所述代码段中包含输入字段的范围信息。

【技术特征摘要】
1.一种软件输入边界值获取方法,应用于含有图形用户界面GUI的软件,包括:扫描被测软件源代码;在代码文件中得到与所述软件的窗体输入控件相对应的代码段,所述代码段中包含输入字段的范围信息;所述代码文件为窗体设计代码文件、窗体实现代码文件、输入验证类代码文件或数据库对象类代码文件,所述窗体输入控件为键盘输入控件、选择性控件、文本框编辑控件或按钮提交控件;所述窗体输入控件为键盘输入控件时,所述窗体设计代码文件的代码段中包含键盘输入控件的MaxLength属性赋值语句,该赋值语句定义了键盘输入控件允许输入的字符个数。2.如权利要求1所述的方法,其特征在于:所述在代码文件中得到与所述软件的窗体输入控件相对应的代码段具体包括:在代码文件中得到所述代码文件的语法树结构;根据所述语法树结构定位与软件的窗体输入控件相对应的代码段的代码位置;根据所述代码位置得到所述代码段。3.如权利要求1或2所述的方法,其特征在于:所述代码文件为窗体实现代码文件,所述窗体输入控件为文本框编辑控件或按钮提交控件;所述在代码文件中得到与所述软件的窗体输入控件相对应的代码段具体包括:在窗体实现代码文件得到所述文本框编辑控件或按钮提交控件相对应的控件事件;分析所述控件事件,得到控件事件中所包含的窗体控件输入字段的范围信息。4.如权利要求1或2所述的方法,其特征在于:所述代码文件为输入验证类代码文件,所述窗体输入控件为按钮提交控件;所述在代码文件中得到与所述软件的窗体输入控件相对应的代码段具体包括:在窗体实现代码文件得到所述按钮提交控件相对应的按...

【专利技术属性】
技术研发人员:于长钺于秀山田洪娟郭立宏刘然迟芳刘丰孙宁
申请(专利权)人:于秀山
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1