把自动化测试交给ChatGPT
做测试的各位同学,你们在工作中还在大量进行手工操作吗?其实从UI/UE 操作、功能验证到生成测试报告,都可以通过自动化技术来完成,节约大量时间成本。
不少同学表示道理都懂,但有一个很现实的问题摆在眼前,就是实现自动化技术需要扎实的编程技能,这对于一些测试人员来说要求确实偏高。所以有同学开玩笑说:“都能写代码了,谁还干测试呢?”
即使具备编程能力,要从零开始为业务构建自动化测试框架,也很难在繁重的测试工作中获得工期预算。因为点两下鼠标就能完成的事,总会被质疑是否值得花几个小时去写代码。
如果有一套适合业务的代码模板,只要修改一下配置参数就能实现自动化测试,那该多好。好消息是现在测试人员不必苦学编程,也不必花时间写代码,只要把工作交给 ChatGPT 就好。
只要使用自然语言描述清楚需求,ChatGPT 就能生成符合要求的代码模板,手工操作真的可以抛到一边了。接下来我们将通过一个登录页面的自动化测试实战来演示 ChatGPT 的妙用。
我们将使用行为驱动开发(Behavior-Driven Development,BDD)工具 Cucumber 来编写可执行测试用例,并使用 Selenium 来模拟浏览器操作。
让我们开始 AI 辅助软件自动化测试之旅。
实战应用:登录页面自动化测试
在使用 ChatGPT 开展工作之前,同学们要先了解一下提示词(Prompt)的编写技巧。提示词可看作驱动 ChatGPT 大模型工作的指令,对于编写代码来说,使用代理模式指定专业角色可以获得更精准的结果,例如“你是一名资深测试工程师,……”
首先,我们将需求通过自然语言描述向 ChatGPT 发出指令:“你是一名资深软件测试工程师,请基于 Cucumber 使用 Python 语言生成一个登录页面的测试框架。要求使用页面对象模型和类变量作为元素定位器。”
然后,ChatGPT 就为提示内容生成了完整的登录页面自动化测试框架。我们将生成结果分为三个部分来查看。
安装库与编写 BDD 测试用例
可以看到,尽管我们在提示词中并未说明要使用浏览器模拟工具,但 ChatGPT 主动选择 selenium WebDriver,而且还贴心地给出了安装 selenium 和 behave 的步骤。
在“login.feature”文件中,以 gherkin 语言描述了登录测试的正向测试用例与反向测试用例,接下来就是使用 Python 测试功能逻辑。
实现测试步骤
在“login_steps.py”文件中,前提条件(given)为打开登录页面,执行动作(when)包括输入正确参数、输入错误参数、点击登录按钮,预期结果(then)包括成功验证与失败验证。
页面元素和操作
在“login_page.py”文件中,对用户名、密码、登录按钮、错误提示信息等内容,以元素 ID 号的方式进行提取。当然,这是一个通用测试框架,同学们要根据自己的实际测试页面进行调整,可以选择 Name、xpath 等字段来提取。
测试工程文件目录如下。
上述三部分就是 ChatGPT 生成的所有内容,按照提示在 Linux 系统中构建测试环境,在代码中修改参数,执行“behave”命令运行,就能看到自动化测试结果。
即使对于一名新手来说,在 ChatGPT 的辅助下,顶多半小时就能跑通自动化测试流程。有了测试框架,后续就可以方便地添加测试逻辑。
虽然现在我们有了一个能用的自动化测试框架,但它仍然不甚完美,我们还可以借助 ChatGPT 继续优化。
精益求精:优化测试代码
观察现有的测试代码,我们发现 URL、用户名、密码等参数都是硬编码在 login_page.py 文件中的。如果将来测试用例扩展,参数增多,这种方式会对工程化管理带来麻烦,所以考虑将参数提取出来放置在配置文件中。
编写提示词:“请将上述登录页面测试框架中的 URL、username、password、Login 相关参数提取出来,放置在配置文件中,重新生成 login_page.py 代码。”
ChatGPT 按照要求提取了 url、valid_username、valid_password、invalid_username、invalid_password 五个参数,并使用 config.ini 文件存储配置。
随后,重写了 login_page.py 代码,展示了使用 configparser 库加载 config.ini 文件并读取相应参数的方法。
这一次优化使得测试代码更加通用,只要变更配置文件,就能实现对多个用例的测试,而不必频繁修改代码。
同学们也可以在此基础上持续优化,你们将会发现 ChatGPT 使用越多,输出的结果也会愈加精准。
使用 AI 工具实现自动化测试是一个具体的运用。那么,在 AI 时代,测试工作的指导思想是什么?还有更多的玩法吗?
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 759968159,里面有各种测试开发资料和技术可以一起交流哦。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。