软件质量保障初探_Chris
关于软件质量保障的体会
首先,软件质量保障的重要性不言而喻,书中说软件质量体现在以下方面
- 软件开发过程的可见性
- 软件开发过程的风险控制
- 软件内部模块,项目中间阶段的交付质量,项目管理工具的因素
- 软件开发成本的控制
- 内部质量指标的完成情况
有一套较为成熟的理论来衡量各个软件工程的质量——CMMI(Capacity Maturity Model Integrateg),即能力成熟度模型集合。
同时要达到一定的软件质量是需要付出一定的成本的,新功能的开发固然重要但是同时也必须要投入一定的成本来保证已有公的质量解决问题。这就是要各部门的人团队合作才能做到。
无论QA(Quality Assurance)还是Test都是在为软件的质量作保障,不应过分独立开来。明确的分工固然是重要的,可以提升工作的效率和质量但是我觉得"合作是分工的基础",书中用足球来举例说明分工的重要性,说有专注进攻的,有专注防守的。但是不论进攻还是防守永远都是一个团队一个整体,竞技体育就更是如此了,其实你拥有世界上最优秀的前锋,最优秀的个人能力,也有可能被一个防守阵型弄的焦头烂额。同样,即使你的防守个人能力再好,也有可能被几个传切配合轻易撕破防线。团队协作是分工的基础,没有良好的配合分工只会无故平添烦恼,多增问题。邹老师在总结中有几个观点我觉得说的非常好:
- 在初始阶段(新项目,团队进入一个新领域,人员刚进入一个新项目),每个团队成员都要尽量打通各个环节,多负责,把所有的事都搞懂,培养通才。
- 当项目/产业发展到一定阶段(计入阵地战的时候),要大力提倡分工合作,培养专才。
只有当你对所有的工作流程都理解,才能在根本上意识到自己的岗位的精髓所在。QA(Quality Assurance)本身就包括Test,所以我觉得两者本身并不冲突不应将这两者完全独立。
如果我是一个项目的QA我觉得我的工作职责范围是:
我觉得一名优秀的QA必须是能全方位理解项目的从开发到测试都需要,不懂开发的人是必然的做不好QA的,同时其实无论QA(Quality Assurance)还是Test都是在为软件的质量作保障,不应过分独立开来。只要根本的了解开发,掌握开发,才能做好质量保障,同样的Dev也应该懂得测试,这两个种本身就是两个相辅相成的岗位,在良好和做的基础上才能建立明确的分工。
如果我是一名项目经理,我认为我得项目中不需要绝对的专职QA:
文章中有一句话说的是特别好的:
不懂开发的人必然做不好测试。就像不懂开发的研发经理必然管不好研发团队一样。我越来越觉得Dev应该应该是做测试最合适的人选,这必然是未来的趋势 (因为我已经看到了中国程序员的进步,相比起10年前,今天的程序员已经是非常全面了,再来十年,必然证明我的观点是对的)。
没错,不懂开发的人就是应该做不好QA,对一个项目本身的基础都不了解的人又凭什么可以去维护他的质量,作为一个QA可以不必对开发像大牛那么精通但是必须要有自己的理解,这就好比是在NBA优秀、传奇的教练员不一定是一个好的球员但是他一定对篮球本身有着很深的理解,有着自己的想法。所以我觉得不该存在绝对专职的QA,这样的QA即使能够工作也不会融入团队,做好各部门之间协调工作的。QA是保证质量的,但是质量并不是测试出来的,如果不从需求分析,软件设计,代码实现上做好控制。空有测试有何谈保证的只不过时发现BUG而已。关于QA和Test的问题上文我就已经提到了合作是分工的基础,无论QA(Quality Assurance)还是Test都是在为软件的质量作保障,不应过分独立开来。这也并不代表着就没人负责。团队是需要有负责人的,测试者本身就是一个合作的团队,出现问题是团队的责任,作为团队的负责人必须要为此负责,整理整个团队找出问题并解决。
2019-09-22 13:18:38
软件质量保障初探_Chris的更多相关文章
- 质量保障&&质量体系建设
一.质量保障 先引用一段 百度百科 上对软件质量保障的解释:软件质量保障是建立一套有计划,系统的方法,来向管理层保证拟定出的标准.步骤.实践和方法能够正确地被项目所采用.软件质量保证的目的是使软件过程 ...
- 推荐一本写给IT项目经理的好书
原文地址:http://www.cnblogs.com/cbook/archive/2011/01/19/1939060.html (防止原文作者删除.只能拷贝一份了) 推荐一本写给IT项目经理的好书 ...
- 【SE】Week17 : 软件工程课程总结
软工课程总结 总算结束了一个学期大部分的事情,可以静下心来写篇软工的总结了. 在本学期的软工课程中,我担任的角色是Chronos团队的PM兼开发人员.在课程之前,我认为PM的角色应该还蛮轻松的,无非 ...
- 【SE】Week1 : 个人博客作业
快速看完整部教材,列出你不懂的 5 - 10 个问题,发布在你的个人博客上. 1)针对书中提到的NABCD模型中的N,如何发掘市场不明确的潜在用户需求? 2)PM是否负责团队职责的分配以及工程模块的设 ...
- 能力成熟度模型(CMM)
能力等级 特点 关键过程 第一级 基本级 软件过程是混乱无序的,对过程几乎没有定义,成功依靠的是个人的才能和经验,管理方式属于反应式 第二级 重复级 建立了基本的项目管理来跟踪进度.费用和功能特征 ...
- 能力成熟度模型CMM
能力成熟度模型(Capability Maturity Model,英文缩写为CMM)[1]是 一种开发模型.Carnegie Mellon大学的研究人员从美国国防部合同承包方那里收集数据并加以研究, ...
- 杂项:CMM
ylbtech-杂项:CMM CMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM.它是对于软件组 ...
- 聚焦性能技术和实践, MTSC全面揭秘PerfDog演进之路
商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. 12月14日,2019年度中国移动互联网测试开发大会(Mobile Testing Summit China,简称 MTSC)深圳站于深 ...
- MTSC2019大会日程重磅发布,腾讯WeTest独家Topic大揭秘!
WeTest 导读 中国移动互联网测试开发大会 Mobile Testing Summit China(简称 MTSC)是由国内最大的移动测试技术社区 TesterHome 发起的软件测试行业技术会议 ...
随机推荐
- 1052 卖个萌 (20 分)C语言
萌萌哒表情符号通常由"手"."眼"."口"三个主要部分组成.简单起见,我们假设一个表情符号是按下列格式输出的: [左手]([左眼][口][右 ...
- 【转】7本免费的Java电子书和教程
本文由 ImportNew - 唐小娟 翻译自 Javapapers.如需转载本文,请先参见文章末尾处的转载要求. 1. Thinking in Java (Third Edition) 本书的作者是 ...
- C++生成dll以及调用(函数)和类
C++新手,方法可能有很多,此方法仅仅是自己实验并可行,详细步骤如下: 生成dll文件和lib文件: (1) 新建项目-windows桌面向导,选择动态链接.dll以及空项目: (2)复制代码(头文件 ...
- 三、Spring Cloud之软负载均衡 Ribbon
前言 上一节我们已经学习了Eureka 注册中心,其实我们也使用到了Ribbon ,只是当时我们没有细讲,所以我们现在一起来学习一下Ribbon. 什么是Ribbon 之前接触到的负载均衡都是硬负载均 ...
- Docker——WIN7 安装 Docker实战与入门
1.Docker简介 Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Lin ...
- .Net Core Web Api实践(四)填坑连接Redis时Timeout performing EVAL
前言:前两篇文章.net core+Redis+IIS+nginx实现Session共享中,介绍了使用Microsoft.Extensions.Caching.Redis实现Session共享的方法, ...
- Java 使用Scanner时的NoSuchElementException异常
做实验时设计了一个类,在类中的两个不同函数中分别创建了两个Scanner对象,并且在各个函数的结尾使用了close()方法,结果在运行时产生了NoSuchElementException异常. 实验的 ...
- 读取配置文件,appsettings.json和注入ICO
https://www.cnblogs.com/knowledgesea/p/7079880.html 引入Nuget的两个类库 Microsoft.Extensions.Configuration ...
- restframework 认证、权限、频率组件
一.认证 1.表的关系 class User(models.Model): name = models.CharField(max_length=32) pwd = models.CharField( ...
- 异数OS 2017 DPDK 峰会观后感
1.DPDK in Container 使用虚拟网卡设备技术为每一个容器分配一个IP 网卡适配器(queue).容器技术可以解决虚拟机技术中虚拟机过于臃肿,难于热迁移的问题,可能可以代替美团OVS方案 ...