探析基于GUI的测试技术

时间:2022-10-11 11:41:08

探析基于GUI的测试技术

摘要:GUI应用程序已经越来越多地被应用于软件系统中,由于它的易操作性,几乎成了现在软件开发的事实准则,软件测试作为软件开发过程中一个至关重要的环节,基于GUI的软件测试也越来越受到重视。

关键词:GUI;软件测试;窗体;用例

中图分类号:TN919.3 文献标识码:A文章编号:1007-9599 (2011) 24-0000-02

Study on the Test Technique Based on GUI

Chu Shulai,Guo Haotian

(Zhoukou Vocational and Technical College,Zhoukou466000,China)

Abstract:GUI application program was used in software system more extensively.Because of easy operation,it is little less than a standard of software development.Software test is an important step of software development process,and Software Test based on GUI has attracted more attention.

Keywords:GUI;Software test;Form;Case

基于图形用户界面GUI(Graphical User Inter-face)的测试技术在现今软件中的应用已经相当普遍,并成为大部分应用软件与用户交互的重要手段。GUI应用程序的主要特征是对象驱动,用户通过鼠标选择、键盘输入和打开关闭窗口等手段与软件发生交互。GUI给软件使用者带来了极大的便利,使软件易用性增强,因此,GUI的测试也越来越受到重视。

一、图形用户界面测试的特点

(一)GUI测试的独特性

1.GUI使得软件对用户更加友好;2.GUI测试可以涵盖整个应用;3.生成GUI测试脚本的方法是捕获/回放技术。

(二)一般Windows窗体构成部件

1.Windows窗体通常的结构。Windows窗体通常由三层结构,即表达层、交互层、数据层。

2.一般Windows窗体构成部件。一般Windows窗体构成部件有:按钮、混合框、对话框、标号、莱单、文本框;主要属性项有:文本、启用、可见的、排序;主要事件有:单击、双击、文本改变、选中的目录已改变、文本改变。

(三)优秀GUI的构成要素

1.符合标准和规范。用户界面要素是软件符合现行的标准和规范,或者有真正站得住脚的不符合的理由。如果软件在Mac或者Windows等现有的平台上运行,标准是已经确立的。

2.直观与一致。用户界面是否洁净、不唐突、不拥挤。GUI的组织和布局合理吗?是否允许用户轻松地从一个功能转到另一个功能?是否有太多特性把工作复杂化了?是否感到信息太庞杂。

3.灵活与舒适。灵活性对于测试的影响主要在状态和数据:状态跳转、状态终止和跳过、数据输入和输出。软件用起来应该舒适,而不应该为用户工作制造障碍和困难,主要体现在恰当、错误处理、性能处理上。

4.正确与实用。测试GUI是否做了该做的事。此类正确性问题一般很明显,在测试产品说明书时就可以发现。然而,以下情况要特别注意:市场定位偏差。与市场宣传材料不符、语言和拼写、在GUI上选择时应该显示出相应正确的媒体来、所见即所得,保证GUI显示的就是实际得到的。

二、GUI测试验证的方法

测试验证可以确认在表达层和交互层的动态状态之间的输出是否一致。有些实际输出可以从屏幕上捕获,有些则需要从不同的途径获得。GUI测试工具需要单独处理交互层的复杂性。换句话说,工具使用测试脚本的一部分在前端操作GUI部件,而另一部分脚本从交易层捕获和比较测试结果。

(一)测试标号和装饰性的GUI控件

一般来说,Label控件只是在其他的控件上放一个标号,不完成什么交互任务。测试Label控件的重点更多地是在它的装饰性上,而不是其他的功能。标号对其他控件和整个应用的装饰效果是由以下几个特性值影响的:大小、文本、 字体、颜色、位置、启用、可见。

(二)测试带有键盘输入的TextBox控件

键盘包括字符数字键和特殊键,如导航键和功能键等。有些GUI部件可以由键盘按键组合触发。TextBox (文本框)控件可以接收字符数字键,如同一个字处理器那样工作。一旦知道如何程序化地操作键盘,可以在测试脚本中操作文本框控件的内容。

(三)测试RadioButton和CheckBox控件

这两个控件有一些不同点,如下所示:

1.如果某个应用需要为用户提供可选择的多个选项,使用RadioButton控件。RadioButton控件是以组的型式出现的,也就是说,一个组内有多个RadioButton控件。组中最多只能选中一个控件。测试RadioButton控件时,测试者需要知道同一个组内其他RadioButton控件的行为。而CheckBox控件可以单独出现

