diff --git a/src-test/src/org/openbravo/test/scheduling/ParseTranslationBackgroundProcessTest.java b/src-test/src/org/openbravo/test/scheduling/ParseTranslationBackgroundProcessTest.java
new file mode 100644
--- /dev/null
+++ b/src-test/src/org/openbravo/test/scheduling/ParseTranslationBackgroundProcessTest.java
@@ -0,0 +1,76 @@
+package org.openbravo.test.scheduling;
+
+import static org.hamcrest.Matchers.equalTo;
+import static org.junit.Assert.assertThat;
+
+import java.util.HashMap;
+
+import javax.servlet.ServletException;
+
+import org.junit.Test;
+import org.openbravo.base.secureApp.VariablesSecureApp;
+import org.openbravo.base.weld.test.WeldBaseTest;
+import org.openbravo.dal.service.OBDal;
+import org.openbravo.erpCommon.utility.OBMessageUtils;
+import org.openbravo.model.ad.ui.ProcessRun;
+import org.openbravo.scheduling.Process;
+import org.openbravo.scheduling.ProcessBundle;
+import org.openbravo.scheduling.ProcessLogger;
+import org.openbravo.scheduling.ProcessRunner;
+import org.openbravo.service.db.DalBaseProcess;
+import org.openbravo.service.db.DalConnectionProvider;
+
+public class ParseTranslationBackgroundProcessTest extends WeldBaseTest {
+
+  private static final String anyProcessID = "800170";
+  private static final String USER_ID = "100";
+  private static final String ROLE_ID = "0";
+  private static final String CLIENT_ID = "0";
+  private static final String ORG_ID = "0";
+
+  @Test
+  public void parseTranslationInBackgroundDalBaseProcess() throws Exception {
+    ProcessRun pr = executeBackgroundProcess(ParseTranslationDalBaseProcess.class);
+    assertThat("Process status", pr.getStatus(), equalTo(Process.SUCCESS));
+  }
+
+  @Test
+  public void parseTranslationInBackgroundProcess() throws Exception {
+    ProcessRun pr = executeBackgroundProcess(ParseTranslationProcess.class);
+    assertThat("Process status", pr.getStatus(), equalTo(Process.SUCCESS));
+  }
+
+  private <P extends Process> ProcessRun executeBackgroundProcess(Class<P> processClass)
+      throws ServletException {
+    DalConnectionProvider conn = new DalConnectionProvider();
+    VariablesSecureApp vsa = new VariablesSecureApp(USER_ID, CLIENT_ID, ORG_ID, ROLE_ID);
+    ProcessBundle bundle = new ProcessBundle(anyProcessID, vsa);
+
+    bundle.setProcessClass(processClass);
+    bundle.setParams(new HashMap<String, Object>());
+    bundle.setConnection(conn);
+    bundle.setLog(new ProcessLogger(conn));
+
+    // do not close the connection after executing the process
+    bundle.setCloseConnection(false);
+
+    // invoke the process through ProcessRunner
+    String executionId = new ProcessRunner(bundle).execute(new DalConnectionProvider());
+
+    return OBDal.getInstance().get(ProcessRun.class, executionId);
+  }
+
+  public static class ParseTranslationDalBaseProcess extends DalBaseProcess {
+    @Override
+    protected void doExecute(ProcessBundle bundle) throws Exception {
+      OBMessageUtils.parseTranslation("Success");
+    }
+  }
+
+  public static class ParseTranslationProcess implements Process {
+    @Override
+    public void execute(ProcessBundle bundle) throws Exception {
+      OBMessageUtils.parseTranslation("Success");
+    }
+  }
+}
