可预见的未来(能否替代测试岗位)
在对这个问题探讨之前,我们先回忆一下作为一名测试工程师(功能),测试一个系统/模块/页面的过程。可以大致分为这四个:分析需求,测试用例编写,执行测试用例,执行结果反馈。
chatGPT可以帮我们做什么?
1. 测试用例编写
- 上世纪80年代“基于模型的自动化测试”概念已被提出,这种方法可以帮助测试工程师基于建立的测试模型生成测试用例,它的缺点在于算法的实现对于测试工程师是一个比较大的挑战,建立合适的测试模型也需要耗费较长时间。
- 而chatGPT4模型正好可以弥补这两点不足,chatGPT4只需要我们输入一段功能的需求就可以帮助我们生成高质量的测试用例
2. 测试用例执行
- 目前chatGPT只具备生成内容能力,不具备执行操作能力。所以点点点的工作无法通过chatGPT实现。
- 针对测试用例自动执行,目前主流的方案是底层使用浏览器驱动(selenium/Playwright),封装一些方法,录入被测HTML元素的位置,来实现测试用例自动执行。
- 封装方法的过程中,chatGPT可以帮我们提供最佳实践/生成代码整体的框架/框架中每部分代码实现/代码调试过程中错误解决方案
3. 测试用例执行结果反馈
- 测试的结果需要通知开发修改,这部分在(UI自动化)自动化测试代码中就可以实现。但目前自动化测试的痛点是页面元素变动导致自动化测试用例失效,这里我们需要一个更强大AI模型来解决这个问题,chatGPT目前无法实现。
- 那么在测试执行结果反馈过程中chatGPT可以帮我们做什么呢?
- 我们可以建立自己的训练集,将自动化测试发现的缺陷使用chatGPT自动分类,根据缺陷分类寻找解决方案,在这里如果能够与代码平台对接,就可以实现缺陷自动修复
总结:
- 以上所述chatGPT目前已经能够实现的是编写测试用例,实现自动化测试框架方案到落地。我们要做是使用chatGPT已具备的能力,让chatGPT学习测试工程师的思考方式,针对软件测试的过程进行训练
- 未来值得期待的是具备执行操作能力,自动修复缺陷。