Automation 测试自动化方法

Automation 测试自动化方法,automation,automated-tests,ui-automation,qa,Automation,Automated Tests,Ui Automation,Qa,我正在为下面的场景寻找一种测试自动化方法 Scenario: Step 1: Login to my application and schedule an import job Step 2: Ensure the job is successfully submitted Step 3: Now above job takes 10-15 minutes to complete 我可以自动执行上面的所有步骤,但我会显式地等待10分钟(编写了一个for循环,每10秒检查一次作业的状态,并重

我正在为下面的场景寻找一种测试自动化方法

Scenario: 
Step 1: Login to my application and schedule an import job
Step 2: Ensure the job is successfully submitted
Step 3: Now above job takes 10-15 minutes to complete
我可以自动执行上面的所有步骤,但我会显式地等待10分钟(编写了一个for循环,每10秒检查一次作业的状态,并重复60次)

我的观点是:

我不想等10分钟,因为我必须安排50-100个这样的工作

对于如何等待或如何通过自动化验证此类场景,是否有更好的方法

  • 如果您可以控制应用程序的开发,请让应用程序发送一个事件,自动化系统可以在应用程序完成作业后侦听并继续验证
  • 如果你无法控制应用程序的开发,那么你的方法似乎是唯一的方法。但是为了缩短时间,您可以使自动化并行运行(多任务),这样您就不必等待很长的作业完成后再启动其余的作业
  • 如果您可以控制应用程序的开发,请让应用程序发送一个事件,自动化系统可以在应用程序完成作业后侦听并继续验证
  • 如果你无法控制应用程序的开发,那么你的方法似乎是唯一的方法。但是为了缩短时间,您可以使自动化并行运行(多任务),这样您就不必等待很长的作业完成后再启动其余的作业

  • 在我看来,已经建议的采用并行测试执行的解决方案是最合适的方法。然而,为了使您的生活更轻松,您可以使用一些优化。用于黑盒测试

    对于内部处理(以及所需的时间),您几乎无能为力。但是,实际上,您可以通过记忆来增强并行方法,因为它是一种

    缓存以前计算的结果,并在再次需要相同计算时返回缓存结果的技术

    因此,您可以分析工作流,规划100个测试套件,并并行运行测试子集,这些测试不能共享已计算的结果或已完成的工作(例如,通过网络下载文件)。其他人应该很快,因为他们将重用此输出。这里比较棘手的部分是这些可重用输出部件的组成以及需要它们的测试

    警告:


    链接测试并在它们之间共享状态并不被认为是最佳实践之一。但总有可以接受的例外。因此,请注意您可以重用的内容,以便将其提供给子集的下一个特定测试

    在我看来,已经建议的采用并行测试执行的解决方案是最合适的方法。然而,为了使您的生活更轻松,您可以使用一些优化。用于黑盒测试

    对于内部处理(以及所需的时间),您几乎无能为力。但是,实际上,您可以通过记忆来增强并行方法,因为它是一种

    缓存以前计算的结果,并在再次需要相同计算时返回缓存结果的技术

    因此,您可以分析工作流,规划100个测试套件,并并行运行测试子集,这些测试不能共享已计算的结果或已完成的工作(例如,通过网络下载文件)。其他人应该很快,因为他们将重用此输出。这里比较棘手的部分是这些可重用输出部件的组成以及需要它们的测试

    警告:


    链接测试并在它们之间共享状态并不被认为是最佳实践之一。但总有可以接受的例外。因此,请注意您可以重用的内容,以便将其提供给子集的下一个特定测试

    首先,我想请你更清楚地说明你所说的
    工作需要10-15分钟才能完成。这是计算时间吗?或者是否存在每x秒更新一次状态的池作业,而延迟正是因为此?问题的解决取决于此

    如果您有权访问某个轮询作业队列,并且可以验证该作业是否存在,请执行该操作

    否则

    如果延迟仅仅是因为计算时间,那么我建议调整您的方法,将这些分为两个测试第一个测试,该测试只需登录并提交作业,并将提交的作业ID存储在某处(比如一个文本文件)。而second测试将在测试1的15-20分钟后运行,并将简单地验证是否创建了所有作业


    第二种方法适用于由于某些限制而无法避免10-15分钟延迟的情况。因此,如果您无法避免这种延迟,最好的方法是将测试分为两个测试,以减少彼此之间的依赖性。

    首先,我要求您更清楚地说明
    作业需要10-15分钟才能完成的意思。这是计算时间吗?或者是否存在每x秒更新一次状态的池作业,而延迟正是因为此?问题的解决取决于此

    如果您有权访问某个轮询作业队列,并且可以验证该作业是否存在,请执行该操作

    否则

    如果延迟仅仅是因为计算时间,那么我建议调整您的方法,将这些分为两个测试第一个测试,该测试只需登录并提交作业,并将提交的作业ID存储在某处(比如一个文本文件)。而second测试将在测试1的15-20分钟后运行,并将简单地验证是否创建了所有作业

    第二种方法适用于由于某些限制而无法避免10-15分钟延迟的情况。因此,如果无法避免这种延迟,最好的方法是将测试分为两个测试,以减少对彼此的依赖