用户体验测试的自动化实现

发表于:2008-5-06 14:36

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

 作者:陈能技    来源:51Testing投稿

检查界面元素的尺寸
        在用户体验和界面规范性测试中,还需要检查界面元素的尺寸是否满足一定的规范要求。例如检查所有对话框中的按钮大小是否一致、检查控件的长度和高度的比例是否恰当等。这些都可以用自动化的方式实现检查,只要获取到控件的长度和宽度就可以进行自动的比较。
        在QTP中,可以通过GetROProperty方法获取到测试对象的height属性和width属性,例如下面的脚本所示:
height = Window("记事本").GetROProperty("height")
width = Window("记事本").GetROProperty("width")
        在一般的界面规范中,可能会提到美观与协调方面的原则:长度和高度接近黄金点比例,切忌比例失调,或高度超过长度。
        注:黄金分割是一种线段的分割或一种几何图形的比例,特别是在美术设计中能看到,其中较小度量与较大度量和较大度量与整体之比相等,两度量间大约的比例为3:5。
基于这样的界面规范,可以用下面的脚本来实现自动化的检查:
' 定义黄金分割比例
Const GoldenSection = 0.6

Window("记事本").Activate
' 获取测试对象的高度
height = Window("记事本").GetROProperty("height")
' 获取测试对象的宽度
width = Window("记事本").GetROProperty("width")
' 计算比例
scale = height /width

If scale > 1 Then
Reporter.ReportEvent micFail, "控件高度超过长度!" , "高度为:" & height & ", 长度为:" & width
End If
If scale = GoldenSection Then
Reporter.ReportEvent micPass," Golden Section ","控件高度与长度之比完全符合黄金分割比例!"
End If
If scale > GoldenSection Then
Reporter.ReportEvent micWarning," Golden Section ", "控件高度与长度的比例为" & scale &",与黄金分割比例相比,控件高度过大,长度过小,建议调整以便满足黄金分割比例。"
End If
If scale < GoldenSection Then
 Reporter.ReportEvent micWarning," Golden Section ", "控件高度与长度的比例为" & scale &",与黄金分割比例相比,控件高度过小,长度过大,建议调整以便满足黄金分割比例。"
End If
        脚本的设计认为如果控件的高度比其长度还要大,则为设计不当,属于错误;如果高度与长度之比等于黄金分割比例,则通过检查。当然,在设计界面时不可能达到完全匹配黄金分割比例,因此可以定义一个误差范围,只要在这个范围内,都可以称为基本满足黄金分割比例,这个误差范围可在定义界面规范时设定,例如把最大值定为0.75,最小值定为0.5。则可把脚本修改成如下所示:
Window("记事本").Activate
Set testObject = Window("记事本")
' 调用检查黄金分割比例的代码
CheckGoldenSection(testObject)

' 把检查黄金分割比例的代码封装成函数
Function CheckGoldenSection(testObject)
    ' 最佳黄金分割比例
 Const GoldenSection = 0.6
    ' 黄金分割比例的最大值
 Const GoldenSectionMax = 0.75
    ' 黄金分割比例的最小值
 Const GoldenSectionMin = 0.5
    ' 获取测试对象的高度
 height = testObject.GetROProperty("height")
    ' 获取测试对象的宽度
width = testObject.GetROProperty("width")
    ' 计算比例
 scale = height /width
   If   scale > 1 Then
Reporter.ReportEvent micFail, "控件高度超过长度!" , "高度为:" & height & ", 长度为:" & width
     Exit Function
 End If
 If  scale = GoldenSection Then
Reporter.ReportEvent micPass," Golden Section ","控件高度与长度之比完全符合黄金分割比例!"
     Exit Function
    End If
 If scale<= GoldenSectionMax and scale>=GoldenSectionMin Then
Reporter.ReportEvent micPass," Golden Section ","控件高度与长度之比基本符合黄金分割比例!"
 End If
 If   scale > GoldenSectionMax Then
Reporter.ReportEvent micWarning," Golden Section ", "控件高度与长度的比例为" & scale &",与黄金分割比例相比,控件高度过大,长度过小,建议调整以便满足黄金分割比例。"
 End If
 If scale < GoldenSectionMin  Then
Reporter.ReportEvent micWarning," Golden Section ", "控件高度与长度的比例为" & scale &",与黄金分割比例相比,控件高度过小,长度过大,建议调整以便满足黄金分割比例。"
 End If
End Function
小结
        本文结合QTP的脚本编写,介绍了几个用户体验和界面规范测试方面的测试用例的自动化实现方法,通过工具的自动检查和比较,可避免人工检查的时间、精力的耗费,以及人工检查的误差。
        本文仅提供了一部分自动化的思路,读者可顺着这些思路进一步地扩展和完善测试脚本,而且应该还有不少的用户体验测方面的测试用例是可以采用自动化的方式实现的,关键在于把它们挖掘出来,采用恰当的方式编写成测试脚本。

版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号