Q:很多这个领域的新手们都很模糊“软件测试”与“软件质量保证“的概念,您能在这里说明一下吗?
A:首先比较一下SQA与软件测试员吧。
软件测试简称QC(QualityControl),他是一个技术工种,也就是大家常说的使用黑盒测试方法,来避免软件缺陷落入客户手中的人。
软件质量保证简称SQA(QualityAssurance),他是一个管理工种,准确讲他的全称应该是PPQA(Process&ProductQualityAssurance)。他确保软件质量管理得以执行,从而给所有相关人员增强信心,并给高层管理者提供客观的洞察力。
然后我们简单说一下SQA的工作内容。
通常软件质量保证人员会参与公司过程的制定,并负责编写对软件过程和工作产品的检查表。他会在恰当的时机对项目进行各种各样的检查,并将检查的结果及时汇报给管理层。
初级的SQA可以做“警察”,按照流程,根据检查表的内容进行检查即可。
中级的SQA可以做“医生”,按照流程进行检查,发现问题并且可以提出解决方案 。
高级的SQA可以做“教练”,不但对发现的问题可以提出解决方案,还可以教会项目组如何进行改进 。
Q:您怎样看待国内软件质量管理的现状?
A:真正意义上的软件质量管理还处于萌芽阶段,虽然国内很多公司都通过了CMMI认证,但真正意义运用质量管理来对项目进行管理的还是少数,而且很多对软件质量管理的定义和含义还不十分准确。
Q:您觉得目前普遍存在的问题有哪些?
A:误区一:误认为软件测试就是软件质量管理
误区二:误认为PMP项目管理就是软件质量管理
误区二:误认为拿到了CMMI认证就等同于完成了软件质量管理
对软件质量管理的准确定义在《软件质量管理指南》中已经进行了清楚的讲述,该书还将软件质量管理与PMP以及软件自动化测试的关系进行的讲解,并且对其进行了融合,配合案例分析进行讲解。
Q:国内很多企业对CMMI的实施有点趋之若鹜的感觉。您觉得呢?我经常看到或者听到一些IT从业人员甚至进行实施的CMMI从业人员说:“我们公司的流程用的是CMM/CMMIx标准。”其实从专业角度来说,CMM/CMMI是一个评估的依据,也是一个过程改进的框架,一套非常有价值的过程模型,并不是一个标准。国内的现状是否有纯粹的模仿,生搬硬套的现象?您觉得应该用怎样正确的态度,合理的方式去实施CMMI?
A:首先,能够真正运用CMMI理论实施过程改进的人员必须具备多年项目管理的经验、丰富的软件开发和测试背景,而且要接受过IntroductiontoCMMI的专业培训。并不是每个企业都有这样的复合型人才,因此导致过程改进生搬硬套的现象发生。
其次,过程改进并不只是EPG组成员的责任,要想定义一套符合公司实际需要的标准过程诗离不开公司各个部门通力合作的。
最后,公司要给与过程改进足够的支持,从发展的角度来培养过程改进的相关人员对企业来说是非常有必要的。
Q:能给出一些具体的改善意见吗?
A:软件质量管理的实施是个复杂的、系统的、漫长的改进过程,必须得到高层的认可和支持才可能得以实现。
Q:中小型企业成本有限,是否可以建立质量管理流程?
A:CMMI提出的“裁剪”理念是中小企业进行软件质量管理的重要手段和原则,要建立符合公司规模、技术路线和商业目标的标准过程。
在建立流程时要注重实用性和可行性,避免出现流程过大、过于复杂。另外避免开发团队在没有养成良好习惯的时候就开展极限式的开发。