51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6329|回复: 3
打印 上一主题 下一主题

[转贴] 如何做好软件的质量管理?

[复制链接]
  • TA的每日心情
    慵懒
    2014-12-30 11:16
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2014-12-30 14:11:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    在软件公司从事了10年的软件开发,也在外企呆过。对软件的质量管理有些感悟。整理下来供大家参考。欢迎大家批评、指正和补充!

    1 软件公司存在的问题目前很多软件公司都存在下面一些问题:
    公司的产品质量很难稳定,到了客户那里总是出现很多问题,他们的高手经常去客户那里现场救火。
    产品的质量问题总是重复出现。这个版本已经解决,到了下个新版本可能又出现。开发人员总是抱怨没有时间把问题一次解决好,但是却有时间把反复出现的问题解决很多次。
    产品上市时间总是一拖再拖,很难按时推出新产品或新版本。产品推出之后也不能适应市场需求。
    公司的人员总是加班加点工作,还是有解决不完的问题。
    这一切的一切都是什么原因造成的?
    那就是软件的质量管理没有做好。
    那怎样才能做好质量管理呢?

    2 质量管理就像治病我们先来看一个故事。
    中国古代有一个著名的神医,叫扁鹊。传说扁鹊有三兄弟,并且全是郎中。其中老三扁鹊是名医。人们问他:“你们兄弟三人谁的医术最高?”
    他回答说:“我常用猛药给病危者医治,偶尔有些病危者被我救活,于是我的医术远近闻名并成了名医。我二哥通常在人们刚刚生病的时候马上就治愈他们,临近村庄的人说他是好郎中。我大哥不外出治病,他深知人们生病的原因,所以能够预防村里人生病,他的医术只有我们村里才知道。其实我的医术不如二哥,二哥的医术不如大哥。”
    从这里看出,要想身体好,少生病,有三种办法。
    第一是早预防,不让疾病产生,这就是扁鹊大哥的方法。
    第二是早发现早治疗,这就是扁鹊二哥的方法。
    第三是早抢救,死马当活马医。这是没有办法的办法,万不得已而为之。这就是扁鹊经常做的事。

    3 质量管理的三套体系从上面的故事可以明白,其实质量管理也类似。我们应该建立三套体系:预防体系,有效检查体系、快速抢救体系。

    3.1 建立预防体系在软件开发过程中有效地防止工作成果产生缺陷。主要措施有:
    1)专家培训,不断提高大家的技术水平、管理水平;
    2)流程化,不断提高规范化水平,把经验和教训固化在流程中。大家如果按照流程来做,软件质量不会差,但是如果不按流程来做,那软件质量不确定,有可能很差,也有可能很好。他依赖于人。流程化的目的就是希望产品质量不要依赖于人,而是要依赖于流程、制度、规范。这样公司的产品质量就比较稳定,即使人员变更也会比较稳定。这就是流程化的目的。
    当然流程化不仅仅是把流程整理出来,还要在运行过程中不停优化,保证流程确实是好用的、容易执行的。
    要想保证流程容易执行,应尽量让流程工具化,把流程固化在工具中。在使用工具时,大家按照工具的要求来做,就已经在很好的执行流程了。市场上有很多这方面的工具。上网一搜索很快就能找到一些。我们曾经用过bugzilla,漫索软件。
    3)复用化。处理相同的事最好尽量复用现有代码,或者把公共功能做成模块,便于大家复用。这样就可以预防问题的发生。

    3.2 建立有效检查体系在软件开发过程中能尽早发现问题,尽早解决问题。这样代价最少。主要措施有:
    1)技术评审。请专家对技术方案、思路进行评审,在编码之前找出可能的问题。质量管理大师戴明博士说过:质量是设计出来的。可见编码之前的设计方案是非常重要。设计时就埋下的缺陷隐患在后期是很难解决的。设计不好的软件就像体质不好的人,后期再多的调理也收效甚微。
    2)测试。测试是查漏补缺的重要手段。这里有各种测试方法,例如静态测试、动态测试、白盒测试、黑盒测试、单元测试、模块测试、系统测试、回归测试、功能测试、性能测试、易用性测试手工测试、自动测试。但是我觉得最重要的是要使所有的测试方法形成一套有效的测试系统。
    如何衡量有效?那就是任何新的改动,如果它导致以前正确的行为变成错误,这套系统应该能报告出来。建议的方法是保证每种情况都有对应的测试用例,每种错误也都有对应的测试用例。
    3)过程检查。软件开发过程中有一些大家公认的过程或规范能够避免产生一些问题,那这些过程和规范就应该被检查,保证软件开发过程与规范被大家遵守。这主要是QA的工作。
    4)代码评审。评审工作主要看代码是否与当初的设计方案一致。这样我们就能最大限制减少问题的产生。

    3.3 建立快速抢救体系在软件产品发布之后,客户可能会发现问题。因此一定要尽早回应、解决,尽量减少对客户的影响,也有利于维护自己产品的声誉。
    这主要是要提供方便、快速的售前售后服务。内容包括从新客户的接入,到新老客户维护和营销的每一个环节的工作,与销售、营销、推广、策划、人事等多部门业务对接,优化各业务环节,减少各环节客户流失和公司成本等。
    如果要做好这部分的工作,可以直接引入CRM系统,即客户关系管理系统(Customer Relationship Management)。

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏2
    回复

    使用道具 举报

    该用户从未签到

    3#
    发表于 2016-8-1 09:15:27 | 只看该作者
    灌,是一种美德
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2016-9-14 10:16:03 | 只看该作者
    顶你一下,好贴要顶!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 01:38 , Processed in 0.066870 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表