定义:一个图形用户界面(GUI)是一种高层次的、图形化的前端软件系统[1],交流概念输入用户生成和系统生成的事件,从一个固定的事件和产生确定性图的输出。图形用户界面包含图形小部件,每个部件都有一套固定的属性。在任何时候执行的GUI,这些特性的离散值,这一系列组成的GUI的状态。 

上述定义中指定一个类的图形用户界面,有一套固定的事件确定的结果,可以对属性值进行离散部件。这个定义需要被扩展到诸如Web用户界面,同步化/时序约束对象间其他GUI类,电影播放器显示连续的视频流而不是离散序列帧,和非确定性的图形用户界面,它是不可能在其整体软件的状态模型,因此,一个事件的影响不能预测。

软件测试的特点:

(1)图形用户界面测试的输入是用户或系统所产生的事件,而不是特定的数据。如按钮的点击事件等。测试用例则是一组事件的集合。

(2)图形用户界面测试的输出是一个图形用户界面状态,也不是一个定量的数据。此状态包括当前图形用户界面所包含的所有对象的属性值。当此事件在触发事件发生之前,这个状态和测试状态有可能发生改变。如点击一个窗口上的按钮,弹出一个对话框,然后当前状态就是图形用户界面的按钮所在窗口和所有的对象的属性值的集合。

(3)图形用户界面测试通常不采用结构化代码为基础的测试方法。因为图形用户界面往往被开发人员调用与系统紧密相关的事先编译好的库来实现的,并且无法得到相关的代码。而图形用户图形用户界面对象的数量通常比较大,如果采用结构化测试,需要面对状态组合的爆炸式增长。

(4)图形用户界面测试发现的缺陷是因为事件发生的状态和预期状态不同,即一个对象的属性值是不是期望值。按钮上的弹出式对话框,如缺少所需的按钮或标题的文字,也就是存在一个图形用户界面缺陷。

2。1。2  GUI自动化测试

自动化测试[3]是通过把以人力为基础的测试行为转化为机器自动执行的过程。通常情况下,软件测试的步骤是要先根据需求分析设计测试用例,在通过评审之后,测试人员就可以根据测试用例来执行测试,最后把测试得到实际结果与之前的预期结果进行比较。传统的软件测试比较繁琐,需要耗费大量的人力和资源,自动化测试就是为了节省人力、时间或硬件资源、提高测试效率而引进的。

不是所有的测试都适合采用自动化测试,所以要对软件开发过程进行分析,分析其是否适合进行自动化测试。而进行自动化测试通常需要同时满足以下条件:

1) 不频繁的需求变动

判断是否适合进行软件的自动化测试要考虑到自动化测试的维护成本。如果软件需求的变化太频繁,测试人员需要更新测试用例,并根据需求的变化来进行测试,要对脚本进行修改、调试,并且在需求变化较大的时候,还要修改测试的自动化框架,如果花的成本不低于节约测试成本,则测试自动化是失败的。项目中的一些模块是比较稳定的,而对某些模块的需求是很不稳定的。我们可以自动测试相对稳定的模块,不过变化更大的仍然是使用手动测试。

2) 有足够长的项目周期

在进行自动化测试调试之前需要确定自动化测试的需求确定、测试自动化框架设计以及测试脚本编写,然后在进行调试,这些步骤都需要花费很长的时间来完成,这个过程本身也相当于是一个测试软件开发的过程,从开始到其完成需要很长时间。如果项目的周期比较短,那么测试自动化也将是没有必要的。

上一篇:hadoop+HBase实时交通大数据分析
下一篇:基于OPNET的IP网络半实物仿真系统设计与实现

基于Apriori算法的电影推荐

PHP+IOS的会议管理系统的设计+ER图

数据挖掘在电子商务中的应用

数据挖掘的主题标绘数据获取技术与实现

基于PageRank算法的网络数据分析

基于神经网络的验证码识别算法

基于网络的通用试题库系...

安康汉江网讯

互联网教育”变革路径研究进展【7972字】

麦秸秆还田和沼液灌溉对...

新課改下小學语文洧效阅...

网络语言“XX体”研究

ASP.net+sqlserver企业设备管理系统设计与开发

LiMn1-xFexPO4正极材料合成及充放电性能研究

我国风险投资的发展现状问题及对策分析

张洁小说《无字》中的女性意识

老年2型糖尿病患者运动疗...