AI智能总结
基于腾讯TAPD的国产智能敏捷协作实践 李松延多年敏捷研发管理经验,帮助内外部团队落地敏捷理念,加速组织转型。目前负责腾讯云TAPD产品商业化工作。讲师介绍 2018年2006年轻量敏捷项目管理随需而变的分布式敏捷协作1.0自动化开放与度量4.05.02019年2025年8.0企业级管理TAPDAITAPD诞生对外提供企业服务开源协同自动化高效协作DeepSeek研发智能化-全覆盖腾讯研发团队,腾讯每一款产品包括微信、王者、会议等研发都离不开TAPD的支持。-提炼借鉴主流敏捷方法(Scrum / XP / FDD…),结合互联网产品研发的特色,提供研发理念、研发方法/实践到研发平替的体系化敏捷研发解决方案。腾讯TAPD凝聚腾讯二十年敏捷项目管理最佳实践 TAPD 8.0-智能化、企业级敏捷2月3月企业敏捷(已上线)智能知识库(灰度中)DevOps研发一体化(已上线)Jira国产替代(已上线)企业级敏捷最佳实践发布面向业技一体化,拉通企业级战略执行TAPD&Coding集成深度集成Coding,最佳腾讯研效一体化Jira迁移能力补齐功能全覆盖,迁移完整丝滑连接乐享2.0知识库联通知识与协作,研发知识智能化1月 TAPD AI测试生成(灰度中)新一代测试管理AI加持测试管理每一步资源精细化管理(内测中)团队日历透明排期与人力饱和,资源聚合管理 TAPD AI需求评审(内测中)智能需求评审智能评分,智能生成修改建议TAPDAI问答助手(内测中)需求、度量、问答小助手从AI辅助到AI自主演进 TAPD AI不止于是辅助,应实现真正研发产出需求编写&评审代码编写&评审用例编写&评审需求编写:简化、扩写、续写、校阅、润色、总结、翻译需求评审:通过AI身份、评审标准等设定,智能生成修改建议,实现需求规范化代码编写:智能代码推荐,全场景自动补;智能技术对话,问题快速解答代码评审:根据仓库的代码内容,以及PR中代码、commit信息,提供信息总结、AI评审能力•用例编写:AI深度思考结合测试实践,需求自动生成用例,历史用例补充生成用例评审:智能逻辑评审和智能规范评审,智能生成评审建议,实现用例可用与规范•反馈分析:分析用户反馈,自动打上标签,转化为需求或缺陷跟踪•反馈跟踪:智能提供反馈进度、趋势等统计,识别风险和根因 AI辅助需求编写自由模式:自由输入编写需求详情简化、扩写:复杂描述简化,不清楚描述细化校阅、润色:检查逻辑问题,同时可规范需求更正式、更可观等总结、续写:总结、续写需求,更通俗易懂,更完善翻译:中英需求翻译切换,解决出海协同语言问题 AI需求评审需求描述文档多种需求内容评审用户角色设定需求评审更贴近用户自由定义评审标准规范需求内容结果按需设定把空需求严格程度自动触发需求评审全程无人作业 通过AI身份、评审标准等设定,智能生成修改建议高效评审修复,实现需求规范化 AI测试解决方案测试设计到用例评审阶段的工作通常占整体测试工作量的50%-70%,AI实践提效成果明显当前手工用例辅助生成场景的综合测试准确率在35%-50%区间,用户直接应用率20%,综合采纳率45%AI测试点生成AI需求模块拆解 直接与AI对话AI思维链生成AI用例生成搭建专属智能体生成设计脑图AI用例设计 自动生成用例-测试思维链,确保用例场景覆盖①生成模块②生成测试点③生成用例需求模块通过AI集合测试用例思维链,模拟人脑用例编写 自动生成用例-RAG与测试知识应用,保障生成完善准确用例RAG+测试因子RAG多次对话+定制生成规则思维链+测试方法应用 测试用例评审-AI规范和逻辑评审,把控用例质量规范审查规则逻辑审查规则综合规范和逻辑提供多套评审建议,建议一键采纳替换,评审后用例一键生成测试计划 AI代码助手-代码评审能力IDE中编写代码自动评审,提供修复建议,快速修复代码 智能反馈分析 AI工作总结个人工作总结:根据不同角色岗位生成个人工作月报、周报、双周报,帮助员工成长团队项目总结:根据项目执行数据生成团队项目问题和总结报告,帮助团队持续改进 Thank you感谢观看! 算法驱动下的软件开发实践--智能化软件开发流水线cnb.cool运营负责人王春雨 云原生构建:云原生时代的研发基建•腾讯自研DEVOPS解决方案(降本增效:2018--2025)•基于容器化技术,为开发团队带来高性能、云原生的研发基建 内部研发痛点云原生构建:支撑腾讯自研上云•支撑腾讯文档、手机QQ、腾讯广告等产品自研上云研发基础设施•22年6月对外公布数据:自研云规模5000万核,累计节省成本30亿 产品研发痛点:技术债务+老旧基建•随着业务和开发逐渐增多,1个业务需求横跨2、3个仓库是常事•140个npm包散落在7个业务仓库中•开发在改bug改到这个仓库时苦不堪言,即使有文档,代码一行小小改动需要半天,典型的半天是上图这样度过的 产品研发痛点:流程规范 •流程不规范导致代码不同源•有同学为了快速验证,在自己的特性分支直接发latest版本,没有合入主干,导致别人发布latest版本时丢失代码•该同学离职,本地代码永远消失,只能按业务逻辑重写一遍 回归软件工程:人+工具+流程规范 手Q“班车合流”模式•6个BG、20个部门、3000+研发团队•分布深圳、上海、北京、杭州四地•380万行代码、100+活跃特性分支 6个BG,20上千人北京、深圳、上海、杭州380万100+1个月构建平台440+CPU,1,100+GB内存300+月均活跃构建任务13,000+月均活跃构建次数-含Android、iOS自动化测试平台900+测试机4,300+月均执行任务100,000+月均执行用例3,800+月均执行小时数提效:研发基础设施建设 代码扫描工具自定义规则占比60%400+月均扫描次数12,000+月均发现问题数累计发现问题285,941性能测试工具持续运行3,424次任务,保护主干性能影响473Android单次执行时长IOS单次执行时长31分钟 CI系统挑战:•代码拉取耗时长(通过repo下载代码20分钟)•构建效率低(编译出包超过1个小时)•并发构建受限(多个流水线只能串型跑,并发会造成冲突和污染) 次35分钟 提效:构建加速•仓库越大、协作人数越多,性能优势越突出•通过dockervolume挂载缓存•copy-on-write机制避免并发下的读写冲突•百G代码/缓存秒级准备(AOSP项目为例)•编译时间1小时+—>2分钟内•支持高并发•项目开源:https://cnb.cool/aosp/monorepo 强化安全漏洞分析•检查代码中是否存在命令行注入漏洞。•当使用childprocess等模块执行命令时,拼接了用户可控的输入,会导致命令执行漏洞。攻击者利用漏洞可以控制目标主机或者容器。•修复建议:需要评估childprocess等模块执行命令的使用,应限定或校验命令和参数的内容。CmdInject⭐️⭐️⭐️⭐️⭐️•检查代码中是否存在路径穿越漏洞。•操作文件时,应该限定文件的路径范围,如果拼接用户输入到文件路径,可能导致路径穿越漏洞。攻击者利用漏洞可以访问到文件系统上的任意文件,这可能导致信息泄漏等问题。•修复建议:按业务需求,使用白名单限定后缀范围,校验并限定文件路径范围。PathTraversal⭐️⭐️⭐️⭐️•SQLInject规则用于检查代码中是否存在SQL注入漏洞。•错误的拼接用户可控的值到SQL语句,可能导致SQL注入漏洞。攻击者可以修改sql语法来更改查询的目标或结果,泄露数据库敏感信息,也可以使用SQL文件操作攻击底层Web服务器。如果使用该SQL查询进行授权认证,攻击者还可以用于提权。•修复建议:SQL语句默认使用预编译并绑定变量,使用安全的ORM操作。SQLInject⭐️⭐️⭐️⭐️⭐️•检查代码中是否存在服务端请求伪造漏洞SSRF(Server-side request forgery)。•攻击者在未能取得服务器所有权限时,利用服务器漏洞以服务器的身份发送一条构造好的请求给服务器所在内网。•修复建议:限定访问网络资源地址范围,请求网络资源应加密传输。SSRF⭐️⭐️⭐️⭐️•检查代码中是否存在跨站脚本攻击漏洞XSS(Cross-site scripting)。•如果WEB页面在动态展示数据时使用了用户的输入内容,没有对输入的内容过滤或者进行转义,黑客可以通过参数传入恶意代码,当用户浏览该页面时恶意代码会被执行。•修复建议:在输出所有用户可控的数据时,对数据做转义或者编码。XSS⭐️⭐️⭐️⭐️提效:TCA代码静态分析 提效:安全左移DevSecOps(迭代中)•腾讯多年软件研发、安全攻防技术沉淀•编码:SAST•构建:SAST+SCA•制品:SCA+SBOM 腾讯广告大仓模式<15分钟/用例5分钟/用例UI10%Service20%UT70% 主干开发:千人团队、百G大仓、T+1发布前一天24点前进入主干的代码在第二天完成上线腾讯广告3个软件工程实践代码评审:让CodeReview成为一种习惯单元测试:通过owners文件自动识别模块归属落实到小组持续集成:编译+代码静态分析+单元测试+质量门禁测试左移(代码合入前质量卡点):Test ascode静态代码检查动态冒烟测试UT覆盖率 单日mr+push 800+|反馈时间<10分钟提效:空间换时间 提效:本地开发痛点 •上千人开发团队,本地开发痛点•仓库加上编译和依赖后工作区大小300G•本地全量克隆一次仓库耗时十几分钟,更新一次仓库耗时几分钟•个人开发机性能瓶颈(编译一次内存消耗数十G,大量的文件读写,在分布式编译能力加持下仍然有本地构建的性能瓶颈) •云上开发空间:64核/256G内存•云端容器:按需共享闲时回收•分支及环境:Cover编码+开发自测+产品&设计验收•快速创建开发环境:百G大仓秒级克隆•声明式环境配置,与代码同源:一次配置多人复用 提效:云上开发空间 •支持流水线合流时触发•支持开发本地CR--代码diffcr--文件cr--当前editorcr 提效:AI辅助代码评审,生成提交日志 降本:文档自研上云•腾讯文档服务上云(21年1月至8月)•利用容器做整体交付(服务Docker化+云原生中间件)•GitOps重塑研发流水线(唯一源)•声明式API(系统期望目标状态)•腾讯自研上云(22年6月)•云规模5000万核•累计节省成本30亿 提效:流程管控•只有代码合入主干才能发布latest版本•通过分析整个仓库依赖拓扑图编排发布任务链•通过一行命令自动进行版本更新和发布 提效:pipelineascode•开发关心节点从16个变为2个•其余都是CI自动完成•开发通过提供changeset辅助发布•本地运行命令生成一份文件说明每个包需要更新的版本和changelog•CI流水线消费这份文件来进行版本更新和更新changelog文件 提效:与代码同源管理•Yaml语法,与代码同源管理•接入统一流水线模版•通过incliude语法引用•通过配置文件个性化定制•共建流水线代码最佳实践•由熟悉流水线的人CR后合入•方便新业务接入、流水线模版修改•…… 提效:AI创建Dockerfile 降本:3行代码每月节省8K开支•通过reference(变量复用)实现逻辑复用•49.1day + 4.48day = 53.58day•53.58day24h/day60min/h = 77155.2min•77155.2min*0.1元/min = 7715.52元 提效:减少75%构建时长•优化脚本,将仓库同步等待流水线改为reference写法•将eptest、rua测试改为异步触发•通过incliude语法方便引用仓库同步•…… 降本:TAPD客户专属特权(CNBsaas版) 开源协作需要强大的网络和算力赋能个人开发者 cnb.cool目标GitHub Thank you感谢