测试人员在敏捷中的角色?

Dol*_*rim 32 testing agile project-management scrum

我在一个一直在做传统瀑布式开发方法的团队工作多年.最近,我们被告知未来的项目将朝着敏捷(特别是Scrum)方法发展.事实上,我的项目将成为第一个项目之一,因此我们将在接下来的几个月内成为几内亚猪,以确定实现转型所需的条件.

该项目本身处于非常早期阶段,我们通常需要几个月的时间才能向测试团队发布任何内容,但现在我们将直接与他们合作.因此,我担心测试人员在这个阶段在这样一个项目中的作用.我有几个问题/疑虑,希望一些经验丰富的敏捷开发人员可以回答:

  1. 当开发人员编写任务时,测试人员无法对其进行测试(它还不存在).那么测试人员在这一点上的作用是什么
  2. 测试人员现在参与单元测试了吗?这是否与黑匣子测试并行完成?
  3. 在主要进行基础设施变更的冲刺期间,测试人员做了什么,这可能只能在单元测试中测试?

传统测试团队成员如何在敏捷项目中运行?

Gra*_*meF 26

随着项目的成熟,保持测试人员的忙碌变得容易(有更多的测试!),但以下几点也适用于早期阶段:

  1. 测试人员可以在实施之前(或同时)为用户故事准备测试计划,测试用例和自动测试.这有助于团队在开发人员编写任何代码之前发现用户故事中的任何不一致或歧义.

  2. 根据我的个人经验,测试人员没有参与单元测试; 他们只测试通过所有自动化单元,集成和验收测试的代码,这些代码都是由开发人员编写的.但是,这种分裂可能在其他地方不同; 例如,您的测试人员可能正在编写自动验收测试.然而,单元测试确实应该由开发人员编写,因为它们与代码一起编写.

  3. 他们的工作量会因冲刺而异,但仍需要对这些变化进行回归测试......

您可能还会发现让测试人员在每个sprint的前几天花费测试上一个sprint中的任务可能有所帮助,但是我认为最好让他们确定开发人员将要处理的事情.写他们的测试计划.


Vla*_*dim 12

理想情况下,QA和测试人员应该参与软件开发项目的第一天和非常早期阶段,无论使用何种流程(瀑布或敏捷).测试团队需要:

  • 确保项目或冲刺要求清晰,可测量和可测试.在理想的世界中,每个要求都将在此阶段写下适合的标准.确定需要自动记录哪些信息以排除任何缺陷.

  • 准备项目特定的测试策略,并确定需要哪些QA步骤以及在哪些项目阶段:集成,压力,兼容性,渗透,一致性,可用性,性能,beta测试等.确定可接受的缺陷阈值并制定分类系统缺陷严重性,指定缺陷报告指南.

  • 指定,安排和准备测试环境:根据需要测试基础架构和模拟服务; 获取,消毒和准备测试数据; 编写脚本以在必要时快速刷新测试环境; 建立缺陷跟踪,沟通和解决方案; 准备招募或招募用户进行测试,可用性或验收测试.

  • 提供所有相关信息,形成项目进度,工作分解结构和资源计划.

  • 编写测试脚本.

  • 使问题域,系统AS-IS和建议的解决方案快速发挥作用.

通常这不是测试团队是否可以在早期阶段向项目提供任何有用的输入,也不是这样的输入是否有益的问题.然而,问题是组织能够在多大程度上承担上述活动.可用时间,预算和资源与最终结果的已知质量水平之间总是存在权衡.


小智 8

好帖子.大约3年前,我处于相同的状态,从瀑布到敏捷的过渡是棘手的.我在移动过程中遇到了很多痛点,但是一旦我克服了它们并且我的角色发生了变化,我意识到这种工作方式非常适合测试.

不需要测试人员的常见神话很容易消除.

1.当开发人员编写任务时,测试人员无法对其进行测试(它尚不存在).那么测试人员在这一点上的作用是什么

根据我的经验,测试人员可以与客户合作,对sprint中的故事进行微调.

他们通常与开发人员合作,对他们提供的代码进行微调.即就边缘情况,流量,错误等提出建议

他们通常可以参与设计编码器为执行TDD而编写的测试.

如果敏捷团队相当先进,那么测试人员通常会编写ATDD(验收测试驱动开发)测试.这些可以在Fitnesse或Robot Framework等工具中使用,也可以是更高级的ruby测试甚至是其他编程语言.或者在某些情况下,简单的记录和回放通常对少数测试有益.

他们显然会编写测试并规划一些探索性测试场景或想法.

有时为团队理解的棘手问题是故事不必完整,以便将其放到测试堆栈进行测试.例如,编码人员可以放下一个屏幕,其上有一半的字段.测试者可以测试这一半,而另一半正在编码,因此反馈早期测试结果.测试不一定要在"完成"故事上进行.

2.测试人员现在是否参与了单元测试?这是否与黑匣子测试并行完成?

理想情况下,编码员会做TDD.编写测试然后编写代码以使测试通过.如果编码人员想要真正好的TDD,那么他们就会与测试人员一起思考测试.

如果没有完成TDD,那么编码人员应该在编码的同时编写单元测试.在软件被删除后,它可能不应该是经过思考或任务之后.测试的全部要点是测试软件是否正确,以避免以后浪费时间.这都是关于即时反馈的.

3.在主要进行基础设施变更的冲刺期间,测试人员做了什么,这可能只能在单元测试中测试?

理想情况下,测试人员将与团队和客户(顺便说一下,他们是团队的一员)一起工作,以定义计划的故事并构建一些好的,详细的接受标准.这是非常宝贵的,可以节省大量的时间.测试人员还可以学习新的自动化技术,规划测试环境,帮助记录计划的结果.

理想情况下,冲刺中的每个故事都可以通过某种方式,形状或形式进行测试.这并不意味着它应该由测试团队完成,而应该是可测试的.因此,测试人员可以与团队的其他成员一起研究如何确保故事是可测试的.

我在这里发布一些敏捷提示:http://thesocialtester.posterous.com/

希望这可以帮助你解决Rob ..