这里没有软件测试的泛泛理论,只有博主的最佳实践。 博主的研究方向为静态分析和性能测试,致力于各种测试工具的引入、评估和开发。 本博的测试文章均为作者原创,转载请务必注明出处。

(译)测试和开发,永远在一起

上一篇 / 下一篇  2008-05-30 11:34:03 / 个人分类:IT英语

英文原文在http://www.sdtimes.com/content/article.aspx?ArticleID=32241
huior于2008年5月30日简单翻译,转载请注明出处。

正文:

软件测试和开发,手牵手并肩走。这是两个不同的学科,除了开发活动外,测试任务也要做好。从管理的视角来看,开发和测试必须手牵手的合作,才能发布一个高质量的产品。

“在我的经历中,一些人认为测试周期可以完全独立于开发周期,这样测试员可以集中大部分精力在他们认为重要的功能上。”在Sun Microsystems公司从事企业级集成产品的lead工程师Kiran Bhumana说,“他们认为,测试可以紧跟在开发后面或者这个功能的质量比另一个更重要。”功能更丰富的产品赢得更多订单,这在当前是事实,他说,但产品的稳定性同样起着至关重要的作用,这一点很容易被人遗忘。

“稳定性不是产品销售的敲门砖,在市场上都在竞争产品的功能是否丰富。”但一旦你做了,质量是至关重要的,Bhumana说,他已经有8年的软件开发经验。更关键的是,一旦质量出现问题,你就再没有第二次机会证明你自己。

就像开发周期一样,测试也应该贯穿需求(requirements)、设计(design)、开发(development )及集成(integration)。Sun的开发者提供了一些方法,可以把测试集成到开发的所有阶段。

Requirements

需求之后马上进行的测试用例开发可以使测试员对项目的用例(use cases)有一个很好的理解。“一个众所周知的很滑稽的事实是,客户说的、分析师理解的以及程序员开发的东东之间的巨大差异。”尽早的测试和用例的开发可以很好的连接这三者。“测试用例不一定非要从实际的场景中得到。从实际场景中得到的经验也可以做的很好。”Bhumana说到。

Design

“开发中的设计阶段是和测试最小重叠的阶段,但仍然会有一些。”,Buhumana说道。测试员在设计阶段更进一步的开发测试用例,可以有效的帮助开发者去了解软件是如何被使用的,这有助于开发者作出更好的设计。

Development

在编码阶段,开发者同时也应该编写对应的单元测试,在构建时用来验证代码。“有时候只是简单的单元测试还不够,相关的测试活动就要介入,如随着代码的改进,相关的功能回归测试就要开始做。”Bhumana说,对于一个开发团队来说,很多人提交代码,“我们不希望他们忽视对其他人的功能有影响的回归测试。”实验证明,要解决此类问题,方法包括持续集成、正规文档化以及小组的Review。

描述开发活动的文档只有在被人阅读到的时候才有帮助。更好的记录过程的方法是通过测试用例,Bhumana说,这比单纯的文档有更多的好处。“他们可以提供完成的测试以及全面的代码覆盖,同时可以列出未完成文档的列表。一旦有测试参与,如果由于变更而导致测试失败,任何明智的人都不会想修改代码并提交这些变更。”同样,为了适应代码的变更,试图修正测试将会导致测试场景的新的使用被发现,新的测试用例来匹配。

在集成阶段,最必要的测试来验证系统是按照设计时运行或者没有按照预期工作。“这些测试和实际场景的测试最接近。在一些场景中,他们实际上和验收阶段的测试有所重叠。”Bhumana解释,但这只是测试阶段,一般不涉及到开发者。

“从我这个企业级应用开发者的角度看到,测试周期在整个项目周期中起着重要的作用,它是开发中不可缺少的部分。”Buhamana说,他补充道,“唯一他们没有完全交织在一起的阶段是开发阶段,但只有开发阶段被认为是开发周期的任务。”与之相对应,集成阶段通常只是测试的范围。

本文地址:http://www.51testing.com/?10851/action_viewspace_itemid_83490.html

(完)

 


TAG: IT英语

latica的个人空间 引用 删除 latica   /   2010-11-09 11:09:55
楼主英文很强大呀
 

评分:0

我来说两句

Open Toolbar