I recently got asked by a fellow QA, what is the difference between testing a web service and testing a website is? So here is the answer in as simple a way as I can put it...
Firstly, what is a web service?
It's effectively a function that can be accessed by by other programs over the web. For instance, the asos website has a "basket" web service that enables users to add to their basket on the product page.
I understand that from coming from somewhere that only tests a website to somewhere that requires QA to test against web services it can be very daunting, but with the right tools and the right mindset it can be simpler to test a web service than a website.
Why is that? you may ask... Let me begin.
One of the problems with testing User Interfaces or websites is that there are so many things that could potentially go wrong, you're interacting with the end product. Look at it like switching on Christmas tree lights in the old days, when if one light was broke then it's a pain to fix and a pain to find out what light is broke as they're all switched off! However, by turning on individual lights you can be sure of what ones will work and what ones won't as you're certain of what to expect.
The other good thing about testing web services is that they are generally very quick to test, and you will get feedback very quickly from what you are testing. It can take a lot longer to test against a UI, due to the layers beneath the UI all requiring to do some work of some kind.