如何在敏捷开发生命周期中适应自动化(系统或端到端)测试?
How to fit automation (System or E2E) tests in agile development lifecycle?
我是一名自动化测试工程师,对于如何在敏捷开发生命周期中进行系统集成测试 (E2E),我从未找到正确的答案。
我们是一个由 10 名开发人员和 2 名 QA 组成的团队。该团队目前正在尝试围绕用户故事实施后的验证和验证的最佳流程制定流程基线。
我们遵循的当前流程是静态审查和手动/自动测试的混合体。
我们的流程是这样的:
1. 每当故事准备就绪时,负责人都会召开故事准备会议,我们会在会上讨论需求,确保每个人都在同一页面上,估计等;
2. 故事出现在白板上并被开发者采纳
3.故事由开发者实现。实施还包括必要的单元和集成测试。
4. 然后故事将进行代码审查
5. 代码审核通过后,部署&发布到生产环境
6. 如果在生产中出现问题,代码将被还原。
当无法手动测试更改时(因为涉及很多 micro-services),QA 验证和验证的真正问题就出现了。自动化测试框架还不够成熟,无法让我们在开发人员实现代码之前足够快地编写自动化测试。
在这种情况下,我们在质量上妥协并在没有适当测试的情况下发布代码。
在这种情况下最好的方法是什么?目前,我们正在将所有这些自动化测试添加到我们的 QA 积压工作中,并慢慢创建我们的回归测试包。
非常感谢有关此过程的任何好的建议。
对于我们的团队来说,我们浪费了时间,但是在开发故事完成后,相应的测试自动化故事被放入下一个冲刺。
完成的故事经过单元测试,运行 通过当前的测试自动化脚本,以确保我们没有倒退到过去 tests/code。
构建新测试后,我们 运行 通过 HP UFT 完成代码,如果成功,则设置部署到生产环境。
这可能不是目前完成工作的最佳方式,但它是我们确保在投入生产之前一切都得到自动化和测试的一种方式。
这里有一些建议。
The real problem with validation & verification by QA comes when there is no way to test the changes manually (as there are a lot of micro-services involved).
这是您需要投入时间和精力的地方。一些可能的方法包括:
- 创建模拟微服务
- 创建运行微服务版本的测试环境
这两种方法都具有挑战性,但解决后通常会在中长期内获得回报。
Currently, we are adding all these automation tests to our QA backlog and slowly creating our regression test pack.
自动化回归测试的价值来自于它们具有合理的覆盖水平(比如覆盖了 50-70% 的重要功能)。在满足新要求之前,您可能需要考虑花一些时间来提高覆盖率。这种对团队产出的短期打击将被抵消:
- 节省手动测试的时间
- 更频繁的 运行 测试(可能使用持续集成)提高了质量
- 开发人员对更改代码和重构更有信心
The automation test framework is still not quite mature enough for us to write the automation tests quick enough before the developers implements their code.
为什么不让开发人员参与编写自动化测试呢?这将使您能够平衡测试的创建与新需求的编码。这可能会貌似减少团队的产出,但是随着覆盖率的提高,团队会越来越有效率。
We are a team of 10 developers and 2 QAs
我认为你们是一个 12 人的团队,具有开发和 QA 技能。分享知识并分散工作量,直到您拥有一个可以满足 和 质量要求的团队。
我是一名自动化测试工程师,对于如何在敏捷开发生命周期中进行系统集成测试 (E2E),我从未找到正确的答案。
我们是一个由 10 名开发人员和 2 名 QA 组成的团队。该团队目前正在尝试围绕用户故事实施后的验证和验证的最佳流程制定流程基线。
我们遵循的当前流程是静态审查和手动/自动测试的混合体。
我们的流程是这样的: 1. 每当故事准备就绪时,负责人都会召开故事准备会议,我们会在会上讨论需求,确保每个人都在同一页面上,估计等; 2. 故事出现在白板上并被开发者采纳 3.故事由开发者实现。实施还包括必要的单元和集成测试。 4. 然后故事将进行代码审查 5. 代码审核通过后,部署&发布到生产环境 6. 如果在生产中出现问题,代码将被还原。
当无法手动测试更改时(因为涉及很多 micro-services),QA 验证和验证的真正问题就出现了。自动化测试框架还不够成熟,无法让我们在开发人员实现代码之前足够快地编写自动化测试。 在这种情况下,我们在质量上妥协并在没有适当测试的情况下发布代码。
在这种情况下最好的方法是什么?目前,我们正在将所有这些自动化测试添加到我们的 QA 积压工作中,并慢慢创建我们的回归测试包。
非常感谢有关此过程的任何好的建议。
对于我们的团队来说,我们浪费了时间,但是在开发故事完成后,相应的测试自动化故事被放入下一个冲刺。
完成的故事经过单元测试,运行 通过当前的测试自动化脚本,以确保我们没有倒退到过去 tests/code。
构建新测试后,我们 运行 通过 HP UFT 完成代码,如果成功,则设置部署到生产环境。
这可能不是目前完成工作的最佳方式,但它是我们确保在投入生产之前一切都得到自动化和测试的一种方式。
这里有一些建议。
The real problem with validation & verification by QA comes when there is no way to test the changes manually (as there are a lot of micro-services involved).
这是您需要投入时间和精力的地方。一些可能的方法包括:
- 创建模拟微服务
- 创建运行微服务版本的测试环境
这两种方法都具有挑战性,但解决后通常会在中长期内获得回报。
Currently, we are adding all these automation tests to our QA backlog and slowly creating our regression test pack.
自动化回归测试的价值来自于它们具有合理的覆盖水平(比如覆盖了 50-70% 的重要功能)。在满足新要求之前,您可能需要考虑花一些时间来提高覆盖率。这种对团队产出的短期打击将被抵消:
- 节省手动测试的时间
- 更频繁的 运行 测试(可能使用持续集成)提高了质量
- 开发人员对更改代码和重构更有信心
The automation test framework is still not quite mature enough for us to write the automation tests quick enough before the developers implements their code.
为什么不让开发人员参与编写自动化测试呢?这将使您能够平衡测试的创建与新需求的编码。这可能会貌似减少团队的产出,但是随着覆盖率的提高,团队会越来越有效率。
We are a team of 10 developers and 2 QAs
我认为你们是一个 12 人的团队,具有开发和 QA 技能。分享知识并分散工作量,直到您拥有一个可以满足 和 质量要求的团队。