Project Icon

Test-Agent

智能测试助理助力软件质量提升

Test-Agent是一个开源的智能测试助理项目,融合大模型与质量工程技术。它提供多语言测试用例生成和Assert补全功能,支持Java、Python和JavaScript。项目开源的TestGPT-7B模型在用例执行通过率和场景覆盖方面表现优异。Test-Agent支持本地部署,保障数据安全。未来将持续迭代,扩展更多测试应用场景和模型规模。

Test-Agent: 您的智能测试助手

stars forks License: MIT Open Issues

本地Mac M1体验效果

图片

魔搭体验效果

魔搭模型访问链接:ModelScope TestGPT-7B MS

什么是Test Agent?(简介)

Test Agent 旨在构建测试领域的"智能体",融合大模型和质量领域工程化技术,促进质量技术体系升级。我们期望与社区成员一起合作,打造创新的测试领域解决方案,构建24小时在线的测试助理服务,让测试如丝般顺滑。

本期特性

  • 模型 本期我们开源了测试领域模型TestGPT-7B。该模型以CodeLlama-7B为基础,进行了相关下游任务的微调:

    • 多语言测试用例生成(Java/Python/Javascript) 一直以来都是学术界和工业界非常关注的领域,近年来不断有新产品或工具孵化出来,如EvoSuite、Randoop、SmartUnit等。然而传统的用例生成存在其难以解决的痛点问题,基于大模型的测试用例生成在测试用例可读性、测试场景完整度、多语言支持方面都优于传统用例生成工具。本次重点支持了多语言测试用例生成,在我们本次开源的版本中首先包含了Java、Python、Javascript的测试用例生成能力,下一版本中将逐步开放Go、C++等语言。
    • 测试用例断言补全 在对当前测试用例现状进行分析与探查时,我们发现代码仓库中存在一定比例的存量测试用例中未包含断言。没有断言的测试用例虽然能够在回归过程中执行通过,却无法发现问题。因此我们拓展了测试用例断言自动补全这一场景。通过该模型能力,结合一定的工程化配套,可以实现对全库测试用例的批量自动补全,智能提升项目质量水平。
  • 工程框架 本地模型快速发布和体验工程化框架

    • ChatBot页面
    • 模型快速启动
    • 私有化部署,本地化的GPT大模型与您的数据和环境进行交互,无数据泄露风险,100%安全

后续我们会持续迭代模型和工程化能力:

  • 不断加入更多令人激动的测试领域应用场景,如领域知识问答、测试场景分析等
  • 支持面向测试场景的copilot工程框架开放,如测试领域知识智能嵌入、测试通用工具API体系、智能测试Agent等,敬请期待!
  • 以7B为基础,逐步扩展至13B、34B模型。欢迎关注!

性能最强的7B测试领域大模型

目前在TestAgent中,我们默认使用了TestGPT-7B模型。与当前已有开源模型相比,TestGPT-7B模型在用例执行通过率(pass@1)、用例场景覆盖(平均测试场景数)上都处于业界领先水平。 TestGPT-7B模型核心能力的评测结果如下:

  • 多语言测试用例生成 针对模型支持的三种语言:Java、Python、Javascript,Pass@1评测结果如下:
模型Java pass@1Java平均测试场景数Python pass@1Python平均测试场景数Javascript pass@1Javascript平均测试场景数
TestGPT-7B48.6%4.3735.67%3.5636%2.76
CodeLlama-13B-Instruct40.54%1.0830.57%1.6531.7%3.13
Qwen-14B-Chat10.81%2.7815.9%1.329.15%4.22
Baichuan2-13B-Chat13.5%2.2412.7%2.126.1%3.31
  • 测试用例断言补全 目前模型支持Java用例的断言补全,Pass@1评测结果如下:
模型pass@1强验证百分比
Codefuse-TestGPT-7B71.1%100%

工程架构

JG

大模型的号角已经吹响,测试领域大模型也在不断进化中。通过预训练过程中积累的丰富世界知识,在复杂交互环境中展现出了非凡的推理与决策能力。

尽管在测试领域中基础模型取得了显著的成果,但仍然存在一些局限性,特定领域的测试任务通常需要专业化的工具或领域知识来解决。例如,基础模型可以通过预训练知识完成单次测试代码生成和测试文本生成等任务,但处理复杂的集成用例生成、特定领域用例生成和测试流程pipeline交互等问题时,需要更专业的工具和领域知识。因此将专用工具与基础模型整合在一起,可以充分发挥它们各自的优势。专用工具可以解决模型时效性不足、增强专业知识、提高可解释性和鲁棒性的问题。而基础模型则具备类人的推理规划能力,可以理解复杂的数据和场景,并与现实世界进行交互。

在本期开放模型工程化部署和ChatBot基础上,我们将继续在测试开源领域深耕投入。协同社区志同道合的开发者们,一起打造测试领域最领先的工具工程体系、智能测试助理和测试开源工程!

快速使用

前置准备

模型下载

You can obtain detailed information about the model and download the model files from modelscope or huggingface.

Please note:

  1. If you download the model through modelscope, you can refer to: Download Instructions for the download method;
  2. If you download the model through huggingface, please ensure that you can access huggingface normally.

Environment Installation

  • python>=3.8
  • transformers==4.33.2
git clone https://github.com/codefuse-ai/Test-Agent
cd Test-Agent
pip install -r requirements.txt

Before running the TestGPT-7B model, please ensure that your execution environment has about 14GB of video memory.

Start the Service

The project provides the ability to quickly set up a UI on the web page to more intuitively demonstrate model interaction and effects. We can use a few simple commands to wake up the front-end page and call the model's capabilities in real-time. In the project directory, start the following services in order:

1.Start the controller controller python3 -m chat.server.controller

2.Start the model worker work python3 -m chat.server.model_worker --model-path models/TestGPT-7B --device mps

(models/TestGPT-7B is the actual model file path)

For the startup method, you can choose from the following configuration options as needed:

  • --device mps is used to enable GPU acceleration on Mac computers (Apple Silicon or AMD GPUs);
  • --device xpu is used to enable acceleration on Intel XPU (Intel Data Center and Arc A-Series GPUs);
  • --device npu is used to enable acceleration on Huawei AI processors;
    • Need to install Ascend PyTorch Adapter
    • Set CANN environment variables: source /usr/local/Ascend/ascend-toolkit/set_env.sh
  • --device cpu is the option to run using CPU alone, without GPU;
  • --num-gpus 2 specifies the option for concurrent GPU running.
  1. Start the web service python3 -m chat.server.gradio_testgpt web Once the service is ready, we can open the locally launched web service address http://0.0.0.0:7860 to see the complete front-end page. At the bottom of the page, there are two examples of "Unit Test Generation" and "Assert Completion". Clicking the button will automatically generate a sample text in the input box. Clicking the Send button will trigger the model to run, and after waiting patiently for a while (running time depends on the performance of your machine), you can see the complete answer. demo

🤗 Acknowledgments

This project is built based on FastChat. We deeply appreciate their open-source contributions!

Contact Us

testagent_wechat_3

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号