End to end testing, to put it very simply, is a sort of software testing to ascertain whether software is behaving as planned. An End to end test is a way which tests every layer of the application, including the user interface, the browser (and compatibility with it), the network, the server, the APIs, the codebase, any third-party integrations, and any hardware—the whole kit. As there were a number of drawbacks in the manual testing, in order to overcome these drawbacks automation testing has been proposed.
Introduction
I. INTRODUCTION
End to End testing(E2E) tests entail applying tests that track the application's flow and identify breaks in it. An interruption in the flow would reveal an error in the application. End to end testing is where the whole application needs to be tested from beginning to end. Testing is very important as it identifies the bugs in the product and guarantees the quality of the product.
The typical procedure for E2E testing for the website involves testing the website of various functionalities and using the testing frameworks or platforms for the planning and creation of tests for various needs. Testing the websites is very important as it involves verification of the built architecture. Different types of testing that should be checked for the websites or any application can be unit testing, integration testing, system testing etc.
But instead of performing all these manually or using any tool to perform the operations, it is better to perform automation testing using API’s as we can easily verify the build architecture.
Application programming interfaces(APIs), are a collection of guidelines that specify how devices and software can connect to and communicate with one another. An API that adheres to the representational state transfer, or REST, design principles is known as a REST API. REST APIs are sometimes referred to as RESTful APIs as a result. To put it in another way, REST APIs process requests for resources and respond with all pertinent information about the resource in a format such a way that clients can easily understand (this format is determined by the API receiving requests)
As depicted in the figure 1 the client requests any sort of data to the server, where API’s act as a middle man between the client and the server to fetch the request processed by the client and server replies back with the response. The paper talks about how end to end testing is important and how it can be done the same using rest API’s since it will be useful for the website testing when compared to that of the manual testing.
II. SOFTWARE TESTING TECHNIQUES
A. Manual Testing
Manual testing which is one of the basic types of software testing. This is the most important phase of all other testing types. Software testers use human resources to create test cases without the use of special softwares. Manual testing cannot be completely eliminated. The main steps when testing an application manually should be tested for automation features.There may or may not be a requirement for the knowledge related to testing tools. In this type of technique, software testers create a testsuite and then manually check by entering some data etc or using any tools to test the feature.
Disadvantages of manual testing are:
It is a time-consuming task.
Risk of error increases when we test.
Running the same test cases again and again is a tedious process.
The manual testing consumes a lot of time for the testers to pay attention while testing.
B. Automated Testing
Automated Testing also known as an automated technique for writing and executing test cases that do not require human intervention. The process is called automated testing. In this process, the tester uses the appropriate software or can use programming language to create a script and tests the application. This is basically an automation technique of manual process that does not require human intervention. Automated testing is also a simplified process of manual testing.
Description
The automated API testing tool is a tool that will help to automate the testing process of REST APIs.
2. Benefits of Automated Testing
Through automation the testing work is much faster when compared to that of the manual testing.
Will have consistency throughout the Check.
Better speed in terms of execution.
Repetition of the same data again and again has to be put in.
Ensures consistency throughout the testing process.
Since the API’s are used in designing the website, collect the endpoints of the API’s that are used. Understanding about the various http methods used is required when the api call is made. Choosing any of the programming languages is required to design the functions. Passing the payload in the dictionary format for the request body if it's necessary. The tester should possess the basic knowledge about REST API and its working. Capturing the response code and analyzing whether the API’s are framed in a right way can be easily done through automating the API calls with the help of programming language.
III. APPLICATION
The automated API testing solves almost all major the challenges in automated API testing such as sequencing API calls, handling unpredictable JSON response, less time consuming, and high accuracy. Automation testing helps testers to schedule the given tests. Hence, the automated API testing tool reduced the required time by 90%, total cost by 70% and people required by 95% as compared to manual API testing.
V. ACKNOWLEDGMENT
I'm extremely grateful to Prof. B.K Srinivas and would like to express their gratitude to them
Conclusion
The automated APIs testing tool which can be designed by using any programming language is fully automated for REST API, which can solve all the major challenges of API testing automation and also provides support for automating the API calls, comparing response from the server and actually identifies errors based on the API that is designed. Based on comparisons ,it is concluded that automated testing has its own importance and advantages over manual testing. Automated testing can impacts the accuracy of various test cases and has a significant impact on dimensions such as software cost, time management, quality and also improves product delivery. Automated testing has been successful in reducing the workload of regression testing. Efficient APIs increase product acquisition rates and ultimately lead to acquisition of product.
References
[1] Adeel Ehsan, Mohammed Ahmad M. E.Abuhaliqa, Cagatay Catal,Deepti Mishra “RESTful API Testing Methodologies: Rationale, Challenges, and Solution Directions”, Published: 26 April 2022,Appl. Sci. 2022, 12(9), 4369; https://doi.org/10.3390/app12094369
[2] Neumann, A.; Laranjeiro, N.; Bernardino, J. An Analysis of Public REST Web Service APIs. IEEE Trans. Serv. Comput. 2018, 14, 957–970.
[3] Myeongsoo Kim, Qi Xin, Saurabh Sinha, Alessandro Orso, “Automated Test Generation for REST APIs: No Time to Rest Yet” , 18 Apr 2022 in arxiv
[4] Bhawna Kumari, Naresh Chauhan, Habeebullah Hussaini Syed, “A Comparison Between Manual Testing And Automated Testing”, December 2018,SSRN Electronic Journal 5(12):323-331
[5] Bhawna Kumari, Naresh Chauhan, Vedpal “Comparison between manual testing and automated testing” ,2018 J ETIR December 2018
[6] Isha, Abhinav Sharma, M. Revathi, “Automated API Testing”, 2018 3rd International Conference on Inventive Computation Technologies (ICICT)
[7] Mithilesh Tarkar and Ameya Parkar. APIs and Restful APIs. International journal of Trend in Scientific Research and Development (IJTSRD)
[8] Sunil L. Bangare, Seema Borse, Pallavi S. AUTOMATED API TESTING APPROACH. International Journal of Engineering Science and Technology (IJEST). BANGARE, SHITAL NANDEDKAR
[9] Asha KR and Shwetha DJ. API Testing: Picking the Right Strategy.
[10] https://www.linkedin.com/pulse/rest-api-testing-from-manual-approach-automation-saurabh-agarwal/
[11] .https://www.programmableweb.com/news/researchshows-interest-providing-apis-still-high/research/2018/02/23