Quality Assurance at Openbravo

July 9, 2010

Welcome to The Grid

Filed under: openbravo — obqateam @ 2:21 pm
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.
Sequential Execution Timeline

Version 2 time line. All suites are executed sequentially

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.

Parallel Execution Timeline

Next step on this direction is to go deep into each suite and find the critical path for every individual test case.
Advertisements

2 Comments »

  1. […] 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

  2. […] 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


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: