让我们区分质量保证与测试

概念与思辨深度一个行业的发展似乎总伴随着更多的概念被塑造出来。拿测试来说,我们有单元测试、集成测试、系统测试、回归测试、冒烟测试,等等。我们缘何塑造如此多的概念来“为难”自己呢?答案可以用我从@李智勇SZ老师那学到的“概念越纯粹表示思辨深度越深”这句话加以解释,而这一切又为了提高同行间的沟通效率。需要特别指出的是,多个相似但不同的概念想表达的是各自的不同之处,而非共同之处。为此,如果人家在讨论单元

原创 推荐 点赞8 阅读3788 收藏0 评论14 2013-08-06

对软件测试团队“核心价值”的思考

之前曾写过《软件质量管理的困境与对策思考》,在其中谈到开发部门与质量管理部门(QA)应形成一个有“交集的双环”而非“哑铃型”组织,也指出软件质量管理应重实践轻量化,其目标应是帮助工程师改善工作习惯和提升开发环境的效率。那时并没有认真地思考过测试团队的核心价值,直到读到@段念-段文韬老师的《测试团队与咖啡店》。通常,软件开发团队似乎几乎不谈论自己的“核心价值”,而针对测试团队总有对该问题的特有思考是

原创 推荐 点赞3 阅读4807 收藏0 评论3 2013-08-05

软件质量管理之困境与对策思考

相信在不少与软件开发相关的企业内,质量管理部门与软件开发部门在日常运作中形成了如下图所示的“哑铃形”组织结构。  开发部门执行质量管理部门所制定的流程,通过提供证据的形式将各种流程执行后的数据反馈给质量管理部门(包括缺陷率和各种流程记录),质量管理部门根据这些数据监督流程的执行效果,并适时修订流程。联系两大独立部门的,是单薄的两条线和一些部门间的会议。理想情况下,在质量管理部门

原创 推荐 点赞3 阅读2933 收藏0 评论8 2012-11-14

软件外包的形式与质量控制

大体上,我将软件外包的形式分成三种。第一种形式是外资企业在华等低成本国家成立新的研发中心。研发中心虽然名誉上是总部的分枝机构,但所从事的研发工作通常不会是高精尖的内容。很显然,由于所设置的分支机构在公司制度和企业文化上完全采用总部的,因而这种外包形式在软件的质量控制上能与总公司的完全匹配。可以想象,这种外包形式的成本相当的高昂。 第二种软件外包形式是人员外包。即外包公司出人参与到合同公司

原创 推荐 点赞0 阅读2465 收藏0 评论2 2012-08-07

走出软件质量困境的指导性思想

     对于软件行业的从业人员,不论是管理者还是工程师,对于软件设计的重要性都应当有允分的认识,只有这样才有可能在团队中构建真正有意义的愿景。是的,具备出色软件设计能力的工程师少之又少,但这并不表明它不重要。相反,这种人的工作效能很有可能是普通工程师的百倍。     除了认识软件设计的重要性,整个团队还应当至力于打造适合的质量保证方法论

原创 推荐 点赞0 阅读1622 收藏0 评论1 2010-06-10

建立软件质量保证方法论的核心手段 — 要素有形化和无缝整合

在软件质量保证的关键要素中,大体上可以将其分为有形的和无形的两大类。是否有形,是指能否通过一定具体的方法来保证。比如,设计能力和编程好习惯一开始就不是一种有形的要素,而工具、文档却是有形的。诚然,无形的东西也有可以通过一定的方法将其有形化。如果将好的设计思想(设计原则)和编程习惯通过文档将其固化,并在项目组中广泛学习和实践,就有可能将无形的变为更具有形性。强调有形和无形的目的在于指出其可操作性,一

原创 推荐 点赞0 阅读1636 收藏0 评论4 2010-06-07

软件质量保证需要系统性的方法论

