美文网首页
软件质量体系【测试】理念

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

作者: NullBugs | 来源:发表于2020-08-31 09:42 被阅读0次

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

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

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

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

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

测试的四个原则:

  • 1.自动化:测试任务的增加,要求测试人员必须把主要的精力用于将测试自动化,摆脱手动测试带来的沉重负担。当然,自动化测试必须足够稳定、稳健,不能动辄误报,否则反而会导致很高的维护成本。

  • 2.层次化:这意味着采用分层次的测试方法,粒度由细到粗,范围由小到大。

  • 3.可视化:为了降低交流成本,最好的办法就是让所有的测试结果可视化。这意味着将构建(Build)、测试(Test)、部署(Deploy)所有这些相关任务构建在一个流水线之中,让所有团队成员都可以随时监控项目进度,找到阻碍项目的瓶颈。

  • 4.智能化:在架构设计,单元测试,集成测试,端到端测试,探索测试线上日志等,智能的评估产品的质量体系,通过可视化的形式输出,持续性的改进质量。

    智能化测试模型.jpg

五维测试模型:

五维测试模型.jpg
  • 单元测试(Unit Test)
    用于验证微服务内部的类方法或函数的行为。它们会根据测试框架,执行代码文件里的类方法或函数,提供不同的输入,并验证与每一个输入相对应的输出。
  • 集成测试(Integration Test)
    用于验证微服务与外部模块的通信或者交互行为。测试框架会启动服务的一个实例,并调用服务的外部接口来执行业务逻辑。
  • 组件测试 (Component Test)
    即验证微服务能否起到预期的作用。这需要把微服务周边依赖的所有其他服务或者资源全部模拟化,从该服务外部“用户”的角度来检查服务能否提供预期的输出。
  • 端到端测试(End-to-end Test)
    验证整个系统的功能能否符合用户的预期,一般是从 UI 层面进行测试,确保用户体验完全达到客户要求。
  • 探索测试( Exploratory Test,即手动测试或随机测试)

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. 系统的安全性;
      ......;
参考:

相关文章

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

    软件质量体系【测试】理念 1. 测试是Team所有成员的责任; 2. 测试的目的是:持续性,自动化,层次化,可视化...

  • 从0到1建立软件测试质量体系

    1.1软件测试行业基本介绍 一、为什么需要软件测试 1.一款软件从无到有会经历很多的开发阶段由不同的人来参与开发,...

  • 软件性能测试目录

    软件性能测试Ⅰ 软件性能测试Ⅱ 软件性能测试Ⅲ 软件性能测试Ⅳ 软件性能测试Ⅴ 软件性能测试Ⅵ 软件性能测试Ⅶ 软...

  • 不懂软件测试评审的我,错过一次加薪机会!

    通常意义上的测试过程,是一个执行被测软件的过程。 但是随着软件测试行业的技术理念随着时代越来越成熟,不执行被测系统...

  • 软件测试资料下载、【软件测试】新科海软件测试视频、04【软件测试

    ![软件测试资料下载、【软件测试】新科海软件测试视频、04【软件测试】播布客软件测试系列培训视频、08【软件测试】...

  • 开发Mock服务做性能测试 (上)

    2018年离开了自己工作过了7年的公司,从业务测试工作转变为测试开发,围绕公司的质量体系打造测试管理平台。跳出舒适...

  • 软件测试

    基础篇 软件测试历史 什么是软件测试 软件测试在整个开发过程中的地位 软件测试要素 软件测试类别 软件测试流程、软...

  • 软件测试文章收集

    1.软件测试理论概念 软件测试基础 软件测试基础知识大全(上篇) 软件测试基础知识大全(下篇) 软件测试基础学习 ...

  • 软件测试方法和技术有哪些?

    软件测试方法和技术有哪些?包括软件测试基础、软件测试方法、软件测试流程和规范、单元测试与集成测试、系统测试、验收测...

  • 软件测试基础(一)

    什么是软件测试? 软件测试到底需要学习什么? 了解软件测试的含义 软件测试遵守的准则 软件测试有哪些分类?分别是什...

网友评论

      本文标题:软件质量体系【测试】理念

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