[发明专利]一种GUI软件输入边界值获取方法和系统有效
申请号: | 201410218616.6 | 申请日: | 2014-05-22 |
公开(公告)号: | CN103970662B | 公开(公告)日: | 2017-09-29 |
发明(设计)人: | 于长钺;于秀山;田洪娟;郭立宏;刘然;迟芳;刘丰;孙宁 | 申请(专利权)人: | 于秀山 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京众合诚成知识产权代理有限公司11246 | 代理人: | 龚燮英 |
地址: | 100036 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 gui 软件 输入 边界 获取 方法 系统 | ||
技术领域
本发明涉及软件测试领域,尤其涉及一种GUI(图形用户界面)软件输入边界值获取方法和系统。
背景技术
软件输入是驱动软件运行之源,通过对不同的软件输入进行处理,软件完成规定的功能。当软件没有对某些可能出现的输入做相应处理时,软件运行就会出现错误。软件测试的核心任务就是在软件输入域内设计各种不同的软件输入,验证软件处理是否正确。如果能够穷尽软件的输入域,则能够找出软件中存在的所有问题,然而,由于软件输入域是一个巨大的空间,根本无法在有限的时间内运行针对所有输入的测试用例,即通常所说的输入爆炸问题。为了解决输入爆炸问题,业界提出了很多方法,如等价类划分、边界值分析等,这些方法在软件测试实践中得到了广泛应用,受到了良好效果。
在采用等价类划分或边界值分析方法时,一个最基本的前提就是要知道软件输入的边界值。对于GUI软件而言,GUI软件中包含大量可供用户输入的控件,如文本框、下拉菜单,通过这些控件,用户输入相应的信息,完成规定的功能。在这些控件中,只有知道其取值范围,才能够设计出有效的测试用例。例如,对于用户登录界面中的用户名输入字段,只有当知道其字段是长度为[1,20]的字符串时,才能够确定出其合法等价类和非法等价类以及上边界和下边界值(分别为1和20)。
为了获取软件输入边界值,目前普遍采用三种方法,一是人工查阅软件文档,二是人工查阅源程序代码,三是尝试。在第一种方法中,测试人员通过阅读软件文档,如软件需求规格说明、软件概要设计、详细设计,获取软件输入相关信息。这是一种简单易行的方法,但在具体的实践中,特别是在迭代式软件开发过程中,软件需求变化频繁,上述文档难以与最新的软件代码保持一致,测试人员拿到的经常是过时、陈旧的文档,依靠这样的文档得到的是与最终软件相差甚远的软件输入边界值;相对于第一种方法,第二种方法不存在文档与源程序代码脱节以及过时的问题,但这种方法对测试人员的要求很高,要求测试人员具有较高的编程经验、熟悉不同的编程语言,并且,由于源程序代码与界面控件之间并不存在直接的对应关系,即使通过分析源程序代码找到程序中所有的变量,也无法获取界面控件的取值范围,测试人员依然需要花费较长的时间才能够从源程序代码中找到与软件输入相关的信息;在第三种方法中,测试人员尝试输入不同长度和类型的数据,通过不断的尝试性输入,得到软件输入字段的边界。这种方法具有一定的盲目性,并且需要对每一个字段尝试多次,工作量大、效率低。
发明内容
为了解决上述技术问题,本发明公开了一种GUI软件输入边界值获取方法和系统,该发明针对GUI类应用软件,主要解决如何自动获取目前GUI软件输入边界获取存在的问题。
本发明的技术方案为:
一种GUI软件输入边界值获取方法和系统,应用于含有图形用户界面GUI
的软件,包括:
扫描被测软件源代码;
在代码文件中得到与所述软件的窗体输入控件相对应的代码段,所述代码段中包含输入字段的范围信息;
所述代码文件为窗体设计代码文件、窗体实现代码文件、输入验证类代码文件或数据库对象类代码文件,所述窗体输入控件为键盘输入控件、选择性控件、文本框编辑控件或按钮提交控件;
所述窗体输入控件为键盘输入控件时,所述窗体设计代码文件的代码段中包含键盘输入控件的MaxLength属性赋值语句,该赋值语句定义了键盘输入控件允许输入的字符个数。
较佳地,
所述在代码文件中得到与所述软件的窗体输入控件相对应的代码段具体包括:
在代码文件中得到所述代码文件的语法树结构;
根据所述语法树结构定位与软件的窗体输入控件相对应的代码段的代码位置;
根据所述代码位置得到所述代码段。
较佳地,所述代码文件为窗体实现代码文件,所述窗体输入控件为文本框编辑控件或按钮提交控件;
所述在代码文件中得到与所述软件的窗体输入控件相对应的代码段具体包括:
在窗体实现代码文件得到所述文本框编辑控件或按钮提交控件相对应的控件事件;
分析所述控件事件,得到控件事件中所包含的窗体控件输入字段的范围信息。
较佳地,所述代码文件为输入验证类代码文件,所述窗体输入控件为按钮提交控件;
所述在代码文件中得到与所述软件的窗体输入控件相对应的代码段具体包括:
在窗体实现代码文件得到所述按钮提交控件相对应的按钮提交事件;
构造所述按钮提交事件的函数调用关系式;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于于秀山,未经于秀山许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410218616.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种新型扩张钻头
- 下一篇:线投影叶片制动级定转子组合件