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 Software Security Testing and Quality Assurance
Related Q&A from Gerie Owen
Expert Gerie Owen discusses the differences between a startup culture and an established company's work environment. Learn more about which would ...continue reading
Does the development team determine the software test schedule? Find out why working with DevOps can alleviate some time and test constraints.continue reading
The Agile team collaborates closely and makes a lot of changes. What does the ideal Agile tester possess in technical and people skills?continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.