
AI系统的测试入门与实践
文章平均质量分 73
最近AIGC大火,那么面对任何一种的AI系统,测试工程师应该如何测试,AI系统的测试与常规系统有什么不同呢,本专栏就针对这些问题,从零开始讲解AI系统的测试。在本专栏中可以学习如何测试AI系统,如何保证AI系统的质量特性。
CrissChan
前京东测试架构师、阿里云MVP、华为云MVP、中国商业联合会互联网应用工作委员会智库专家、中关村智联软件服务业质量创新联盟软件测试标准化技术委员会委员、极*客时间命题专家,极*客时间《接口测试入门课》作者、《研发效能实践指南》副主编、拉钩教育《软件测试第一课》作者,NCUT软件体系结构实验室特邀企业导师、《接口测试方法论》《持续测试》《京东质量团队转型实践》图书作者、《测试敏捷化白皮书》特邀编委、《DB51T1998-2015移动智能终端应用软件(APP)产品通用技术要求及测试规范》编委、多次受邀参与TID、NCTS、MAD、MPD、TICA、DevOpsDys等技术峰会以及参出品人。
展开
-
直接从SUT的源代码生成JMeter测试脚本的提示词
【代码】直接从SUT的源代码生成JMeter测试脚本的提示词。原创 2025-04-03 15:35:54 · 4 阅读 · 0 评论 -
测试用例生成的Prompt
根据需求生成测试用例提示词原创 2025-03-14 11:00:27 · 488 阅读 · 0 评论 -
Python开发MCP Client
全部例子只是MCP Client访问MCP Server的过程,那么这样其实就失去了MCP协议的创建的初衷,和大模型集成后才能发挥MCP最大的作用。原创 2025-03-04 13:59:58 · 943 阅读 · 0 评论 -
Python的MCP Server开发实战
这是一个入门级的教程主要讲解一下MCP Server的开发,主要是用官网的例子以及MCP Python SDK。原创 2025-03-03 13:40:19 · 2289 阅读 · 0 评论 -
大模型的UI自动化:Cline 使用Playwright MCP Server完成测试
MCP(Model Context Protocol),是一个开发的协议,标准化了应用程序如何为大模型提供上下文。MCP提供了一个标准的为LLM提供数据、工具的方式,使用MCP会更容易的构建Agent或者是基于LLM的复杂工作流。最近越来越受到大家的追捧,也有很多网站开始提供全部的MCP Server、MCP Client等内容,推荐https://www.pulsemcp.com/,这个网站收录的MCP Server比较全面,也包含了MCP Client的介绍。原创 2025-02-24 13:47:45 · 1427 阅读 · 0 评论 -
AI IDE:Windsurf 配置Playwright的MCP Server
MCP(Model Context Protocol),是一个开发的协议,标准化了应用程序如何为大模型提供上下文。MCP提供了一个标准的为LLM提供数据、工具的方式,使用MCP会更容易的构建Agent或者是基于LLM的复杂工作流。原创 2025-02-17 17:20:41 · 1148 阅读 · 0 评论 -
AI Test Reporter:让大模型帮你分析失败的Playwright测试报告
AI Test Reporter是一个借助大模型的能力帮我们分析失败的测试用例的工具,它能够分析失败的测试用例,并给出一些分析告诉我们为什么会失败以及有可能怎么修复的一些建议。该工具可以轻松集成到现有的工具平台中,像GitHub、Slack等,通过标准化的 CTRF 报告与所有主要测试框架兼容,并且会将AI的分析结果存入CTRF JSON报告中,方便以后其他工具的读取和展示。原创 2025-02-14 18:02:42 · 59 阅读 · 0 评论 -
知识蒸馏:大模型智慧的传承与精炼
在学校DeepSeek的技术文章,对于其中的“基于 Qwen 和 Llama 从 DeepSeek-R1 中提炼出的六个稠密模型(1.5B、7B、 8B、14B、32B、70B参数规模)”,有点困惑所以详细的学习和研究了一下。原创 2025-01-22 17:08:53 · 907 阅读 · 0 评论 -
借助Claude实现Playwright的自动化(MCP Server)
MCP Server自己开发也是可以的,现在也有很多开箱即用的MCP Server,可以在https://github.com/modelcontextprotocol/servers中查找。原创 2025-01-14 15:18:19 · 1749 阅读 · 0 评论 -
MCP Server开发的入门教程(python和pip)
使用python技术栈开发的简单mcp server。原创 2025-01-14 14:37:32 · 4754 阅读 · 0 评论 -
LLM的MCP协议:初识MCP,搭建第一个MCP Server
MCP(Model Context Protocol),是一个开发的协议,标准化了应用程序如何为大模型提供上下文。MCP提供了一个标准的为LLM提供数据、工具的方式,使用MCP会更容易的构建Agent或者是基于LLM的复杂工作流。原创 2025-01-03 17:13:30 · 10499 阅读 · 0 评论 -
借助大模型实现精准测试未覆盖代码的接口测试用例补充设计
在实现精准测试后,团队中开始很多人抱怨精准测试并没有真是的帮助测试工程师提高质量。精准测试报告能够发现有些变更代码没又被测试用例覆盖到,但是要怎么覆盖就变成了一个难题。目前需要开发工程师和测试工程师一起讨论给出一些测试用例的补充,在精准测试覆盖率报告生成后需要让大家放下手工的工作一起来分析报告补充测试用例确实会有点不太好组织。原创 2024-11-06 17:33:39 · 179 阅读 · 0 评论 -
把一个本地工程代码整理到一个文档给大模型解读工程做基础
大模型的安全机制一般有两套,一个是在训练时发挥作用,另外一个是在推理式发挥作用。原创 2024-11-05 15:27:50 · 237 阅读 · 0 评论 -
大模型的安全机制
大模型的安全机制一般有两套,一个是在训练时发挥作用,另外一个是在推理式发挥作用。原创 2024-10-09 10:03:03 · 186 阅读 · 0 评论 -
DPR:一种用于开放与问答任务的检索方法
它的核心思想是利用深度学习模型来生成问题的高维密集向量表示,并在大量的文档集合(如维基百科)中检索与问题最相关的文档段落。DPR的优势在于它能够快速地从大量文本数据中检索出与问题相关的信息,为后续的答案生成或提取提供上下文支持。在RAG模型中,DPR作为检索组件,与生成模型(如BART)结合,使得模型在生成答案时能够利用到外部知识源中的信息,从而提高答案的准确性和相关性。查询编码器(Query Encoder):这是一个基于BERT-base模型的编码器,用于将输入的问题转换成一个高维的查询向量。原创 2024-08-30 14:20:01 · 719 阅读 · 0 评论 -
程序调用大模型返回结构化输出(JSON)
大家很多时候使用langchain、llamaindex等大模型框架的时候,一直很头疼的就是大模型的answer不一定就按照约定的结构化数据返回,那么下面就以讯飞的spark为例解决这个问题。原创 2024-08-08 15:41:50 · 740 阅读 · 0 评论 -
Function Calling 快速理解
Function Calling是可以用自己的函数当作调用chatgpt的参数,在函数中我们可以做任何事情,例如获取网络上的数据,查询自己的数据库等。白话就是一下就是大模型函数调用,不是说去调用大模型函数,而是告诉大模型它需要调用那些函数完成处理,然后返回结果。原创 2024-07-30 15:42:35 · 473 阅读 · 0 评论 -
LLM的幻觉验证
对于模型的幻觉的验证现在虽然已经有了这么多办法,在面对幻觉的时候应该还是有很多未解的问题,对于评估方法、测试实践上还有很多值得探索和挖掘的内容。在模型的幻觉测试中,原子事实的分割和现实完全可信对比的方法虽然繁琐,但是确实当前最容易实施的方案;其次,selfcheckGPT的思路简单,方便实施,但是在相似性评价上哪一个更适合你所测试的模型,却需要读者自己判断了。最后的一致性检测相对繁琐,需要自己准备的内容较多,但是在发现幻觉上发挥一定的作用,也是一个值得深入的方向。原创 2024-07-26 17:28:33 · 192 阅读 · 0 评论 -
Retrieval-Augmented Evaluation方法评估模型幻觉
构建输入的prompt和golden answer相对比较耗时(可以利用LLM完成设计),往往在完成Golden Answer的设计后很少需要再次设计,因此这个成本的投入是固定的。但是评估方法是每次评估都需要执行的事情,因此建立快速、边界、ROI高的评估方法是相对比较重要的部分。原创 2024-07-26 11:27:08 · 187 阅读 · 0 评论 -
如何评价一个AI系统
构建输入的prompt和golden answer相对比较耗时(可以利用LLM完成设计),往往在完成Golden Answer的设计后很少需要再次设计,因此这个成本的投入是固定的。但是评估方法是每次评估都需要执行的事情,因此建立快速、边界、ROI高的评估方法是相对比较重要的部分。原创 2024-07-14 22:40:04 · 668 阅读 · 0 评论 -
成功注册Google的SerpAPI实现AI Agent的tool
SerpApi 是一个专门针对Google搜索结果页面(SERP)的API服务。通过这个API,我们可以获取到Google搜索的各种数据,包括但不限于搜索结果、位置、时间等信息。原创 2024-06-11 17:22:23 · 886 阅读 · 0 评论 -
LlamaIndex废弃了ParamTuner,可以用RayTuneParamTuner和AsycParamTuner替换
一些实现细节可以参见https://github.com/run-llama/llama_index/blob/main/llama-index-legacy/llama_index/legacy/param_tuner/base.py。LlamaIndex在0.10.x中的llama-index-experimental-param-tuner中设计了ParamTuner,在后面的版本中提供了AsyncParamTuner和RayTuneParamTuner替换。原创 2024-05-30 11:33:10 · 179 阅读 · 0 评论 -
rest_asyncio 简化和管理异步python编程中的 REST API 调用
rest_asyncio 是一个 Python 库,用于简化和管理异步编程中的 REST API 调用。它结合了 aiohttp 和 asyncio,提供了一种高效的方式来处理网络请求和响应,特别是在需要大量并发请求的场景下,例如爬虫、批量数据获取或实时数据处理。原创 2024-05-29 17:54:23 · 270 阅读 · 0 评论 -
Ollama局域网内访问
我们平时面对的场景中,服务器往往并不能链接互联网,因此我们就不能用上面介绍的Ollama的命令一样,运行命令直接获从Ollama中央仓库下载一个模型,Ollama为我们提供了一个导入模型的办法。那么如果有些模型没有量化的模型的话,就需要自己动手了,这个主要是借助llama.cpp完成的,具体操作就不做详细说明了,需要的时候,在网上学习吧。选择我的电脑点击右键,选择属性后点击高级系统设置就可以看到环境变量的按钮了,点击进入后可以看到有上下两部分,上面是用户变量,下面是系统变量。重新载入配置,再通过。原创 2024-04-29 15:59:19 · 9595 阅读 · 0 评论 -
Ollama完成本地模型的运行
Ollama 是一个开源的大型语言模型(LLM)服务工具,它允许用户在本地运行和使用各种大型语言模型。Ollama 提供了一个命令行界面,支持多种流行的模型,如 Llama 3、Qwen 1.5、Mixtral、Gemma 等,并且用户可以根据自己的需求定制和创建模型。Ollama能够实现模型的本地运行,降低了模型开发的复杂度,无聊时AI开发的高手还是新人都可以快速使用Ollama完成模型本地运行。同时可以识别Nvidia、AMD的GPU,AVX、AVX2指令集的CPU。原创 2024-04-25 13:54:01 · 1786 阅读 · 0 评论 -
LangSmith帮助测试大模型系统
想要使用LangSmith首先进入他的设置页面,https://smith.langchain.com/settings注册一个账号,然后进入API Keys页面创建一个API Keys,我们为例后续演示,这里创建一个test_api_key名字的API Key,如下图所示。LangSmith完成了跟踪LangChain构建应用的所有的中间过程,这也为验收或者测试LangChain构建的基于大模型的应用提供了有力的手段。在项目下的列表中,我们多次执行LangChain构建的大模型的应用也可以做横向对比。原创 2024-04-24 00:00:29 · 455 阅读 · 0 评论 -
通过Llama Index实现大模型的SQL生成的三种方法详解
llamaindex提供的三种text2sql的方法真的不同的问题都有其更加擅长的方向,并没有一个可以全盘解决问题的技术方案,所以具体选择哪一种还是需要根据面对的问题而定。原创 2024-04-10 10:46:46 · 1294 阅读 · 0 评论 -
Llama Index的NodeParser详解
Node Parser有很多种,具体需要使用哪一种就需要我们根据数据的内容、数据的特点等做出选择了。原创 2024-04-08 14:10:09 · 525 阅读 · 0 评论 -
基于chatGLM在llama index上建立Text2SQL
文中使用了chatglm的llm和embedding modle,利用的智谱的免费token。原创 2024-04-03 11:30:18 · 769 阅读 · 1 评论 -
LLM的测试工具:LaVague平替成国内大模型
LaVague 通过LLM将自然语言转换Selenium的代码引擎,用户或其他人工智能轻松实现自动化。原创 2024-03-19 22:51:26 · 574 阅读 · 0 评论 -
5 AI的道德验证和实践方法
AI的道德性是AI需要遵守的底线也是大模型的缔造者需要建立的道德围栏,虽然对于AI的道德有各式各样的要求,各大国家、组织都对AI的道德做了基本的约束,但是如何验证AI是否遵守了道德约束确实一个不容易验证的内容,通过“道德黑客”的方法,尝试各种方式突破AI的道德底线,例如通过一套密码诱骗AI给出违反道德的结果,通过哀求、贿赂诱骗AI扩过道德围栏,建立red team不断地共计AI的道德围栏等等手段还在不断的尝试和更新中,守住AI的道德底线是守住了人类智慧的基线。原创 2024-03-09 08:52:25 · 162 阅读 · 0 评论 -
4 AI系统的测试关键技术和实践
SSE最近突然的被很多人关注还有一个主要原因就是ChatGPT等大模型的聊天类系统就采用了SSE协议。在使用ChatGPT的时候,输入Prompt后的反馈是逐渐的显示在聊天区域的,这部分的实现就是主要基于EventStream的事件流,类似打字机一样输出的,这就是SSE的实现,其实类似一下股票行情推送、期货行情推送都可以使用SSE实现。原创 2024-03-09 08:50:58 · 315 阅读 · 0 评论 -
3 模型评估
随着各式各样的AI系统的出现,模型评估会变得越来越多样化,那么如上介绍的也可能也会退出模型评估的对应基准的选择范围。那么,无论怎么发展这种基准测试都是模型评估的方法都不会过时,这也为各种模型的横向对比提供了一个客观的评价方法,也为模型在某一方面的能表现提供了一个客观的评价基准。原创 2024-03-09 08:50:03 · 170 阅读 · 0 评论 -
2 数据和测试评价
数据是AI的基础,AI系统是通过数据的训练而得到的,用于AI系统训练的数据通过收集、清晰、打标等一系列处理后才能用于模型的训练,可见数据是否按照模型的要求完成了上述一系列动作是模型最终表现的重要影响,因此用于训练的数据的质量也是非常值得关注的。在训练完成之后的模型的测试中,传统测试方法“测不准”的现象严重影响了测试结果,那么通过神经元覆盖、层级覆盖的思路可以为测试给予指导,帮助测试工程师完善测试用数据,实现基于覆盖率的测试过程评价,将测试结果的评价转换成覆盖率的评价,从而解决了“测不准”的问题。原创 2024-03-09 08:49:27 · 137 阅读 · 0 评论 -
1 AI系统概述
1936年阿兰·图灵发表的《论可计算数及其在判定问题中的应用》开启了人工智能的篇章,从1950以后,AI这个词的诞生,也注定了人工智能将会不断的影响人类的生活,那么这么多年的发展和积累,AI已经开始影响了我们生活的方方面面,尤其是二十一世纪二十年代以来,AI已经开始影响到了几乎世界上的每一个人。AI的快速发展也为测试工作提出了新的挑战,这些挑战无疑也为系统测试工作提供了新的探索和研究的方向,那么下面的章节我们就会针对AI系统的测试做深入的阐述。原创 2024-03-09 08:48:20 · 281 阅读 · 0 评论 -
0 如何测试AI系统的软件测试
随着AI系统的井喷是否发展,AI系统的测试已经变成了一个棘手的问题,尤其是传统软件工程中的测试用例的三个关键要素的输入数据、执行步骤和预期结果约束之下,AI系统的测试用例在执行过程中往往并不能完全满足预期结果的描述,但是实际AI系统的输出在逻辑上又是正确的处理,这也就呈现了AI系统测试中的”测不准“的问题。AI系统的测试只能是在实践中通过不断地找到更加适合其特点的方法、技术和实践,通过不断优化和改进测试过程,可以提高软件的质量和可靠性,从而为用户提供更好的体验和价值,提高用户满意度。原创 2024-03-09 08:47:38 · 195 阅读 · 0 评论 -
ChatGPT使用的SSE协议接口怎么做测试
SSE最近突然的被很多人关注还有一个主要原因就是ChatGPT等大模型的聊天类系统就采用了SSE协议。在使用ChatGPT的时候,输入Prompt后的反馈是逐渐的显示在聊天区域的,这部分的实现就是主要基于EventStream的事件流,类似打字机一样输出的,这就是SSE的实现,其实类似一下股票行情推送、期货行情推送都可以使用SSE实现。原创 2024-03-06 17:52:48 · 587 阅读 · 0 评论 -
解决AI系统”测不准“的问题:蜕变测试
在被测试的AI模型的处理逻辑之上我们找到了蜕变关系MR,那么我们将测试用例1的输入1通过一种参数扰动的处理,得到了输入1‘{I1’, I2’,…如上给出的全部例子都是基于一种有效的测试用例找到了对应的蜕变关系,其实这种蜕变关系也不一定非要从功能正确的测试用例开始的,我们也可以通过一些反向的测试用例找到对应的蜕变关系,从而设计出很多的测试用例,假设我们前面例子中的一个基于深度学习进行图像分类的模型,通过读入照片识别照片中是不是一只猫,那么我们可以输入一下不是猫的图片,然后基于这个蜕变关系,从完成测试。原创 2024-03-01 17:43:10 · 301 阅读 · 1 评论 -
AI数据和测试评价
数据是AI的基础,AI系统是通过数据的训练而得到的,用于AI系统训练的数据通过收集、清晰、打标等一系列处理后才能用于模型的训练,可见数据是否按照模型的要求完成了上述一系列动作是模型最终表现的重要影响,因此用于训练的数据的质量也是非常值得关注的。在训练完成之后的模型的测试中,传统测试方法“测不准”的现象严重影响了测试结果,那么通过神经元覆盖、层级覆盖的思路可以为测试给予指导,帮助测试工程师完善测试用数据,实现基于覆盖率的测试过程评价,将测试结果的评价转换成覆盖率的评价,从而解决了“测不准”的问题。原创 2024-01-10 18:16:13 · 612 阅读 · 0 评论 -
通过Langchain实现大模型完成测试用例生成的代码(可集成到各种测试平台)
代码中使用的是讯飞spark3.0版本,其中版本在的控制已经封装到了langchain对应的讯飞的iflytek的类中,可以在调用的时候显示控制,默认是spark2.0版本。原创 2023-12-04 14:27:02 · 1702 阅读 · 4 评论