一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就来谈谈关于软件测试中的“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
表 15-3 易用性测试表
在易用性测试表中,列出需要测试的对象名、对象的属性以及各属性的预期结果,在测试过程中,获取实际运行时对象的属性值,并将它填写到表格中。之后再比较预期结果与实际结果的值是否相同,如果相同,则在结果列中标为 PASS(字体颜色为绿色),否则标为 FAIL(字体颜色为红色)。
【实例】使用自动化测试工具 QuickTest Professional 测试图 15-20 中 OK 按钮的属性。
图 15-20 易用性测试对象
实现的代码如下:
'———————————————————————————————————
' 函数名:CompareText
'
' 目的:比较预期结果和实际结果单元格的值是否相同
'
' Parameters:
' sheetname:待比较的 sheet
' expectColumn:预期结果列
' actualColumn:实际结果列
' startRow:比较的开始行
' numberOfRows:共需要比较多少行
' trimed:单元格中的值是否包含空格符
' Date: 2011-11-27
'———————————————————————————————————
Function CompareText(sheetname, expectColumn, actualColumn, startRow, numberOfRows, trimed)
Dim returnVal
Dim cell
returnVal = True
'判断 sheet 对象是否为 nothing
If sheetname Is nothing Then
CompareText = False
Exit Function
End If
'循环读取单元格中的值
For r = startRow to (startRow + (numberOfRows - 1))
Value1 = sheetname.Cells(r, expectColumn)
Value2 = sheetname.Cells(r, actualColumn)
'空格符去掉后再进行比较
If trimed Then
Value1 = Trim(Value1)
Value2 = Trim(Value2)
End If
'比较两个数据是否相等,如果相等将结果标为 PASS 并将字体置为绿色,否则将
结果标为 FAIL 并将字体置为红色
Set cell = sheetname.Cells(r,actualColumn+1)
If Value1 <> Value2 Then
sheetname.Cells(r, actualColumn+1).value = "FAIL"
cell.Font.Color = vbRed
returnVal = False
else
sheetname.Cells(r, actualColumn+1).value = "PASS"
cell.Font.Color = vbGreen
returnVal = True
End If
Next
CompareText = returnVal
End Function
Set ExcelApp = CreateObject("Excel.Application")
Set ExcelSheet = CreateObject("Excel.Sheet")
Set myExcelBook1= ExcelApp.WorkBooks.Open("c:\1.xls")
Set myExcelSheet1= myExcelBook1.WorkSheets("Sheet1")
Dialog("Login").WinEdit("Agent Name:").Set "test"
Dialog("Login").WinEdit("Password:").SetSecure "4ed2314da546f1e8280d3586032611a53dfbed13"
myExcelSheet1.Cells(2,4).value = Dialog("Login").WinButton("OK").GetROProperty("text")
myExcelSheet1.Cells(3,4).value = Dialog("Login").WinButton("OK").GetROProperty("nativeclass")
myExcelSheet1.Cells(4,4).value = Dialog("Login").WinButton("OK").GetROProperty("width")
myExcelSheet1.Cells(5,4).value = Dialog("Login").WinButton("OK").GetROProperty("height")
myExcelSheet1.Cells(6,4).value = Dialog("Login").WinButton("OK").GetROProperty("visible")
myExcelSheet1.Cells(7,4).value = Dialog("Login").WinButton("OK").GetROProperty("enabled")
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close
CompareText myExcelSheet1,3,4 ,2,6,False
myExcelBook1.save
ExcelApp.Quit
Set myExcelSheet1= nothing
Set myExcelBook1= nothing
Set ExcelApp = nothing
Set ExcelSheet = nothing
测试完成后的结果见表 15-4。
图 15-4 易用性自动化测试结果
上例只是一个比较简单的易用性测试自动化的实现过程,在实际工作中可以对该方法进行一定的完善,进一步提高易用性测试的效率。
本章节关于“UI 易用性测试 以及自动化实现”就学习到这里了,每个工作日小编都会更新一个小知识,希望大家多多关注我们,一起来学习喔!