敏捷开发的经典描述在迭代结束时具有可释放的代码。 如果需要进一步的测试和验证来创建可释放的产品,那么如何将其集成到流程中?

===============>>#1 票数:3 已采纳

什么阻止你制作自己的过程? 如果你发现一些东西可以更好......就这样做吧。 如果它有效,坚持下去......如果没有尝试别的。 如果你想要敏捷,没有固定的过程。
被更频繁地使用的术语是在每次迭代结束“ 可交付的 ”代码。 这意味着您可以将其提供给最终用户(作为一堆DLL来复制共享或亲自发送CD / DVD),并且他将从使用它获得价值。 此类代码已通过所有单元测试(开发人员)和验收测试(客户/ QA /分析师) ,这些测试被认为是“完成”所必需的! 验收测试是端到端的客户场景模拟。

我不确定你的'进一步测试和验证'是什么意思。我可以想到其他'预发布'活动

  • 某些活动,如“培训会议”和相关的内容创建。
  • 如果客户部署很少或不可能频繁执行,则在发布前一个月进行演示或部署到Beta站点。
  • 潜在的客户/专家/服务人员亲身体验他们所听到的新产品。

你只是在最后一次迭代终点结束时堆叠它(如果你像我一样特别悲观......采取历史平均值......如果你提前发布。是的!)所以,如果企业已经决定Iteration#14划定一个好的一组可以发布的功能..在迭代#14结束后只是'添加n周'..此时没有复杂的数学或不确定性。 关键点在于, 如果您定期与利益相关者/客户互动,纳入反馈并保持可接受的质量水平,那么最后一刻应该没有意外。

如果需要,你甚至可以开始 ......也就是说,当开发团队进入迭代#13时,训练团队开始工作。 这给了他们假设2周迭代的一个月..并且希望你不会在最后一次迭代中输入大量的特征..所以在迭代#14后的最多2周并且受到所有天体/组织对齐的影响,你应该是有释放和当之无愧的休息。

===============>>#2 票数:3

首先要认识到,您所说的测试的宽度/宽度随着项目的进行而增加 ,并且软件会增加范围和/或复杂性。 由于这个原因,尝试将这种努力付诸于迭代在一次或两次迭代后不起作用。 迭代的感觉良好规则是每个工作的一个恒定工作水平,由项目速度决定。

对此的解决方案可以采取两条道路之一:有或没有自动化。 较高测试级别的自动化将减少运行测试的工作量,使工作再次适合迭代,因为每次迭代只关注增量范围/复杂性增加。 在所有项目环境中,这并不总是可以实现的,即使这是我们想要的。 高估的高级测试自动化是一个你应该认真对待的陷阱,换句话说,避免低估一个经验丰富的探索性测试人员所带来的东西。

没有自动化,问题就会转移到基于测试管理的问题。 并行,时移测试迭代是一种候选解决方案。 例如,您可以选择为系统测试任务建立测试积压,这些测试任务以与开发迭代相同的节奏进行管理,但延迟或时移一个完整的迭代持续时间。 这使测试人员能够在他们自己的沙箱中的新版本以及他们自己的优先级上全面工作。

我主张测试迭代积压是与开发人员合作构建的,因为我认为开发人员迭代积压是与测试人员合作构建的。 我还提倡拥有自动化经验的测试团队,以便他们能够自动化乏味并以更具探索性的方式工作。 他们的自动化测试组合应该随着每次迭代而增加。 他们还应该可以访问开发人员单元测试,并能够在测试沙箱中的版本上运行它们。

像这样的异相工作不会使增加的测试范围/复杂性问题消失,但它确实提供了一种管理复杂性的机制,因为团队正在创建积压项目,调整优先级,自动化一些,创建清单等。基于他们认为下一步应该做的事情。 他们有机会击中大件物品。

保持测试人员整体工作的能力,发展他们的理解,并通过自动化测试分享他们对系统的了解,所有这些似乎都值得努力。

===============>>#3 票数:1

每次自动构建后的自动化测试至少可以让您获得部分成功。

===============>>#4 票数:0

将系统测试添加到您的sprint backlog(在Scrum中)或等效的。

