继续交付、敏捷、DevOps讲座感想(自动化测试策略和交付管道)

持续交付、敏捷、DevOps讲座感想(自动化测试策略和交付管道)

    5月15日参加持续交付、敏捷、DevOps的理念实践讲座,其中一些内容非常有启发作用。整理了几个观点(理念、原则)进行分享。

  1. 敏捷迭代中开发的连续性,不应与明显的迭代分界(开始或结束): http://lzhted.iteye.com/blog/2211955
  2. 自动化测试策略和交付管道
  3. 部署模式:http://lzhted.iteye.com/blog/2213844

    本文介绍第二点:自动化测试策略。其中一些基本的原则和实践包括,

  1. 给测试用例分层,如LLT、HLT、SIT等。
  2. 测试与开发合作编写与维护测试用例。
  3. 所有人都可以运行测试用例。
  4. Test are the first class code。

    关于测试分层,正常情况下是一个金字塔结构,如下图所示,越底层是越基础的测试,占比也越大。但一般实际情况是以冰淇淋结构居多,即低层次的自动化测试较少,而高层次的人工测试较多。而这会造成我们测试和定位问题的成本偏高,版本发布的时间较长。


继续交付、敏捷、DevOps讲座感想(自动化测试策略和交付管道)

    结合持续交付的理念和自动化测试策略,提出一个交付管道的概念。将测试分为五层:Unit Tests, Integration Tests, Application Tests, System Tests, SIT。前三层一定是自动化测试,最后一层有部分手工测试,因此从特性开发完成到上线激活就可以看成一条流水线或管道,如下图所示:


继续交付、敏捷、DevOps讲座感想(自动化测试策略和交付管道)

    将系统划分成多个APP,每个APP的管道相对独立,如下图所示:


  继续交付、敏捷、DevOps讲座感想(自动化测试策略和交付管道)
     面临的挑战:

  1. 手工测试与自动化测试之间的重复。
  2. 已经存在的代码——需要补充很多测试用例(建议只从增量代码开始写测试用例)。
  3. 需要较多时间维护测试用例。