软件测试 / 测试开发丨基于人工智能的代码分析与 Bug 检测实战
免费领取:测试资料+测试用例+简历模板+测试文档
简介
在人工智能还未盛行的时候,检测 Bug 通常是通过以下几种方式完成:1.研发编写单元测试。2.代码扫描工具,SonarQube、Findbugs。3.测试人员进行集成测试。
而现在其中的一部分工作,都可以通过人工智能提升效率,辅助开发与测试发现更多的问题,降低成本和提高软件质量。
在本章节,可以先了解一下在代码层面,基于人工智能工具,可以帮助我们提升哪些效率。
实践演练
人工智能可以帮助我们发现各种类型的 Bug,包含:
代码执行报错。
没有实现需求。
变量命名不规范。
代码执行报错
以下代码的逻辑非常简单,给定一段列表 a,列表 a 中有四个元素,要从列表 a 中找到索引为 5 的元素,很容易就会发现,这段代码一定是跑不通的。这种会执行报错的代码,Copilot 可以很容易帮我们定位到其中的问题。
1.输入错误代码:
2.给到提示词:
3.根据 Copilot 的智能提示展示后面的代码内容。以下为 Copilot 返回的信息,精准的定位到了问题。
没有实现需求
通过 Copilot 发现冒泡排序中的 Bug。
1.输入错误代码:
2.给到提示词:
3.根据 Copilot 的智能提示展示后面的代码内容。以下为 Copilot 返回的信息,精准的定位到了问题。
变量命名不规范
以下代码没有什么特别严重的问题,只是在变量名命名上面不符合 Python PEP8 的规范。但是 Copilot 偶尔也能发现这种命名不规范的问题。
1.输入不规范的代码:
2.给到提示词:
3.根据 Copilot 的智能提示展示后面的代码内容。
4.但是这种类型的问题, Copilot 也有很多时候发现不了,或者给出的提示毫无价值。所以也不能完全依赖 Copilot 返回的结果内容。
总结
在这个章节,主要学习了在代码层面,基于人工智能工具,如何帮助我们查找 Bug 的技巧。其中 Bug 的类型也分为多种,主要包含以下几种:
代码执行报错。
没有实现需求。
变量命名不规范。
版权声明: 本文为 InfoQ 作者【测试人】的原创文章。
原文链接:【http://xie.infoq.cn/article/f4079f82d03224a13ada3ff63】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论