质量保证和质量控制的区别

 

在软件项目中,不少技术人员经常混用QA(Quality Assurance 质量保证)和QC(Quality Control 质量控制)这两个术语;甚至一些实施培训的专业公司(Baidu和Oristand)也混淆了这两个概念。这种概念混淆,很不利于组织导入CMMI(软件能力成熟度模型)或ISO9000;更进一步说,也不利于提升软件项目管理水平。

  实际上,这两个工作的性质明显不同,它们对从业人员的素质要求也很不相同。简单地说,QA(质量保证)是针对项目实施过程的管理手段,QC(质量控制)是针对项目产品的技术手段。

  QA监督做事

  QA致力于按照正确方法、在正确的时间做正确的事情:从做事方法上按照既定流程来保障产品质量,控制开发工作而不是解决具体存在的BUG。更贴切地说,QA并非“保证质量”而是“过程管理”(Process Management),以确保项目以一套成熟高效的做事方法开展和实施。依靠在QA制约下的开发过程,能够前瞻性地从制度上保障开发出好产品。因此,具有良好QA管理的企业,容易获得客户更多的信任。

  在CMMI体系中,QA人员是独立于项目组的(不受项目经理管辖),他可以把项目经理不认错的QA缺陷上报给CCB(地位比PM更高的配置管理委员会)或高层经理裁决。

  在一些大型企业的IT项目实施过程中,经常要成立甲乙方在一起协同工作的联合项目组。在这种情况下,甲方项目成员不仅要检测乙方的产品质量(QC),还要监督乙方开发过程中的做事方法(QA)。

  一般地说,项目的QA人员要检查项目开发过程是否制定和贯彻了管理标准、过程(Process)、策略等正规要求,要提出完善改进的意见,指出过程是否有效、如何让过程更有效,并评估这些要求的效率、效果。

  QA人员还要确保项目组成员理解这些要求。除了培训新员工理解组织过程,或培训老员工理解变更了的组织过程之外,他并不直接干预开发者的工作,而是在项目管理的最高层面上工作。他要与项目经理和CCB、配置管理员、QC人员打交道。

  怎样才知道QA工作是正确的?它也是结果导向的:通过不断改进组织过程,更快、更低成本地制造出用户需要的产品。

  例如,在一个大项目中,QA人员可以帮助项目经理制定项目计划,使项目按照有组织的规程推进;他要使项目组成员明白,应按照相应的报告、里程碑、文档等规定来开展自己的工作。随着项目的进展,QA人员可以适时导入“检查点”来查看哪里会发生新的风险。如,项目正在从事预定范围之外的工作,或项目有待加强管理之处。这些检查点是确保合适的人在正确时间就位的一个机会。

  从目前国内不太理想的情况来看,QA工作往往靠“意向性、模糊”的企业文化来代替, 我认为,完全依靠这种企业文化来造就合理成熟的工作套路,显得过于间接和不确定。因为在人员变动较快的软件行业,新入职的员工理解和认同企业文化并准确映射到具体工作中需要一个明显的滞后时间。这个弊端在小企业中不明显,但在大企业中会比较突出。所以,有必要建立起一套通用的QA工作标准模板,并在重要的大项目中指派专人担当QA人员。 QA人员要实时追踪了解、监督、评估项目中各种事件(现象)是否符合规范的流程?现有流程是否有效率?低效事件是因未被流程涵盖还是流程缺陷所致?就是说,QA人员要有“透过现象看本质”的抽象分析总结能力,项目中每个配合失误的“掉链子”现象,都会触发他的思考并提出改进建议。

  经过这样的努力, QA人员能从一系列个性化项目中不断地抽取出有效的、有普遍意义的流程优化经验和建议,它们被项目管理办公室(PMO)确认后,会不断地 沉淀、纳入(归档)到企业的过程资产当中,成为今后企业的项目管理的通用工作指导。这样,具备成熟、可操作性的企业文化并不断进步的另一个“IBM”就会由此诞生,企业也就有能力把更多的项目做成“项目组合”(Portfolio)了。

  QC是最后一关

  QC工作是指测试人员检查开发人员的产品是否满足预期的品质要求,并给出改进建议。QC服务于开发工作,处于开发工作的控制之下。更贴切地说,QC并非直接“控制质量”,而是“需求印证/确认”(Requirement Validation)或产品测试。

  由于QC是“用现实应用场景来评测开发人员理想化思路”的过程,所以项目经理必须重视这个依靠创造力、想象力的QC工作,投入足够资源保证QC工作。这是产品发布的最后一道关口。

  QC工作,是要把程序员“纯真的技术理想”锤炼成鲁棒性极好的应用系统。测试人员需要站在软件技术和用户应用场景之间,反复、全面地检查验证二者的映射关系,还要分析“BUG越改越多”的成因并说服、帮助开发人员澄清和遵从产品版本的质量底线。测试人员不得不经常在很紧张的时间压力下,以清醒的探险性、逆反的批判性思维来全面细致地“围捕”程序员的疏忽。这就要求他要比程序员更快更准地理解用户需求、软件架构;并在接受新项目的时候,头脑迅速切换到不同的用户应用场景。即,他要有更强的跨行业学习的能力。这种能力,往往是程序员难以具备的。

  理想的测试人员还应该具备“并发思维”的能力,以便捕捉多个程序员之间在多任务场景下极其容易发生的共享冲突。他还应该熟悉数据库建模和SQL,以便排查出隐患很大的、程序员和用户都难以察觉的垃圾数据并判断出成因。

  由此可见,那种对测试人员常见的“编程能力不行的人,才去做测试”轻视观点是错误的。测试人员业务素质的提升空间很大,他的价值也应该得到更长远的推动和提升。

  QA、QC是各不相同的重要工作,需要不同素质的人来担任。不应该认为“QA和QC可以合并”,也不应该忽略哪一个工作。

  县级电子政务建设解决方案

  山东省菏泽市牡丹区信息中心宋瑞凤

  县级政府是直接面对基层、功能较为齐全的地方政府组织,也是公众表达和维护自身利益最为明显和直接的对象,因而加快县级电子政务建设是深化行政管理体制改革、提高行政效率、增强执政能力的需要,也是实现县域经济跨越式发展的一项十分紧迫的任务。

  根据国际信息技术发展趋势和牡丹区“十一五”信息化规划目标,结合牡丹区网络基础设施的实际情况,对牡丹区现有的网络设施进行升级改造,建设体系完整、结构合理、高速宽带、互联互通的牡丹区电子政务网络系统,实现政务信息资源数字化、内部办公过程无纸化、业务处理网络化、公共服务电子化、管理决策科学化,逐步形成网络环境下的“一体化政府”,为社会提供“一站式服务”。

  建设高效、快速的电子政务系统,提高政府信息化水平,促进全区企业和市民上网,既能够帮助牡丹区创造更好的投资和生活环境,又能够提高政府办事效率,增强城市竞争力和聚集力。通过与政府的直接沟通和互动,企业和公众充分体验和享受电子政务的便利,拓展政府服务的领域和能力,从而改善投资软环境,提高政府声誉。

  具体网络需求:具有稳定的传输质量,能够长期不间断运行,满足实时传送数据的需要;具有灵活的网络扩展能力,能够根据数据的增加进一步升级扩容;具有较高的性能价格比,能够满足中短期业务需求。

  建设目标

  1、利用先进的MPLS VPN技术,组建覆盖全区各部门各乡(镇)、办事处的政府专用VPN网络,实现各联网单位的数据共享与信息互通。

  2、建设先进的内部办公自动化系统。该系统包括公文、信息、流程、办公、档案等管理模块,形成覆盖全区各部门各乡(镇)、办事处的以公文管理、信息互通、资源共享为主要内容的综合办公系统,构筑全区政务工作网络平台,提高工作效率。

  3、在内部办公系统开通电子公文传输系统。以网络为载体,建成区、乡(镇)办事处互联互通的公文传输系统,包括区级公文、传真电报、会议通知等模块,各种非密级文件、会议通知、传真电报、业务报表等的下达与传送,节约大量的人力、物力和财力,提高管理效能。

  4、在互联网上建立网站,面向社会提供政务公开、政策法规、经济信息、办事指南等服务类信息,同时还提供在线办事、区长信箱等在线互动平台,实现外网受理、内网办理,促进政令通畅,提高办事效率。

  技术方案

  组网方式

  在区政府与区直各单位和各乡(镇)办事处之间组建本地MPLS VPN专网,各联网单位根据实际情况采用光缆或ADSL动态PPPOE拨号方式接入MPLS VPN网络,区政府中心机房通过100M光缆方式接入该MPLS VPN网络。各联网单位通过用户安全认证,与区政府中心机房建立加密数据隧道,实现各网点与中心之间安全通信。网络拓扑图如图所示:

  网络特点

  安全性:采用VPN方式组网,提供与互联网逻辑隔离的专用通道,确保重要信息的安全保密。

  可靠性:自动路由选择的数据网络,将网络故障的概率降到最低,提供稳定可靠的电信级的网络运行环境。

  高性能:基于宽带网络平台,实现各网点高速互联。

  可扩展性:易于扩展,增加网点只需接入互联网,分配同一域下的帐号,中心端不需要任何设置。

  软件系统

  牡丹区电子政务信息系统是基于JAVA技术的办公自动化系统,该系统功能强大,运行稳定。

  该系统是在原大型OA系统的基础上增加扩展了部分功能而形成的基于政府办公的软件精品。例如,USB格式数字证书的身份认证;提供多种角色、流程等模板;与门户网站的信息整合等。

