技术开发 频道

测试:从现在开始

  郭旭 软件测试的种类有多少?一个软件的推出,至少要过几道测试关?

  黄子河 从不同的角度,软件测试有不同的分类。例如按测试功能划分,有黑盒测试和白 盒测试;按开发过程划分,有单元测试、集成测试、系统测试、验收测试等;按测试方法划 分,有静态测试和动态测试。当然还有很多其他的划分方法,不过我个人认为,划分软件测试 的种类并不重要,重要的是,一定要把测试看成是软件全生命周期持续不断的事情,而不是一 个阶段性的事情,并且要把测试概念的外延进一步扩大。

  刘珍妮 不同的软件公司可能有不同的要求,除了开发人员熟悉的测试方法,例如功能测 试,单元测试,整合测试之外,还需要回归测试,Stop-Ship测试。另外对于企业应用系统可 能还需要进行效率测试,压力测试以及耐久测试等。因此对于不同的软件型态,可能需要经过 的测试流程以及重视的特定测试会有所不同。

  陈致平 实际上,有很多种测试渠道关,实际上我觉得从质量保证手段这样一个范畴,有 需求的部分、设计的部分,然后到代码的走查和后面的单元测试、集成。实际上这一系列都是 一道道关卡和质量手段。只要考虑一个问题,你建一道大坝拦水,如果拦不住,这道坝也就没 有用了。因此,要用正确的方法去做测试,才能够达到效果,如果你确实想做,然后方法错 了,那你可能最后花多少钱也不是你最后想要的结果。

  郭旭 是不是所有的软件的推出,都需要测试?哪些软件更需要测试?

  黄子河 是。一个软件,无论其大小和应用领域,测试都是不可或缺的环节,除非根本不 在乎软件品质的好坏。

  刘珍妮 对于Borland来说是绝对的,而且Borland对于每一个产品都有要求的测试分数, 只有高于最低标准的产品才能够推出。

  当然,所有的软件都需要测试,我想这是毋庸置疑的,但是要花多少相对测试成本可能需 要考虑。一个公用应用程序需要测试的成本不可能高于系统软件。一般而言,系统软件,24× 7×365型态的软件是需要进行更严密的测试的。

  陈致平 当然是。什么软件更需要测试?那肯定是跟人力相关的,不能宕机,这肯定是。

  郭旭 理想状态下,软件在开发过程中,开发工程师与测试工程师的合理比例是多少?

  黄子河 这里说的比例只能是一个概念性比例,并不是绝对的要求,主要还是根据实际测 试需要而定,有些人曾提出,成熟的软件产品制造过程中软件开发工程师和软件测试工程师的 合理比例为1∶3。最近,微软亚洲工程院张宏江院长在一次演讲中指出,微软开发工程师与软 件测试工程师比例是1.2∶1。像目前国内一般公司的软件开发工程师与软件测试工程师的比例 为6∶1甚至10∶1,有的甚至直接用开发工程师兼职,显然是不能满足测试需求的。

  陈致平 我觉得其实质量就是成本,客户统筹是不是投入,这么大一个测试的群体,哪个 企业都不要盲目地跟从,首先要立足于企业自己的问题和需要。现在,国家已经开始有了问责 制,我们已经出问题了,或者说本来就出问题了,那我们一定要追查到。其实软件也是一样 的。所以,我觉得,这个合理的比例实际上现在肯定是少的,你能有多大的比例,其实完全取 决于你的客户愿意负责多少成本。

  测试自动化

  面对软件的规模越来越大,应用的复杂度和集成性越来越高,各种新的软件开发技术不断 应用,那么,如何提供高效、有效性的测试,是软件测试技术面临的巨大挑战。但不可否认的 是,测试自动化仍然是一种趋势……

  郭旭 随着软件测试的重要性越来越明显,与之相关的软件测试工具也悄然而至。用这些 工具,就可以完成软件测试了吗?

  黄子河 应该说,软件测试和软件开发一样,都是一项人的工作。但是在软件测试中最主 要的还是测试工程师,这与在软件开发中最重要的是开发工程师而不是开发工具,是一样的道 理,工具只能是工具,只不过是用它来实现测试工程师的思维,从而可以减轻一些手动的重复 的工作,使测试工作更加条理化。测试工具只是起到一个辅助作用,在更多的时候还要测试工 程师发挥他们的经验和智慧实施有效的测试。

  刘珍妮 我想使用测试工具可以解决许多的测试工作,但是并非全部,尤其是对于垂直产 业的软件来说,目前的测试工具似乎还有待改进。这是因为垂直产业软件的测试需要结合领域 知识,现在的测试工具对于水平产业的软件支持比较好。即使如此,软件厂商在发展软件产品 时除了使用测试工具之外也仍然需要启动测试阶段,找各种不同外部测试人员(Beta Tester) 参加测试。

  陈致平 测试自动化实际上是很困难的,从实际的结果来看,我们说有需求,有流程。这 是全面的,两个前提条件,你才能自动化,因为你有没有一个稳定的需求,你的测试自动化无 从谈起,你的目标就像一个自动靶射箭,没有流程你也没法射箭,所以说实际上自动化就是你 在少年这个阶段,你想得很清楚,你有足够的力气,你才能抡得动这把刀。

  郭旭 从目前的测试工具来看,以国外品牌居多,对于用户来说,如何选择测试工具?

  黄子河 选择测试工具当然也是要根据自己的需求,虽然有很多的测试工具,但是要看清 它们的测试类别,有针对功能的,有针对源代码的,有针对压力负载测试的等等,在同类的工 具中再进行比较,很多的工具大同小异,最好先进行试用,当然也可以咨询专业的测试机构, 无论如何,满足自己需要的才是最好的。

  刘珍妮 这主要需要看使用者的软件形态和公司重视的测试项目,用户必须了解每一个测 试产品的重点,此外由于新的软件架构不断的出现也不时的造就出新的测试产品。

  郭旭 软件测试技术发展走向是什么?利用工具进行自动化测试,是趋势吗?

  黄子河 面对软件的规模越来越大,应用的复杂度和集成性越来越高,各种新的软件开发 技术不断应用,那么如何提供高效、有效的测试,是软件测试技术面临的巨大挑战。

  刘珍妮 从各种测试工具的开发趋势来看,自动化测试是发展主流,因为这可以大幅减轻 开发人员的负担以及测试成本。除此之外,测试工具如何结合领域知识提供测试人员可重复使 用的测试以及测试学习机制,我相信测试工具打入垂直产业软件,让这种软件开发人员使用是 很重要的发展趋势。

  郭旭 从目前来看,国内软件如何快速进入测试阶段?

  陈致平 实际上应该立足于手动测试流程,要把流程建起来。我更觉得可能测试流程的管 理工具是更紧迫的。自动化主要是指一个黑盒、自动回放这样一些东西,取决于一个很好的流 程,一个测试管理的流程,取决于相对稳定的需求。尤其在中国现在的条件下,我觉得很多企 业是不具备一个好的流程,同时我们的市场变得太快,其实现在来讲,应该从自动化这个角度 做是相对比较困难的。现在可能从测试工具来讲,比较容易相对从体系里面,如果你要做一件 事情,受到的其他的牵制和压力很大的,一般来讲会有几个方面,首先从工具上来说,先是设 置的流程管理;其次会是一些我们会有一些其他的元素。这个你要考虑,但是相对来讲,其实 是一个比较有效的质量保证系统,然后我们说这种回归测试,就是说用机器来替代人,这个我 在国内应该是比较特定的一种服务,相对来说,我觉得这两个前提条件都是要具备的;最后的 是压力测试、单元测试。相对来讲,较高级应该是压力测试,这样才能回归。 相关链接:正确看待第三方测试黄子河

  第三方测试最大的特点在于它的专业性、独立性、客观性和公正性。对于软件开发商来 说,经过第三方测试机构的测试,不仅可以通过专业化的测试手段发现软件错误,帮助开发商 提升软件的品质,而且可以对软件有一个客观、科学的评价,有助于开发商认清自己产品的定 位。对于行业主管部门以及软件使用者来说,由于第三方测试机构独立公正的地位,可以对被 测试的软件有一个客观公正的评价,帮助用户选择合适、优秀的软件产品。目前国家“863” 计划引入了“以测代评”的机制,通过第三方测试机构公平、公正、公开的测试,把可视性差 为特征的软件透明化,用量化的数据说话,为科技部和专家组择优支持提供了科学客观的依 据,从而避免了以前的印象以及关系成分。另外,很多大的信息系统工程的验收,也要经过第 三方测试机构的严格测试,从而最大程度地避免信息行业的“豆腐渣工程”通过验收。

  可以说,第三方软件测试的出现,标志着中国软件产业走向成熟。虽然是“小荷才露尖尖 角”,但的确是一个非常可喜的征兆。希望它能快速成熟起来,为中国软件产业的发展发挥重 要作用 。

0
相关文章