自动化测试与遗传改进技术在软件领域的应用
1. 基于 TESTAR 的 Web 应用自动化测试
1.1 Web 应用测试挑战
Web 应用测试面临着与桌面应用不同的挑战。比如,必须考虑网络延迟,测试自动化工具在执行下一个操作前要等待 GUI 做出反应。同时,要避免测试浏览器而非应用本身,需过滤掉搜索栏或书签等内容。
1.2 TESTAR 设置
1.2.1 动作选择
采用 Q - learning 算法指导动作选择过程。Q - learning 是一种无模型强化学习技术,代理在状态 S 时,需从该状态可用的动作集 A 中选择一个动作。执行动作 a∈A 可使代理在不同状态间转移,在特定状态执行动作会给代理带来奖励(衡量在给定状态执行给定动作的效用的数值分数)。代理的目标是最大化总奖励,通过学习每个状态的最优动作来实现。
我们的 Q - learning 算法由两个参数控制:
- maxReward:决定未探索动作的初始奖励,值越高,搜索越倾向于执行未探索的动作。
- discount:确定动作执行后奖励的衰减方式,小的 discount 值使奖励衰减更快,反之亦然。
1.2.2 TESTAR 协议
TESTAR 自定义协议是一个 Java 类,可扩展基本功能以实现复杂动作集、特定过滤器和复杂预言。通过多次迭代,人类测试人员可观察测试过程中遇到的问题并改进协议,本工作进行了三次迭代。
1.3 测试质量评估指标
为评估测试质量,定义了以下指标:
- 抽象状态:指在一次执行过程中访问的不同状态或 GUI 窗口的数
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