同上用户文档。

===============>>#5 票数:0

系统测试的执行通常太慢而无法紧密集成到敏捷开发中。 (有一些例外情况,例如,精心设计的浏览器测试套件可以比典型的单元测试慢得多。)

一种集成方式是进行隔夜构建或持续构建,它始终运行,并且可能需要几个小时来构建和运行所有测试。 如果构建通过了所有测试(单元测试+系统测试),它就会变得可释放,您可以提供该二进制文件或源代码的快照。 我们的想法是拥有x版本的二进制文件/代码快照,异步验证它们,并提供绿色版本。 这应该适用于自动系统测试和手动测试。

  ask by Rachel translate from so

未解决问题?本站智能推荐:

1回复

在构建过程中集成系统测试

我正在继续开发序列化层生成器。 用户输入类型的描述(当前使用XSD或WSDL),软件以某种目标语言(当前使用Java和ansi C89)生成代码,该代码可以表示所描述的类型,并且还可以序列化(转换为字节序列)并反序列化这些值。 由于生成代码很棘手(我的意思是,编写代码很困难。编写代码的代
2回复

Java中的系统测试框架

在java中寻找系统测试的框架。 我们有一个在tomcat(Spring,Hibernate等)下运行的Web应用程序,它有一个定义良好的API,可以很容易地以RMI(或任何其他方式)公开。 我们想测试这个API。 框架应测试正在运行的服务器。 测试将由Jenkins触发,或由开发人
2回复

Codeblocks IDE的单元,集成,系统测试

最近,我获得了基于Codeblocks IDE的项目的控制权。 该项目由大型make脚本,摩托罗拉微控制器的gcc和示例C程序组成。 该代码在subversion的源代码控制下,但是没有测试脚本。 我想知道基于Windows的软件的最佳测试包是什么。 我希望能够启动软件,打开项目并进
6回复

功能测试和系统测试之间的区别? [关闭]

我听说系统测试有两种类型 1)功能测试2)非功能测试 但后来在另一个网站上我看到了下面的陈述 我很困惑,请告诉我,系统测试是否包括功能或功能测试包括系统测试和这些测试的顺序(功能是先执行还是系统执行) 谢谢
3回复

python中良好的自动化系统测试框架[关闭]

我正在寻找python下的良好端到端测试框架,其中测试可以用python编写并以舒适的方式管理。 我知道有很多单元测试框架,但我正在寻找更大的范围,比如测试总监,支持报告等,整个系统正在测试中。
1回复

在系统测试中设置current_user

我正在使用系统测试来验证以下流程是否可以按用户预期的方式工作: 申请表格 登入 访问帐户页面 更新帐户信息 但是,创建用户后出现错误: 错误指向在application_controller中设置current_user的代码: 我的假设
1回复

运行单系统测试

要在Rails中运行单个测试,我们通常会这样做: 但这不适用于系统测试。 这也不起作用: 使用上述两个命令,运行所有系统测试(文件)。 所以我的问题是,如何运行单一系统测试? 作为旁注,要在Rails中运行(所有)系统测试, 您需要附加 :system进行test
1回复

是否有用于记录/监控系统测试的好工具? [关闭]

我正在寻找一种工具来设计,记录和监控产品的系统测试。 我需要的基础知识是:1)一种工具,可以代表测试之间的某种继承(即,一个测试设置另一个或某些)。 2)一个工具,允许我单独监控每个版本的特定测试运行(即,对于产品的1.1版,我们从所有记录的测试中运行这些特定测试)。 3)一种
3回复

系统测试与验收测试 - 测试用例的差异[关闭]

我对系统测试和验收测试之间的真正区别感到困惑。 当我搜索这个主题时,答案不同,我没有看到测试用例如何大不相同。 事实我发现: 系统测试在整个系统上进行,由供应商完成。 系统测试是端到端测试,您可以根据需求规范(功能和非功能)测试系统中的完整流(从登录到注销)。 验收测试由客
2回复

验收测试和系统测试之间的区别?

它们是一样的吗? 或者,系统测试由测试人员和/或程序员执行,而验收测试涉及客户?