软件图形用户人机接口测试用例的自动生成方法

文档序号:9787318阅读:601来源:国知局
软件图形用户人机接口测试用例的自动生成方法
【技术领域】
[0001] 本发明涉及软件图形用户人机接口测试用例的自动生成方法,属于软件的检验检 测技术领域。
【背景技术】
[0002] 软件测试是软件开发必不可少的环节,而软件测试过程的主要技术内容就是书写 软件测试用例,然后按照测试用例来操作被测程序,评估软件质量并发现软件缺陷。
[0003] 目前的软件测试工业领域的创新多集中在软件测试用例的自动化方法,既把测试 用例转化成程序,然后让软件代替人工来执行测试用例。而测试用例本身,尤其是图形用户 接口(GUI)的测试用例准备还是人工书写。比如:某用户登录测试用例:第一步:启动程序, 程序用户登录对话框出现;第二步:在用户名编辑框内输入有效用户名;第三步:在密码框 内输入此用户名的正确密码;第四步:点击登录按钮;第五步:查看预期结果。用户应当顺利 登陆网站。很多人几个月的努力来准备这些用例在现在软件领域是很正常的。可以想象,准 备成百上千这样的测试用例会多么费时费力费钱。
[0004] 另外在学术领域,有很多研究集中在软件测试用例方面,但他们的研究都使用数 理逻辑和数学来书写软件规格规定,然后由此通过逻辑来论证程序。这根本上就是用一种 计算机语言写软件规格规定,然后用它来论证用JAVA、C书写的程序的正确性。由于规格规 定语言本身和程序语言本身一样复杂,甚至更复杂难懂,现实中,这些研究成果很难被应用 到实际软件开发中。软件统一建模语言(UML),算是最实用的软件抽象模型语言,在描述软 件行为中被广泛应用。但UML是针对软件开发设计的,它对软件测试用例帮助不大。这就是 为什么UML在测试领域中,尤其是人机接口(GUI)测试很少被用到。这些都导致了现在书写 软件测试用例的方法落后。
[0005] 从测试角度看软件开发,有两个问题:第一,因为时间和任务的挤压,软件需求以 及设计文档很难及时更新,没有足够的动力和资源,测试人员和开发人员,尤其是人员流动 大时,会造成知识流失,应对此问题的培训费用就会增加。第二,测试用例,尤其是在数量达 到成百上千以后,当待测软件设计改变时,很难维护。而且由于没有结构,测试用例质量很 难把握。

【发明内容】

