etf-validator / governance

ETF Steering Group and the Technical Committee documents
1 stars 2 forks source link

Support parallel execution of test steps/cases/modules inside an ETS #47

Open michellutz opened 6 years ago

michellutz commented 6 years ago

Background and Motivation:

Performance optimisation is required to reduce startup time and validation time; reduction of startup time will simplify cloud deployment horizontal scaling, while reduction in validation time will be helpful while integrating ETF with INSPIRE Geoportal, or any other Metadata related workflow/pipeline.

One identified performance issue is that test inside each Executable Test Suite are executed sequentially, not in parallel.

Proposed change

Include parallelisation inside the ETS, at the level of Test Modules, Test Cases, Test Steps or Assertions. The responsibility of the threads remains in the ETS itself, i.e. it is up to the test developer and the capabilities of the test engine whether and how items are parallelised.

There must be a communication between the ETS and the Framework:

Alternatives

n/a

Funding

JRC will be ready to fund within its current development contract.

Additional information

n/a

michellutz commented 6 years ago

Split off from #14 as agreed in the 4th SG meeting on 2018-09-04.

jenriquesoriano commented 6 years ago

To do: analyze ETS structure to assess if the tests can be run in parallel and run a test to see the difference

carlospzurita commented 5 years ago

For the SoapUI tests, we found on the STestCaseRunner class that the TestCases on an TestSuite can call each other. So, in each task, all TestCases that are independent can be run in parallel. For TestSteps, SoapUI handles them and we cannot change the behaviour.

jonherrmann commented 5 years ago

Possible blocker for BaseX ETS: https://github.com/BaseXdb issue 1329

carlospzurita commented 5 years ago

Thanks for the reference @jonherrmann . It seems that this issue is not resolved yet. Is there any BaseX ETS using this feature?

jonherrmann commented 5 years ago

Nope. Just found the issue when I was checking something the BaseX repo...