UI 易用性测试 以及自动化实现!

GUI 是指图形用户界面,UI 是指用户界面,对于纯软件系统,这两者没有本质的区别,GUI易用性测试与 UI 易用性测试内容一致。但是如果测试的对象是一个产品,这两者则存在区别,对于产品 UI 则不仅仅包括 GUI,还包括产品硬件部分的测试。

一、UI易用性测试

UI 测试包括两类:软件界面测试和硬件界面测试。就软件界面测试来说,其与 GUI测试一致。硬件界面测试则是指产品的外观,产品外观是用户体验产品最重要的用户界面(如按钮、标识等),优秀外观可以更好地吸引客户的眼球,可以为产品增值。

UI 硬件界面的测试是结构测试中的一部分,外观测试应该注意以下几个问题:

(1)点状与线状测试。

(2)间隙或断差测试。

(3)注塑、丝印、喷涂、电镀测试。

(4)按键、镜片、LCD、LED、显示屏、摄像头、配合类测试。

(5)包装、附件等。

二、 易用性测试的自动化实现

易用性测试主要是针对对象的一些属性进行测试,但如果每个测试版本都去验证对象的属性,效率显然比较低,但是如果不验证,又担心开发工程师修改了对象的属性。而借助自动化测试工具帮助进行易用性测试,显然可以提高测试的效率,但不是所有的属性都可以通过自动化测试来实现,在测试过程中可以有选择地对对象的属性进行自动化测试。

易用性自动化测试实现的步骤如下:

(1)获取实际测试过程中对象的相关属性。

(2)将实际的对象属性与预期对象属性进行比较。

(3)如果不同,测试结果标为 FAIL;如果相同,则结果标为 PASS。

易用性测试内容见表 15-3

在易用性测试表中,列出需要测试的对象名、对象的属性以及各属性的预期结果,在测试过程中,获取实际运行时对象的属性值,并将它填写到表格中。之后再比较预期结果与实际结果的值是否相同,如果相同,则在结果列中标为PASS(字体颜色为绿色),否则标为 FAIL(字体颜色为红色)。

 
  1. 现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。

  2. 如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受

  3. 可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛

  4. 分享他们的经验,还会分享很多直播讲座和技术沙龙

  5. 可以免费学习!划重点!开源的!!!

  6. qq群号:680748947【暗号:csdn999】

【实例】使用自动化测试工具 QuickTest Professional 测试图 15-20 中 OK 按钮的属性。

图 15-20 易用性测试对象

实现的代码如下:

 
  1. '———————————————————————————————————

  2. ' 函数名:CompareText

  3. '

  4. ' 目的:比较预期结果和实际结果单元格的值是否相同

  5. '

  6. ' Parameters:

  7. ' sheetname:待比较的 sheet

  8. ' expectColumn:预期结果列

  9. ' actualColumn:实际结果列

  10. ' startRow:比较的开始行

  11. ' numberOfRows:共需要比较多少行

  12. ' trimed:单元格中的值是否包含空格符

  13. ' Date: 2011-11-27

  14. '———————————————————————————————————

  15. Function CompareText(sheetname, expectColumn, actualColumn, startRow,

  16. numberOfRows, trimed)

  17. Dim returnVal

  18. Dim cell

  19. returnVal = True

  20. '判断 sheet 对象是否为 nothing

  21. If sheetname Is nothing Then

  22. CompareText = False

  23. Exit Function

  24. End If

  25. '循环读取单元格中的值

  26. For r = startRow to (startRow + (numberOfRows - 1))

  27. Value1 = sheetname.Cells(r, expectColumn)

  28. Value2 = sheetname.Cells(r, actualColumn)

  29. '空格符去掉后再进行比较

  30. If trimed Then

  31. Value1 = Trim(Value1)

  32. Value2 = Trim(Value2)

  33. End If

  34. '比较两个数据是否相等,如果相等将结果标为 PASS 并将字体置为绿色,否则将结果标为 FAIL 并将字体置为红色

  35. Set cell = sheetname.Cells(r,actualColumn+1)

  36. If Value1 <> Value2 Then

  37. sheetname.Cells(r, actualColumn+1).value = "FAIL"

  38. cell.Font.Color = vbRed

  39. returnVal = False

  40. else

  41. sheetname.Cells(r, actualColumn+1).value = "PASS"

  42. cell.Font.Color = vbGreen

  43. returnVal = True

  44. End If

  45. Next

  46. CompareText = returnVal

  47. End Function

  48. Set ExcelApp = CreateObject("Excel.Application")

  49. Set ExcelSheet = CreateObject("Excel.Sheet")

  50. Set myExcelBook1= ExcelApp.WorkBooks.Open("c:\1.xls")

  51. Set myExcelSheet1= myExcelBook1.WorkSheets("Sheet1")

  52. Dialog("Login").WinEdit("Agent Name:").Set "test"

  53. Dialog("Login").WinEdit("Password:").SetSecure

  54. "4ed2314da546f1e8280d3586032611a53dfbed13"

  55. myExcelSheet1.Cells(2,4).value =

  56. Dialog("Login").WinButton("OK").GetROProperty("text")

  57. myExcelSheet1.Cells(3,4).value =

  58. Dialog("Login").WinButton("OK").GetROProperty("nativeclass")

  59. myExcelSheet1.Cells(4,4).value =

  60. Dialog("Login").WinButton("OK").GetROProperty("width")

  61. myExcelSheet1.Cells(5,4).value =

  62. Dialog("Login").WinButton("OK").GetROProperty("height")

  63. myExcelSheet1.Cells(6,4).value =

  64. Dialog("Login").WinButton("OK").GetROProperty("visible")

  65. myExcelSheet1.Cells(7,4).value =

  66. Dialog("Login").WinButton("OK").GetROProperty("enabled")

  67. Dialog("Login").WinButton("OK").Click

  68. Window("Flight Reservation").Close

  69. CompareText myExcelSheet1,3,4 ,2,6,False

  70. myExcelBook1.save

  71. ExcelApp.Quit

  72. Set myExcelSheet1= nothing

  73. Set myExcelBook1= nothing

  74. Set ExcelApp = nothing

  75. Set ExcelSheet = nothing

