首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨测试管理独占资源

跨测试管理独占资源
EN

Stack Exchange QA用户
提问于 2023-04-20 17:25:10
回答 1查看 16关注 0票数 0

我有一个系列的E2E测试套件,它正在增长,并且变得越来越慢。

为了解决这个问题,我必须并行运行测试。但是在这个项目中创建一个用户和所有所需的配置是非常复杂的。

每个测试有一个用户也不是理想的,因为一些配置部分花费了钱。

因此,我想使用类似于Jenkins的可锁资源,或者,每个用户都是一个资源,可以在每个测试中“锁定”,并在最后“解锁”。

是否有一个简单的API来实现这一点?(或另一种解决方案)

EN

回答 1

Stack Exchange QA用户

发布于 2023-04-21 08:38:48

@IAmMilinPatel的回答是一个很好的开始,但它需要一些改进才能真正实现完全分发,能够锁定多个资源并具有足够的灵活性。

多个资源是指需要多个资源的测试,其中资源可以是被测试系统的物理特性或功能,一些例子可以是Android和Android版本> 12,Pixel 7手机、Chrome浏览器和Linux或Database最近更新,安装了软件版本N和A类型的用户。

扩展可以具有某种类型的可锁定资源。要实现“我希望用户能够向系统中添加文件”,您可以锁定一个现有用户,但也可以从列表中分配一个用户,或者动态创建一个用户,然后将其锁定。

为什么这很重要?效率。您不希望测试等待资源被随机释放,甚至最坏的测试也可能陷入僵局,等待多个资源--两个等待资源A& B、测试1保存A和测试2保存B的测试--它们永远不会运行。

在我的团队中,使用来自国王的技术博客的图片以某种类似的方式实现行为者模型的想法是:

  • 作业队列管理器根据可用资源和分配它们的算法来保存和分派测试。队列管理器应该有一个API来添加测试/作业,并同步/异步地报告结果。
  • 资源管理器与资源的设备管理器通信,并可以将它们标记为可用、正在使用或“损坏”。
  • 一个设备管理器。这可以是通过USB连接到电话的计算机(电话是SUT),运行VM的计算机( VM是SUT),也可以是运行小型管理软件的设备本身(典型的用例是没有良好VM解决方案的Apple PC)。设备管理器存储并跟踪设备的状态和配置,并根据请求将它们与资源管理器通信,这是必需的,这样资源管理器就不必知道设备的内部结构。
  • 一些资源可能有一种特殊的管理器,一个很好的例子是测试用户。使用管理器可以动态创建它们,并在需要时删除它们,还可以清理或将数据加载到用户的数据中。
  • 合乎逻辑的测试跑步者。这是另一个要分配的特殊资源,在某些情况下,测试的逻辑需要运行在非SUT代理上,并在设备上触发操作。例如,当您测试移动设备或使用多个设备进行测试时,请考虑端到端视频呼叫。再一次,跑步者可以是不同的类型,有不同的特点。
  • 最后,您需要在系统各部分之间建立通信方法和协议。

为了回答原来的问题,我不知道有任何这样的系统可以“开箱即用”,当然,开发和维护起来也不容易。

票数 0
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/51562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档