Jenkins 针对2个移动应用程序的自动化UITest策略-用户应用程序/管理员应用程序

Jenkins 针对2个移动应用程序的自动化UITest策略-用户应用程序/管理员应用程序,jenkins,mobile,automated-tests,xamarin.uitest,Jenkins,Mobile,Automated Tests,Xamarin.uitest,我在一个开发团队中,我们有两个独立的移动应用程序。其中一个应用程序是面向用户的。另一个应用程序用于管理这些用户。我的主要目标是在Admin应用程序中执行一个测试用例,然后在Users应用程序中运行一个测试用例,以验证它是否正常工作。我怎样才能做到这一点 例如,我想在管理员应用程序中运行一个取消某些特权的测试用例。然后,我想从Users应用程序运行一个测试用例,以检查并确认特权已被撤销 也许这根本不是一个好策略——但这对我的团队来说是有意义的,因为我们有两个应用程序一起工作——如果我们在管理应用程

我在一个开发团队中,我们有两个独立的移动应用程序。其中一个应用程序是面向用户的。另一个应用程序用于管理这些用户。我的主要目标是在Admin应用程序中执行一个测试用例,然后在Users应用程序中运行一个测试用例,以验证它是否正常工作。我怎样才能做到这一点

例如,我想在管理员应用程序中运行一个取消某些特权的测试用例。然后,我想从Users应用程序运行一个测试用例,以检查并确认特权已被撤销

也许这根本不是一个好策略——但这对我的团队来说是有意义的,因为我们有两个应用程序一起工作——如果我们在管理应用程序中执行一些功能——我们希望在用户应用程序中看到预期的结果

我的计划是用一个类别标记每个测试,例如“特权”

关于詹金斯:

  • 在管理员应用程序上运行“特权”类别,我在其中撤销了一些特权
  • 在我确认已撤销特权的用户应用程序上运行“特权”类别
  • 现在看来这是一个不错的测试策略。但如果我有20个UITest,这意味着我的仪表板中将有20个不同的Jenkins项目,每个UITest(每个设备,每个平台)一个。似乎有了20个UITests,我就有了100多个Jenkins项目。这对我来说并不理想

    有没有其他人想出了一个测试策略,他们需要来回测试两个独立的项目。我知道这并不属于单元测试的范畴——我可能会得到一些关于单元测试和一般测试的模糊答案。但我确实相信手机在测试世界中是一种不同的动物

    一般来说,你不希望测试相互依赖。看看这个例子:

  • 在管理应用程序中,您可以设置权限
  • 打开用户应用程序
  • 应该设置特权,但不是
  • 你知道出了问题,但你不知道是管理员应用程序不起作用还是用户应用程序

    因此,您应该通过模拟(=伪造)后端来独立测试它们:

  • 打开管理员应用程序
  • 设置特权
  • 询问模拟后端:您是否收到管理员应用程序的呼叫以设置权限
  • 在用户应用程序的独立UI测试中,您可以执行以下操作:

  • 在设置权限的位置设置假后端
  • 打开用户应用程序
  • 查看是否设置了权限
  • 通过分离两个应用程序的测试,您将知道这两个应用程序中哪一个不起作用


    我在工作中用来做这类事情的软件叫做,但也有其他的。

    你的问题有几点

    在管理应用程序中执行一些功能——我们希望在用户应用程序中看到预期的结果

    如果您需要测试这两个应用程序之间的集成,您可以为这些应用程序使用适当的标签

    用类别标记每个测试

    在任何情况下,您都需要某种方式来安排您的套房。这样做的好方法是。我认为这对你的情况是适用的。它将在需要时为所有标记的测试设置所需的状态

    需要来回测试两个单独的项目

    对于大多数业务关键型功能,端到端测试是强制性的。我的建议是雇用。您的其他测试应该已经涵盖了更简单的情况(例如,在管理应用程序中设置权限),因此,如果您已经使用了此功能,则没有冗余点

    似乎有了20个UITests,我就有了100多个Jenkins项目。这并不理想


    实际上,每个套件都不需要Jenkins项目,只需通过CLI参数配置测试,您的工具就会帮您解决这个问题。你需要的是一个标签(或平台,或设备)来传递给跑步者

    嘿,我理解你的问题。您目前使用什么进行自动测试?这可能有助于找到解决方案。我的想法是让每个测试相互依赖。因此,您将强制第二个场景在第一个场景之后运行。希望您不需要另一个jenkins作业来运行第二个场景。我使用的是Xamarin平台,因此我的UITests是在mac上运行的Xamarin UITests,并插入了一套设备。我们有一个任务,它构建应用程序,然后将应用程序部署到设备上。之后,将运行另一个名为“UserAppUITests iPhoneX”的作业,然后运行“UserAppUITests-iPhone7”等。但是,是的,我正在尝试将另一个应用程序加入到组合中,但我想将其组织到不同的类别中,但我觉得我最终会有太多Jenkins的工作,这将是一个意大利面条式的混乱,并且无法管理,除非我们雇用全职自动化测试人员。我的问题是,我真的不想使用模拟对象。我这里的主要目标是端到端测试。我的移动团队依赖于另一个团队管理的API。当他们在某些环境中进行更改时,我们希望我们的应用程序开始使用真实数据,测试真实环境。当然,我们已经有了API单元测试和其他工具,但我们仍然需要对这两个应用程序进行冒烟测试。我理解你关于模拟和单元测试的论点