软件质量保证是一个非常复杂的系统工程,高质量的软件获得不可能通过只做好软件开发活动中的某一个或某几个环节而获得,当然更不可能在没有任何方法的情形下“意外地”获得高质量,除非软件的规模非常小,且所有的开发工作是由一、二个人完成的。   方法论 = 流程 + 工具   经验告诉我们,对于复杂的问题应当通过分而治之的方式去解决,这同样适用于质

原创 推荐 点赞0 阅读2791 收藏0 评论2 2010-06-02

保证软件质量的关键要素

     软件在没有发布之前的开发过程主要分为需求分析、设计、编码和验证四个阶段,最终的软件质量与这四个阶段的各自质量之间的关系如果用C语言来表达的话应当是:最终的软件质量 = 需求分析质量 && 设计质量 && 编码质量 && 验证质量即,最终的质量来自于各阶段质量之“与”,只要其中一个环节质量是差,则产品的整体质量都

原创 推荐 点赞0 阅读6104 收藏0 评论1 2010-05-28

理解软件开发的特点 - 软件质量保证的第一步

     与软件开发过程中产品从无到有的创造所带来的兴奋与有趣相比,软件质量保证更多地让人觉得沉闷和枯燥。相比之下,软件开发过程中的需求分析、设计和编码是一个相对容易做的事,因为在这些过程中如果出现差错,工程师都觉得有劲可使以进行弥补,这些过程中的错误更多地表现为“明枪”。软件质量保证则不然,往往很容易出现有劲使不出,乃至怎么也做不好,其更多地表现为“暗箭”。之所以会

原创 推荐 点赞1 阅读4052 收藏0 评论4 2010-05-27

软件质量是什么

众所周知软件质量是软件产品之本,但软件质量到底是什么?我们真正地理解了软件质量吗?一说到软件质量,在头脑中很容易想到它应当满足用户的需求、用起来方便以及含有尽可能少的缺陷(bug或defect),等等。如果一个产品已经开发出来了,那缺陷尽可能的少这一指标就显得尤为突出,因此,潜移默化地,缺陷少成为了高质量软件的代名词。 缺陷少真的就意味着是高质量软件吗?笔者认为不然!这是因为软件质量的高低从

原创 推荐 点赞0 阅读4789 收藏0 评论3 2010-01-10

软件质量管理之痛

相信不少软件开发公司都存在质量管理部门。而且,如果一个公司稍微正规的话,一定会使用一个缺陷跟踪软件系统,比如开源的Bugzilla,或是IBM的ClearQuest等等。那质量管理部门是如何跟踪和控制软件质量的呢?毫无疑问,需要通过软件缺陷跟踪系统,这倒也没有什么问题。但问题在于质量管理部门是如何看待和处理缺陷跟踪系统所提供的缺陷统计数据的。 有的公司质量管理部门的地位很高,可能是因为公司质

原创 点赞0 阅读1759 收藏0 评论8 2009-07-20

单元测试与代码的动态行为和静态行为

    这一问题的引出是来自我们的软件发布流程的。我们的产品运行的是Monta Vista或是WindRiver Linux(后面称之为目标环境),而开发环境是Fedora Linux(后面称之为主机环境)。我们对于单元测试都会在主机环境上完成,然后,在目标环境上并不做单元测试,而只是做Sanity Test(你可以理解为功能测试)。一开始,我并没有发现我们在发布产品

原创 点赞0 阅读1338 收藏0 评论1 2009-06-22

单元测试的重要性

    单元测试(Unit Test, UT)是一个老生常谈的话题,在对这篇文章进行博客归类时,我还是将其归类为开发技术,尽管其带有测试两个字。如何做单元测试不是我这里想说的,而是业界对其认识的认识及重视是我想指出的。       对于单元测试存在两种不好的现象。第一种现象是对其不了解,或说了解只是在表面上(概念上)但并没有

原创 点赞0 阅读3422 收藏0 评论1 2009-06-22