您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 新旧项目如何从测试角度推敏捷
新旧项目如何从测试新旧项目如何从测试角度推敏捷1宗刚35代孙宗刚惠普QO非功能负责人民企创业外企宗泽(1060~1128)北宋末、南宋初抗金名臣民企、创业、外企开发、测试、项目经理、产品经理南宋初抗金名臣敏捷实践者、高级程序员、DBA2议程议程测试面临的困境测试面临的困境敏捷的核心敏捷的核心测试面临的困境测试面临的困境新项目从无到有敏捷实践过程新项目从无到有敏捷实践过程旧项目从无到有敏捷实践过程旧项目从无到有敏捷实践过程敏捷推动的技巧敏捷推动的技巧敏捷推动的技巧敏捷推动的技巧关键敏捷测试实践关键敏捷测试实践3333测试面临的困境版本快速上线,无法保证质量;开发人员不自测丢给测试的版本经常通不过冒烟测试开发人员不自测,丢给测试的版本经常通不过冒烟测试;老板老是以业界“最佳实践”101的开发测试比说测试人员应该更少老板老是以业界“最佳实践”10:1的开发测试比说测试人员应该更少。想求助于敏捷开发人员也不愿写单元测试而停滞不前怎么办?想求助于敏捷,开发人员也不愿写单元测试而停滞不前,怎么办?最后测试人员只能埋头干活,没有时间抬头看路。最后测试人员只能埋头干活,没有时间抬头看路。4江湖中传说的敏捷1所有好的都往敏捷靠传统都是坏的1.所有好的都往敏捷靠,传统都是坏的2.BestPractice大集合?结对a)结对b)100%覆盖、100%自动化3讲师背景不同看问题的角度就不同3.讲师背景不同,看问题的角度就不同a)百度vs惠普利益出发点不同建立能力“壁垒”b)利益出发点不同,建立能力“壁垒”4.能力要求特别高a)TDDb)结对5议程议程测试面临的困境测试面临的困境敏捷的核心敏捷的核心测试面临的困境测试面临的困境新项目从无到有敏捷实践过程新项目从无到有敏捷实践过程旧项目从无到有敏捷实践过程旧项目从无到有敏捷实践过程敏捷推动的技巧敏捷推动的技巧敏捷推动的技巧敏捷推动的技巧关键敏捷测试实践关键敏捷测试实践6666传统软件开发的模式7传统软件开发模式的前提假设开始就存在着一套定义相当明确的需求;改变是小型且便于管理的;最后阶段系统集成会顺利进行;我们完全可以按计划交付。我完按计交付8传统软件开发模式的挑战系统有很多模块,无法集成,集成过程中大量的bug;系统集成后不好用,不可用,无法满足业务需求;变更实时发生,一个月50个版本,无法保证质量;软件开发项目进度一推再推,缺乏透明性软件开发项目进度推再推,缺乏透明性。9敏捷开发流程10多层次反馈不断调整以逼近目标客户验收(数周)对客户需求的反馈持续集成(分钟/小时)站立会议/回顾会议(天)对团队运作的反馈对系统功能的反馈单元测试(分钟)持续集成(分钟/小时)对单元功能的反馈对系统功能的反馈结对编程(秒)对代码质量的反馈11议程议程测试面临的困境测试面临的困境敏捷的核心敏捷的核心测试面临的困境测试面临的困境新项目从无到有敏捷实践过程新项目从无到有敏捷实践过程旧项目从无到有敏捷实践过程旧项目从无到有敏捷实践过程敏捷推动的技巧敏捷推动的技巧敏捷推动的技巧敏捷推动的技巧关键敏捷测试实践关键敏捷测试实践12121212新开发项目背景企业性质外企–企业性质:外企–人员结构:1项目经理2业务1架构13开发1UI1测试–开发测试比:13:1–人员能力:多数来自民企Leader人员能力:多数来自民企Leader–地域分布:法国中国–技术:B/S架构主要进行数据转换,界面展现少13项目痛点测试C用于将来几个月之后–测试Case用于将来几个月之后–各开发自己负责一块开发,各扫门前雪–所有代码放在自己的电脑上–将来是一个未知数?将来是个未知数?如何保证将来的质量?14如何快速提升质量反馈?(步骤)(1)第步第一步:–问题:开发不Checkin代码–解决方法:SVNStat每天至少签入一次第二步:第二步:–问题:接口是否统一,能否编译通过–解决方法:Checkin代码自动化编译AntCruiseControl第三步:–问题:手动部署麻烦,常因环境问题浪费时间解决方法自动化部署15–解决方法:自动化部署如何快速提升质量反馈?(步骤)(2)第四步第四步:–问题:如何快速验证签入的代码业务是正确的,常出A类Bug–解决方法:自动化冒烟测试DBUnit从1到2,邮件通知修改Bug第五步:–问题:冒烟测试经常通过不了–解决方法:开发人员自测,自动化部署脚本通用于开发和测试环解决方法:开发人员自测,自动化部署脚本通用于开发和测试环境第六步:第六步:–问题:有些Bug常出现,Bug缺少归类和分析解决方法每周和开发人员一起分析Bug原因增加Bug模块16–解决方法:每周和开发人员一起分析Bug原因,增加Bug模块、Bug原因等字段,需求点和TestCase映射如何快速提升质量反馈?(步骤)(3)第七步:第七步:问题:有一些模块Bug较多,有些人开发的Bug较多解决方法推动常出问题模块的开发人员单元测试结对核心模块解决方法:推动常出问题模块的开发人员单元测试,结对核心模块修改,提升一些开发人员的技能第八步第八步:问题:代码质量反馈速度慢解决方法:分不同粒度的自动化测试,代码签入就进行UnitTest,1个小时一次的集成测试,一天两次的全量测试第九步第九步:问题:持续集成系统反馈速度太慢17解决方法:换Jenkins支持多台机器跑Case本项目持续集成使用工具Tools静态分析Tools动态分析–Tools:静态分析•StatCVS统计CVS的变化Cloc代码行统计–Tools:动态分析•Junit单元测试,集成测试DBUnit数据库单元测试工具•Cloc代码行统计•Metrics各种衡量指标•Emma测试代码覆盖率•DBUnit数据库单元测试工具•Junitperf单元性能测试工具•TPTP白盒性能测试工具Emma测试代码覆盖率•CheckStyle代码风格检查•Jdepend查找包之间的依赖TPTP白盒性能测试工具•Diagnostics白盒性能测试工具•WebInspect自动化黑盒安全测试p找依赖•PMD查找是否有复制拷贝的代码p自动化黑盒安测试•FindBugs查找bug•Jtest全面查找问题(商业软件)18其它一些实践版本管理版本管理–主干开发–测试代码也是代码测试代码也是代码–配置都是代码–基础架构也是代码估算与优先级–产品负责定优先级–技术负责估算时间–产品依据实施时间调整优先级结对–业务开发结对19–业务测试结对项目成果成果:成果:系统成功上线开发测试需求和睦相处开发测试需求和睦相处产品团队和项目团队人员良性轮岗不足:UAT阶段系统才发现性能是大问题,花大量时间进行优化20议程议程测试面临的困境测试面临的困境敏捷的核心敏捷的核心测试面临的困境测试面临的困境新项目从无到有敏捷实践过程新项目从无到有敏捷实践过程旧项目从无到有敏捷实践过程旧项目从无到有敏捷实践过程敏捷推动的技巧敏捷推动的技巧敏捷推动的技巧敏捷推动的技巧关键敏捷测试实践关键敏捷测试实践21212121旧项目维护背景企业性质民企–企业性质:民企–人员结构:1项目经理2业务2架构9开发6测试–开发测试比:3:2【注】–人员能力:多数为毕业1-2年的人员人员能力:多数为毕业12年的人员–地域分布:中国–技术:C/S架构主要应用于传统行业的数据计算【注】:持续集成、工作分工、应用性质22项目痛点老代码不敢动个函数40过个参数传入–老代码不敢动,一个函数40过个参数传入;–版本变更非常快,软件质量无法保证。23如何快速提升质量反馈?止血优化止血优化–冒烟持续完善复杂算法单元测试–复杂算法单元测试–自动化的三角图转化过程结对–旧带新–核心模块设计编码–开发测试结对–开发测试结对–业务与测试结对估算与优先级24估算与优先级自动化的三角图转化过程GUI测试GUI测试GUI测试接口测试接口测试单元测试单元测试试25项目成果成果:成果持续成功维护40多个特性版本开发测试需求和睦相处开发测试需求和睦相处不足不足:系统在某客户现场出现严重性能问题,实施人员编故事。人员编故事。26议程议程测试面临的困境测试面临的困境敏捷的核心敏捷的核心测试面临的困境测试面临的困境新项目从无到有敏捷实践过程新项目从无到有敏捷实践过程旧项目从无到有敏捷实践过程旧项目从无到有敏捷实践过程敏捷推动的技巧敏捷推动的技巧敏捷推动的技巧敏捷推动的技巧关键敏捷测试实践关键敏捷测试实践27272727敏捷推动技巧全局视图痛点驱动–全局视图,痛点驱动–领导支持很重要,拿出数据说话领导支持很重要拿出数据说话–速赢与分步骤–80/20原则,别过度优化–不断反思,哪些地方可以进一步提升反馈不断反思,哪些地方可以进步提升反馈28议程议程测试面临的困境测试面临的困境敏捷的核心敏捷的核心测试面临的困境测试面临的困境新项目从无到有敏捷实践过程新项目从无到有敏捷实践过程旧项目从无到有敏捷实践过程旧项目从无到有敏捷实践过程敏捷推动的技巧敏捷推动的技巧敏捷推动的技巧敏捷推动的技巧关键敏捷测试实践关键敏捷测试实践29292929关键敏捷测试实践A.持续集成(首选实践)B冒烟测试再强调也不为过B.冒烟测试再强调也不为过C.注重实效的单元测试D.有选择地结对E研发与业务估算和优先级E.研发与业务估算和优先级30全生命周期敏捷性能框架多数性能问题都是管理问题31多数性能问题都是管理问题站得高看得远,别把自己看成测试站得高看得远,别把自己看成测试32人人都是产品经理(mini-CEO)A工作的第个项目代码差工作12年的人员A.工作的第一个项目:代码差、工作1-2年的人员、抢占市场B.1个Bug引发的成本:互联网微软银行C自动化不注重技术投入?ROIC.自动化:不注重技术投入?ROID.小团队最优不是最优:打架的绩效评估E.商业模式竞争力?33JUST DO IT!34
本文标题:新旧项目如何从测试角度推敏捷
链接地址:https://www.777doc.com/doc-5154851 .html