I have a application that have 3 differents environment(development, qa and production) that are integrated with jenkins, my doubt is, where's the better environment to run automated tests development or qa?

In development environment, the features are develop and changes are made. In qa environment, the features and bugs are enable to test team.

The intention here is run automated tests, to validate UI, we have integration tests and unit tests.

1 Answer 1


I think the Op is asking two questions:

  1. If, in the version control system, the code in QA is tagged (or branched) separately from code in development, which version should you use with the Selenium tests?
  2. Where should the Selenium tests run: on the developer's desktop or in the QA environment?

I don't have enough organization/business/technology information to answer the OP's questions, but here are some considerations:

Developers don't like to run long-running tests. As a general rule, if you write a test that takes a long time to run, developers won't run it. This is even more true if the test requires a lot of setup or if the test makes the machine unavailable for other work.

Manual testers may interfere with your automated tests, and vice versa. If you run your automation tests in the same environment as your manual tests, the tests may interfere with each other. For example, imagine an automated test that registers a new user. The test enters the user's name and email address, and then after the user is registered, the test verifies that the name and email address are correct. If a manual tester simultaneously uses the Edit button to change the user's email address, the automated test may fail.

An alternative, of course, is to reserve a QA machine exclusively for automation.

It is convenient for a developer to be able to reproduce a test failure in their development environment. It is hard to diagnose and debug a problem if the developer can't reproduce it in their own environment. So even if a developer won't run your long-running test as part of their development process, they might run it when a specific problem appears.

Whether you test the dev version, the QA version, or both depends on your goals, your development process, and your resources. If your goal is to catch bugs in QA, you probably want to test with the QA version. If your goal is to catch bugs earlier than that, you might want to test the development version -- but only if at any point in time, the development version is expected to work.

  • But, this QA machine will run exclusively the code that are on develop or qa environment? Commented Apr 1, 2015 at 16:44
  • I edited my answer to address that.
    – user246
    Commented Apr 1, 2015 at 17:08
  • I think that now, is most clear to me, how will do this development, thanks for your answer @user246 Commented Apr 1, 2015 at 17:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.