[0006] 本发明的目的在于克服现有书写软件测试用例的方法存在的上述缺陷,提出了一 种软件图形用户人机接口测试用例的自动生成方法,通过软件测试用例的自动化生成,可 以提高生产力、加速软件开发速度并降低软件测试成本。
[0007] 本发明是采用以下的技术方案实现的:一种软件图形用户人机接口测试用例的自 动生成方法,包括如下步骤:
[0008] 第一步:规定计算的路径起点为系统启动;
[0009] 第二步:终点为系统退出;
[0010] 第三步:收集待测软件行为规格规定所有"条件-行动-预期结果"形成集合;
[0011] 第四步:选择集合中一个"条件-行动-预期结果";
[0012] 第五步:找出从起点到此"条件-行动-预期结果"的路径;
[0013] 第六步:找出从此"条件-行动-预期结果"到终点的路径;
[0014] 第七步:把第四步和第五步的运算结果连接起来,就得到一个覆盖此"条件_行动_ 预期结果"的测试用例;
[0015] 第八步:在集合里,剔除已产生的测试用例和已经用过的"条件-行动-预期结果";
[0016] 第九步:在缩小的集合里,选择一个"条件-行动-预期结果",重复第五步和第六 步,直到得出一个最小的并且准确覆盖所有"条件-行动-预期结果"的测试用例集合。
[0017] 进一步地,第三步中,待测软件行为规格规定的步骤包括条件、行动和预期结果。
[0018] 进一步地,第三步中,"条件-行动-预期结果"实际是软件测试用例步骤构成基本 元素。
[0019] 进一步地,实际测试用例的每一步骤都是待测软件行为规格规定中"条件-行动-预期结果"的一个选择排序。
[0020] 进一步地,第五步和第六步中的路径采用单源路径算法。
[0021] 进一步地,第五步和第六步中的路径中的每一条路径就是一个在输入值等价类基 础上建立的测试用例。
[0022]本发明的有益效果是:
[0023] (1)本发明只要维护一份软件行为规格规定文档,便于及时维护和更新软件;
[0024] (2)本发明软件行为规格规定的书写维护需要的时间和人力远小于大量测试人员 书写维护测试用例的需要的时间人力,为企业降低人员成本;
[0025] (3)本发明使软件行为规格规定的产生容易,在早期设计时找出缺陷并将其解决, 规避风险能力强;
[0026] (4)本发明产生的测试用例质量高,省去了因待测软件设计改变而带来的测试用 例维护成本。
【附图说明】
[0027]图1是本发明的原理框图。
[0028] 图2是本发明的"条件-行动-预期结果"状态变化图。
【具体实施方式】
[0029] 下面结合附图对本发明作进一步说明。
[0030] 实施例一:
[0031] 如图1所示,本发明所述的软件图形用户人机接口测试用例的自动生成方法,包括 如下步骤:
[0032] 第一步:规定计算的路径起点为系统启动;
[0033]第二步:终点为系统退出;
[0034]第三步:收集待测软件行为规格规定所有"条件-行动-预期结果"形成集合;
[0035]第四步:选择集合中一个"条件-行动-预期结果";
[0036] 第五步:找出从起点到此"条件-行动-预期结果"的路径;
[0037] 第六步:找出从此"条件-行动-预期结果"到终点的路径;
[0038] 第七步:把第四步和第五步的运算结果连接起来,就得到一个覆盖此"条件_行动_ 预期结果"的测试用例;
[0039]第八步:在集合里,剔除已产生的测试用例和已经用过的"条件-行动-预期结果"; [0040]第九步:在缩小的集合里,选择一个"条件-行动-预期结果",重复第五步和第六 步,直到得出一个最小的并且准确覆盖所有"条件-行动-预期结果"的测试用例集合。
[0041] 本发明的原理在于软件行为规格和测试用例二合一。
[0042] 实施例二:
[0043] 下面以图形用户接口(GUI)测试用例的自动生成为例对本发明的原理进行解释。
[0044] 现有技术人员困扰的问题的实质是:要么集中在纯理论探讨,复杂无比;要么就在 微软Word或类似工具里一条条地书写测试用例步骤,而忘记了考察两者的中间地带。
[0045] 其实可以在应用日常语言描述测试步骤的同时,在软件行为规格规定中加入面向 对象式结构。这结构具有普适性,而可以利用这个结构,借助软件的运算能力,实现测试用 例的自动生成。
[0046] 用户图形人机接口(GUI)都是由一系列控件组成,包括编辑框、视窗、按钮等等。在 编程中,需要按照面向对象利用很多概念:对象、类、封装、继承、多态等等,而且要用语言写 出,并能让能执行,所以,复杂程度高。
[0047] 但让测试人员执行的测试用例不同,它们只要描述清步骤,让测试员看懂就行。所 以大大简化,主要只用三个概念:
[0048] 对象一用来代表待测软件,图形人机接口控件,包括系统内部模块、环境等等。
[0049] 行动一用来描述图形人机接口引起软件变化的鼠标点击、键盘输入、事件,以及在 日常语言层面的行动描述,如登录、文件存储等等。
[0050] 变量--用来描述控件属性,如编辑框数据内容形式,视窗是否打开等等。在编程 中,变量可以是一个整数,一个对象,各种数据类型,很复杂。但在描述待测软件行为,产生 测试用例中,只用字符串,就像写文章,让字符串的语义来代表变量内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1