质量保证和质量控制的区别相关推荐

  1. PMP 质量保证与质量控制的区别

    质量保证与质量控制的区别 质量保证QA -执行 QA常见的工作或活动: 质量控制QC-监控 QC常见的工作或活动: 质量保证QA -执行 实施质量保证(Quality Assurance),简称QA. ...

  2. 质量保证与质量控制的区别

    质量保证和质量控制的区别 在软件项目中,不少技术人员经常混用QA(Quality Assurance 质量保证)和QC(Quality Control 质量控制)这两个术语:甚至一些实施培训的专业公司 ...

  3. 质量管理、质量保证、质量控制的区别

    仅用于理解: 质量保证属于执行过程组的,关注的是过程,是质量活动相关的政策.制度.流程.规范等. 质量控制是监控过程组的,关注的是产品,是产品的质量问题.质量缺陷,发现并给予消除. 质量管理是关于质量 ...

  4. 笔记-项目质量管理-质量保证和质量控制

    1. 质量保证和质量控制的区别分析1 1.1. 从属 实施质量保证属于执行过程组 控制质量属于监控过程组 1.2. 活动 实施质量保证是审计质量要求和质量控制测量结果: 执行项目质量管理计划中所定义的 ...

  5. 质量保证和质量控制(QA / QC),你们知道区别在哪里吗?

    有些人总是把QA和 QC分不清,本文就在此具体介绍一下两者的差异. 先来看下质量术语定义:质量保证/质量控制(QA / QC) 质量保证(QA)和质量控制(QC)是两个经常互换使用的术语.尽管相似,但 ...

  6. 实施质量保证与实施质量控制的区别与联系

    实施质量保证与实施质量控制的区别与联系 上课时我对规划质量.实施质量保证和实施质量控制做了详细的讲解,以减肥为案例详细说明了三个过程如何实施,并对三者做了详细的区分,可是仍有很多学员无法区分" ...

  7. 笔记-项目质量管理-质量保证和质量控制(信管网)

    质量保证和质量控制的联系与区别 (1)质量保证是针对项目过程的管理手段,质量控制是针对项目产品的技术手段: (2)质量计划是执行质量保证和质量控制的共同依据: (3)达到质量要求是质量保证和质量控制的 ...

  8. [高项]质量保证VS质量控制

    质量保证是项目质量管理中的执行过程,其主要工作包括: 对项目干系人施加影响,提高他们对项目将要达到质量要求的信心: 按照质量管理计划和质量测量指标开展质量活动,做出合格的质量: 按照过程改进计划改进项 ...

  9. 【信管7.2】质量保证与质量控制

    质量保证与质量控制 项目质量管理的两个核心过程就是实施质量保证和控制质量.关于它们两个的区别我们在上一课已经讲了,实施质量保证其实保证的是过程,就是我们的开发过程是不是遵循了质量计划,也就是说,这是保 ...

