📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
在Duolingo,我们重视快速执行新创意和对现有创意的迭代。然而,新功能和其他诸多变化带来了潜在的回归问题。因此,QA团队需要投入大量精力监控和测试我们的每周发布,以确保为学习者提供完美的最终产品。
我们一直渴望一个自动化回归测试的解决方案,让团队能够专注于更高投资回报率的任务,比如支持bug修复和测试新功能。我们需要一个易于维护的工具,理想情况下,团队中的任何成员都可以使用,无论他们的编码知识有多深,而且这个工具要足够健壮,能够承受每周引入的众多变化。
2024年,我们很高兴与MobileBoost合作,探索GPT Driver是否是这样一个解决方案。
人工智能测试的新前沿
基于AI的自动化工具出现了。GPT Driver是一套工具集,能够接收自然语言指令并在虚拟设备上执行操作。
例如,用自然语言风格列出的测试指令:“点击屏幕底部的个人资料标签图标。”
这种方法从可访问性的角度来看效果立竿见影。几乎不需要培训,我们就可以让任何团队成员使用这个工具,让他们输入想要完成的测试用例描述,点击运行,然后实时观看测试在浏览器中的执行情况。短短几小时内,我们就为关键场景(如课程进度、新手引导和社交功能)生成了测试。
学习使用基于GPT的提示进行有效测试
要让这样的解决方案奏效,我们需要克服两个主要问题:
1)多邻国高度迭代的特性;
2)多邻国体验呈现出许多不同的变量和变体,尤其是我们的功能和A/B测试方法论,用户下一步会看到哪个屏幕往往很难确定。这种不确定性对于手动测试人员来说可能容易接受,但对自动化来说却颇具挑战性。经过几周的反复试验和测试用例的迅速膨胀,我们意识到必须另寻他法。
在与MobileBoost的合作中,我们了解到,如果我们允许GPT在解决问题时更具创造性,我们的测试可以变得更加健壮和可靠。例如,与其告诉GPT Driver依次点击屏幕上的特定按钮,不如编写测试来实现更广泛的目标,比如“通过屏幕直到看到XYZ”。GPT Driver会以最终目标为导向,根据呈现的每个屏幕继续推进,直到无法理解如何操作屏幕或达到上述成功标准——这种自然语言重构的测试用例,即使在不确定性面前,也能让测试运行得更可靠。
这种方法也有缺点。虽然更可靠,但也可能漏掉GPT Driver自行绕过的某些问题。许多bug并不会完全阻止进度,所以我们需要知道发生了什么。幸运的是,GPT Driver会记录实时测试运行并存储,便于我们进行审查。审查这些运行已成为我们回归测试流程的核心。然而,现在团队可以快速浏览这些记录,确保工作流程按预期完成,这个过程只需几分钟,比之前每周多名QA成员手动执行节省了高达70%的时间。
基于 GPT 的方法的挑战
同样,任何使用过GPT或类似大语言模型(LLM)的人都知道,提供确切需要的指令有时是具有挑战性的。误解可能发生,确定哪些指令是关键的、哪些应该保持开放式的,这是一个学习过程。
此外,GPT的解释有时会以难以排查或理解的方式“失控”。MobileBoost是一个很好的合作伙伴,他们在软件层面引入了检查机制,或在明确下一步操作时直接绕过GPT层,以减少GPT的异常行为。
我们还面临复杂内容的挑战。由于长而微妙的翻译或执行计时和复杂交互,GPT在应对我们应用中最具挑战性的题型时可能会遇到困难。然而,随着大语言模型能够解决的挑战类型不断扩大,解释速度和准确性的提高,我们预期这些将变得更加可行。
结论
我们很高兴看到 GPT Driver 对 QA 团队的易用性,也很高兴看到由此带来的生产力提升。GPT Driver 加快了我们担心可能永远无法自动化的回归测试,使团队能够更加专注于投资回报率更高的任务,例如支持错误修复和测试新功能。我们很高兴探索它可能使哪些其他工作流程受益。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】