测试完成后的结果见表 15-4。

图 15-4 易用性自动化测试结果

上例只是一个比较简单的易用性测试自动化的实现过程,在实际工作中可以对该方法进行一定的完善,进一步提高易用性测试的效率。

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方进群即可自行领取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/443777.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot+vue实现高校学生党员发展管理系统项目【项目源码+论文说明】

基于springboot实现高校学生党员发展管理系统演示 摘要 随着高校学生规模的不断扩大&#xff0c;高校内的党员统计及发展管理工作面临较大的压力&#xff0c;高校信息化建设的不断优化发展也进一步促进了系统平台的应用&#xff0c;借助系统平台可以实现更加高效便捷的党员信息…

JavaSE面试——Collection接口和Collections类

集合分为&#xff1a;Collection 和 Map 两个体系 java8为 Collection 的父接口( Iterable )提供了一个默认的 Foreach 方法&#xff0c;我们可以使用它进行集合遍历 1. Collection 接口 Collection接口是是Java集合类的顶级接口之一&#xff0c;Collection 接口有 3 种子类型…

RESTful API关键部分组成和构建web应用程序步骤

RESTful API是一种基于HTTP协议的、符合REST原则的应用程序接口。REST&#xff08;Representational State Transfer&#xff09;是一种软件架构风格&#xff0c;用于设计网络应用程序的通信模式。 一个RESTful API由以下几个关键部分组成&#xff1a; 资源&#xff08;Resour…

基于springboot实现数据资产管理系统 项目【项目源码+论文说明】

基于springboot实现数据资产管理系统演示 摘要 固定资产管理系统主要是完成对系统用户管理、资产信息管理、资产变更管理、资产用途管理、资产类别管理和资产增减管理。因为利用本系统管理员可以直接录入信息&#xff0c;修改信息&#xff0c;删除信息&#xff0c;并且若在录入…

魔众智能AI系统v2.1.0版本支持主流大模型(讯飞星火、文心一言、通义千问、腾讯混元、Azure、MiniMax、Gemini)

支持主流大模型&#xff08;讯飞星火、文心一言、通义千问、腾讯混元、Azure、MiniMax、Gemini&#xff09; [新功能] 系统全局消息提示 UI 全新优化 [新功能] JS 库增加【ijs】类型字符串&#xff0c;支持默认可执行代码 [新功能] 分类快捷操作工具类 CategoryUtil [新功能…

RocketMQ-存储与弹性伸缩

存储与弹性伸缩 一、介绍二、存储架构图1.CommitLog2.ConsumeQueue3.IndexFile 三、消息读写流程1.写入流程1.1 获取Topic元数据1.2 消息投递1.3 消息写入 2.读取流程2.1 获取Topic元数据2.2 消息拉取2.3 消息消费 四、消息持久化1.页缓存2.刷盘2.1 同步刷盘2.2 异步刷盘 五、集…

力扣hot100:76.最小覆盖子串(滑动窗口)

本题使用滑动窗口解决&#xff0c;用right表示滑动窗口的右边界&#xff0c;left表示滑动窗口的左边界。寻找可行解&#xff0c;我们可以这样约定滑动窗口的意义&#xff1a;right指针向右移动&#xff0c;是使得滑动窗口找到可行解。left指针向右移动是为了更新窗口使得其可以…

定位算法——TDOA的Chan算法推导与Matlab实现

