《XPP极速编程实践》主要介绍了XPP的模式,在此模式下PD,Dev,QA,DevOps各角色的职责与定位,以及如何持续快速交付高质量产品。
XPP的模式--面向交付开发与传统的面向测试开发区别:
极限编程的模式,面向交付的开发:有测试的工作,但没有真正的测试环节存在。开发写完代码,直接上线。没有经过严格的测试,会不会出现质量倒退呢,其实是赋予测试一些定的含义。
开发在编码阶段加入:代码审查、单元测试、集成测试;在交付阶段:加入一个新的角色DevOps,从复杂的TC编写中释放出来,而是做用例审查、验收测试、自动化回归。
需要建立持续集成的开发环境,便于开发自行测试。
在Xpp模式下,人员的职责和定位:
如何更快的交付
1、需求管理方面:将需求拆分为小的端到端可测试的用户case,一个需求必须在一次发布中完成,实现小步快跑。
2、在开发过程中进行代码审查,单元测试,代码覆盖率,集成测试——达标后提交发布单,去掉了传统的测试环节。测试驱动开发编写自动化测试用例,促使提高设计的可测性。
3、持续的集成测试:单元测试 → 集成测试 → 系统级测试
4、规范的交付流程
5、充分利用各类工具和自动化平台。如淘宝现有的任务管理工具redmine、自动化发布平台、自动化测试平台TOAST、各类自动化测试工具(单元测试工:mocha,should;代码覆盖率工具:jscoverage;集成测试工具:helium)。
如何更好的交付
1、代码审查 & 持续集成。代码须由统一的负责人审核通过才能。分支开发,主干提交,对分支和主干建立持续集成环境,发布前自动化脚本去除测试代码。
2、测试驱动开发。PD、Dev、DevOps一起制定测试清单,在开发环境中测试通过后提交发布;进行增量式的开发:迭代过程,测试—编码—重构,测试先行
3、测试用例审查。以测试清单为评判标准,重点关注变更代码;保证主流程质量;定期做用例review,完善场景和用例;结合代码覆盖率报告进行单元测试代码审查;集成测试审查,前端的关注主流程,后端的关注接口和数据校验。
4、验收测试。由产品经理执行并确定具体的用例,主要关注用户体检、样式、浏览器兼容性等方面的问题。
5、建设发布通道
6、对发布过程进行质量控制。前端应用优先发布、自动化七层校验失败立即回滚,发布过程开发关注应用层面监控、DevOps关注发布层面的监控。
7、发布后的监控。系统级:CPU,Memory,Network IO,Disk IO等;应用级:线程,队列,对象,调用,日志等;业务级:产品级流程交互、数据展现等;用户级:用户行为关键指标变动等。 《XPP极速编程实践》主要介绍了XPP的模式,在此模式下PD,Dev,QA,DevOps各角色的职责与定位,以及如何持续快速交付高质量产品。
XPP的模式--面向交付开发与传统的面向测试开发区别:
极限编程的模式,面向交付的开发:有测试的工作,但没有真正的测试环节存在。开发写完代码,直接上线。没有经过严格的测试,会不会出现质量倒退呢,其实是赋予测试一些定的含义。
开发在编码阶段加入:代码审查、单元测试、集成测试;在交付阶段:加入一个新的角色DevOps,从复杂的TC编写中释放出来,而是做用例审查、验收测试、自动化回归。
需要建立持续集成的开发环境,便于开发自行测试。
在Xpp模式下,人员的职责和定位:
如何更快的交付
1、需求管理方面:将需求拆分为小的端到端可测试的用户case,一个需求必须在一次发布中完成,实现小步快跑。
2、在开发过程中进行代码审查,单元测试,代码覆盖率,集成测试——达标后提交发布单,去掉了传统的测试环节。测试驱动开发编写自动化测试用例,促使提高设计的可测性。
3、持续的集成测试:单元测试 → 集成测试 → 系统级测试
4、规范的交付流程
5、充分利用各类工具和自动化平台。如淘宝现有的任务管理工具redmine、自动化发布平台、自动化测试平台TOAST、各类自动化测试工具(单元测试工:mocha,should;代码覆盖率工具:jscoverage;集成测试工具:helium)。
如何更好的交付
1、代码审查 & 持续集成。代码须由统一的负责人审核通过才能。分支开发,主干提交,对分支和主干建立持续集成环境,发布前自动化脚本去除测试代码。
2、测试驱动开发。PD、Dev、DevOps一起制定测试清单,在开发环境中测试通过后提交发布;进行增量式的开发:迭代过程,测试—编码—重构,测试先行
3、测试用例审查。以测试清单为评判标准,重点关注变更代码;保证主流程质量;定期做用例review,完善场景和用例;结合代码覆盖率报告进行单元测试代码审查;集成测试审查,前端的关注主流程,后端的关注接口和数据校验。
4、验收测试。由产品经理执行并确定具体的用例,主要关注用户体检、样式、浏览器兼容性等方面的问题。
5、建设发布通道
6、对发布过程进行质量控制。前端应用优先发布、自动化七层校验失败立即回滚,发布过程开发关注应用层面监控、DevOps关注发布层面的监控。
7、发布后的监控。系统级:CPU,Memory,Network IO,Disk IO等;应用级:线程,队列,对象,调用,日志等;业务级:产品级流程交互、数据展现等;用户级:用户行为关键指标变动等。