版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程相关理论@孙景卫2026/4/151我是谁@孙景卫/sunjwjingweisun@百度架构师、项目经理2026/4/152大纲敏捷开发TDD结对开发持续集成、持续交付探索性测试2026/4/15360’s软件作坊70’s软件危机80’s软件工程90’s重型过程20xx敏捷软件开发模式的演进2026/4/154为什么要敏捷?需求经常在变化2026/4/155为什么要敏捷?需求失真2026/4/156为什么要敏捷?kickoff没有足够的时间发布2026/4/157为什么要敏捷?尽早测试、提高产品的质量2026/4/158快鱼吃慢鱼Googlevs.MicrosoftApplvevs.Nokia……2026/4/159敏捷开发和传统开发流程的对比敏捷开发“前”的产品开发过程(瀑布模型)2026/4/1510敏捷开发和传统开发流程的对比敏捷开发“后”的产品开发过程(迭代模型)2026/4/1511敏捷开发的价值观简单我们要用最简单的方式做我们的事情,无论是设计、开发实现还是测试沟通PD和开发、测试之间用户和PD之间开发和开发之间PD和用户之间勇气勇于去创新,勇于去改变,勇于接受改变反馈对于我们产品、对于我们的开发过程的每一步开发的进度,每一步测试的结果,对任何人而言都是透明的。不断反馈的过程就是不断建立信心的过程。2026/4/1512敏捷开发方法完整团队项目墙每日晨会/站会测试驱动开发2026/4/1513敏捷开发方法结对编程(codereview等)持续集成重构迭代总结2026/4/1514TDD:从一句大师的话开始
编写单元测试是在进行验证,更是在进行设计。同样,它更是在编写文档。2026/4/1515测试驱动开发的精髓
将测试方案设计工作提前,在编写代码之前先做这一项工作;
从测试的角度来验证设计,推导设计;
将测试方案当作行为的准绳,有效地利用其检验代码编写的每一步,实时验证其正确性,实现软件开发过程的"小步快走"。
2026/4/1516WhatisTDD?TestDrivenDevelopment(测试驱动开发)测试先行。持续重构。测试驱动开发是一种在极限编程(XP)中处于核心地位的技术。2026/4/1517WhyTDD?确保每个方法都是可用的且已被测试过确保及时发现出现问题的模块添加或修改代码更容易频繁地运行测试迭代式递增开发不断重构以改善设计2026/4/1518WhyTDD?TDD还能改善和验证设计:以客户端的视角编写测试为客户端提供了示例代码更注重接口的设计为了使测试容易,需要实现松散耦合更少的Debug时间2026/4/1519HowtodoTDD?1、写一个空方法。2、写一个测试程序(单元测试用例)。3、让程序编译通过。4、运行测试程序,发现不能运行。(红条)5、让测试程序可以运行。(绿条)6、消除重复设计,优化设计结构。(绿条)7、重构2026/4/1520小时候结对学习2026/4/1521小时候结对学习的关键词共同学习互相帮助互相监督2026/4/1522长大了要结对编程2026/4/1523结对编程的关键词共同完成共同学习互相帮助互相监督2026/4/1524结对中需要做的需求review设计reviewCodereview进度review2026/4/1525结对的好处互相学习,学习人家的设计思路、开发技巧互相backup提高产品质量促进沟通促进问题及时反馈2026/4/1526结对中的取舍不是结对编程,而是结对开发无需两两同时进行需要根据项目的大小和难易而定2026/4/1527持续集成让机器进行软件研发过程中80%的例行工作,其他20%的需要智力的工作由人进行。Build(Timely,Daily,Weekly)CI/CD/持续反馈2026/4/1528版本库中的开发分支个人本地工作区图例:运行测试代码修改代码流向构建成功的线上版本取令牌还令牌二级构建阶段提交构建阶段第二次本地验证第一次本地验证12344’56把代码从版本库中检出到本地为新功能或修改某个缺陷而修改代码,增加测试运行第一次本地验证验证无问题后,再次与版本库中的代码合并,执行本地验证二次验证无问题后,提交代码到版本库等待持续集成服务器运行完提交构建注:令牌为可选项,主要解决团队协作问题。每个持续集成只有一个令牌。持续集成步骤2026/4/1529持续交付(ContinuousDeployment)codeBinaryConfDataCIProductcodeBinaryConfDataProductCICD部署通过手工、半手工完成,产品信息没有被版本管理,增量部署产品信息版本管理,自动完成部署,整体部署2026/4/1530优势codeBinaryConfDataProductCICD自动化程度高,一键部署版本管理完整,易于回滚信息集中管理,便于沟通;角色间沟通的信息量减少(仅revision)易于完善质量保障环节2026/4/1531分支策略主干分支part1-x.x.x版本a提交……版本b版本c提交提交提交提交提交提交提交同步A团队:B团队同步同步同步同步同步同步同步……2026/4/1532It'sNOTaboutfindingbugs!Thepurposeofunittestingistofacilitatechanges单元测试2026/4/1533
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026黑龙江哈尔滨工业大学电子与信息工程学院招聘备考题库含答案详解(考试直接用)
- 2026年铁岭市教育局校园招聘143人备考题库及完整答案详解一套
- 2026工银澳门校园招聘备考题库及1套参考答案详解
- 2026内蒙古阿吉泰蒙医医院有限公司招聘72人备考题库附答案详解(能力提升)
- 2026中电科技国际贸易有限公司春季校园招聘备考题库含答案详解(a卷)
- 2026河南郑州市第九十九中学公益性岗位招聘13人备考题库附答案详解(模拟题)
- 2026中国疾病预防控制中心(中国预防医学科学院)后勤运营管理中心招聘1人备考题库及答案详解(夺冠系列)
- 2026江西九江庐山市人才集团社会招聘产品部经理、计调兼导游2人备考题库含答案详解(轻巧夺冠)
- 2026中电科技国际贸易有限公司春季校园招聘备考题库及答案详解(新)
- 2026安徽马鞍山市教育系统部分中小学校园招聘20人备考题库(南京师范大学考点)附答案详解(培优b卷)
- 机械制图课件:三投影面体系
- 《数字经济园区建设运营规范》
- 《观照自然》课件2024-2025学年人美版(2024)初中美术七年级下册
- 中国健美协会cbba(高级)健身教练证考试复习题库(含答案)
- 2023年新高考全国II卷【语文+数学+英语】真题及答案解析
- L-电能量采集装置技术规范
- 人教版(2024新版)七年级下册生物第三单元 植物的生活 单元测试卷(含答案)
- 危险化学品名录
- 物联网技术在维护服务中的应用-洞察分析
- 有限空间监理实施细则
- 钣金厂规划方案
评论
0/150
提交评论