5

Previously I have done some work for a client and a conversation went much like this:

Client: "I want to test my product, that is web based. What would you recommend?"

Me: "Selenium is a great tool for automation for web based applications, I would recommend looking into this open source tool."

Client: "I am not conserned with the front end testing of my application, so I don't think that selenium would be a good tool for the integration testing that I am looking for."

I didn't really know how to answer to this. So my question here is simply:

  • Is selenium a good tool to use for integration testing?
  • Can selenium be used for integration testing?
  • What did he say when you asked him what he meant by that? – user246 Aug 6 '15 at 22:00
  • Please explain to your client that selenium is not limited to frontend testing. – Helping Hands Aug 7 '15 at 3:13
  • @HelpingHands Maybe you can explain it to us? Because I think its not so easy :) – Niels van Reijmersdal Aug 7 '15 at 9:42
  • @NielsvanReijmersdal - Ne need to explain not from my side as you have posted very good answer..:) – Helping Hands Aug 7 '15 at 9:50
5

TL;DR: Yes, but keep in mind that Selenium is only part of the integration test tool chain.


If we define integration testing as something like this:

Integration testing is the phase in software testing in which individual software modules are combined and tested as a group.

Then Selenium is only part of the integration testing phase, since it does not combine the product into a group or checks data consistency. It just drives the product as user.

Integration test steps:

  1. Build product
  2. Deploy product
  3. Setup environment (database, users, etc)
  4. Run Selenium tests on full-stack (browser, webservice, datastore and back)
  5. Verify results

Now with Selenium you can only verify the user visible results. Lets say you deleted some records and in the user view it looks correct, but maybe the delete deleted more then the user has access rights to see. How do you check? You will need some extra library or tools with your test-runner framework.

Also Selenium is not ideal for testing web-service API's, you might need something for that.

Selenium is just the driver for the web-application user interface. I think its maybe the most important part of the test-stack, but you will need a build-server, unit-test framework, data setup and verification tools, report parsers, etc... :)

Also read this question: https://stackoverflow.com/questions/516915/how-to-automate-integration-testing

2

Yes, Selenium can be and is used for Integration testing and it is a good tool for that. You can use Selenium with TestNG framework which is designed to cover all categories of tests: unit, functional, end-to-end, integration, etc.. Refer to TestNG site, it's first line states that it is used for Integration testing with Data Driven Testing.

For Acceptance testing and Acceptance test-driven development (ATDD) or for Keyword Driven Testing model you can use the Robot Framework.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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