一、全流程质量保证

测试,只是项目过程中的一个阶段;我们不是软件的生产者,但是我们是软件质量的守护者。为了保证我们的产品质量,不能完全依赖于测试,或者依赖于开发;因为产品的质量不是依靠一个团队或一个阶段就可以保障的。我们必须在软件生产的整个流程、每一个阶段进行控制、监管,所以我们提出了“全流程质量保证”。

1. 需求阶段:让bug停留在纸上。

大家都知道测试介入越早越好,因为介入越早,测试人员就可以尽早的了解需求,更深入的理解业务,也可以更早的发现一些问题。尤其是在需求阶段,如果能帮助产品提前发现一些需求或流程上的问题,这样就可以避免后期设计、编码、测试很多不必要的时间浪费,可以大大降低项目的风险。 据微软统计,产品发布以后修复一个问题的成本是150万美元(间接成本在200万美元),发布之前的修复成本是5万,设计阶段修复成本是1千,需求阶段修复成本是1百。

在京东零售平台,我们都会要求测试人员在需求分析阶段就介入,参与与业务方沟通需求中,深入理解需求的背景及目的。然后站在测试的角度分析需求的范围、重点、可用性、易用性、流程的完整性、异常处理能力等。帮助产品经理提前完善需求,站在测试角度进行需求的补充。尽可能地提前将产品中的遗漏、缺陷、问题暴露,让需求阶段的bug提前发现,提前修复,只停留在需求分析阶段,而不会遗漏到编码或测试阶段再去发现、修复。

2. 研发阶段 :让bug止于摇篮。

研发阶段就是把产品进行代码实现的阶段,一个产品90%的bug 都是产生在这个阶段;按照正常的测试流程,这些bug一般都是在测试阶段被发现。但是如果我们能够在编码阶段就提前发现代码中的缺陷,那修复bug的成本以及后续的测试成本都会大大降低。

在京东零售平台,我们是通过这几种方式来提前发现代码缺陷的:

  • 参与开发的设计评审,并根据我们在业务及系统方面的经验积累,可以帮助开发提前补充代码设计方面遗漏和缺陷。
  • 通过白盒测试,在编码过程中就投入测试资源,测试单元模块中的问题。
  • 通过sonar平台对代码进行静态扫描,发现代码中的问题。
  • 通过流程控制,要求开发必需经过代码评审才能提交测试。

3. 测试阶段 :让bug无处可藏。

测试阶段,也是我们工作最重要的一个阶段。在这个阶段系统各个模块都已集成,并部署到测试环境中。我们就需要进行系统的测试,站在用户的角度,通过专业的测试分析进行用例设计并测试。

在测试阶段我们还会分为用例设计、用例评审、冒烟测试、分支测试、主干测试、联调测试、回归测试、用户验收测试等不同阶段;根据业务类型及业务情况我们会进行功能、性能、兼容性、易用性、稳定性、用户体验等方面的测试;通过不同阶段不同类型的测试,让bug无处可藏。

但是如果线上发现了问题或待优化的功能,我们每周都会组织线上问题分析会。由产品、研发、测试共同参加,分析问题的根本原因及解决方案,从技术、管理和流程等方面对问题进行分析,以保证同样的问题后续不再发生。

4. 上线阶段 :线上排查,抓捕漏网之鱼。

经过前面几个阶段的测试,系统就可以保证正常上线了。但是测试团队是否就可以撤出了呢?答案一定是否定的。虽然系统经过了严格的测试,但是毕竟线上的情况和场景会更加复杂多变,为了保证系统在线上正常运行,我们必须在系统上线后进行验证和监控,保证系统正常的跑起来;一旦有漏网之鱼,我们也会在最短的时间内进行补救。保证不会因漏网之鱼导致更大的漏洞和损失。

二、效率提升

能够保证项目的质量,保证项目按时上线,这是对我们的基本要求。如果目标更高,就要求我们能够投入最少的资源,在最短的时间内完成项目测试,让项目早日上线,帮助我们的用户解决问题。我们提升工作效率是从下面几方面进行的。

1. 工具辅助:

在测试过程中,所有工作都是由人工进行执行的。但是有些重复性的,或者可以利用代码利用机器帮我们实现的工作,我们都会编写一些测试工具来帮助我们完成,这样我们就可以解放我们的双手解放我们的大脑,投入到其他工作中,而且工具永远也不会感到累,他们执行的速度也会比我们快很多。所以利用工具来辅助我们测试,使我们的效率会大大提高。

当然我这里说的工具不仅仅指的是一些小的测试工具,还包括我们的UI自动化测试、接口自动化测试、持续集成平台、自动部署、静态代码扫描工具等。只要是能够帮助我们分担测试工作,提高工作效率的,都是我们的好帮手。

为了提高开发所提交代码的可测性,可以让我们的工具,持续集成、自动化测试等应用到开发环节,帮助开发在代码编写阶段进行自测。通过自测,提升了提测代码的可测性,在测试阶段就可以减少很多因为代码不可测而浪费的时间。

有一些系统,开发拥有自己的测试环境;这样开发同学在开发过程中就可以充分利用我们的持续集成平台,进行自动部署测试环境,自动运行UI和接口自动化程序,快速反应代码合并后的质量。利用我们的工具帮助我们的研发和测试完成持续开发、持续集成、持续测试,让每一次代码的合并都得到有效、快速的质量保障。

2. 流程优化:

作为商城研发下的重要部门,零售平台一直注重项目和需求流程规范管理,在京东研发管理体系的基础上,零售平台内部产品、研发和测试团队一起对整体流程进行梳理,评审和讨论,最终形成适合本部门的质量管理体系。目前这套流程规范已经在零售平台内部进行宣贯和推广使用。通过规范项目过程和大家的工作流程,减少不必要的沟通成本,力争一次性把事情做对,从而保证最终产品质量。

首先,我们总结了项目/需求过程的三四五原则,并在整个部门大力推广,由质量保证人员定期审核项目需求流程规范性,每周以质量周报形式通报结果和改进方向。

三指项目的三大阶段需求、研发、测试阶段,每个阶段都有明确的活动及产物定义;四是四次主要评审需求、设计、代码和测试用例评审,要求项目组全体成员参与,力争在项目前期将问题暴露出来并解决;五指的是五大主要文档,包括需求文档、设计文档、测试用例、测试报告、线上验证报告,项目组严格按照该原则要求,在每一个阶段完成时,完成本阶段的活动,并提交相关产物,从而确保后续工作顺利开展。

同时,将流程规范与系统相结合,通过TIP(测试集成平台)实现流程的自动化:

以TIP测试集成平台为核心,我们已经通过与PMP项目管理系统、Jone统一工作平台、Source代码共享平台相互协同,实现需求管理,研发管理,测试管理等相关活动流程化、标准化和自动化。目前已实现研发线上提测、测试人员发送测试报告,研发人员发送自测报告等功能,给研发和测试人员的日常工作带来极大效率提升,同时通过系统及时保存了珍贵的项目/需求过程资产。另外测试阶段可通过工作流的形式,通过可配置化任务将编译、打包、部署、测试等任务组合起来,实现一系列持续集成流程,每天定时执行,定时反馈,极大的提高了测试人员的效率。TIP平台功能仍在不断完善和丰富,为不断提升零售平台整体质量水平,我们一直在不懈努力。

http://geek.csdn.net/news/detail/98873

测试之全流程质量保证相关推荐

  1. 自动化体系平台建设 —— 全流程质量保证及改进措施

    质量保证及持续改进从来不是一个单纯地只提升测试阶段或测试人员能力的过程,更切实的说法应该是 -- 在有限投入(时间或人力资源约束)的情况下,如何在保证整个产品/平台质量达标的条件下,最终缩短每次需求从 ...

  2. 软件测试中的软件质量保证,软件质量保障全流程(上)

    一. 软件质量保障流程 1.1 微服务产品的特点 微服务架构下,一个大型复杂软件系统不再是一个单体,而是一系列相互独立的微服务,特点鲜明: ·每个服务独立,开发技术栈独立 ·每个服务可以独立开发.部署 ...

  3. Blender 3.0机器人硬面建模材质渲染全流程学习课程

    学习在Blender中建模硬表面机器人角色 你会学到什么 Blender 3.0建模工具 Blender 3.0硬面人物造型 机器人角色的UV展开 如何在Blender中渲染 MP4 |视频:h264 ...

  4. 全流程游戏模型制作学习教程

    尤金·彼得罗夫|时长:36小时 |视频:H264 1920×1080 |音频:AAC 44,1 kHz 2ch |大小解压后 35 GB 含课程文件 |语言:英语 (无字幕,) 在本教程中,我将介绍为 ...

  5. 藤摇椅游戏道具制作全流程讲解视频教程

    藤摇杆|一个完整的游戏资产工作流程 MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 含工程素材 语言:英语+中文字幕(根据原英文字幕机译更准确)+原英文字幕 | ...

  6. Blender与UE5完美结合全流程创作游戏资产视频教程

    Blender到虚幻引擎5 Blender to Unreal Engine 5 MP4 |视频:h264,1280×720 |音频:AAC,44100 Hz 语言:英语+中英文字幕(根据原英文字幕机 ...

  7. Blender 2.9中的真实感三维产品全流程制作学习教程

    MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:41节课(6h 23m) |大小:5.83 GB 含 ...

  8. Blender全流程制作真实感3D产品学习教程

    MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:41节课(4h 29m) |大小解压后:4.53 G ...

  9. Blender+Substance Painter全流程制作真实的机器人学习教程

    MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:44节课(10h 52m) |大小解压后:9.9 G ...

最新文章

  1. 解决Win8.1键盘输入后鼠标左键响应延迟的问题
  2. 修改ubuntu崩溃转储的设置
  3. IOS 之__bridge__bridge_transfer和__bridge_retained
  4. 2017年新年问候-组内
  5. android sharedpre,Android SharedPreferences四种操作模式使用详解_Android_脚本之家
  6. [目录]搭建一个简单的WebGIS应用程序
  7. 【转】Cache Buffer Chain 第二篇
  8. 老板要我开发一个简单的工作流引擎 !
  9. 在vs2005调试asp程序
  10. Android AIDL原理
  11. XTTS V4.3 跨平台迁移12.1.2 HPUX ->Oracle Linux
  12. 将Planet卫星影像数据添加到QGIS, ArcGIS Pro 或 ArcGIS 10.X方法,以ArcGIS Pro为例。
  13. tpc ds mysql_tpc-ds测试tidb结果
  14. 阿里巴巴的“双11”高并发秒杀终极版教程(Java语言设计)
  15. linux内核原子操作使用简介
  16. 计算机网络——计算机网络体系结构-计算机网络概述(课程笔记)
  17. 李开复:点子太多的聪明人不适合创业
  18. ETHA Lend完成160万美元融资---为DeFi领域带来全新的收益优化协议
  19. 基于MAML的改进方法总结
  20. 甲骨文总裁拉里·埃里森在耶鲁大学的演讲

热门文章

  1. 人工智能行业每日必读(02·03)
  2. 【UE4】GamePlay框架简介(蓝图)
  3. 谭谭牛顿的牛眼之人眼是红外线成像仪谭
  4. 【NVMe2.0b 10】Controller Shutdown 与 NVM Subsystem Shutdown
  5. 如何写好一篇优秀的硕士毕业论文
  6. 逻辑思维不好能学java吗_逻辑思维差可以学JAVA吗
  7. 免校准的电量计量芯片_【应用】基于高精度免校准电能计量芯片CSE7761的漏电保护设计,可支持单芯片两路计量...
  8. 使用pano2vr创建全景图
  9. MOOC《Python语言程序设计》第6周练习题
  10. “东数西算”工程解读