Test-Agent

Test-Agent

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

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

Test-AgentTestGPT-7B测试用例生成大模型质量技术Github开源项目

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

<p align="center"> <img src="https://yellow-cdn.veclightyear.com/ab5030c0/9b1fabb2-c2af-4ec7-a8c2-41da5f1a9b3f.jpg" width="50%" /> </p> <p align="center"> <a href="https://github.com/codefuse-ai/Test-Agent"> <img alt="stars" src="https://img.shields.io/github/stars/codefuse-ai/Test-Agent?style=social" /> </a> <a href="https://github.com/codefuse-ai/Test-Agent"> <img alt="forks" src="https://img.shields.io/github/forks/codefuse-ai/Test-Agent?style=social" /> </a> <a href="https://github.com/codefuse-ai/Test-Agent/LICENCE"> <img alt="License: MIT" src="https://badgen.net/badge/license/apache2.0/blue" /> </a> <a href="https://github.com/codefuse-ai/Test-Agent/issues"> <img alt="Open Issues" src="https://img.shields.io/github/issues-raw/codefuse-ai/Test-Agent" /> </a> </p>

本地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

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多