TestGPT对研发和测试人员的变革

TestGPT是一款协助开发人员自动化测试代码的工具,通过分析新代码并建议测试套件,减少测试痛苦。CodiumAI的IDE扩展已在VSCode和PyCharm等平台推出,计划扩展到更多编程语言和功能。尽管尚处早期阶段且有局限性,如不支持Java和Lua,但TestGPT有望改变软件开发和测试流程,提高代码质量和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、背景

上次我们我们聊到ChatGPT给测试工程师带来的机会和威胁

这次我们聊聊TestGPT对测试人员的影响。

TestGPT 模型旨在协助开发人员测试他们的代码,为开发人员提供自动生成的软件测试套件建议,从而加快编码和错误扫描。

句话总结:CodiumAI 帮助开发者将所有重要的测试创建过程自动化。

业内人士表示,展望 2023 年,很明显软件测试领域正处于重大变革的风口浪尖。随着技术进步的快速发展和软件开发的日益复杂,测试软件的方式也在不断发展。

二、TestGPT是什么

据美国媒体分析,这种工具的潜力是巨大的。2020 年,仅美国的软件错误成本就达到了惊人的 2 万亿美元,让许多公司对他们的软件质量产生质疑。考虑到这些成本,预防错误比在软件开发生命周期后修复错误更有意义,但软件测试又是一个费力又费时的过程。

不过,TestGPT 减轻了测试的痛苦。

TestGPT 的工作原理是在开发人员工作时分析新写的代码、文件串和注释,然后建议应该进行哪些测试,以确保该代码的功能和完整性。开发者只需在 TestGPT 建议的时候接受并提交这些测试,以确保其代码的完整性。

Codium官网

 Codium 的第一个工具是一个 IDE(集成开发环境)扩展,它可以实现生成测试的迭代过程,然后根据这些测试的结果来调整代码。这种与开发者的互动有助于工具更好地理解代码,并生成更准确、更有意义的测试,同时指导开发者编写更好的代码。

Codium 目前可作为 VS Code 和 PyCharm 等流行 IDE 的扩展。计划覆盖更多的 IDE 和编程语言,并支持额外的功能和协作。该公司表示,自 2023 年 1 月发布封闭式 alpha 版本以来,Codium 已经被成千上万的用户安装。

在未来,Codium AI 计划扩展并整合到软件开发生命周期的其他部分,目的是继续确保代码的高度完整性。这种扩展预计将包括测试和测试数据管理,CI/CD 集成,自动修复错误,代码改进建议,以及启用下一代测试驱动开发。

三、TestGPT能做什么

主要围绕Codium展开

CodiumAI 的工具现已推出测试版,作为 PyCharm、VSCode 和 WebStorm 等流行集成开发环境的扩展,并将在未来与更多 IDE 和其他编程语言集成。暂不支持Java和Lua。

 从官网的展示,可以从Python的方法为例,其会帮忙分析代码、制定测试计划、生成测试代码。

 

 

TestGPT 借着 ChatGPT 的风来到了我们的眼前。从目前的软件行业情况来看,TestGPT 主要还是供给于开发端,和当前情况不符。但是,未来会是什么样子呢?

如果 TestGPT 的能力足够强大,那他就能倒逼软件企业改变规则:

  • 让开发把单元测试的时间替换为使用 AI 的时间,甚至缩短开发时间,增加自我测试时间,从而淘汰测试
  • 又或者解放开发,让测试直接发现问题,并把更多的时间解放出来,去寻找 AI 也难以发现的问题。

未来已来,开发和测试的合作即将迎来新的考验,你准备好了么。

四、常见的几个问题

 五、对标我们目前的一些项目的适用情况

不可否认其智能性,但是也有一些它目前的痛点:

 1、其还处于beta版本,还存咋一定的BUG

2、语言支持比较局限,暂不支持Java和Lua,一些APP和游戏暂不适用

3、安全的考虑,之前三星有初步使用chatGPT ,但用不久后就被报泄密

