如今最火热的技术莫非OpenAI的ChatGPT莫属,AI技术也在很多方面得到广泛应用。今天我们要介绍的TestGPT就是一个软件测试领域中当红的应用。
TestGPT是什么?
TestGPT是一家总部位于以色列特拉维夫的初创公司 CodiumAI Ltd.,发布的一款用于测试领域的人工智能模型(AI model),由 OpenAI 的 GPT-4 大型语言模型驱动。
官网地址: www.codium.ai
从官网的介绍可以看出,它是一个旨在协助开发人员测试他们的代码,为开发人员提供自动生成的软件测试套件建议,从而加快编码和错误扫描的AI工具。
如何使用?
目前TestGPT提供了针对VsCode和JetBrains的插件支持
以VsCode为例,在vsCode的插件中心搜索CodiumAI即可安装
安装后可以Github账户直接登录连接。
下面我们来用一段有问题的python排序算法代码来看看它是如何使用的。
def insert_sort(lists):
# 插入排序
count = len(lists)
for i in range(0, count): #range区间有误,这里是bug,应为(1, count)
key = lists[i]
j = i - 1
while j >= 0:
if lists[j] > key:
lists[j + 1] = lists[j]
lists[j] = key
j -= 1
return lists
切换到CodiumAI插件,连接后可以看到代码部分已经有了生成测试的入口
尝试生成下看看效果,稍等片刻,就可以看到AI的成果了
AI的辅助界面有三部分,分别是:
- Test Suite 测试用例
- Code Analysis 代码分析
- Code Suggestions 代码修改建议
在用例配置部分可以做测试的基本配置
Coverage部分则可以看到AI生成的Case覆盖情况
Test部分则是具体的测试用例,本例中生成了6条用例
执行后可以看到用例的执行结果,但生成的测试代码都执行成功了,似乎没有通过测试代码测试出bug :(
Code Analysis则给出了代码的分析说明,可以
代码建议部分则给出了修改建议,这里倒是准确地指出了代码中的问题。
按照建议直接应用,可以看到代码已经修改并加了注释
总结
所以可以看到TestGPT还是非常优秀的,准确地分析出了代码的作用并发现了代码中有问题的地方。也帮助设计了测试用例覆盖及相关单元测试脚本。 善用这个工具已经无疑可以给开发工程师提供非常大的辅助,但是从初步的使用来看,自行生成的测试用例对于问题代码的覆盖还有不足,短期内应该还不足以完全代替测试设计。