导读:Ecom的EMS1.0.0项目尝试了敏捷开发模式,极大地提升了项目的效率与质量。下面,让我们一起看看项目组的做法吧!

【实践1】迭×××发、迭代测试、迭代设计:
EMS1.0.0采用迭×××发方式,共划分4个迭代版本。QA与RD的配合模式如下图。

每个版本的单元测试都在提测前完成,以确保交给QA黑盒功能测试的代码都经过单测检验。单测未完成,则不允许迭代周期结束。为此,多次出现调整迭代计划情况。

RD开发下一版本时,QA专注于上一版本黑盒测试。时间允许情况下,QA会提前配合RD做下一版本单测。QA测试中发现问题,及时与RD沟通,确认bug后RD会及时修正,并交由QA即刻验证。

此外,详设撰写也采用分阶段迭代方式,使得 RD、QA 都能先从整体把握项目全貌,避免一开始就纠结于各种细节。测试设计与产品设计并行,提升效率同时保证了文档质量。

【实践2】FeatureList:
在SQA建议下,EMS的两模块分别做了Feature List,开发过程也据此划分。每个开发版本完成的功能都是Feature List的一部分,且每个版本都是可交付,可run的,功能相近的feature划分在同一版本中。正是因为有了基于Feature List制定的开发计划,QA的工作才更加清晰明了,每一阶段的测试点才更加明确。对应RD的Feature List,QA制定了自己的测试计划,也是按表格的形式展现(如下图所示):

【实践3】单元测试:
EMS两个模块在单测上采取了不同的投入力度,表现出截然不同的效果。

Broker模块的单测成本较高,考虑到单测需要启动桩,且桩数据构造成本较大,所以单测投入相对较少,代码分支覆盖率低(仅为15%),但黑盒测试阶段发现bug多(38个),耗时长(200人时)。

Storage模块则与之相反,单测投入相对较多,代码分支覆盖率高(60%),发现bug数量较多(QA的单测就发现了10个)。在黑盒测试阶段发现bug少(10个),耗时很短(80人时)。

通过实践对比,可以看出单元测试与黑盒测试之间的密切关系。

另外,在设计、开发过程中应考虑代码的可测性 ,可测性低的代码将带来较高的单测成本(有的甚至没法单测),并最终造成QA在黑盒测试投入较多的时间。

【实践4】QA和RD坐在一起:
EMS项目中,QA与RD坐在同一片区域,QA背后是RD,RD脑后是QA。有问题,大家都是扭过头来就讨论,EMS项目中遇到问题都是当面沟通,马上解决,效率极高。当然,为防打扰别人的思路,一般会先在hi上说一声。

【实践5】跨职能团队:
EMS迭×××发中的协作非常紧密与高效。敏捷团队中的角色并非一刀切,关键是合理协调人力,有序分工,充分配合。当某一版本周期紧时,QA主动协助RD单 测;项目后期,RD开始直接使用QA开发的自动化测试工具与测试数据进行测试。另外,模块级的性能测试都由RD同学完成,灾难恢复类的测试则由OP完成, 而QA只是提供测试环境和机器。

在这样一个氛围融洽的项目团队里,EMS1.0.0成功上线,并获得了两项商务搜索部的创新奖,那让我们来看下这个高效的敏捷团队吧!

【本文首发于:百度测试技术空间】http://hi.baidu.com/baiduqa/blog/item/3009e1f94538aa7d034f5693.html
【关注百度技术沙龙】

转载于:https://blog.51cto.com/baidutech/743417