最新文章

  1. SQL Server中使用正则表达式
  2. Android 插件框架机制之Small
  3. Layer弹出层关闭后刷新父页面
  4. Tomcat日志文件位置
  5. 谷歌紧急修复已遭利用的新 0day
  6. 《Ray Tracing in One Weekend》——Chapter 11: Defocus Blur
  7. SQL-----------------------之ON和WHERE的区别
  8. 27. Remove Element[E]移除元素
  9. php把字符串改成utf8,PHP将字符串改成UTF8的方法
  10. Java面试基础问题之(一)—— JDK和JRE区别
  11. 西数云存储 重置 使用手册_如何重置IE浏览器(以IE8 为例),并添加信任网址...
  12. linux中怎么粘贴复制文件路径,如何在Linux中复制文件和目录
  13. 身份认证之双因素认证 2FA
  14. BPI 流程优化和BPR流程重组
  15. 坑爹的No matching method
  16. Calendar类获取当前时间上一个月,下一个月,当月的最后一天等的处理方法
  17. 什么是个人热点?安卓手机怎么开启个人热点?
  18. python爬取网页内容post_python爬虫之使用POST抓取网页内容
  19. Web前端技术 Web学习资料 Web学习路线 Web入门宝典(不断更新中)
  20. BaseDao.java

热门文章

  1. 关于微信小程序授权登陆之后需要在个人信息页展示信息,如微信头像,昵称这件事
  2. 计算机显卡维修,pci-e显卡基本维修教程
  3. pythonrsv分割_JavaScript是如何工作: 深入探索 websocket 和HTTP/2与SSE +如何选择正确的路径!...
  4. 列举1990年到2000年间的闰年
  5. LeetCode.868-二进制距离(Binary Gap)
  6. 超文本传输协议http详解
  7. oracle的系统字符集,Oracle操作系统和支持-字符集
  8. lxml 爬取豆瓣top250
  9. 密码学-常见加密算法逆向学习
  10. OpenAVNU 带宽预留协议SRP代码分析