软件质量保障初探_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 发起的软件测试行业技术会议 ...
随机推荐
- DM7的SQL批量插入for、while方法
示例1,for用法: begin for i in 1...10000 loop insert into test values(i,i,'aaa',sysdate); if i mod 20 = 0 ...
- Redis-CAP定理和BASE理论(二)
CAP理论概述 1998 年来自柏克莱加州大学的计算机科学家 埃里克.布鲁尔(Eric Brewer) 提出分布式系统的三个基本指标:Consistency(一致性).Availability(可用性 ...
- Redis系列之----Redis的两种持久化机制(RDB和AOF)
Redis的两种持久化机制(RDB和AOF) 什么是持久化 Redis的数据是存储在内存中的,内存中的数据随着服务器的重启或者宕机便会不复存在,在生产环境,服务器宕机更是屡见不鲜,所以,我们希望 ...
- CTO说|非容器化应用怎么玩多云?Kubernetes不管我们管啊
Kubernetes已经成为容器编排系统的事实标准,是现在主流的跨云容器化应用操作系统. 但是,Kubernetes的目标并不是容器本身,而是承载其上的应用,本质上是为了解决(容器化)应用上云这个难题 ...
- 第一篇:python中的判断语句和循环
python与C语言的代码格式区别: 需注意:1.python中语句结束没有分号 “;” 2.python中严格要求缩进,且在判断和循环等语句中把括号用冒号代替. 3.经常使用tab键进行缩进. 4. ...
- 异数OS-星星之火(二)--远程实验室注册开放
异数OS-星星之火(二) 远程实验室注册开放 异数os-织梦师云 未来操作系统技术远程实验室预计9月中旬开放,提供异数os用户学习研究测试服务,目前在做容器化多租户环境改造,先开放会员预注册通道,有需 ...
- visul studio 使用git扫盲帖。
写给和一样的菜B 有必要知道的命令: git rm --cached (文章底部有git命令大全) 创建.gitignore文件 windows版: 在项目根目录下面创建gitignore.txt文件 ...
- python打包成可执行文件
1 最开始我直接把在Windows上打包的run.exe文件上传到Linux以为可以直接用了.但是./run后报错.百度后知道,Windows上的程序不能在Linux上运行 Linux下文件是否可执行 ...
- Vim学习之路1
与之前的随笔一样,这个也是记录Vim常用命令以供日后查找所用.对于Vim,简介而又功能强大,学习之后代码书写相当愉快. 1. 保存并退出 :wq 2. 进入标准插入模式退出命令模式 i 3. 退出标准 ...
- cmd 打开文件
打开cmd Python 文件地址