技术开发 频道

Scrum每日实践纪录——质量,还是质量

    如何提高质量

    质量反应在从获得需求到部署到生产服务器上整个过程中,重点包含开发质量和部署质量。

    开发质量:

    我们现在每周发布一个版本,系统测试需要更加快捷,自动测试是一个选择。自动测试包含两个层面:开发级和客户级(QA)。开发级目前应用更多的是TDD(Test-driven-develop),客户级包含我们常说的Acceptance Test,有很多的工具,如Fitness,selenium等。目前流行的是持续集成+每日自动测试。持续集成有现成的开源工具(如Cruise Control)。同时测试需要有一个专业的管理工具,免费的有Bugzilla,专业的有Test Director,JIRA等。

    1. 目前项目已经应用Test Director在跟踪Bug,将user story的ID作为主键将feature、测试用例、发现的Bug,修复情况作为统一管理,这样不会产生混乱

    2. TDD目前看不被公司认可,理由是前期成本高,有待沟通。这样在编写代码前如何正确理解需求就显得非常关键。我们扩充了user story的概念,加入了use case的一些内容,如基本事件流,可选事件流和异常事件流,用以增加feature的需求信息,同时以Acceptance Test作为研发组正确理解需求的重要标志

    3. 设计评审是开始编码的前置条件,当然设计是集中在接口、正常逻辑、异常处理三个方面,文档的内容只包含时序图和最简单的文字说明

    4. 在没有自动化测试之前,如何在很短的时间内完成系统测试,目前的做法是较少的时间完成最重要的工作,目前看优先级是功能测试、性能测试,然后是可靠性测试,再然后才是用户体验测试,即Acceptance Test是测试的重点,用户关注的商业部分是测试的重点。

    5. 事先准备好可重用的原始测试数据

    6. 已经着手开始自动化测试的准备,先从Fitness入手。

    好消息是:经过不断争取,专门的QA team已经组建。

    部署质量:

    为了提高部署质量,我们现在:

    1. 项目组要求产品上线要经过三个平台:开发的测试平台(Testing Server),上线前的测试平台(Staging Server),生产平台(Production Server)。三个平台的环境完全一致,只是开发的测试环境不能连接第三方的接口,只有生产平台上有真实的用户数据。目的是测试结果更加可靠,问题更容易重现等。

    2. Testing Server部署到Staging Server需要研发组和PO的认可,Staing Server部署到Production Server需要更多Stakeholder的认可。

    3. 研发部只是负责Testing Server的部署,Staging Server和Production Server由工程部部署,拥有Production Server修改权限的人越少,风险就越小

    4. 研发部每次发布新版本时必须提交release notes和部署手册。release notes包含修改内容(新增加的功能和上次版本的known issues)以及本次版本的known issues;部署手册要求提供自动部署的脚本以及如果出现错误的应对方案,回退机制。

0
相关文章