【发布时间】:2014-04-29 02:17:16
【问题描述】:
假设我们有一个网络应用程序,它管理某个域中的某种设备。
每个设备只能添加一次,显然 - 有限的测试资源。
有几个自动化测试人员同时在这个应用程序上工作。两名测试人员可能会添加相同的设备,在这种情况下,一名测试人员会在他/她的自动化测试中出现异常。
如何避免这种资源有限的冲突?
我想出了以下几种方法,似乎没有一个令人满意:
1) 添加一些带有静态 Map
2) 为每个测试人员分配一些专有设备——使有限的资源更加有限,如果测试人员多于可用设备怎么办?
- - - - - - - - - - - -
矛盾的情况是这样的:测试人员A和测试人员B都有一个测试方法(Java代码),添加设备,修改设备名称,然后删除设备。如果 A 和 B 同时使用相同的 IP,随着测试和测试人员数量的增加,这是不可避免的,一个测试会失败。
由于 A 和 B 都不知道其他测试人员将在他/她的测试方法中使用哪个 IP,因此设置一个查询锁定和释放服务(注册中心,资源中心?)是明智的。
该应用程序将数据存储在数据库(oracle、mysql 或 postgresql)中。
此外,我们有可能同时运行多个应用程序,这使情况更加复杂。
【问题讨论】: