a very basic question - automation testing with CI

Ask general questions here.
guptaravi2k
Posts: 6
Joined: Mon Jan 19, 2015 6:46 am

a very basic question - automation testing with CI

Post by guptaravi2k » Mon Jan 26, 2015 12:50 pm

Hi,

As per this blog http://www.ranorex.com/blog/integrate-r ... on-process, the ranorex test gets executed as part of build process as soon as a developer commits a change. This helps provide rapid feedback and is in-line with agile process etc. etc...

I am confused how this is possible in, for example a web based application.

Shouldn't the ranorex tests run after deployment of AUT in a test environment.

As per my understanding the steps should be as follows:
1. developer commits change in SVN.
2. Bamboo starts build.
3. if compile/unit test fails, developer is notified. She fixes tests. goto step 1.
4. if compile/unit test succeed then an artifact is created (such as jar or war) and is pushed to Nexus.
5. Team lead/manager coordinates with dev/test teams and decides if it is the right time to do a release in testing environment. If yes, then run deployment script and performs application deployment.
6. If deployment succeeds then as a last step of deployment Ranorex test will kick-in and perform testing.
7. Testers monitor success/failure of Ranorex test results and raise bugs(regression) as per outcome of test execution.
8. developers fix bugs and repeat step 1.

In above flow there is no rapid feedback as mentioned in blog entry. The releases are not as frequent as commits by developers and the feedback will come only when ranorex test fails after deployment of application in a testing environment.

Am I missing something?

Regards,
Ravi

User avatar
odklizec
Ranorex Guru
Ranorex Guru
Posts: 3930
Joined: Mon Aug 13, 2012 9:54 am
Location: Zilina, Slovakia

Re: a very basic question - automation testing with CI

Post by odklizec » Mon Jan 26, 2015 3:47 pm

Hi,

In my opinion, one of the points of CI is to eliminate human element from the building/testing process. So ideally, there should be no step 5 with someone who decides if the AUT is ready for testing or not. In CI process, this step should be automatized. If the AUT is built OK, then the application should be deployed on test system and tested. Any other approach, involving human being in the middle of process, is in my opinion half-baked CI. Basically, human person should just monitor/improve the CI process and eventually process the results.
Pavel Kudrys
Ranorex explorer at Descartes Systems

Please add these details to your questions:
  • Ranorex Snapshot. Learn how to create one >here<
  • Ranorex xPath of problematic element(s)
  • Ranorex version
  • OS version
  • HW configuration

krstcs
Ranorex Guru
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: a very basic question - automation testing with CI

Post by krstcs » Mon Jan 26, 2015 4:40 pm

Ravi,

I don't think you are missing anything. Every organization has a different process for builds and deployments. You just need to adapt your process to include Ranorex runs in a way that works for you.

My company does essentially the same thing. We don't just automatically deploy to test.


Pavel, sometimes companies are not allowed to just roll out software whenever they want, no matter how much CI they use, so there has to be a step 5 (in both test and production). It isn't necessarily about deciding if a version is ready for testing as much as it is about making sure that the environment is ready or that the previous version that is currently in test has been tested fully. We are a very agile shop, but rules are rules. :D
Shortcuts usually aren't...