I am a learner of selenium webdriver and now want to code using framework.I don't have a detailed picture of when to use what in above said tools.I do know that these are build,version,integration tools but want to know the order of usage.I would be so thankful If anybody gives explanation about what goes on in real time environment?
The tools you name are used during different steps in the SDLC, they can be replaced by other alternative tools
Example (partial) development life cycle:
Check-in to version control
After developers are finished with development they Check-In the code into a version control system, this to keep a history of all the changes. SVNs relation to Selenium testing is that you want to test against the latest version of the application. Also its advisable to keep the test-code close to the application code and I would version it in the same repository.
Schedule build and run build
The build-server / continuous integration server monitors the version control, checks out any changes and schedules a build against this version. Relation to Selenium testing is that Jenkins can prepare the application and set it up in such a state that you can run the tests against it. Its possible to use Maven as a tool to automate the building,integrating and or setup of the application instead of using shell scripts.
Run automated test against build
After the build is OK, the build-server checks out and starts the Selenium tests. Maven can be used to build and start tool that is fired by Jenkins to trigger the test start
Report failing tests/builds
The build-server reports any failing tests in its main overview or sends out e-mail to the person who broke or monitors the build.
SVN is a version control system, it is not the only one in the market.
version control systems are used during development and deployment to... control versioning of your source code, documentation or binaries. Ideally it is used throughout the development process from the first day of development to the day the product is retired (and sometimes even beyond that). Version control systems are always used in real environments (except for maybe in very small startups).
Jenkins is a continuous integration tool, you use it during development to verify that your builds are not broken by running unit tests- small, fast and independent tests usually written by the developers. Sometimes it is used as a "plain" test executioner. Developers should adapt themselves to using continuous integration, so it is not always used.