4、主要是解放开发做单元测试,对于一些UI和动效和端到端的数据交互,其实没办法测试。比如游戏的动效暂时无法核对,游戏的兼修暂时无法核对,客户端到服务端的数据交互暂时无法核对、弱网络等阶段情况暂时无法模拟。

5、挑选项目的部分核心流程,暂时无法测试,以自己目前的游戏为例:

1)机体(类似英雄)测试,不适用:不支持lua脚本,以及数值配置暂不支持

2)活动测试,不适用:不支持PHP服务端代码检测,以及配置不支持

3)兼修无法核对,IP类游戏兼修算比较重要

6、需要翻墙,可能很多账号会被封,之前ChatGPT有批量封号

六、参考文章

TestGPT 母公司获 1100 万美元种子资金,软件测试领域正处于重大变革的风口浪尖?

codium.ai

### AI相关的软件测试方法 AI驱动的软件测试涉及多种技术工具,其核心目标是提高测试效率、覆盖率以及产品质量。以下是几种常见的AI相关软件测试方法: #### 功能测试 功能测试旨在验证AI系统的预期行为是否满足需求规格说明。由于AI系统通常依赖复杂的机器学习模型,因此需要特别注意输入数据的变化如何影响输出结果[^1]。 #### 可用性测试 可用性测试专注于用户体验(UX),确保最终用户能轻松有效地与AI应用交互。这包括界面设计合理性评估及操作流程简化等方面的工作[^1]。 #### 性能测试 性能测试用于衡量AI程序在不同负载条件下的响应时间资源消耗情况。考虑到训练大规模神经网络可能耗费大量计算能力,在部署前进行全面细致地压力测试尤为重要[^1]。 #### API测试 API作为连接各个组件之间的桥梁角色,在微服务架构下显得尤为关键。对于那些依靠外部服务完成某些特定任务(比如图像识别) 的AI 应用来说,则更应该重视对其所调用接口正确性的检验工作。 --- ### 工具推荐 #### TestGPT TestGPT 是一种基于大型语言模型 (LLM) 自动生成测试代码的技术,它可以帮助工程师快速创建高质量单元测试脚本并减少手动编写重复劳动的时间成本 。据报道 ,某公司在引入此技术之后实现了超过百分之五十以上的生产率增长效果 [^4]. ```python def test_addition(): result = add_numbers(2, 3) assert result == 5, f"Expected 5 but got {result}" ``` #### DeepCode DeepCode 利用了先进的自然语言处理算法来扫描源码库寻找隐藏缺陷或者错误倾向区域,并给出改进建议报告给维护者查看修正 . 实践证明这种方法可以有效降低约三分之一常见编码失误发生概率 , 同时促进整体工程品质得到明显提升 [^4]. #### Selenium + CV Model Integration 当传统元素定位方式无法应对动态变化频繁页面结构时候,我们可以考虑将视觉识别技术融入到现有的Webdriver框架当中去实现更加灵活可靠的自动化方案选择策略 [^4]. 下面展示了一个简单例子演示如何结合OpenCV来进行图片相似度比较判断登录按钮位置: ```python import cv2 from selenium import webdriver # Load image templates and initialize driver instance here... screenshot = driver.get_screenshot_as_png() template = cv2.imread('login_button.png', 0) res = cv2.matchTemplate(screenshot, template, cv2.TM_CCOEFF_NORMED) threshold = 0.8 loc = np.where(res >= threshold) for pt in zip(*loc[::-1]): # Click on matched location... break ``` --- ### 最佳实践建议 为了最大化发挥上述提到的各种先进手段所带来的效益同时规避可能出现的风险隐患,请遵循以下几个方面指导意见 : - **组合运用经典黑盒白盒思路** : 即使面对高度不确定性强随机生成型问题场景也不应完全抛弃既有成熟理论依据指导下的探索路径尝试 ; - **建立完善的数据集管理体系** :无论是监督还是无监督学习模式都需要充足代表性样本支持才能获得良好泛化表现特性; - **持续迭代优化反馈闭环机制建设** :借助CI/CD流水线设施定期触发回归检查作业从而及时发现问题所在以便迅速调整修复措施方向 [^5]; ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值