软件测试实验学习笔记系列6--图形界面测试(GUI)

发表于:2013-8-09 11:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:xiajian2010    来源:51Testing软件测试网采编

  图形用户界面测试

  界面是软件和用户交互的最直接的层面,界面决定了用户对软件的印象,GUI,设计良好GUI—轻松愉悦的感觉。Web应用+网页制作--->GUI设计的兴起.

  流行的界面风格:多窗体风格,单窗体风格,资源管理器风格

  特性:易用性,规范性,帮助,合理性,美观与协调,菜单位置,独特性,快捷方式的结合,安全性考虑,多窗口的应用与系统资源。

  GUI测试重点是正确性,易用性和视觉效果,文字检查和拼写检查是GUI测试的重要环节。

  用户通过GUI拖动鼠标,单击按钮等来驱动软件完成需要的功能,这个涉及到:

  GUI输入主要是由一系列的事件或行动完成,拥有大量需要测试的状态,输入和状态转移不仅仅与当前的输入事件有关,而且还与以前的输入事件相关

  GUI软件的输入和事件的排列组合的数据非常巨大,执行路径比较多(想想100阶乘和101阶乘的区别)

  GUI中包含了大量复杂的组件和控件,允许多个窗口被激活,彼此之间存在一些同步机制,窗口中每个对象可以影响和控制其他对象

  GUI界面之间相互影响,相互依赖。--耦合度高

  GUI软件是基于事件和消息的。

  GUI测试中的很多方法是重复而枯燥的。

  除了考虑图形对象测试的本身特性,系统工作流程的测试也是一个重点,数据库设计,程序结构设计最终要界面设计的

  GUI测试的基本过程:1.执行用户操作,2.获取检测状态,3.对比验证内容

  基本原理:测试者在运行应用程序的同时,把他的所有的动作(键盘操作,鼠标操作)捕获或者录制下来,生成一个脚本文件,这个脚本文件以后可以被”回放“(playback),也就是按照上一次的所有执行动作重复执行一遍,实现自动运行和测试。在实际的测试过程中,同一动作的重复执行意义不大,而是根据测试需求为其进行一些必要的修改。

  GUI自动化测试工具的捕获/录制模式--->原型级的实现--->插入检查点,维护脚本--->编程修改,GUI自动化测试:软件规范过程,在录制前设计好测试用例.

  GUI自动测试工具:开源的Java的GUI测试工具—Selenium。SWTBot用于SWT,基于Eclipse应用的GUI测试工具,提供了能简化访问SWT和Eclipse组件的API,基于Apache2许可协议。其测试运行配置和JUnit非常的相似,测试方法的结构也很相似

  1.JavaGUI基础类库应用测试

  JavaGUI: SWT/JFace,Swing,AWT(Abstract WindowingToolkit)--->java.awt,JFC的一部分--->提供了JavaApplet,JavaApplicaton中可用的GUI中的基本组件,Swing自己绘制控件,调用本地图形子系统中的底层例程,而不是依赖于OS的高层模块。模仿原生系统,纯Java,轻量级,大量运用MVC模式的GUI工具包。SWT/JFace—Eclipse--高效的GUI程序

  1.1JFCUnit单元测试工具的介绍

  Xp测试驱动开发观念,单元测试技术,Java-->JUnit+Ant,JUnit的局限性,HttpUnit--Web测试,GUI--JFCUnit。

  JFCUnit是JUnit的扩展框架,扩展了针对SwingGUI的单元测试工具,提供的一些基本功能:

  ①捕获取窗体/对话框的句柄

  ②在一个进程的组件容器内,确定所需要的组件

  ③模拟触发组件的事件

  ④用于GUI测试的多线程方法

  JFCUnit从2.0开始,提供XML录制和回放功能,允许使用者快速,自动地生成/编辑用于驱动测试的脚本。XMLAPI是公开的,可以定义自己的XML标签句柄。

  1.2JFCUnit基本测试方法

  思路:提供了很多方法,可以用来模拟许多本地应该有传统测试人员手工进行的触发事件:单击按钮,在文本矿中输入字符,数字,鼠标双击事件,从而实现测试的自动化。

  两种方式模拟交互:①Junit.Extensions.Jfcunit.JFCTestHelper的EevenQueue来激活事件队列②使用Junit.Extensions.Jfcunit.RobotTestHelper来封装java.awt.Robot

  JFCUnit的测试用例类似于任何其他的JUnit测试用例。其主要不同在于它的

  测试用例类应继承自基类Junit.Extensions.Jfcunit.JFCTestCase,而不是基

  类:Junit.Framework.TestCase。

41/41234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号