美文网首页项目管理这些事儿
【Scrum】敏捷软件开发——团队(7)

【Scrum】敏捷软件开发——团队(7)

作者: NumLock | 来源:发表于2023-02-16 22:13 被阅读0次

    十六、质量

    把测试集成到流程中

    Scrum把测试作为一个主要的实践,并把测试作为开发过程的一部分,而不是作为开发工作“完成”后才发生的某事情

    质量不能在产品生产完成以后加到产品上,要改进工艺流程,从一开始就生产出优质的产品

    1、为什么最后才测试没有效果

    1)很难改进现有产品的质量

    2)错误一直未被发现——及早测试会避免一些令人不快的意外在最后才发生

    3)项目状态难以测量——持续地测试产品,能让我们更清楚产品的现状

    4)错失反馈时机——早期的反馈很重要

    5)测试很有可能被削减——后期测试有进度压力

    2、什么是构建质量

    构建质量的团队有以下特征:

    1)最明显的是使用工程技术实践——结对编程、自动化单元测试、持续重构

    2)程序员和测试人员之间的交接微不足道——或者几乎没有

    3)在Sprint的第一天和最后一天应该有同样多的测试活动——Sprint中不存在明显的分析、设计、编码、测试阶段

    不同层次的自动化

    单元测试自动化是根基,也是最容易设计的部分

    用户界面测试很难自动化,因为它脆弱、成本高、耗时

    应用程序服务的自动化测试是必要的,它可以弥补用户界面测试无法自动化的不足

    1、保留用户界面测试的角色

    尽量减少用户界面的测试,但不是不测

    2、手工测试角色

    对于许多涉及硬件或与外部系统集成的测试,我们不能或选择不进行自动化

    手工测试应主要为探索式测试,快速在测试计划、测试设计和测试执行中循环,短周期,甚至可以识别遗漏的测试用例

    3、在Sprint内做自动化

    一个团队要高效率的冲刺,需要严重依赖自动化

    忙碌开发代码的时候,正是代码变化最频繁的时候,这是自动化测试发挥作用的最佳时机

    为已有应用增加自动化测试会更难

    随着时间的推移,自动化的成本越来越高,收益越来越低

    验收性测试驱动开发(ATDD)

    在ATDD中,工作是针对验收测试而进行的

    ATDD与TDD的关系

    在ATDD中,解放了PO,PO只需要完成对某个用户故事的COS(满足条件)的传达即可

    做ATDD有助于减少Sprint计划会议所花的时间

    如果COS还没有,两种选择:一个是在计划会议明确掉;另一个是把确认COS作为Sprint的首要任务,第一种优先考虑

    1、恰到好处的细节

    COS仅仅是在Sprint最后阶段完成用户故事时要满足的内容的概要说明,它们用来判断在一个Sprint结束的时候,用户故事是否被正确完成了

    做ATDD,会使团队持续地专注于产品负责人的目标,当测试人员想要了解其职责的时候,它能激发测试人员和开发人员早期进行沟通

    偿还技术债务

    做一个设计很差、代码写得很差、包括未完成代码或者任何其他缺陷的系统所涉及的成本

    技术债常常是由于赶工所致:非预期的数据库数据导致应用崩溃;脆弱的代码;打包环境过时;团队使用过时的工具;

    只要快速地还债,小的债务可以激励开发

    1、通过三个步骤降低测试债务

    1)止血

    找到方法进行自动化,“挂在低处的水果”先拿来

    加大测试服务器与测试环境的配置投入

    2)维持现状

    在前面的基础上,逐渐学会新增功能的自动化

    3)还债

    一旦整套流程被打通之后,就开始还债,但欲速则不达,只要朝着正确的方向在发展就可以

    质量需要团队的共同努力

    一个好的Scrum团队会一直关注测试实践的状态,总是想方设法加以改进

    相关文章

      网友评论

        本文标题:【Scrum】敏捷软件开发——团队(7)

        本文链接:https://www.haomeiwen.com/subject/omqmkdtx.html