The reply from @IAmMilinPatel is a good begin, nevertheless it wants some enhancements to be actually absolutely distributed, have the ability to lock a number of sources and be versatile sufficient.
A number of sources refers to assessments requiring multiple sources the place useful resource generally is a bodily factor or a function of the system underneath take a look at, some examples could possibly be Android AND Android Model > 12 AND Pixel 7 cellphone, Chrome Browser AND Linux Crimson Hat or Database Was Just lately Up to date AND Software program Model N Put in AND Person of of sort A.
An extension might be having a lockable useful resource of a sure sort. To fulfil “I desire a person that may add information to the system” you’ll be able to lock one current person, but in addition assign one from a listing or create one on the fly after which lock it.
Why is that essential? Effectivity. You do not need take a look at to attend lengthy for a useful resource to be randomly launched, and even worst take a look at might be deadlocked ready for a number of resources- two assessments ready for sources A & B, take a look at 1 holds A and take a look at 2 holds B- they are going to by no means run.
The concept, proven right here from King’s tech weblog and applied in considerably comparable means in my group utilizing The Actor Mannequin, is:
-
A job queue supervisor holds and dispatches assessments in keeping with accessible useful resource and an algorithm about allocating them. The queue supervisor ought to have an API so as to add assessments/jobs and report the outcomes synchronously/asynchronously.
-
A useful resource supervisor talk with the sources’ gadget supervisor and might mark them as accessible, in use or “damaged”.
-
A tool supervisor. This may be a pc related through USB to telephones (the cellphone is the SUT), a pc working VMs (the VM is the SUT) or the gadget itself working a small supervisor software program (the everyday use case are Apple PCs that do not have good VM resolution). The gadget supervisor shops and follows the gadget’s state and configurations and communicates them to the useful resource supervisor upon request, that is wanted so the useful resource supervisor do not should know the gadget’s internals.
-
Some useful resource might need a particular form of supervisor, a superb instance are take a look at customers. The use supervisor can create them on the fly and take away them when wanted, it could additionally clear up or load information into the person’s information.
-
A logical-test runner. That is one other particular useful resource to be allotted, in some circumstances the logic of the take a look at must run on an agent apart from the SUT and set off motion on the gadget. For instance while you take a look at a cell gadget or take a look at utilizing a number of units, consider an finish to finish video name. Once more, the runners might be of various sorts and have numerous options.
-
Lastly that you must arrange a communication strategies and protocols between the components of the system
To reply the unique query, I’m not conscious of any such system prepared “out of the field” and it’s actually not straightforward to develop and preserve.