Continuing with the road map in automation, we are glad to announce we stepped in The Grid.
Selenium Grid is a wonderful tool for Selenium test environments. It provides two main benefits: multi-browser support and parallel execution. You can find how it works here .
In Openbravo ERP, we have a fully functional Smoke Test running in Selenium code. By adding Selenium Grid to our infrastructure, we aim to speed up Smoke execution.
On the very beginning, standard runs took more than four hours. After some hard work to fine tune the wait times, we got current duration of about 160 minutes.
This was a very good achievement of our version 2, but we keep looking for improvements. Version 3, using Grid, can execute a full smoke in just 90 minutes.
How does version 3 work?
Starting with version 2 code we managed to split different functional flows with its dependencies.
For example, Create Purchase Order test case in Procurement Management suite required an specific product Raw Material A to be purchased to an specific provider Vendor A. So it depended of Import Products and Import Business Partner test cases.
As a result of this analysis, we ended up with current configuration:
<target name="test.integration.smoke"><sequential><antcall target="test.integration.erp.testsuites.smoke.masterdata"/><antcall target="test.integration.erp.testsuites.smoke.accountingdata" /><parallel><sequential><antcall target="test.integration.erp.testsuites.smoke.financialdata" /><parallel><sequential><antcall target="test.integration.erp.testsuites.smoke.procurement" /><antcall target="test.integration.erp.testsuites.smoke.sales" /><antcall target="test.integration.erp.testsuites.smoke.projectandservice" /><parallel><antcall target="test.integration.erp.testsuites.smoke.production" /><antcall target="test.integration.erp.testsuites.smoke.accountingprocess" /></parallel></sequential></parallel></sequential><antcall target="test.integration.erp.testsuites.smoke.assets" /></parallel></sequential></target>A graphical view of this change is shown in below picture.
Next step on this direction is to go deep into each suite and find the critical path for every individual test case.
Advertisement


[...] improvements. In order to make more reliable our Department’s processes, and now that parallel execution is ready to run, we also automated the test of our own [...]
Pingback by Hudson’s integrated framework for Automation « Quality Assurance at Openbravo — July 14, 2010 @ 1:51 pm
[...] test cases in order to execute. A first snapshot of these dependencies appeared when we worked in parallel execution [...]
Pingback by Using Selenium with DBUnit « Quality Assurance at Openbravo — July 16, 2010 @ 9:09 am