《A3--朱少民--大模型时代TDD凤凰涅槃.pdf》由会员分享,可在线阅读,更多相关《A3--朱少民--大模型时代TDD凤凰涅槃.pdf(26页珍藏版)》请在三个皮匠报告上搜索。
1、2025/5/211朱少民QECon发起人、CCF杰出会员、软件工程3.0作者1朱少民QECon发起人、CCF杰出会员、软件工程3.0作者同济大学特聘教授、软件绿色联盟标准评测组组长,近三十年来一直从事软件测试、质量管理等工作,先后获得多项省、部级科技进步奖,已出版了二十多部著作和4本译作,代表作主要有软件工程3.0、软件测试方法和技术、全程软件测试、敏捷测试等,并经常在国内外学术会议或技术大会上发表演讲,曾任思科(中国)软件有限公司QA高级总监、IEEE ICST2019工业论坛主席、多个IEEE国际学术会议的程序委员、软件学报、计算机学报审稿人等。22025/5/212引言:TDD已死?变
2、革:大模型时代的软件开发新范式UTDD:代码生成的正确打开方式ATDD:软件研发的终极打开方式未来:UTDD和ATDD融合的平台目录CONTENTS3PART 1引言:TDD已死?42025/5/213TDD的来源5TDD:最初的含义与地位62025/5/214TDD的价值避免产生bug、提高代码质量:在编写代码之前就编写测试用例,其次,100%测试覆盖高效:第一次就写出正确的代码方便重构:有了测试代码的保障,开发者可以更放心地重构代码,而不必担心引入新的bug。提高代码的可维护性:测试代码可以作为代码的文档,帮助其他开发者理解代码的功能和使用方法。7虽然之前我们怀疑TDD已死82025/5/
3、215我们可以说:TDD濒临死亡,今天被重启了TDD是思想,其实践有:UTDDATDDBDD9TDD依旧极具挑战质量意识进度压力习惯不愿写文档没有好的工具102025/5/216PART 2变革:大模型时代的软件开发新范式11今天LLM能理解需求、设计、代码122025/5/217今天LLM能生成UI、代码、测试脚本等GitHub CEO Thomas Dohmke 挑战:用AI18分钟完成一个小游戏的编程。结果只用了不到15分钟成功上线部署,这边他还在讲台上,全球网友已经能玩上了。13标志着SE3.0时代的到来去年4月,我写的一篇文章,定义“软件工程3.0”142025/5/218软件工程3
4、.0已出版https:/ 15软件开发新范式:模型驱动开发、模型驱动测试162025/5/219新范式:人人都有一个AI助手一键发布一键配置技术支持助手客户服务助手大模型测试助手编程助手UI设计助手架构咨询BA助手AIOps模型验证模型运维大模型模型训练模型部署每一个研发人员都有一个助手、能力更强;团队变小;但更高效、更能打胜战17这些助手=LLM-based的智能体,而且是具有持久身份的角色182025/5/2110其实人类角色在减少、AI角色在增加19两年来SE3.0实践正逐步落地软件工程3.0第5章的内容202025/5/2111PART 3UTDD:代码生成的正确打开方式21悖论:基于
5、代码生成单测222025/5/2112示例:计算年龄大模型基于程序生成的测试代码大模型生成了Bugly程序23现在让LLM先思考验证点、再生成单测242025/5/2113LLM生成的单测-续25基于单测再生成程序262025/5/2114PART 4ATDD:软件研发的终极打开方式27LLM适合应用于“需求采集、分析与定义”282025/5/2115定义用户故事及其验收标准29基于GWT验收标准生产测试代码302025/5/2116再基于BDD测试代码生成前后端代码31更好的实践需求及其验收标准由LLM生成由LLM生成程序/产品代码测试脚本相互验证和博弈322025/5/2117自我博弈产生
6、更好的效果33PART 5未来:UTDD和ATDD融合的平台342025/5/2118UTDD和ATDD融合 统一开发流程:UTDD 和 ATDD 的融合起来之后,感受不到UTDD 和 ATDD的存在,回归到TDD测试在前、开发在后。促进团队协作:进一步促进业务分析师、开发人员、测试人员的合作,也会促进研发人员和大模型的协作(因为从需求开始就合作)提高效率和质量:测试驱动开发,基于需求出发,测试不受开发影响,有利于第一次就做做对设计、生成正确的代码,极大地缩短开发周期、消除缺