软件质量体系【测试】理念

2020-08-31  本文已影响0人  NullBugs

软件质量体系【测试】理念

1. 测试是Team所有成员的责任;
2. 测试的目的是:持续性,自动化,层次化,可视化,智能化的保证质量 ~ 而不仅仅是寻找缺陷
3. 测试人员的核心是对产品/技术/业务/场景的理解 + 多维度/多层次的质量保证体系;
4. 测试是贯穿整个产品规划/开发/交付流程,从产品设计 - 产品持续交付 ~ 而不仅仅在开发阶段;
5. 质量问题的成本随着时间呈指数级上升;
6. 测试的质量还包括用户体验,是否真正满足用户需求以及安全等问题。

1. 测试是Team所有成员的责任;

    测试就像足球运动中的守门员,开发/产品/项目经理等角色就像在球场踢球的人。不失球的防守是从前锋开始,防守的最后一道关才到守门员。假设踢球的人不防守,请问守门员能防守的对方的进攻吗?

测试.jpg
2. 测试的目的是:持续性,自动化,层次化,可视化,智能化的保证质量 ~ 而不仅仅是寻找缺陷

测试的四个原则:

五维测试模型:

五维测试模型.jpg
3. 测试人员的核心是对产品/业务/场景的理解 + 多维度/多层次的质量保证;

  测试人员的核心对产品/技术/业务/场景的理解,优秀的测试团队必须理解:

     1. 用户的需求,产品的定义和边界;
     2. 技术的框架、临界条件和核心pipline;
     3. 用户使用的真实场景和场景内的变化环境;

  测试(质量保证)是多维度/多层次,常见的测试体系包括:
     1. 单元测试(Unit Test)
     2.集成测试(Integration Test)
     3.组件测试 (Component Test)
     4.端到端测试(End-to-end Test)
     5.探索测试( Exploratory Test,即手动测试或随机测试)

   除基本的测试之外,还包括
     1. 用户体验/交互;
     2. 专项测试(功耗,性能,内存等);
     3. 线上质量追踪;


4. 测试是贯穿整个产品规划/开发/交付流程,从产品设计 - 产品持续交付 ~ 而不仅仅在开发阶段;

     测试的起点在产品规划,而非在版本交付。在产品设计阶段,测试需要深入了解客户需求,产品逻辑等。通过对需求,场景和产品的理解,设计整体的测试方案,测试用例,提前对单元测试,集成测试,组件测试等提出方案
    在产品前期,测试人员需要大量的工作准备测试方案,用例,自动化/可视化/智能化平台。通过测试驱动,对后续开发和交付阶段提出质量需求。


5. 质量问题的成本随着时间呈指数级上升;
image.png

  如图所示,在不同阶段解决问题的成本随着时间的推移指数级上升。同样的问题,在系统测试的成本是在单元测试(开发人员设计单元测试)阶段的1000倍。更为重要的是,可能由于质量问题错过产品的窗口期,带来毁灭性的灾难;

   下图为时间-成本示意图:


image.png
6. 测试的质量还包括用户体验,是否真正满足用户需求以及安全等问题。

   商业的本质是满足需求,同样测试的核心目的之一是确认能否满足用户需求,以及其用户体验。一个产品的成功是为了用户价值,脱离用户价值,测试不具有意义
  用户体验包括两个维度,一是最终的用户体验,二是内部交付的用户体验
   在测试的过程中,需要满足安全等需求,例如:
      1. 客户的隐私;
      2. 数据的安全性;
      3. 系统的安全性;
      ......;
参考:

上一篇 下一篇

猜你喜欢

热点阅读