敏捷测试用例和User Story的关联关系

测试用例软件测试的基础,是测试人员和开发团队其他成员深入了解产品开发需求的介质之一,也是产品质量的保障。因此合理设计测试用例不仅有助于掌握客户的产品真实需求,使得研发团队所有人员对需求的理解处于同一平面上,也确保产品在整个动态的研发过程中,始终符合用例的设计,实现用户最终期望的功能。

  在传统开发模式中,需求分析往往占用较长时间,分析阶段由核心的开发人员和测试人员参与。在进入研发阶段后,将需求传递给其他开发和测试人员,测试人员根据需要在设计完测试用例和开发完成以后,进行各种类型的测试。这样的结果往往由于测试人员没有参与最初的需求讨论,因此对需求的理解存在一定偏差,很多用例的编写基于测试人员的假设。而且因为开发周期较长,最终交付的功能已经发生改变。

  在敏捷开发模式中,测试人员和开发人员的节奏是同步的,即开发人员增量地开发功能的同时或甚至之前,测试人员也增量地设计相应的测试用例,等功能完成后马上可以对功能性测试。对于还未开始开发或者需求暂不明确的功能,不进行测试用例的深度分析工作。这样就能把更多的精力投入到最重要功能上去。

  功能性测试用例和需求的关联

  在敏捷测试中,需求一般以用户故事的形式存在,是将用户的需求用实例或者故事的方式记录到待办事项列表中(backlog)。 测试用例和用户故事之间是紧密关联的,在产品经理(PO)设计、解释完成用户故事后,测试人员根据用户故事设计测试用例。测试用例可以是对用户故事验收标准的细分,也可以把多个用户故事进行串联形成一个用例,这取决于用户故事和测试用例设计的粒度大小。由于用户故事会随着需求的细化和拆分,因此很难对用户故事和测试用例做一一对应,而且后期维护成本较高,因此需要在用户故事和测试用例中增加模块属性,来管理测试用例和用户故事之间的关联关系。而且两者应该在一个统一平台进行维护和更新。

  非功能性测试用例和需求的关联

  对于非功能性的测试用例,往往并不关联具体功能模块,但是会有对应的用户故事,例如:性能需求,安全需求等,建立这类测试的测试用例的时候,可以通过建立性能模块,安全模块等并不存在的模块,和其他用例等同处理。

  单元/组件测试用例的关联

  敏捷软件开发的其中一个非常有用的实践是测试驱动开发,这需要开发人员编写单元测试,在单元测试过程中,对于复杂逻辑的函数或者组件,也需要设计单元测试用例。这些测试用例本身不以实际文档的形式存在用例库中,往往和测试人员一起讨论并参考测试人员设计的测试用例来进行编写签入到单元测试中。因此做测试用例个数统计时,需要包括单元/组件测试测试用例数量,或者为单元测试/组件测试单独设立统计指标。同时没有特别必要和模块或者用户故事做关联。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-15 22:05:26

敏捷测试用例和User Story的关联关系的相关文章

单元测试与JUNIT

前言 考察目前关于单元测试和JUnit的文章,要么是介绍单元测试的理论,要么是通过一个简单的HelloWorld例子介绍工具的使用.这样很容易使读者在实际应用中无从下手.因为只有工具而没有理论的指导,将严重消弱了工具的作用,最终只能是沙滩建楼,达不到预期的目标:只有理论而没有工具的支持,也使得理论难有很好的着力点,最终使理论流于空泛.本文试图通过先讲解单元测试理论,进而将这些理论结合到JUnit的使用当中,最后通过对一个实用的.可以重用的时间操作类采用JUnit进行单元测试来完整阐述单元测试的思

承担集团数万应用、研发人员日常工作,阿里持续交付平台的设计、迭代之道

阿里持续交付平台已经经历了 8 年的不断迭代进化,成长为集团几万应用所依赖的最重要的研发工具,它的效率直接影响着几万研发日常工作.但平台不能只是工具的堆砌,更需要针对互联网时代的研发模式进行深度思考,不断打磨,将工程师文化和工程师实践不断地融入其中.轻管控重技术,使用业界上最新工程实践,用技术的演进去解决技术人的效率问题.本次演讲将介绍阿里持续交付工具的演化历程和对互联网行业交付领域热点问题的思考实践. 注:本文整理自阿里巴巴高级技术专家陈鑫(神秀)在 ArchSummit 全球架构师峰会 20

应用Visual Studio 2010辅助敏捷测试(上)

