例如,一个复杂的研究查询可能被分解并分配给研究 Agent 进行信息检索、数据分析 Agent 进行统计处理,以及综合 Agent 生成最终报告。 多 Agent 协作模式概述 多 Agent 协作模式涉及设计系统,其中多个独立或半独立的 Agent 协同工作以实现共同目标。 层次结构: 管理者 Agent 可能根据其工具访问或插件能力动态地将任务委托给工作 Agent,并综合其结果。每个 Agent 还可以处理相关的工具组,而不是单个 Agent 处理所有工具。 一个 Agent 可以是需求分析师,另一个是代码生成器,第三个是测试员,第四个是文档编写者。他们可以在彼此之间传递输出以构建和验证组件。 创意内容生成: 创建营销活动可能涉及市场研究 Agent、文案撰写 Agent、图形设计 Agent(使用图像生成工具)和社交媒体调度 Agent,所有这些都在一起工作。
你写清楚“第一步读什么、第二步拆什么、第三步输出什么格式、遇到异常怎么处理”,Agent才知道该怎么干活。今天这篇文章,我从零拆一个测试人最常用的Skill——测试用例生成。看完你就能自己写第一个。 一、为什么测试Agent总是“落不了地”?过去一年,很多团队都在尝试用AI做测试。但真正跑起来的没几个。问题出在哪?不是模型不行,是你给它的东西,根本不是一个“能力单元”。 用大白话说:Skill就是把“资深测试工程师怎么做一件事”的完整经验,封装成一个Agent能随时调用的能力包。它和MCP的区别是什么? MCP给Agent提供手,Skill给Agent提供操作手册。没有Skill,Agent有手也不知道怎么干活。三、技能包如何让测试Agent真正落地? 测试人的经验,值得被封装成Skill。你今天花30分钟写一个“测试用例生成”的Skill,以后每一个项目都能复用。别只写提示词了。写一个SKILL.md,让Agent真正替你干活。
,测试1天; 4)项目周期三个月,开发一个月,测试1天 ; 5)开发一周,测试周期1小时; 6)开发3天,测试周期0小时(未测试,直接上线); 7)当天突然知道一个需求,当天就需要你测试,当天上线 3、常规来看,3天的测试预留时间,或者1周的预留时间,一定会被开发压缩的(即:在你的测试周期里,还会存在一些开发并行工作),先做冒烟测试,开发阶段就多关注代码实现逻辑、接口情况、测试数据准备、环境准备, 测试报告,附上你的测试点、以及可能性的风险、结论,避免背锅; 测试报告模板、怎么写,见文章 从业多年,依然写不好一份测试报告 ! ); 6、当时间确实不够,系统会线上问题的容忍度又非常低的情况下,测试报告明确注明风险+结论(不同意上线),且邮件发出来;最终,还是要一意孤行,锅,团队一起背 ; 7、确实很多非核心系统、内部系统、纯底层代码逻辑的底层框架 ,完全不需要测试,直接跳过测试、上线也是可以的(如果能做到 单元测试、代码检查、线上监控); 参考文章:软件测试从业者终极目标,线上零BUG如何实现 ?
图3-18 CPU状态转换图 7)软中断与硬中断 假设现在一家公司就有一名客服人员,这个客服人员就有一台座机,这种情况下用户碰到问题只能打电话给这个客服人员,如果有多个用户同时打入只能凭运气,先打通电话的人得到回答 /softirqs CPU0 CPU1 HI: 0 0 TIMER: 811613 1972736 NET_TX: 49 7 #ps aux | grep softirq root 7 0.0 0.0 0 0 ? PIDUSER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 7 root 20 0 0
文件发生修改后,根据预设规则触发对应的测试;测试通过,Agent就继续执行后续任务;测试失败,Harness将失败结果重新送回模型,让Agent进入下一轮修复循环(RepairLoop)。 这样才能兼顾验证强度和Agent的执行效率。失败结果的反馈回路测试进入AgentLoop后,并不代表测试跑起来就够了。对于Agent而言,测试结果本身也是上下文输入。 当测试结果开始参与控制Agent的下一步动作时,这些反馈本身是否可靠,也成了Harness需要管理的问题。测试本身的可信度还有一个更棘手的问题,就是Agent可能同时拥有业务代码和测试代码的写权限。 Agent可以为新功能补充测试,但关键的验收测试、回归测试,或是隐藏测试都由独立的Harness和CI管理。 如果Agent修改已有测试文件,则触发额外检查,判断是否删除断言、增加Skip、扩大Mock范围,或者放宽原有测试条件。变异测试也可以用来检查测试本身是否足够有效。
另外,由于 Jenkins Agent Pod 配置的是软亲和,当 CI 节点资源不足时,也可以调度到其他节点。 2. 使用 Kubernetes 提供的动态 Pod 作为 Jenkins Agent 用于构建流水线,具体配置可以参考顶部的文档链接。 测试策略 为了更好的测试 Jenkins 在 Kubernetes 上执行流水线的性能,在上面的配置中,我提供了足够 400 条流水线并发执行的资源。 在执行测试之前,执行 20 次流水线对节点进行预热。 主要进行五组测试,分别为 50、100、200、400、800 条流水线并发。 测试结果 流水线并发数量 触发成功率 UI 能否正常打开 全部 Pod 创建成功耗时 流水线执行成功率 失败的原因 50 50/50 可以 12分钟 50/50 - 100 100/100 可以 7分钟
CentOS7 Yum 安装zabbix-agent 3.4 2017-12-28 • CentOS、Monitoring • 评论关闭 CentOS7 Yum 安装zabbix-agent 3.4 RHEL 7, Oracle Linux 7, CentOS 7 快速安装zabbix-agent 3.4 1、安装zabbix yum源 rpm -Uvh http://repo.zabbix.com /zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm yum install zabbix-agent 2、直接安装zabbix-agent 3.4的rpm包 rpm -Uvh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.5-1.el7.x86_64.rpm 3、启动服务 chkconfig zabbix_agent on;service zabbix_agent start(和自己编译的不太一样service zabbix_agentd start)
而传统的单元测试很难对 app 的功能或者 UI 进行测试。 Apple 在 Xcode 7 中新加入了一套 UI Testing 的工具,其目的就是解决这个问题。 这篇文章将通过一个简单的例子来说明 Xcode 7 中 UI Testing 的基本概念和使用方法。 这也是为什么 iOS 中大部分的 UI 测试框架都是基于 UI Accessibility 的原因,Xcode 7 的 UI Testing 也不例外。 evaluatedWithObject: navTitle, handler: nil) waitForExpectationsWithTimeout(5, handler: nil) } 注意在当前的 Xcode 版本 (7.0 7A218
关键的用法 lnmap -sP 192.168.0.0/24:进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试。 这个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口打开,将使用版本检测来确定哪种应用在运行。 on 127.0.0.1 Discovered open port 8005/tcp on 127.0.0.1 Discovered open port 5521/tcp on 127.0.0.1 案例7: 192.168.0.133 案例14:使用通配符扫描 C:\Program Files (x86)\Nmap\scripts> nmap --script "http-*" 192.168.0.133 星云测试
最近在规划CentOS7版本中的MySQL测试情况,于是找了公司内部的虚拟机来做下模拟测试。 性能数据可以参考一篇对比测试的文章,总结的蛮好。 测试阶段 在本次测试中,我使用的是社区版5.7.27作为测试的对比,整个测试预期是按照如下的方式来做对比的。 ? 在实际部署时,CentOS7中还是存在一些差异,为了尽可能和运维平台衔接起来,所以整个部署是使用了平台化工具来做的。 -rw-r----- 1 mysql mysql 163475246 Sep 17 17:29 mysqlbin.000033 从性能测试来看,目前得到的初始数据,MGR的QPS在3200左右,而异步模式已经在 后续这一版测试还是要在一些细节上做一些补充测试。 文章详情《MySQL DBA工作笔记》
3.5星云客户端测试台功能说明 前置条件:双向追溯功能可以运行的前提是,测试用例已经被运行过,并且示波器收到了波形采集到了动态数据。 双向追溯是指通过运行测试用例,实现测试用例与被测源码间相互追溯。 根据测试用例查看相关被测源码为正向追溯,根据被测源码查看相关测试用例为逆向追溯。 在测试用例列表中选择测试用例,可以追溯到该测试用例的内容描述信息,在模块调用图中显示被测试到的函数;也可以在模块调用图中,点击相关的函数,也可以追溯到相关的测试用例。 该追溯技术方便了用户查看和设计测试用例。 进入双向追溯选择视图点击“测试台”,如图59所示。 ? 图59进入测试台 1. 模块流程图 对于系统之间或模块之间往往通过HTTP、HTTPS等通信协议进行,而星云测试通过agent技术,把测试用例进行过的多个系统或多个模块之间的调用进行了记录并绘制成展示图,测试人员可以很直观的观察出测试用例从起始点到进行的各系统或各模块之间的调用关系图
在某技术社区的测试专场,一位有十年经验的测试总监分享了他们团队的实践:"我们引入测试智能体后,三个月内测试效率提升了5倍,团队规模从15人缩减到6人。"台下掌声雷动,但散场后我听到两种截然不同的声音。 这个场景折射出当下测试行业的核心困惑:从Prompt工程到Agent编排,再到测试智能体,这些新技术究竟是测试人员的机会,还是威胁?问题的本质不在于技术本身,而在于我们如何理解这场变革的底层逻辑。 某金融公司的测试架构师老王,在使用测试智能体时,工作方式发生了根本改变。 某金融公司的测试总监王总,从一开始就将智能化定位为"组织能力建设"。他推动建立了"测试智能体中台",将团队积累的Prompt模板、Agent编排模式、决策规则全部沉淀到平台。 帮助建立智能化测试知识库,让团队在你的经验基础上持续进化,这是从个人贡献者到能力建设者的跃迁。真正的测试工程师,从来不是"测试用例的编写者",而是"产品质量的守护者"。
多模态 Agent 如何规划 UI 测试路径 文章封面 UI 自动化的难点,表面看是脚本维护成本高,深层看是测试设计无法持续跟上系统变化。 多模态 Agent 的价值,不是把脚本换一种写法,而是让系统具备持续感知页面、动态规划路径、执行后反馈修正的能力。目标也从“写自动化脚本”升级为“生成可回放、可审阅、可纳管的高质量测试用例”。 因此,真正要解决的是三个问题: 机器能否自己看懂页面当前状态 机器能否自主决定下一步测什么 生成的路径能否直接回放并纳入测试资产 Agent 测试闭环:感知、决策、执行、反馈 多模态 Agent 的核心思路 开环计划的问题很典型:一次输出 10 步计划,如果第 3 步意外弹出确认框,后面 7 步就会全部失效。根因是计划建立在“想象中的页面”上,而不是建立在真实页面上。 结语:让自动化从回放工具变成有记忆的探索系统 基于多模态 Agent 的 UI 自动化路径规划,关键不在于让模型替人点页面,而在于重构测试设计方式:人定义目标,系统感知状态,Agent 规划路径,工程约束负责校验
下面 7 个原则,每一个都跟『常识』对着干,而且都经过了大规模代码库的检验。 Agent 的高速,让过去因成本太高而无法落地的质量工具终于可以日常运行了。 过去跑一次变异测试要整夜,现在半小时够了。 把能程序判断的要求变成测试、复杂度检查这类硬工具。 Agent 可以忘掉第 80 条提示词,却绕不过一个失败的测试。 规则写在 Prompt 里是建议,写在 CI 门禁里是法律。 而资深程序员能识别出 Agent『正在挣扎』,这种判断力只能来自亲身踩坑。 7 工程原则要保留,人的习惯不必照搬 常识 要把《Clean Code》里的规则全部教给 Agent。 例如:圈复杂度上限从人的 4 放宽到 Agent 的 6 甚至 8;不强迫 Agent 模仿 TDD 的『先写测试再写实现』节奏,因为 Agent 短期记忆更强,先写代码再补测试可能更符合它的特点。
当业务需要新增“信用卡分期”功能测试时,测试工程师不需要从零写脚本,而是: 定义测试场景的DSL描述 Agent自动识别需要哪些能力(创建账户、绑定信用卡、发起分期、验证账单) Agent调用对应的MCP ,Agent自动重新组合测试流程,所有场景无缝适配。 智能化的能力编排 Agent不是简单执行预定义的脚本,而是根据测试意图动态规划执行路径。 例如,测试“用户购买VIP会员”这个场景: Agent理解测试意图:验证购买流程的完整性和支付后的权益生效 Agent查询可用的MCP能力:账户创建、商品浏览、下单、支付、权益验证 Agent生成执行计划 拥抱智能编排尝试用Agent来描述测试意图,而不是手写详细的执行步骤。让机器处理执行细节,人专注于测试策略和质量目标。 4.
<meta name="viewport" content="width=device-width,initial-scale=1.0">
JMeter不仅能十分便捷地进行接口测试,同时它也是一款优秀的压测工具。 在实际的性能测试中,一般会专门申请一台CPU、内存、磁盘指标都较好的linux服务器作为压测机器。 1 环境配置 版本情况:Linux版本为Centos7,JMeter使用版本为3.3,JDK版本为1.8。 -t表示测试计划,后面跟测试计划名称 -l表示测试结果,后面跟测试结果文件名称 ? local/testResult/test.jtl 脚本运行结束后,会在testResult目录下生成一个test.jtl文件,将这个文件导出到windows端JMeter中的聚合报告中,即可查看测试详情
测试环境: 操作系统:CentOS7、openstack nova-docker启动的centos7、openstack环境启动的centos7虚拟机 CPU:Intel(R) Xeon(R) CPU 因此虚拟内存到物理内存的映射次数比较少,性能瓶颈主要在物理内存的读写速度上,因此这种情况docker和虚拟机的测试性能差别不大; 内存带宽测试中docker与虚拟机内存访问性能差异不大的原因是由于内存带宽测试中需要进行虚拟地址到物理地址的映射次数比较少 根据这个假设,我们推测,当进行随机内存访问测试时这两者的性能差距将会变大,因为随机内存访问测试中需要进行虚拟内存地址到物理内存地址的映射次数将会变多。结果如下图所示。 image image image docker与虚拟机存储性能比较 采用iometer分别以顺序读、随机读、顺序写、随机写四中模式对如下3中场景进行测试,测试过程中文件系统采用ext4 测试前预热30s 虚拟机网络性能对比测试》
第七章 子 Agent 编排:SubagentDeclaration + agent_spawn,主 Agent 委派子任务 "以前我们用 SequentialPipeline 串三个 agent、用 FanoutPipeline 并行三个 agent、用 MsgHub 在多 agent 间广播消息……2.0 把这三种用法统一成了 『子 agent + 同步/异步 spawn』 一种范式:你的主 agent 本章你将学到:如何用 SubagentDeclaration 描述子 agent、如何让主 agent 通过 agent_spawn 工具调用它们、同步与异步的差别、以及文件驱动的 subagent 描述如何让 、再调 b、最后调 cFanoutPipeline([a, b, c])主 agent 用 agent_spawn timeout_seconds=0 并行 调 a、b、cMsgHub 多 agent 字段必填说明name是唯一 ID,主 agent 通过这个 ID 来 agent_spawndescription是主 agent 看这段描述来决定是否调用——写好描述等于写好路由表inlineAgentsBody
2.3 建立基于Marven的单元测试项目 接下来就可以建立基于Marven的单元测试项目了,打开eclipse-file-new-other,选中maven project点击【next】,如图20 图24 被测文件所处目录位置 在src\test相应的目录中建立测试文件CalculatorTest.java。如图25所示。 ? 图25 测试文件所处目录位置 CalculatorTest.java文件代码如下。 案例4:利用Marven测试简易计算器。 图26 转为TestNG 最后仍旧在测试文件处点击鼠标右键,选择“Run As->TestNG” ,如图27所示。 ? 图27 用TestNG Test运行 运行完毕,得到如图28的测试结果。 ? 图28 TestNG Test的测试报告 星云测试 http://www.teststars.cc 奇林软件 http://www.kylinpet.com 联合通测 http://www.quicktesting.net