软件质量保障初探_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 发起的软件测试行业技术会议 ...
随机推荐
- POJ1144 Network 题解 点双连通分量(求割点数量)
题目链接:http://poj.org/problem?id=1144 题目大意:给以一个无向图,求割点数量. 这道题目的输入和我们一般见到的不太一样. 它首先输入 \(N\)(\(\lt 100\) ...
- Persistence.beans
SF_USERS user = new SF_USERS(); user.setCTIME("20170103"); String ids = "fish,water&q ...
- Linux Cgroup浅析
cgroup从2.6.4引入linux内核主线,目前默认已启用该特性.在cgroup出现之前,只能对一个进程做资源限制,比如通过sched_setaffinity设置进程cpu亲和性,使用ulimit ...
- java数据库学习路线和必学知识点!
java数据库必学知识点! 分享一下数据库的学习路线和必学的知识点! 掌握mysql,Oracle在各个平台上的安装及使用 Mysql数据库基础 mysql概述.优点.运行原理及内存结构 mysql数 ...
- 在idea中运行GitHub项目
1.首先在本地建一个文件夹,比如qm 2. 在GitHub中找到你所运行项目的路径 3.在idea中[File]-->[New]--->[Project from Version Cont ...
- 机器学习新手必看:Jupyter Notebook入门指南
参考网址:https://blog.csdn.net/guleileo/article/details/80490921
- Falco 进入 CNCF Incubator 项目 | 云原生生态周报 Vol. 35
作者 | 王思宇.陈洁.敖小剑 业界要闻 Falco 进入 CNCF Incubator 项目 原于 2018 年 8 月进入 sandbox,旨在 Kubernetes 运行时环境下支持配置规则来加 ...
- .NET编程周记第3期-2020年1月19日
整理了2020年1月19日这周阅读的几篇有趣的和.NET开发相关的文章.在这里和大家分享. 0x00 Introducing Nullable Reference Types in C# 如标题所示, ...
- 第二阶段冲刺个人任务——two
今日任务: 优化作业查询结果,按学号排列. 昨日成果: 修改注册界面.
- BZOJ 3691 游行
题目传送门 分析: 没被访问的点要C费用,跑一次路要C费用 把这两个统一一下试试... 那就是每次不标记起点或者终点 那就是路径覆盖了2333 二分图,x 部 i 号点与 y 部 j 号点连 i 到 ...