Hello Friends,
In this article , i will describe that what is API? what is API Testing? and an overview of API.
What is API? (Application Programming Interface)
API is a software intermediary that use to allow two applications to talk to each other,
basically an API specifies how software components should interact.
It consists of a set of routines, protocols and tools for building the Software Application.
OR in simple words
API essentialy a library of functions, data structure and classes used by the developer to perform a
specific task such a drawing a window and posting a comment etc.
Example of API :
Each time when you use an app like Twiiter, Facebook, send an instant message, or check the weather on your phone,
you are using an API.
When we use an applicaton on our mobile phone, the application connects to the internet and sends data to a server,
then the server retrives that data, interprets it, perform the necessary actions and sends it back to our phone.
The application then interprets that data and presents you with the information you wanted in a readable way.
This is that an API is - all of this happens via API.
Popular API Examples :
Google Maps API : Google Maps APIs lets developes embed Google Maps on weboage using a JavaScript or Flash Interface.
YouTube API : Google's APIs lets developers integrate YouTube videos and functionality into websites or applications.
Twitter APIs: Twitter offers two APIs. The REST API allows developers to access core Twitter data and the Search API provides methods for developers to interact with Twitter Search and trends data.
Amazon Product Advertising API: Amazon's Product Advertising API gives developers access to Amazon's product selection and discovery functionality to advertise Amazon products to monetize a website.
As like other kinds of testing, API testing also is intended to reveal bugs : inconsistencies or deviations from the
expected behaviour.
Continuous testing is also very important to make sure it continues to work when the public has access to it.
API testing is one of the most challenging parts of the chain of software and QA testing because it works to assure that our digital lives run in an increasingly seamless and efficient manner.
API testing as a part of integration testing to determine if they meet expectations for functionalit, reliability,
performance and security.
Presentation layer: This layer contains the user oriented functionality responsible for managing user interaction with the system, and generally consists of components that provide a common bridge into the core business logic encapsulated in the business layer.
Business layer: This layer implements the core functionality of the system, and encapsulates the relevant business logic. It generally consists of components, some of which may expose service interfaces that other callers can use.
Data layer: This layer provides access to data hosted within the boundaries of the system, and data exposed by other networked systems; perhaps accessed through services.
Api testing is mainly exist on the business logic layer of the software architecture.
Remember : Api testing won't focus on the look and feel of an application.
Important Point : API Testing is not either black box or white box basically its both
black and white.
API testing is now considered critical for automation testing because APIs now serve as the
primary interface to application logic and because GUI tests are difficult to maintain with
the shortrelease cycles and frequent changes commonly used with agile Software Development and
Devops.
API testing typically involves the following practice :
Unit Testing
Functional Testing : Incluse test case definition, execution, validation and regression testing.
Load testing
Runtime error detection : Monitoring an application the execution of automated or manual tests to expose problems such as race conditions, exceptions and resource leaks.
Security testing : Include penetration testing and fuzz testing as well as validation authentication, encryption and access control.
Web UI testing
Interoreability testing -(SOAP only) checking conformance to web services Interoperability profiles.
Compliance testing (SOAP only)
API Architecture
API Call Collector1). HTTP Header
2). HTTP Request
3). Status code/response code
HTTP header
a) Automatization
b) Response Time
HTTP request
a. CONNECT
b. DELETE
c. GET
d. HEAD
e. OPTIONS
f. POST
g. PUT
Response code like 404 (Not Found), 200(OK) etc.
Types of Web Service
1). SOAP (Simple Object Access Protocol)
2). REST (Representational state transfer)
3). XML-RPC
4). JSON-RPC
SOAP UI
SWAGGER (Manual API Testing)
POSTMAN
API Studio
Amazon webServices
KONG
BLOCKSPRING
GALILEO
API GARAGE
SWAGGER
APIBoard
Advantage of API Testing
Test of core functionality
Test Quality
Faster Release
Test coverage with application
Access to application without user interface
Protection from malicious code and breakage
Time Efficiency Vs. Functional and Validation testing
Cost Effective/Reduce Testing cost
Technology independent.. etc
Types of bugs expected :
Wrong status code
API validation
Components (module) not interacting as expected
HTTPS request are not working.
UNIT Testing | API Testing |
---|---|
Owned by development | Owned by test |
Limited in Scope | Broader in scope |
Mocked dependencies | Mocked and real dependencies |
Does it work by itself | Does it play well with others |
Usually ran before check-in | Ran after the build created |
API Test Design Principles
Robust automated test cases generally have 5 stages of API test design
1).Setup : Initialize data, create objects, start services etc.
2).Execution : Steps to exercise API or scenario, also logging
3).Verification : Oracles to evaluate execution outcome
Note : Oracles are messages function usally used to compare actual result with expected results
4).Reporting : pass, fail or blocked
5).Clean up : Pre-test state.
Key Points:
API testing benefits both the development and testing organization.
API testing is both a black and white box activity
Find some types of bugs more efficiently but not find all bugs
Doesn't evaluate "look and feel"
Can change focus of GUI automation
Not for everyone.
Approach of API Testing
1).First understand the funcationality of your API program and find the scope of this program.
2). Then simply apply your testing techniques like error guessing, input parameters , boundary value etc.
3). Now time have come to execute your test case & compare the result with expected results.
ReplyDeletethe article is nice.most of the important points are there.thankyou for sharing a good one.
QTP Training in Chennai
Best QTP Training Center in Chennai
Qtp classes in chennai
qtp training institute in chennai with placement
best qtp training in chennai
LoadRunner Training in Chennai
performance testing training
hp loadrunner training
Great Article
DeleteCyber Security Projects for CSE Students
Project Centers in Chennai
JavaScript Training in Chennai
JavaScript Training in Chennai
ReplyDeleteyour explanation way is too good, very easy to understand for all readers. Thank you for providing the best details and I want more unique posts.
Primavera Training in Chennai
Primavera Course in Chennai
Tableau Training in Chennai
Spark Training in Chennai
Power BI Training in Chennai
Excel Training in Chennai
Oracle Training in Chennai
Oracle DBA Training in Chennai
Social Media Marketing Courses in Chennai
I have read your blog its very attractive and impressive. I like it your blog.
ReplyDeletebusinessexceltemplates
Article submission sites
It is very interesting and i like it. Thank you for the informations.
ReplyDeleteCloud Computing Courses in Coimbatore
Cloud Computing Training in Coimbatore
Cloud Computing Courses
Cloud Training
Cloud Certification
Cloud Computing Certification
Thanks for sharing this great article! That is very interesting I love reading and I am always searching for informative articles like this.
ReplyDeleteSAS Training in Chennai
SAS Course in Chennai
SAS Training Institute in Chennai
clinical sas training in chennai
clinical sas training
SAS Training Center in Chennai
SAS Institute in Chennai
This post is much helpful for us. This is really very massive value to all the readers and it will be the only reason for the post to get popular with great authority.
ReplyDeleteSelenium Training in Chennai
Selenium Course in Chennai
Angularjs Training in Chennai
AWS Training in Chennai
Big Data Analytics Courses in Chennai
Blue Prism Training in Chennai
CCNA Course in Chennai
Selenium Training in OMR
Pretty blog, so many ideas in a single site, thanks for the informative article, keep updating more article.
ReplyDeleteDigital Marketing Course in Chennai
Digital Marketing Courses in Bangalore
digital marketing training in marathahalli
Digital Marketing Course in Coimbatore
Digital Marketing Course in Madurai
digital marketing training in btm
Pretty blog, so many ideas in a single site, thanks for the informative article, keep updating more article.
ReplyDeleteJAVA Training in Chennai
JAVA Course in Chennai
Java Training Institute in Chennai
Best JAVA Training Institute in Chennai
Java Classes in Chennai
Pretty blog, so many ideas in a single site, thanks for the informative article, keep updating more article.
ReplyDeleteJava Institutes in Bangalore
java training in btm
Java Training in Bangalore
Java Course in Bangalore
Java Training in Coimbatore
Java Course in Coimbatore
Java Course in Madurai
Java Training in Madurai
Thanks for sharing such a nice info.I hope you will share more information like this. please keep on sharing!
ReplyDeleteRPA Training in Bangalore
RPA Course in Bangalore
Best RPA Training in Bangalore
RPA Training in Marathahalli
RPA Training in Coimbatore
RPA Training in Btm
Thanks for sharing such a nice info.I hope you will share more information like this. please keep on sharing!
ReplyDeleteRPA Training in Chennai
RPA course in Chennai
Robotics Process Automation Training in Chennai
RPA Training Institute in Chennai
RPA Classes in Chennai
ReplyDeleteYou have provided a nice article, Thank you very much for this one. And I hope this will be useful for many people. And I am waiting for your next post keep on updating these kinds of knowledgeable things
Android Training in Chennai
Android Course in Chennai
App Development Course in Chennai
Android Development Course in Chennai
Android App Development Course in Chennai
You have provided a nice article, Thank you very much for this one. And I hope this will be useful for many people. And I am waiting for your next post keep on updating these kinds of knowledgeable things
ReplyDeleteAndroid Training Institutes in Bangalore
Android Training in Bangalore
Android Course in Bangalore
Android Training in Coimbatore
Android Course in Coimbatore
Android Training in Madurai
Second Innings Home is the first and only premium home & health care service in India. Second Innings Home proposed across the nation features a beautiful campus ideally located in a well-maintained gated community in the format of a Star Hotel with luxurious amenities. It’s convenient to enjoy the privacy and to be near the city and nearby facilities. And yet it retains a sense of community spirit and the warmth of a small community. best retirement homes in Hyderabad
ReplyDeleteKloudWIFI truly believes that reliable, fast networks have been the game changers in driving innovation, productivity and instant collaboration supported by the relentless growth of convenient cloud-hosted applications. Even with a powerful, proven network infrastructure like Cisco Meraki and Ekahau, the end user experience can only be truly optimized by considering all the internal and external factors to the end user experiences. wireless lan solutions partner in Hyderabad
ReplyDeleteBest Fashion Photographer in India Best Photography institute in india
ReplyDeletepython course in coimbatore
ReplyDeletejava course in coimbatore
python training in coimbatore
java training in coimbatore
php course in coimbatore
php training in coimbatore
android course in coimbatore
android training in coimbatore
datascience course in coimbatore
datascience training in coimbatore
ethical hacking course in coimbatore
ethical hacking training in coimbatore
artificial intelligence course in coimbatore
artificial intelligence training in coimbatore
digital marketing course in coimbatore
digital marketing training in coimbatore
embedded system course in coimbatore
embeddedsystem training in coimbatore
python course in coimbatore
ReplyDeletepython training in coimbatore
java course in coimbatore
java training in coimbatore
android course in coimbatore
android training in coimbatore
php course in coimbatore
php training in coimbatore
digital marketing course in coimbatore
digital marketing training in coimbatore
software testing course in coimbatore
software testing training in coimbatore
Global Interscope is the best swimming pools designing in Hyderabad where the you can get all the facilities to improve better. Swimming pool manufacturer in Hyderabad, Execution, Equipment Supplies, Services and Lifestyle Products.
ReplyDeletepython course in coimbatore
ReplyDeletejava course in coimbatore
python training in coimbatore
java training in coimbatore
php course in coimbatore
php training in coimbatore
android course in coimbatore
android training in coimbatore
datascience course in coimbatore
datascience training in coimbatore
ethical hacking course in coimbatore
ethical hacking training in coimbatore
artificial intelligence course in coimbatore
artificial intelligence training in coimbatore
digital marketing course in coimbatore
digital marketing training in coimbatore
embedded system course in coimbatore
embeddedsystem training in coimbatore
python course in coimbatore
ReplyDeletepython training in coimbatore
java course in coimbatore
java training in coimbatore
android course in coimbatore
android training in coimbatore
php course in coimbatore
php training in coimbatore
digital marketing course in coimbatore
digital marketing training in coimbatore
software testing course in coimbatore
software testing training in coimbatore
python course in coimbatore
ReplyDeletepython training in coimbatore
java course in coimbatore
java training in coimbatore
android course in coimbatore
android training in coimbatore
php course in coimbatore
php training in coimbatore
digital marketing course in coimbatore
digital marketing training in coimbatore
software testing course in coimbatore
software testing training in coimbatore
Thank you so much as you have been willing to share information with us. We will forever admire all you have done here because you have made my work as easy as ABC. agen judi bola terbaik
ReplyDeleteGreat job! I would like to say that this is a well-written article as we are seen here. This article is very useful and I got so much information about testing. Thanks for sharing this article here. microsoft office 2019 for home UK
ReplyDeleteThanks for sharing this interesting and educative information. I think many writers will find your contribution very helpful, I have equally learnt something from it.
ReplyDeletesoftware testing training centers in chennai
This really is my first time i visit here. I discovered so many entertaining stuff in your blog, especially its discussion. From a great deal of comments in your articles, I guess I am not alone having all of the leisure here! Maintain the superb work. It is very useful who is looking for top software testing companies
ReplyDelete