EMS1.0.0项目的敏捷实践相关推荐

  1. COLA 4.0 - DDD项目实践

    更多内容关注微信公众号:fullstack888 COLA分层架构 COLA 4.0 架构分成COLA架构和COLA组件两个部分: COLA架构:关注应用架构的定义和构建,提升应用质量. COLA组件 ...

  2. NHibernate3.2+Asp.net MVC3+Extjs 4.0.2项目实践(二): NHibernate数据访问层实现

    关于NHibernate的ORM映射可以通过Hbm映射文件来完成,代码生成工具使得这一步骤变得简化:而NHibernate3.2版本集成Mapping-By-Code(代码映射),不同于其他映射方式, ...

  3. .net 1.1的东西没有学精 .net 2.0的东西浩如烟海 .net 3.0 3.5就要应用实践了。。。

    .net 1.1的东西没有学精 .net 2.0的东西浩如烟海 .net 3.0 3.5就要应用实践了... 现阶段正式开始要注意边学习边实践了,很多地方要学,很多事情要做, 今天花了一下午深入学习2 ...

  4. 在 Dubbo3.0 上服务治理的实践

    简介: Dubbo 3.0 是在云原生背景下诞生的,使用 Dubbo 构建的微服务遵循云原生思想,能更好的复用底层云原生基础设施.贴合云原生微服务架构. Dubbo3.0 介绍 作者 | 十眠 自从 ...

  5. README文档模板 含下载地址0积分 项目文档模板 springboot文档示例 readme参考文档 目录跳转 项目架构 使用说明 目录结构 等等 (含附件下载)

    下载地址0积分 项目名称 在线签约(signup) (v1.1.0) 目录 项目简介 功能简述 项目架构 目录结构 使用效果 安装说明 使用说明 开发人员 版权信息 更新日志 项目简介 *-signu ...

  6. Android Studio 4.0.+NDK项目开发详细教学

    JNI开发系列目录 JNI开发必学C++基础 JNI开发必学C++使用实践 Android Studio 4.0.+NDK项目开发详细教学 Android NDK与JNI的区别有何不同? Androi ...

  7. Vue 3.0 企业级项目实战

    目录 小册介绍 Vue 3.0 + Element Plus + Spring Boot 前后端分离实践,你不能错过! 小册须知 你会学到什么? 适宜人群 作者介绍 小册介绍 基于真实项目的实战开发, ...

  8. 直播|Milvus 实战系列 #4 MMUMMR 1.0:快手向量近似计算实践

    |直播速览|  主题  MMUMMR 1.0:快手向量近似计算实践  讲师  余晋,快手 MMU 研发工程师  时间  1 月 27 日 19:00  福利  参与直播抽奖,领取虎年限定礼盒! 快手是 ...

  9. 2W 字详解 Redis 6.0 集群环境搭建实践

    原文链接:https://www.cnblogs.com/hueyxu/p/13884800.html 本文是Redis集群学习的实践总结(基于Redis 6.0+),详细介绍逐步搭建Redis集群环 ...

最新文章

  1. 离个职居然还用上了叫号机,差点以为在医院...
  2. 在Init之前究竟执行了什么?
  3. 利用python爬虫(part11)--XpathHelper为啥不能全信之JS要闹哪般
  4. Windows 命令终端(CMD)的快捷键
  5. Linux_linux常用工具之make/makefile详解
  6. GNU/Linux下有多少是GNU的?
  7. hive学习07-常见的优化
  8. 20211010 PHP笔记
  9. 大江大海 —— 淮河、澜沧江(湄公河)
  10. 安装mysql客户端
  11. 详解Nginx Rewrite标记last和break的区别
  12. Android自学笔记:Tab控件源码剖析
  13. 腾讯云对象存储的完整教程,java将文件上传到腾讯云上后返回可以访问的连接
  14. 安卓开发的深度技术实战详解
  15. IC学习笔记20——VCS的使用(二)VCS仿真基础知识
  16. Perl:化繁为简 (转载)
  17. K-近邻算法(二): 案例实践_海伦约会案例
  18. springboot文件上传、下载使用ftp工具将文件上传至服务器
  19. Matlab代码:计及三方市场主体接入的园区综合能源系统能量管理
  20. 【咸鱼】有关origin下载速度过慢解决措施

热门文章

  1. 单例模式之双重检查锁(double check locking)的发展历程
  2. java 大小固定_为什么Java堆的最大大小是固定的?
  3. Laravel核心解读--控制器 1
  4. 解决URI is not registered (Settings | Languages Frameworks | Schemas and DTDs)
  5. 【转】ASIHTTPRequest开源类库进行http请求
  6. TurnipBit开发板DIY呼吸的吃豆人教程实例
  7. OAuth2.0学习(1-7)授权方式4-客户端模式(Client Credentials Grant)
  8. CSS多行显示省略号
  9. Spring 4.3 的新功能和增强
  10. webservice常见名词