软件质量保障初探_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 发起的软件测试行业技术会议 ...
随机推荐
- windows下使用cmd命令杀死进程
tasklist 使用以上命令显示当前进程,及其PID等,如图所示 找到我要删除的进程的pid(好像有点费劲?) 出现以下提示 原因:没有管理员权限,使用管理员模式打开 在Windows菜单栏中找到命 ...
- 一起来立Flag吧!超炫的数据图表分析 2020 年 Java 技术趋势
引言 2020 来了,第一批 00 后已经 20 岁了,95 后也到了晚婚的年龄,员外的头发也越来越少了,新的一年大家有立下了哪些 Flag ?小伙伴们别急着立 Flag,让员外帮你分析一下哪些技术正 ...
- Java手写数组栈
public class ArrayStack{ private String[] items; //数组 private int count; //栈内元素 private int n; //栈大小 ...
- 7个效果震憾的HTML5应用组件
在HTML5的世界里,任何文本.图像都可以变得令人难以想象,很多HTML5应用也都已经随着浏览器的升级而变得运行飞速,而且兼容性也越来越好.下面为大家介绍7款效果震憾的HTML5应用组件,HTML5是 ...
- a标签点击触发 layer open 只显示背景解决
问题:公司网站突然说有个查看信息的点击不好使了,有时候点击无反应,但是href执行了,有时候弹出只有背景,不显示内容.网上找了a标签的各种方法尝试后,均不能解决. 代码:类似如下,method()方法 ...
- 如何使用poi在word表格中插入行的4种方法
本文记录了,在word表格中插入新行的几种方法.直接上代码说明 table.addNewRowBetween 没实现,官网文档也说明,只有函数名,但没具体实现,但很多文章还介绍如何使用这个函数,真是害 ...
- JS中使用FormData上传图片
<!DOCTYPE html> <html> <head> <meta name="viewport" content="wid ...
- Ubuntu18.04 一次性升级Python所有库
pip是什么 pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能. 升级pip版本 默认Ubuntu自带的pip (pip 9.0.1)是基于Pytho ...
- python 条件判断的三元表达式
示例:求两数中最大者 在JavaScript中代码如下: x = 1; y = 2; console.log(x > y ? x : y) 在python中代码如下: # 条件为真时的返回结果 ...
- python中各种文件打开模式
在python中,总的来说有三种大的模式打开文件,分别是:a, w, r 当以a模式打开时,只能写文件,而且是在文件末尾添加内容. 当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发 ...