软件测试和软件开发,永远在一起
作者:管理员 发布时间:[ 2010/2/21 9:56:20 ] 推荐标签:
软件测试和开发,手牵手并肩走。这是两个不同的学科,除了开发活动外,测试任务也要做好。从管理的视角来看,开发和测试必须手牵手的合作,才能发布一个高质量的产品。
“在我的经历中,一些人认为测试周期可以完全独立于开发周期,这样测试员可以集中大部分精力在他们认为重要的功能上。”在Sun Microsystems公司从事企业级集成产品的lead工程师Kiran Bhumana说,“他们认为,测试可以紧跟在开发后面或者这个功能的质量比另一个更重要。”功能更丰富的产品赢得更多订单,这在当前是事实,他说,但产品的稳定性同样起着至关重要的作用,这一点很容易被人遗忘。
“稳定性不是产品销售的敲门砖,在市场上都在竞争产品的功能是否丰富。”但一旦你做了,质量是至关重要的,Bhumana说,他已经有8年的软件开发经验。更关键的是,一旦质量出现问题,你再没有第二次机会证明你自己。
像开发周期一样,测试也应该贯穿需求(requirements)、设计(design)、开发(development )及集成(integration)。Sun的开发者提供了一些方法,可以把测试集成到开发的所有阶段。
Requirements
需求之后马上进行的测试用例开发可以使测试员对项目的用例(use cases)有一个很好的理解。“一个众所周知的很滑稽的事实是,客户说的、分析师理解的以及程序员开发的东东之间的巨大差异。”尽早的测试和用例的开发可以很好的连接这三者。“测试用例不一定非要从实际的场景中得到。从实际场景中得到的经验也可以做的很好。”Bhumana说到。
Design
“开发中的设计阶段是和测试小重叠的阶段,但仍然会有一些。”,Buhumana说道。测试员在设计阶段更进一步的开发测试用例,可以有效的帮助开发者去了解软件是如何被使用的,这有助于开发者作出更好的设计。
Development
在编码阶段,开发者同时也应该编写对应的单元测试,在构建时用来验证代码。“有时候只是简单的单元测试还不够,相关的测试活动要介入,如随着代码的改进,相关的功能回归测试要开始做。”Bhumana说,对于一个开发团队来说,很多人提交代码,“我们不希望他们忽视对其他人的功能有影响的回归测试。”实验证明,要解决此类问题,方法包括持续集成、正规文档化以及小组的Review。
描述开发活动的文档只有在被人阅读到的时候才有帮助。更好的记录过程的方法是通过测试用例,Bhumana说,这比单纯的文档有更多的好处。“他们可以提供完成的测试以及全面的代码覆盖,同时可以列出未完成文档的列表。一旦有测试参与,如果由于变更而导致测试失败,任何明智的人都不会想修改代码并提交这些变更。”同样,为了适应代码的变更,试图修正测试将会导致测试场景的新的使用被发现,新的测试用例来匹配。
在集成阶段,必要的测试来验证系统是按照设计时运行或者没有按照预期工作。“这些测试和实际场景的测试接近。在一些场景中,他们实际上和验收阶段的测试有所重叠。”Bhumana解释,但这只是测试阶段,一般不涉及到开发者。
“从我这个企业级应用开发者的角度看到,测试周期在整个项目周期中起着重要的作用,它是开发中不可缺少的部分。”Buhamana说,他补充道,“他们没有完全交织在一起的阶段是开发阶段,但只有开发阶段被认为是开发周期的任务。”与之相对应,集成阶段通常只是测试的范围。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11