Challenges behind automation of REST API Testing

Challenges behind automation of REST API Testing

Adoption of REST APIs has increased manifold in recent days and REST has become a leading standard for building web APIs. The era of desktop based applications is continuously going down. People are shifting from Desktop to web and further mobile based applications.

Most of the web based applications or mobile applications are backed by REST APIs. Testing these type of applications has become a major challenge. Various tools / frameworks / libraries (utilities) are there to automate the testing activity. People choose these utilities depending upon their context, environment, budget and skill level etc.

In this post, we will discuss the need of automation followed by various challenges behind REST API Automation Testing. I will appreciate questions / feedbacks if you have any ?


Why we need Automated API Testing

Frequent releases

To live in this competitive market, you have to release new updates frequently. With automated API testing, It will reduce the testing time drastically and you can focus more on your development.

Build quality

You can never be confident on build quality of the web application without automated testing. Build quality remains poor with manual testing and increases the possibility of more bugs in the application.

Exposing APIs for third party apps integration

Once you decide to open your APIs for the external world, you have to ensure that each of your APIs are working as expected. Because any bug/issue in API may lead to lots of customer queries. You will loose most of your time resolving those customer queries. Subsequently customers will loose faith in you. The picture become more worst, once you have 3–4 versions of your APIs. With automated API testing, you can confidently expose your APIs to the external world for third party integration and will bring you more business.


Challenges behind API Automation Testing

I think, validating REST APIs is not that hard. It is simply triggering a REST API with a particular set of data and validating the responses. Most of the tools available today majorly focus on validation part and forget about the management or maintenance part. But actual challenge lies in, initial setup of your test suites and how you are going to maintain and organise those test suites over a span of releases and how well it integrates with your existing eco-system.

Initial Setup

Major hurdle in any automation testing is initial setup. If initial setup is too much then motivation goes down as the time passes. Most people even companies leave the automation testing in middle and proceed to their original track of manual testing. This is the major blocker in automation of the testing process. If initial setup is easy, then adoption of the testing framework / tool will be much higher.

Maintenance

Second major hurdle is maintenance. Once you have created your test suites for say one release. Then the question comes, is it easy to maintain those test suites over a span of releases? If upgrading those test suites takes another full development cycle then it is worst than manual testing. The lesser the time, more maintainable the test suites will be.

Management

Third hurdle is management and is somewhat related to maintenance. Management makes the tasks of organising test suites easier and more maintainable. If you have linked your API test cases with API Specifications then proper management can give you answers to the questions like whether your API is fully tested or not.

Skilled Resources

Fourth hurdle is skills required to use the library / tool. If we adopt a particular tool / library, then we should have man power having those particular skills required for the tool. In the area of REST API, we can get benefit from the tools in which no technical skills are required to validate REST APIs because REST APIs are platform independent and language agnostic thing.

Integration with existing eco system

Fifth hurdle is integration with existing eco system. It is important to know, how well the library / tool integrates with your build or defect tracking system (or any other). Whenever you prepare a new build, it should fire the automated test suite first and if all the test cases passes, only then the build is ready to be released in the market. And if the validation failed, then your automated test suite, should automatically log bugs against the failed test cases.

Please comment, if you would like to share your experiences on REST API Testing.

要查看或添加评论,请登录

Dheeraj Kumar Aggarwal的更多文章

社区洞察

其他会员也浏览了