Skip to main content

Differences between testing services and websites?

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.

It's kind of similar to when testing a web service or even an API, you know what to expect in the response from the API/Web Service as it forms part of a contract so you can code tests around that, or write tests around that. However with a website, when coding tests there are many things that can cause the web page to break, things like browser type, or JavaScript errors can all cause tests to fail. I find testing a web service to be a lot more robust, providing of course, that tests are written in a smart way.

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.


Comments

  1. This comment has been removed by the author.

    ReplyDelete
  2. If you are new, I advise you to consult professionals who will make you a site or allow you to choose a template for your site in the category admin panel. The best website with any templates you need

    ReplyDelete

Post a Comment

Popular posts from this blog

What is a PBI?

After my last post, I had the question of what is a PBI... so I thought i'd write a short blog post about what they are and why they are used. A PBI is an acronym for Product Backlog Item. It is a description of a piece of work that your SCRUM team will develop and deliver. When you have a list of Product Backlog Items, you then refer to that collective list as a Product Backlog. The product backlog is often prioritised and yourteam will work through each PBI, and release on a regular schedule... I am however going deep into the world of Agile development, which isn't entirely what this post is about, so I will stop myself now. A Product Backlog Item is made up of the following: Title - This is often a one liner that gives the team an idea of what the PBI is about, although it can just be an ID for the item and the team work off of that. Description - Breaks down the PBI in a bit more detail, and can be written in any style, however I prefer it to be written as follow...

Coding something simple.... or not! Taking a screenshot on error using Selenium WebDriver

I recently wrote a little function that takes a screenshot at the end of a test if it has errored. What sounded very simple at the start turned out to be quite a bit of work, and quite a few lines of code to handle certain scenarios! It's now over 50 lines of code! I'll start with what I had at the beginning, this was to simply take a screenshot in the working directory, we are using SpecFlow and Selenium to run the tests, so we are going to check if the ScenarioContext.Current.TestError isn't null, if it is, then using Selenium, take a screenshot (note the below code is a simplified version of what I had at the beginning). [AfterScenario]         public static void TakeScreenShotOnError()         {             if (ScenarioContext.Current.TestError == null) return;             var screenshotDriver = Driver as ITakesScreenshot;             if (screenshotD...

The Stickman Tester... The full version complete with deleted "scenes"!

As some of you may have seen, a little while ago I performed a 99 second talk on the Stickman Tester for the Ministry of Testing. Owing to the fact that it had to be 99 seconds, this unfortunately meant that a verse was left out in order to keep it within the time frame! It's only now that I have found the time to put the deleted verse/scene back in, and re-record it and upload it! (It's now a 120 second talk!) It talks about a testers journey in an Agile team, about how not everybody has it as good as others, and basically talks about not giving up, keep searching, or trying to change your role to make it what you want it to be. Anyway, here it is, in all it's glory. Hope you enjoy it!