敏捷开发中的软件测试

发表于:2007-11-16 12:17

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈能技    来源:陈能技的博客

  敏捷宣言:个体和交互比过程和工具更有价值;能工作的软件比全面的文档更有价值;顾客的协作比合同谈判更有价值;及时响应变更比遵循计划更有价值。-www.agilemanifesto.org

什么是敏捷测试

  测试遵循敏捷宣言进行,把开发作为顾客看待。项目的测试采用敏捷方法论。

  敏捷测试的原则与上下文驱动测试(Context-Driven Testingwww.context-driven-testing.com)的原则有交集,例如,上下文驱动测试的七大原则中的第三条:工作在一起的项目组成员是项目的上下文的最重要的组成部分。就与敏捷宣言中的“个体和交互比过程和工具更有价值”一样强调人的作用。

敏捷测试中测试人员扮演的角色

  1、  测试是项目的“车头灯”,它告诉大家现在到哪了,正在往哪个方向走。

  2、  测试为项目组提供信息,使得项目组基于可靠的信息作出正确的决定。

  3、  “BUG”是让用户感觉烦恼的东西,测试人员不作出发布的决定。

  4、  测试员不保证质量,整个项目组对质量负责。

  5、  测试不是抓虫子的游戏,它的目的不是纠缠在错误中,而是帮助找到目标。

单元测试和可接受性测试

  测试驱动开发,开发人员在写代码之前要先写单元测试,用于激发代码的编写、改进设计(降低耦合度,增加内聚)、支持重构。很多开源的测试工具支持单元测试(xUnit)。

  用户故事是需要编码实现的功能特性的简短的描述。可接受性测试验证用户故事的完整性。理想的情况下,用户故事是在代码编写前就写完。

  测试人员是否应该拥抱敏捷开发?

  有些人说XP会导致差的质量并且是偷懒的借口。我认为XP是令人激动的,并将在行业中改进测试的实践。

  参见《Testers Should Embrace Agile Programming 》

  (http://www.io.com/~wazmo/papers/embrace_agile_programming.html

敏捷测试实践

  通过对话产生测试,谁来测试?客户往往太忙了,不可能参与测试。定义测试是很关键的活动,应该把开发人员和顾客代表包括进来,不要只是测试员自己做。

  把用户故事转换成测试。测试提供的是目标和指南、及时的反馈、进度度量。测试应该用指定的格式出现,以便让用户或顾客能清楚明白,还要足够的明确,以便能被执行。

  开发人员负责提供支持自动化测试的特性。大部分情况下,为产品添加测试接口,而尽量不用外部测试工具。

  计划在每个迭代中探索产品,寻找bug、遗漏的特性和改进的机会。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号