2.一组RadioButton控件通常包含在一个GroupBox控件中。应用中可以有多于一个的RadioButton控件,以表示不同的选择类别。同一个GroupBox控件中的RadioButton控件相互之间有关联,但是只有一个控件的checked属性值可以为真,其他的都必须为假。但是如果应用中有一组CheckBox控件,单独的CheckBox控件是独立行动的,与其他的没有关联。多于一个或者所有的CheckBox控件都可以被选中。

3.只要RadioButton控件被单击,RadioButton控件的checked属性值就变成真。例如,某个末被选中的RadioButton控件被单击了,它的checked属性值从假变成真。但是如果其属性值己经是真了,又被单击了那么它的checked属性值仍然是真。但是,CheckBox控件的checked属性值在控件被单击后,会从假变成真,或者从真变成假。测试工具必须能够在单击之前和之后读取checked值,为自动化测试赋值预期的结果。

(四)GUI测试中的菜单测试

菜单条目最常见的结构是层次型的构造。菜单的属性同样可以用于标识特定的菜单条目。

三、图形用户界面测试用例的设计方法

(一)窗体的测试设计

在对窗体进行测试时,重点考虑以下问题:窗体大小,大小要合适,控件布局合理;移动窗体。快速或慢速移动窗体,背景及窗体本身刷新必须正确;缩放窗体,窗体上的控件应随窗体的大小变化而变化;显示分辨率。必须在不同的分辨率的情况下测试程序的显示是否正常。

(二)菜单的测试设计

在对菜单进行测试时,重点考虑以下问题:选择菜单是否可以正常工作,并与实际执行内容一致;是否有错别字;快捷键是否重复;热键是否重复;快捷键与热键操作是否有效;是否存在中英文混合;菜单要与语境相关,如,不同权限的用户登陆一个应用程序,不同级别的用户可以看到不同级别的菜单并使用不同级别的功能;鼠标右键快捷菜单。

(三)文本框控件的测试设计

在对文本框控件进行测试时,重点考虑以下问题:输入正常的字母或数字;输入已存在的文件的名称;输入超长字符;输入默认值、空白、空格;若只允许输入字母,尝试输入数字;反之,尝试输入字母;利用复制、粘贴等操作强制输入程序不允许的输入数据;输入特殊字符集;输入超过文本框长度的字符或文本,检查所输入的内容是否正常显示;输入不符合格式的数据。

(四)按钮控件的测试设计

在对按钮控件进行测试时,重点考虑以下问题:点击按钮能够正确响应操作;对非法的输入或操作给出足够的提示说明;对可能造成数据无法恢复的操作必须给出确认信息,给用户放弃选择的机会。

(五)组合列表框、复选框、列表框控件的测试设计

在对组合列表框、复选框、列表框控件进行测试时,考虑问题与文本框基本相同,不在重复描述。

(六)滚动条控件的测试设计

在对滚动条控件进行测试时,重点考虑以下问题:滚动条的长度根据显示信息的长度或宽度及时变换,这样有利于用户了解显示信息的位置和百分比;拖动滚动条,检查屏幕刷新情况,并查看是否有乱码;单击滚动条;用滚轮控制滚动条;滚动条的上下按钮。

(七)各种控件在窗体中混和使用时的测试设计

在对各种控件在窗体中混和使用时的测试设计进行测试时,重点考虑以下问题:控件间的相互作用;Tab键的顺序,一般是从上到下,从左到右;热键的使用,逐一测试;Enter键和Esc键的使用;在测试中,应遵循由简入繁的原则,先进行单个控件功能的测试,确保实现无误后,再进行多个控件的功能组合的测试;对密码输入框进行测试时要特别注意进行字母大写输入的测试。

四、结束语

现在GUI软件占据日趋重要地位,但对这些软件的测试仍然存在形式化程度低、规范性差和缺乏客观测试评判标准的缺点。由测试人员根据设计书凭借经验设计的测试用例具有随机性大、错误检验能力低的缺点,因此研究基于GUI的测试技术具有很强的现实意义。

参考文献:

[1]李峻.基于GUI软件的测试用例生成框架的研究与应用[D].合肥工业大学,2009

[2]叶茂,高海昌等.基于窗口导航有向图的GUI测试覆盖准则[J].西南交通大学学报,2006,4

[3]王科.基于.NET图形用户界面自动测试工具研究与实现[D].中南大学,2008

[4]黄晓玲.基于GUI软件的测试自动化框架的研究与应用[D].北京交通大学,2008

[作者简介]楚书来(1982-),男,汉族,河南沈丘县人,武汉大学在读硕士,周口职业技术学院讲师,研究方向:软件工程与网络。

上一篇:浅析将LRC文件转换成XML单词本 下一篇:计算机磁盘存储设备研究