TDOA算法原理 TDOA(Time Difference of Arrival)——时间差到达算法&#xff0c;利用了几何数学中双曲线的特点—— 双曲线上的任意点到达两焦点的距离差是固定值。 这个距离差它天然可以抹去用户设备(UE)和基站的之间时钟误差。 P 1 C 1 c ⋅ ( t 11 Δ t ) P_1C_1 c(t_…

武汉灰京文化:5G与云计算技术下的手游行业,技术创新将带来怎样的变革?

随着技术的不断进步&#xff0c;手游行业将迎来一场革命性的变革。5G网络的普及和云计算技术的飞速发展&#xff0c;将为手游带来更加流畅、高清晰度的游戏体验&#xff0c;让玩家们尽情享受更真实、更沉浸式的虚拟现实和增强现实游戏。同时&#xff0c;人工智能技术的运用也将…

【Linux】cpp-httplib库

目录 升级gcc版本 下载cpp-httplib的zip安装包&#xff0c;上传到服务器 ​编辑 简单使用 首先打开gittee,搜索cpp-httplib,选择其中一个即可 也可以点下方链接 cpp-httplib库&#xff1a;cpp-httplib: cpp-httplib (gitee.com) 注意&#xff1a;cpp-httplib在使用的时候需…

BUU [网鼎杯 2020 半决赛]AliceWebsite

BUU [网鼎杯 2020 半决赛]AliceWebsite 开题&#xff1a; hint附件是源码。在index.php中有一个毫无过滤的本地文件包含 <?php $action (isset($_GET[action]) ? $_GET[action] : home.php); if (file_exists($action)) {include $action; } else {echo "File not…

人工智能|机器学习——DBSCAN聚类算法(密度聚类)

1.算法简介 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法&#xff0c;簇集的划定完全由样本的聚集程度决定。聚集程度不足以构成簇落的那些样本视为噪声点&#xff0c;因此DBSCAN聚类的方式也可以用于异常点的检测。 2.算法原…

使用python获取电脑的公网 IP

python 代码&#xff1a; from requests import getip get(https://api.myip.la).text print(My public IP address is: {}.format(ip))输出结果&#xff1a;

XSS-Labs靶场1---11关

一、XSS环境搭建&#xff1a; [ 靶场环境篇 ] XSS-labs 靶场环境搭建(特别详细)_xss靶场搭建-CSDN博客 &#xff08;该博主总结的较为详细&#xff0c;若侵权必删&#xff09; 常用的xss攻击语句&#xff1a; 输入检测确定标签没有过滤后&#xff0c;为了显示存在漏洞&#…

python并发编程-多路复用IO

多路复用IO(IO multiplexing) O multiplexing这个词可能有点陌生&#xff0c;但是如果我说select/epoll&#xff0c;大概就都能明白了。有些地方也称这种IO方式为事件驱动IO (event driven IO)。我们都知道&#xff0c;select/epoll的好处就在于单个process就可以同时处理多个…

【蓝桥杯-单片机】基础模块LED和按键

文章目录 【蓝桥杯-单片机】Led、按键等基础模块01 前置准备&#xff08;1&#xff09;新建工程&#xff08;4&#xff09;编写程序 02 基础模块&#xff1a;LED&#xff08;0&#xff09;LED原理图&#xff08;1&#xff09;对P1整体赋值&#xff0c;控制所有的LED灯&#xff…

【C++】函数模板和类模板

目录 1.泛型编程 2.函数模板 2.1函数模板的定义格式 2.2函数模板的实例化 2.3函数模板参数的匹配原则 3.类模板 3.1类模板的定义格式 3.2类模板的实例化 3.3模板的分离编译 1.泛型编程 泛型编程&#xff1a;编写与类型无关的通用代码&#xff0c;是代码复用的一种手段…

Linux——文件重定向

目录 前言 一、重定向 二、重定向的运用 三、dup2 四、命令行中的重定向 五、为什么要有标准错误 前言 在之前我们学习了文件标识符&#xff0c;直到close可以使用文件标识符进行关闭&#xff0c;但是当我们关闭1号&#xff08;stdout&#xff09;时&#xff0c;无法往显…

java 哨兵线性搜索

顾名思义&#xff0c;哨兵线性搜索是线性搜索的一种&#xff0c;与传统线性搜索相比&#xff0c;比较次数减少了。在传统的线性搜索中&#xff0c;仅进行N次比较&#xff0c;而在哨兵线性搜索中&#xff0c;哨兵值用于避免任何越界比较&#xff0c;但没有专门针对正在搜索的元素…

springMVC自定义类型转换

目录 &#x1f34b;&#x1f34a;自定义的转换类 &#x1f34b;&#x1f34a;xml文件中添加配置 &#x1f34b;&#x1f34a;测试 SpringMVC 底层已经封装了很多的类型转换器&#xff0c;也就是为什么我们页面上传的字符串可以使用 Integer接收或者可以直接转换为数组的原因…