我在一个开发团队中,我们有2个独立的移动应用程序。其中一种应用程序是针对用户的。另一个应用程序是那些用户的管理员。我的主要目标是在Admin应用程序中执行一个测试用例,然后 在Users应用程序中运行一个测试用例以验证其正常工作。我该如何处理?
例如,我想在Admin应用程序中运行一个撤销了某些特权的测试用例。然后,我想从“用户”应用程序运行一个测试用例,以检查确认特权已被撤销。
也许这根本不是一个好的策略-但对我的团队来说是有意义的,因为我们有2个可协同工作的应用程序-如果我们在Admin应用程序中执行某些功能-我们希望看到预期的结果在“用户”应用中
我的计划是在每个测试中标记一个类别,例如“特权”
在詹金斯上:
这似乎是一个不错的测试策略。但是,如果我有20个UITest,这意味着我的仪表板中将有20个不同的Jenkins项目,每个UITest(每个设备,每个平台)一个。看来,有了20个UITest,我最终将获得100多个Jenkins项目。那对我来说并不理想。
其他人是否提出了一种测试策略,他们需要来回测试2个单独的项目。我了解这并不是真正属于单元测试的范围,并且我可能会在单元测试和常规方面得到一些模糊的答案。但是我确实相信移动设备是UITest世界中的另一种动物
答案 0 :(得分:1)
您的问题有几点要点
在Admin应用程序中执行某些功能-我们希望在Users应用程序中看到预期的结果
如果您需要测试两个应用程序之间的集成,则可以为
使用正确的标签用类别标记每个测试
无论如何,您将需要某种方式来组织套件。这样做的好方法是test annotations。我认为Lazy setup适用于您的情况。必要时,它将为所有标记的测试设置所需的状态。
需要来回测试两个单独的项目
对于大多数关键业务功能,必须进行端到端测试。我的建议是雇用Backdoor manipulation。您的其他测试应该已经涵盖了较简单的情况(例如,在Admin应用中设置权限),因此,如果您已经使用了此功能,就不会有多余之处。
看来,有了20个UITest,我最终将拥有100多个Jenkins项目。那不是很理想
您实际上不需要每个套件都需要一个Jenkins项目,只需通过CLI参数配置测试,您的工具就会为您代劳。您需要的是将标签(或平台或设备)传递给跑步者的标签。
答案 1 :(得分:0)
通常,您不希望测试相互依赖。看这个例子:
您知道出了点问题,但是您不知道是管理应用程序还是用户应用程序无法正常工作。
因此,您应该通过模拟(伪造)后端来独立测试它们:
在针对用户应用的独立UI测试中,请执行以下操作:
通过分离两个应用程序的测试,您将知道两个应用程序都不起作用。
我在工作中用于执行此类操作的软件称为WireMock,但那里也有其他软件。