WavebreakmediaMicro - Fotolia
I have to test an application that uses REST APIs. I'm afraid that I have no clue about this technology, but don't want to appear uninformed. Can you give me some pointers?
REST stands for Representational State Transfer. It is a technique developed by researcher Roy Fielding in his doctoral dissertation about 15 years ago. It's a type of programming interface that relies on the standards of the World Wide Web. This type of interface has the characteristic of being able to execute a wide variety of code and return different types of results based on how that code is executed.
REST testing sounds complicated, but it's really not. The key is the link that code is directed to. The code goes to the URL (or URI, uniform resource identifier), just as a person may navigate to such a link manually. In doing so, it is able to pass data into the API, and get results in return after the underlying code is executed.
One of the most important characteristics of a REST API is its stateless nature. That means that each and every call is independent and not dependent upon the state of the calling application. It simply accepts data in and returns data as a result. In this sense, it is much like a Web service.
How you would test such an interface is very dependent on what it is being used for, and who is using it. Remember that what you are doing is passing in data and looking at the results. It's not a lot different than other types of API. So when REST testing, you should focus on getting back correct results, or appropriate error messages if the input data is bad or out of range.
Need a REST primer? Try this
REST and test and the cloud – here's what you need to know in the cloud
Some think REST makes testing harder. What do you think?
Dig Deeper on Topics Archive
Related Q&A from Gerie Owen
Web services and APIs aren't the same -- or are they? How do web services and API testing differ, and what does each type of test aim to achieve? Continue Reading
A script-based tool has replaced a daily testing exercise on some code. Is it simply an automated test, part of a test automation strategy or even ... Continue Reading
Developers and testers strive to create quality, reusable code to deploy apps faster and keeps users happy. But what metrics should they track to ... Continue Reading