敏捷软件开发是近些年来比较热门的话题,<敏捷宣言>四条主要精神和十二条基本准则概括了敏捷开发的基本思想.围绕着这些基本概念和思想,产生了一系列的轻量级方法,如:极限编程.测试驱动开发.Scrum.特性驱动开发等.虽然具体名称.过程和侧重点不尽相同,但是相对于非敏捷的开发方法而言,它们都更强调面对面的沟通.团队不同角色之间的紧密协作.频繁交付新的可用的软件版本.紧凑而自我组织型的团队等.敏捷开发只是提供了一个思想和方法论,而要在实际的工程中正确运用它,并真正显现出它的优点和产生实际的效果,这对于

一起谈.NET技术,应用Visual Studio 2010辅助敏捷测试(上)

敏捷软件开发是近些年来比较热门的话题,<敏捷宣言>四条主要精神和十二条基本准则概括了敏捷开发的基本思想.围绕着这些基本概念和思想,产生了一系列的轻量级方法,如:极限编程.测试驱动开发.Scrum.特性驱动开发等.虽然具体名称.过程和侧重点不尽相同,但是相对于非敏捷的开发方法而言,它们都更强调面对面的沟通.团队不同角色之间的紧密协作.频繁交付新的可用的软件版本.紧凑而自我组织型的团队等.敏捷开发只是提供了一个思想和方法论,而要在实际的工程中正确运用它,并真正显现出它的优点和产生实际的效果,这对于

敏捷测试(2) ATDD概念

什么是验收测试驱动开发 在准备实施一个功能或特性之前,首先团队需要定义出期望的质量标准和验收细则,以明确而且达成共识的验收测试计划(包含一系列测试场景)来驱动开发人员的TDD实践和测试人员的测试脚本开发. 注意:测试人员必须是团队的一部分,并在ATDD的过程中扮演关键和掌控性的角色. 典型的ATDD开发过程是: Step 1:产品负责人向测试人员和开发人员讲解用户故事,澄清他们提出的问题: Step 2: a.测试人员列出验收该功能所需要验证的所有测试场景,每个测试场景通常是概要,清晰的一句话:

敏捷测试(1) TDD概念

题记 本系列笔记将从测试人员的角度,总结在百度两年来的测试经验,记录一个完整的基于敏捷流程的验收测试全过程,分享在测试过程中的一些知识和经验,以及自己的一些理念.总结自己,也希望对大家有益. 概念 验收测试驱动开发(ATDD)和测试驱动开发(TDD)是完全不同的两个概念. TDD更偏重自动化case先行,而ATDD更偏重于验收细节.质量标准先行. 在了解ATDD之前,先回顾下TDD: 测试驱动开发(TDD) 极限编程的方法之一,从业务入手,以测试先行的方法来反向推动代码的实现.那什么是TDD呢?

敏捷软件测试常见误区

转自 ThoughtWorks 敏捷软件开发是从1990年代开始逐渐引起广泛关注的一种新型软件开发方法,是能够应对快速变化的需求的一种软件开发能力,它作为一种新型的开发模式,被越来越多地应用到软件项目中. 敏捷软件测试指的是在敏捷软件开发过程中跟质量相关的一系列活动,和传统意义上的软件测试有很多区别,因为敏捷软件测试的概念一直比较模糊,所以经常会有人走入误区,我曾经在瀑布型的软件开发模式下做过几年的测试人员,所以在刚刚接触敏捷项目的时候也曾有过一些误解,但是在敏捷软件开发团队工作将近5年后,对很

敏捷测试中理想的测试组织

近些年,在软件项目中非常流行一个词--敏捷.大大小小的项目,通常都包含着"敏捷"这个 关键字.其实敏捷本身是一种优化的思想,是软件工程发展到一定阶段后的产物.面对风云变幻的市 场,都希望迅速响应市场或客户的变化.但如何真正在项目中做到敏捷,除了方法论之外,还有各种 外部条件的制约.而现实是很多研发团队只注重了方法论的学习,而没注意组织结构应该如何变化才 能适应敏捷测试的需要.有的人可能会说,敏捷强调的不是人人都应该是开发和测试吗?但这只是在 理想情况中.真实项目中,肯定还是存在测试和开

使用Contest分析测试用例的代码覆盖率

解决什么问题 问题的提出时这样的:对于测试人员来说,首先面临的问题就是无法度量测试用例的质量,如果测 试工程师花费大量时间写的测试用例不能有效地覆盖重要的实现代码,那么可以表明这样的测试用例不是优良的.同时可以 根据测试覆盖了的报表来分析为什么没有覆盖到重要的代码,接着需要进行改进测试用例的代码覆盖率达到满意的结果.代 码覆盖率高低根据产品的不同而不同:70%,80% 甚至 100% 都是可能的.对于测试工程师来讲,可以遵循这样的流程 : 获 取覆盖率 – > 发现未覆盖的代码 – > 添加新