【常见的质量问题现象】
软件质量问题很大程度上可以从其开发过程上表现出来 。在缺乏有效项目管理的团队中,下面的现象我相信是典型的。 一个功能第一次转测的时候,测试人员能够发现N个低级错误型的Bug。接着开发人员”改完”代码后,测试人员进行回归测试继续发现N个Bug。这些Bug有些是第一轮测试中发现的Bug没有修复正确或者完全的,而很大一部分可能是因修改之前的Bug而引入的新Bug。于是,这种现象不断得在第三次、第四次……回归测试中出现。
上面的现象就是典型的返工。返工不仅浪费了时间和人力,也是质量问题的标志。
而最后交付的功能还有若干Bug被发现。因为,测试人员漏测试了。
【原因分析与解决问题的经验分享】
质量问题的产生原因主要有两个因素:个人的因素和项目管理的因素。
人的因素主要有开发人员、测试人员的知识、能力和经验以及工作习惯。
比如,虽然敏捷开发一直强调测试先行。但是,仍然有很多开发人员习惯于先编码后测试。更为不好的是,很多开发人员习惯于把所有代码都”写好”,然后集中对这些代码进行测试。这样做的结果往往是一个地方发现的问题往往在其它地方也存在。于是,他不得不重复得修改这些问题。这种情形不仅浪费了他们的宝贵时间。也往往使问题没有被彻底修正。另外,很多没有计算机专业背景的人被培训机构以高薪为诱惑被培训为测试人员。对于这些测试人员,当被测试的对象的技术性比较鲜明的时候,他们往往不知怎么测试。
但是,人的因素往往很难短期内有所改善。所以,我将重点从项目管理的角度来分析。
返工和漏测试是软件质量的两大问题。返工从项目管理的角度看,很大程度上是因为缺乏有效的流程控制。即,在一个功能转测试人员进行测试前,没有检查其质量是否满足一定的要求——最低质量要求。这一点,其实可以借鉴建筑工程中的材料验收。比如,建设一栋大楼,其所需的钢筋水泥等材料如果我们不在使用它们前检查其质量是否符合要求。那么,后面才发现它们的质量问题则必然要返工。关于如何进行流程控制,以使被转测的功能符合最低质量要求,可以借鉴下Story演示这个具体实践。感兴趣的读者可以借鉴下IBM developerWorks网站上的文章:
《敏捷项目管理实战之在敏捷开发中引入Story演示》
http://www.ibm.com/developerworks/cn/rational/r-cn-agilestorydemo
当然,质量问题是一个系统性的问题。那么,解决这个问题的方法也必然是要系统性。另外,管理不是照着菜谱做菜。管理者必须要掌握一套质量管理的方法,而非”拷贝”所谓优秀实践。学习优秀实践的意义在于掌握其背后所体现的方法与思想。下面的文章中以这样的一种思路分享了基于“经验过程控制”的质量管理思想,并以作者的项目管理经验为基础分享了另外一些提升项目质量的一些具体实践。
《敏捷项目管理实战之质量管理》
http://www.ibm.com/developerworks/cn/rational/r-cn-agiletestingbestpractice
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。