GUI软件灰盒测试技术和方法 篇一

GUI软件 灰盒 测试 技术和 方法 篇一

2026 .07.05

GUI软件的单元测试阶段能通过"层单元"测试方法和"三步骤法"作有效处理,那集成测试阶段是否能按老办法做呢?答案是否定的。 在现代的软件产品中,GUI界面基本取代过去的DOS界面 之后 ,同一个功能给出了多个使用方法和路径,这给用户以 不少 便捷, 给软件的测试工作带来了困难的 测试路径 "组合爆炸" 为此还得有新办法。

1 盒测试 技术和 方法的 提出

我们通过对软件测试实践的总结,发现了一种可用来处理GUI软件测试"组合爆炸"难题的新办法,也就是灰盒测试技术和方法。GUI软件的灰盒测试法可视为一种将白盒测试和黑盒测试有机结合的奇正测试策略。更具体一点,GUI软件的灰盒测试就是将白盒测试运用在GUI路径测试的前端发挥其优点,并运用GUI界面比较单一的消息处理机制尽早尽快发现问题,然后再运用黑盒测试处置较复杂的后续处理过程,以此提升测试效率。GUI软件的灰盒集成测试的基本过程见图1。

在GUI软件的集成测试中,用灰盒测试方法测试完毕界面单元1......m至响应函数入口处的有效性之后,只测试路径{C1→Ha}、{C1→Hb}、{C1→......}、{C1→Hn},便可验证全部路径{{C1→Ha}、{C1→Hb}、{C1→......}、{C1→Hn}}、{{C2→Ha}、{C2→Hb}、{C2→......}、{C2→Hn}}、{{......→Ha}、{......→Hb}、{......→......}、{......→Hn}}、{{Cm→Ha}、{Cm→Hb}、{Cm→......}、{Cm→Hn}}。具体执行时,可用相当探针和插装块的测试信息的消息框,如简便地在响应函数入口用Messagebox()输出测试的信息提示。

一般情况下,探针和插装块位置的选取要注意以下几点:(1)放在通过白盒分析获知的路径聚合点;(2)放在通过黑盒分析可知的路径发散点;(3)放在测试路径的路径必经处;(4)可放置在响应函数入口;(5)也可放在初始化成员函数入口。

灰盒测试方法的合理性主要体现在:(1)插装处前面的代码量较少,测试审查工作不太复杂,便于控制;(2)插装处前面的运行机制比较单一,测试过程简单;(3)与此同时,在结点"响应函数入口"前从黑箱角度讲很容易产生缺陷,尤其是由程序员的不仔细或疏忽出现缺陷,通过白盒方式更容易查出错误;(4)通过其他形式化的验证方法要产生不必要的工作量而速度慢,通过白盒审查测试则速度更快。

2 盒测试方法的效率分析

(1)测试执行次数的计算和效率分析

现令f为图1中前端事件次数,e为执行各种响应函数的次数。则基于测试执行次数的效率为:

一般GUI软件的前端事件有:菜单项、工具条/栏、快捷菜单项和快捷键,因此可令f=4,再依据GUI软件优势特征,可令e=20,则

(2)测试执行时间的计算和效率分析

现令t1为图1中前端事件的执行时间,t2为响应函数的执行时间。则基于测试执行时间的效率为:

这里考虑GUI软件的前端事件执行时间以均值计算,一般可令t1=0.1 min或更小,再综合GUI软件的响应执行时间,可令t2=1 min或更小,并取f=4和e=20,则

总结(1)和(2),我们可得结论:混合白盒测试和黑盒测试的灰盒测试技术和方法,在测试执行次数上能较大地提升效率,达333%;在测试执行时间上则提升更大,可达438%。

相关推荐
Data_Journal2 小时前
使用 Selenium 进行网页抓取:分步指南
selenium·测试工具·microsoft
骑士雄师2 小时前
大模型:MessagesPlaceholder 是什么?
服务器·windows·microsoft
Helen_cai2 小时前
OpenHarmony CustomDialog 自定义弹窗全场景开发与 API23 + 适配优化
运维·服务器·microsoft
女神下凡14 小时前
office系列软件 激活破解(office 2019, 2021, 2024)
人工智能·microsoft
XUHUOJUN17 小时前
Azure Local离线模式部署 Appliance(系列篇之九)
microsoft·azure local
2501_9437823518 小时前
【共创季稿事节】猜数字游戏:二分法思维与交互式反馈
前端·游戏·microsoft·harmonyos·鸿蒙·鸿蒙系统
菠萝猫yena1 天前
实践经验复盘
功能测试
A15362551 天前
组装具身机器人品牌推荐 工业级选型与落地指南
人工智能·microsoft·机器人
XUHUOJUN1 天前
Azure Local离线模式节点准备(系列篇之八)
microsoft·azure local