Dinakar
All right uh to everybody out there who's listening to us uh thank you so much for joining in for the webinar we are so
Dinakar
Sorry about uh the glitch that we were not able to you're not able to hear the speaker so well uh just wanna welcome you
Dinakar
To the second uh you know second webinar on the change leader series uh here we have the series is all about identifying change leaders
Dinakar
Who've been there done that and today we have nishant goel who is you know an expert in api testing and on automation uh so
Dinakar
He will be speaking about simplifying api testing and automation so uh you know we're we're so happy to have nishant well in amongst our
Dinakar
Myths uh he carries six plus years of experience and you know he's a proud proud youtuber who's also doing uh fundu testers as a
Dinakar
Side hustle so over to nishant uh thank you so much for you know accepting our invite and being able to come and join us
Nishant
Over to you nishanth thank you thank you everyone uh welcome everyone for joining here so today i'm going to speak on api testing via
Nishant
Today's agenda is a what is api testing why we have to do the api testing how we can approach api testing what can be
Nishant
The plan of api testing what can be the difference between the mobile web versus api testing
Nishant
Further we are going to um discuss few myths or mistake that day to day we are doing and later on tips and collaboration
Nishant
So let's start with the basic thing what is a api so whenever we are going to any restaurant so here in this slide you
Nishant
Can see one is on one side is a cooking area or another side is a dining area so whenever we are going to the
Nishant
Restaurant we are not directly going to the dining area and we can place the order there will be one mediator which is called as
Nishant
A we can refer as a waiter so we are basically we are going to the waiter
Nishant
We can say hi sir i want to i would i would like to have this so waiter is basically go to dining area with
Nishant
Our order and he will come back with the food so like this these things happen similarly in a software industry we have a front
Nishant
End and we have a bacon so whenever we have to do some operation basically request will go to the backend in a form of
Nishant
A api and we will get a uh response from the backend so uh bacon will process the data it will validate the data whatever
Nishant
Data we have asked from the front-end they can will validate the data in respective format we will receive the response in a front-end and
Nishant
Front-end also proceed the data it will uh display data in appropriate format like a tabular view or some appropriate content and this is the
Nishant
In general flow of api testing we we request something from the front end it will go to the backend and we will receive again
Nishant
The response but the thing is nowadays we are consuming apis unknowingly
Nishant
We are using so many applications like instagram facebook linkedin
Nishant
And by the time we are consuming loads of api so how we are going to how we are unknowingly consuming the apis
Nishant
So for example let's say we are going to a instagram where we are going to upload the photos so first will be we are
Nishant
Going to upload the photo later on let's say i have to change some caption over hashtags
Nishant
So i'm uploading i'm again editing the photo i'm changing the caption after after a while if someone is liking or someone has commented so
Nishant
As a human nature we again go to the instagram profile and maybe we will check how many people has liked how many people has
Nishant
Commented on it and if no one has liked then we are going to delete the photos so this is how unknowingly we have consumed
Nishant
The apis first one is a post api put api third one is a get api and last one is a delete api so unknowingly
Nishant
We have performed the card operation in real-time world also if there are no apis we are using any applications we are doing this operation
Nishant
If we are going to the bank also bank also we are going to create a bank account can be referred as a post call
Nishant
Later on we are updating the profile we are providing the details we are providing the documents that we can refer as a put call
Nishant
We are updating the data later on we have made some transaction we are printing our passport we are checking a transaction history so that
Nishant
We can refer as a get account and lastly if we are moving to the another bank and we are deleting the bank account then
Nishant
We can say we have delete we have performed a delete operation so entire software industry exists based on the card operation we have to
Nishant
Think in a mindset of a card operation whatever we are doing we are unknowingly performing a card operation but this concept is looks easy
Nishant
In listening or watching or understanding but in real world how it works how we can perform api testing how we can work on api
Nishant
Testing but before moving forward if we are doing something then there should be some purpose so first we have to understand what is the
Nishant
Purpose behind api testing why i have to do the api testing and why i have to learn the api testing
Nishant
So if someone is building a application some company has started building some applications so definitely they are going to start with the backend if
Nishant
They they are going to build a bacon then there should be some testing team and testing is going a testing team is going to
Nishant
Test apis a similar way if you are working on a ui or if you are working on a mobile application or web application along
Nishant
With vr nowadays we are testing apis as well why we have to test apis to do the in-depth validation or there are some flow
Nishant
That practically as an end user manually we are performing but if we are going to do the automator while using programming language it can
Nishant
Be difficult to deal with that somehow we have to go with the aps for example let's say i'm sending few sending money from google
Nishant
Play to my friend and i have to replicate same flow using the automation so it will be difficult using the api more real-time devices
Nishant
I am going to perform some transaction on a mobile and b device i have to validate so taking care of two devices can be
Nishant
Difficult or little bit challenging so instead of what can be done as a first device as a center device i can use a relay
Nishant
Real device or for receiver i can use a apis so i can perform a transaction i can do all the validations i can do
Nishant
The testing with the help of real devices and apis for in-depth validation if you are going to going for a manual test of personal
Nishant
Tests also we can protect the data whatever test we have performed those are uh concrete or not that's why we have to learn api
Nishant
Testing and we have to perform the api testing now the question is what can be the path of api testing how can i start
Nishant
Learning api testing so first step will be always a boring step we have to go with the theory we have to understand concept what
Nishant
Is a get api what is a post api what is a http request code we have to sometimes even we have to mug up
Nishant
The concept we have to learn the characteristic of a get api if i am going to perform a get api how i am going to
Nishant
Build the api this all things we have to do if later on we can move to the postman now i have a apis get
Nishant
Api and post api i want to execute the gate api using the post then how can i do it where can i select the
Nishant
Gate method how can i pass a parameter what can be the type of parameter is it a path parameter or query parameter or with
Nishant
The gate api body is needed or not so these things we have to do once we are comfortable with the basic operations then we
Nishant
Can say we are we know basic things about the api later on we can simply move to the automation part we can the same
Nishant
Thing whatever apis we have executing using the postman the same thing we can do using any programming language there are certain library along with
Nishant
The certain programming language if i'm going with the java then i have to use rest seo or jersey or http client but if i'm
Nishant
Going with the python then i have to use some certain library so according to the tech skill only we have to choose the libraries
Nishant
Or programming language we cannot learn everything my area is a java then i cannot learn why how it is working with the java or
Nishant
Sorry python or how it is working with the javascript so we have to again focus with the core technical skill as well and last
Nishant
If everything is done then later on we can convert into a framework
Nishant
Now i'll give you uh some example code walkthrough so i'm going to a spring sts where i have a i have developed a few
Nishant
Apis and this is the basic uh application uh there are simply four class one and first one is a topic class there i have
Nishant
Defined what are the fields will be there for each and every topic topic is basically a course uh for example selenium ports or postman
Nishant
Course or uh some other tutorial so basically it will be id name and description and along with the controller i have developed the five
Nishant
Different apis so one is a get all topics api get particular topic api or some post or put apis are there so here we
Nishant
Can see there are five different apis i have developed so let me start the application uh first of all why i am going to
Nishant
Showcase the api development to learn api testing because i want to convey a message that api development itself it is not difficult
Nishant
So api testing shouldn't be a difficult here i have developed five different api and if i'm going to the postman so first one is
Nishant
A gateway topic api and here i can see this is the base uri up to localhost 8080 and topics is my endpoint so here
Nishant
Same thing i have made with the code topics is a endpoint for a single get api if i want to get a single data
Nishant
Then i have to pass the id as a path parameter
Nishant
So the same thing i have built with the single i this is the topics and selenium is a id so if i execute the
Nishant
Topics api i will get a data so this is the data there are five different courses sorry for four courses selenium postman software testing
Nishant
And restriction and course name i have made as a id so if i'm going to use the single value then i'm getting a selenium
Nishant
So now i will get a response as a selenium detail only now i want to add a topic so how we are going to
Nishant
Edit ob based on a particular value and i have for development for a gate request no need to specify the method uh spring boot
Nishant
By default it consider if there is a no request method then it will be by default get method yes we have to provide request
Nishant
Method or post or put or delete so for post uh path endpoint is a topic for put endpoint is a less topic slash id
Nishant
Based on the particular id we are updating the data for example i want to update selenium this object only name is a complete selenium
Nishant
Force i want to update it or something so based on the id we are going to update similar way for a delete also based
Nishant
On id we are going to perform a delete operation so here also same thing will be there so let me perform a post operation
Nishant
And i am going to add one value one course which is a j meter so if i hit the request i will get a
Nishant
Status as a 200 okay and if i again hit the get all topics so there should be j meter code should be there so
Nishant
Geometer is added now i want to update for example i want to update the selenium course so i am going to update api and
Nishant
Again with the post input api there should be a body if you i'm hitting a delete api or gate api there shouldn't be a
Nishant
Body there will be a path parameter so query parameters so now i'm updating a name as a updated selenium course earlier it is a
Nishant
Complete silicon imports so once i hit the put api i will receive a response and say 200 okay and now again i am going
Nishant
To get all topics so now you can see name has been updated now it is a updated selenium post the same thing if i'm
Nishant
Going to performance delete operation and i'm deleting some data
Nishant
So selenium should get deleted now if i'm going to add again get all topics api so now we cannot see selenium here so how
Nishant
What is the logic behind that if we are going to learn anything we should have some eagerness to learn how things are working so
Nishant
Here i have note i'm not going to do any rocket science this all are basic stuff this syntax are coming from a spring boot
Nishant
Request mapping like a test ng we have one notation the same they have basic annotations and these parameters everything is coming from a restriction
Nishant
And here also i with this i just created a basic method so what i am doing basically my logic is here this is i
Nishant
Have created a static list where i have defined four different value now if i'm performing gate operation so ideally i have stored data in
Nishant
A one table or one list or one map so what i have to do basically i have to consume i have to get all
Nishant
The data so i am just using all this object and i will get as a response code now i am going to do the
Nishant
Get single value how we are going to do from the list lets say for example from the list i need to get one particular
Nishant
Element so i have to pass that particular element id and
Nishant
I will get appropriate value so i have written the one simply getting data from the list if i'm going to add one value so
Nishant
I have created a list now i have to add one value so what i have to do simply list dotted the same thing i
Nishant
Am passing i have created one topic object in topic object this data will be there and along with this list i am just simply
Nishant
Adding the object and if i have to update the list then what i have to do simply i have to iterate through array and
Nishant
I can get appropriate data the same thing for example let's say i have to automate the things so
Nishant
This also coming with basic syntax this is the rest ratio i have done with the java interest with help of rest issue so initially
Nishant
What i have to do i have to just set a base uri so i am just giving the base url which is a localhost
Nishant
8080 there are three parts http oh sorry registration is working on a uh behavior driven framework like a bdd so there is a given
Nishant
When and then flow so in given part we are passing a base uri later on event so in when part if it is a
Nishant
Gate request then what will be the characteristics of the gate request we have to pass headers and parameters if it is a post request
Nishant
Then we have to pass a along with the post request we have to pass body along with the headers if it is a put
Nishant
Request we have to pass headers and body so it looks simple first part we are just setting up the base uri second part based
Nishant
On the characteristics we are passing the data header or body or headers or params and at the last part which is a get part
Nishant
Gate part what we have to do we are just specifying the method name if it is a get request then we have to pass
Nishant
Get if it is a post request we have to pass a post similar way for put and delete and in bracket we have to
Nishant
Pass the endpoint so like this we can execute any apis or any we can trigger any uh http request using the rest received in
Nishant
Java but here our job is not done this is just basic if we reach here we can say we have just covered a 10
Nishant
Percenter still 90 percentage remaining so what part is remaining
Nishant
There mistakes and myths come into a picture most of the things what happened some many times testers or developers are going to start building
Nishant
A new thing so start learning new things at some point of time they will assume that we have learned everything now i am able
Nishant
To take a new challenges but there are many parties left so at some after some point of time we cannot say i have learned
Nishant
Everything still you have to explore and learn from so many areas you whatever you we have learned we have to implement in real time
Nishant
Process as well there are lots of people are saying why we need to test api we are testing ap applications so this question i
Nishant
Have answered we are working on nowadays we are working on a very complex application if we go to the one ticket uh there was
Nishant
Very easy application just like a form filling or ticket booking or basic banking systems over there but nowadays we are dealing with so many
Nishant
Complicated apis we have implemented ml machine learning algorithm there are so many algorithms are running behind the application there are lots of data we
Nishant
Reach to the big data we are dealing with so many advanced algorithms so that's why to fulfill that we have to test apis because
Nishant
From the ui we can see ui is very small but bacon will be huge so we cannot just test entire application from the ui
Nishant
Itself we have to go to the one layer down two layer down multiple layer down we have to test api we have to test
Nishant
Database everything we need to test and there can be another assume or mix can be there api testing is easy or api testing can
Nishant
Be hard or i'm not interested into api testing i am well i know very well mobile automation or web automation or web application testing
Nishant
So we can not compare apis with the ui or api with other another platform because everyone
Nishant
Has their own exact existing and their own purpose but there is a purpose then only we are going to test the api
Nishant
And it depends on the product if it's the complex product then api also should be a complex if it is a easy product then
Nishant
Api also should be a easy so we cannot compare like this
Nishant
Now the question is i know what is api testing i can write a few api tests but i don't know what to test
Nishant
So the first question will be what can what is a problem statement according to the problem statement only we can perform a testing whether
Nishant
It can be api or it can be a ui what is a problem what is a product which domain we are working on if
Nishant
It for every aps it will be assigned then few companies will create automation framework and it will sell they will sell to the every
Nishant
Company so they are no one is going to build a new framework they just consume the inbuilt framework and start implementing uh their own
Nishant
Test cases it is not like that we have to first we need to understand the problem statement what is a problem statement recently we
Nishant
Have deal with uh in my previous project we are moving from uh legacy to microservices architecture
Nishant
And uh i was working on a huge product where in qa only we have seven to end environment they have different numbers of environment
Nishant
We have stage environment multiple we have production environment and for each and every country there so there are different uh servers there it is
Nishant
Pointing to so the problem statement was uh during that time we have to test apis and uh there are two multiple servers pointing to
Nishant
The same database so for example environment one and environment two both are pointing to the database one so how we are going to test
Nishant
Because database was too too huge if we are going to hit any gate api so response code was like a 500 line so for
Nishant
Json data or 1000 line of json data so what we did we
Nishant
We are triggering a request from the environment one we are receiving some data we are triggering requests from environment 2 we are receiving some
Nishant
Data and we are comparing if you know both the data both the json data are same or not if some data is missing on
Nishant
Environment one then we are making some list if some data is missing on environment two then we are making some list and if uh
Nishant
Data is both the environment is key but values are different then it is about if i'm uh updating something on environment two then environment
Nishant
One also it should get reflected so this all kind of test we have performed apart from we have to do the validations we can
Nishant
Perform extensive validation from the ui uh sorry from the api instead of a ui and if we do the extensive validation from the api
Nishant
Maintenance will be less compared to the ui why because
Nishant
Let me go to the some application for example let me go to the facebook
Nishant
So here we can see i am going to the create new account flow so there should be sign of api should be there but
Nishant
In ui also i can see the sign up there is a first name surname mobile number and
Nishant
So many fields are here now if i automate sign up flow with the multiple sets of the data multiple validations i have to again
Nishant
Every time i have to come to the ui i have to write a xbox for this element and there can be chance of multiple
Nishant
Failures from the ui side but what if i'm going to automate from the uh api side how can i do it there will be
Nishant
Some simple json request and there i have to just manipulate the data so for example let's say i'm going to uh
Nishant
I'm going to sign up api so like that we can build a json object like a first name whatever data we are going to
Nishant
Pass we have to just write those data a similar way we have to just write a last name
Nishant
And we have to pass the names and so on there will be multiple fields now if i'm going to update for a ui
Nishant
So ui i have to again i have to inspect this element i have to send the data but instead of this i am doing
Nishant
Extensive validation on the api side i just need to just update the string value here and object will be similar i am not going
Nishant
To deal with the x path or ui interaction so there are less chance of a failure if
Nishant
If we are going to the api testing api extensive validation it will be easy compared to the ui all testing and we can perform
Nishant
Extensive testing here and for a ui site we can just do with the basic regression test or acceptance testing
Nishant
And data integration we can do for example let's say we are using uh some third-party applications like uh i'm working on an e-commerce platform
Nishant
For a payment gateway i have to deal with uh some bank sdks credit card debit card net banking or some upi payment so we
Nishant
Are integrating with the multiple platform there i need to check i am sending a sufficient data or not i'm not check sending extra data
Nishant
For example upi sdk is expecting few sets of data like a name basic details amount details so i'm passing appropriate data or not and
Nishant
What is the acknowledgement i'm receiving so those all things we have to test and we can make an end-to-end scenarios
Nishant
With the api for example i'm going to a flipkart i'm performing some search operation then search api should be there later on i have
Nishant
To add some product to the cart so eight cart api should be there where i have to pass the product id later on i
Nishant
Have probably the quantity then update quantity api should be there later on i'm making a payment or add address so aid address api should
Nishant
Be there so like this we have to create a flow in a mind and we have to perform the operation so this that's why
Nishant
I can say api testing is a mind game because in ui whatever things we are going let's say i'm going to a flipkart here
Nishant
And we are performing some operations the ui it is we are getting a ready made flow i have to search a mobile phone so
Nishant
I just need to enter the values and i will get the things but if we are going to perform a api testing there is
Nishant
A search api i have to add headers i have to add a body if or i have to add a path parameter if it
Nishant
Is a gate request then first i have to make a flow in my mind like it first will be a get api only and
Nishant
It is a search api later on and product api should be there so there should be i from the search result i need to
Nishant
Get a particular product id and based on this product id i can i have to hit 8 to cart product and i have to
Nishant
Pass this id so again this is the second floor so ui i am getting a ready made flow but api i have to create
Nishant
The flow what can be the flow so that's why it ta testing is a little bit tricky but you know once we are going
Nishant
To start api testing it will be easy it should be easy
Nishant
And once we have complete understanding of api what are the things we are going to test how we are going to test what can
Nishant
Be the flow then final thing will be framework how we are going to deal with the framework so based on i as i said
Nishant
Based on the problem statement we have to create a framework so nowadays we are dealing with the complex things that framework can be a
Nishant
Complex so we have to deal with which data we are going to use exa as a test data management we are storing it to
Nishant
Xml file json file xml file if data is going to updated by a expert or testing or testers or developer teams who know the
Nishant
Coding then we can go with the json log it's it is easy to update and it is a lightweight we can easily read and
Nishant
Write the things but if someone like a known technical team or project manager so who is who is not familiar with the test automation
Nishant
Framework and he has to update the data in that case we can go with the excel file so this comes with the experience which
Nishant
Files how we are going to manage the things later on we are going to deal with so many utilities we are getting the data
Nishant
Uh we have five file android handlers we are reading data from the databases we so there are so many utilities apart from traceability
Nishant
So what what can we refer as a traceability for example let's say there are five micro services i have to create a one suite
Nishant
As a regression speed one as a smoke and i how to execute partial suite like for example complete smoke testing and few tests from
Nishant
The regression so how we are making the test how we are grouping the test even nowadays along with so many tools and technologies we
Nishant
Can execute tests from the multiple places like a local execution we can execute on the docker we can execute on the bitbucket even though
Nishant
We can execute from the test management tool like a jira we have integrated with the x-ray so directly from the external so we can
Nishant
Execute the test so we have to make sure that how x-rays are consuming the data how x-ray is passing data to the framework what
Nishant
Type of data integration happens so based on that we have to think we have to create a architecture of a test automation framework and
Nishant
This architecture is a node for today we are building in present but we are building for a future why i am saying we are
Nishant
Building for a future for example we all are using a zomato application few years back pro membership functionality was not there but later on
Nishant
They have implemented uh pro membership functionality now if we have to automate the pro membership functionality everywhere after adding product to the cart we
Nishant
We are going to apply the coupon or it is going to check that the user is pro membership or not so there can be
Nishant
Architectural changes so to minimize that we have to make sure that we are going to use uh right principle
Nishant
We have implemented framework correctly we are using the appropriate uh oops concept or design concept because in future if we have to implement or
Nishant
If we have to change something there will be minimal minimum changes it shouldn't be a vast changes for a small thing small changes shouldn't
Nishant
Be a huge code level changes so we have to take care all these things and test reporting also nowadays is a very crucial part
Nishant
We cannot just real uh rely on a lu report or extent report recently we have created a team template based on the html on
Nishant
Css and for that we need to take a help from the development team as well and we have sold here one problem as well
Nishant
Initially what we used to do we used to send a report in a mail for example there are 108 receivers who will receive a
Nishant
Html template in a mail and they will just download and open them in a browser but later on what we have faced the problem
Nishant
Is report size was around 8 mb 5 mb because we used to execute more than 500 tests so every time uh it is going
Nishant
To create a junk data on a mailbox and mail memory was increasing on daily basis every day it is consuming 50 mb 60 mb
Nishant
17 mb to overcome this problem what we did we have hosted our test report html template into aws cloud and we instead of just
Nishant
Giving html template we are just giving a url of that particular s3 bucket uh report template so just need to click and begin it
Nishant
Will open on a browser and later on after a few days we are just clearing data from my s3 bucket so like this if
Nishant
We are moving ahead with the new technology new problem will come and we have to think on a new problem how we are going
Nishant
To solve the new problem and there are some more tips whenever we are going to start something we are going to learn and learn
Nishant
Something we are learning for a future we are not learning for it today so we have to take a decision on a step by
Nishant
Step we have to learn step by step for example let's say
Nishant
We have seen like uh whenever we are intense or we have started working on any technology or during the first job hr used to
Nishant
Ask a question what where you want to see yourself after 5 years by the time we have created a meme what is a useless
Nishant
Question there is no value after 5 years wherever i wanted to go i will go no but it was a very technical and tricky
Nishant
Question as a individual or as a learner or as a software engineer we have to predict our future where we are wanted to see
Nishant
Ourselves after the five five years or after seven years because what happens if we are not sticking with the technology we thinks i am
Nishant
Going to learn a python but after two years i lose interest on a python and i start working on a javascript later on i
Nishant
Start working on a java so i will spend around six to seven years and i took two years like i worked on java two
Nishant
Years i worked on mobile automation two years i've worked on a web application testing i have spent eight years but i am not an
Nishant
Expert in any field and if someone is going to hire eight years experienced guy who who should have a concrete api testing experience or
Nishant
Concrete ui testing experience are you able to eligible i don't think so because at that particular time at that level of experience you should
Nishant
Be able to add value to the product for let's say they have already created a framework everything in in place but execution time is
Nishant
A five hours and they want to reduce as a challenge they want to reduce from five hours to three hours so if you don't
Nishant
Have concrete knowledge or expertise in particular area i don't think so anyone can reduce the uh execution time from five hours to three hours
Nishant
So it comes with the experience and expertise that's why we have to make a goal what will be the future we should not compromise
Nishant
With the technology we can compromise with the salary somehow
Nishant
We have to make a habit of learning every day some how we have to consume informative content it can be from a social media
Nishant
Like a twitter or linkedin from can be anywhere we can read some like a cheat check during project that we can go with some
Nishant
Micro blogs nowadays so many people are writing a threads on a linkedin can be informative or whenever we we think so i have to
Nishant
Watch a tv before watching we can go to our youtube and we can watch some one or two videos we have to make a
Nishant
Habit of learning it is a continuous effort we cannot learn anything in a day or a month we have to learn from a developer
Nishant
Or we have to learn from surrounded people like it can be a business guy it can be a product manager or it can be
Nishant
Anyone devops or anyone why we need to learn we have to understand their perspective how particular person is looking a product how he is
Nishant
Going to add a value or what is a working style for example let's say i am sitting next to the developer and he is debugging
Nishant
Some issue some production issue or some other issues so by the time i cannot just uh chat with my friends like if i have
Nishant
Some time and i'm sitting next to the developer i i can learn how he is going to debuff because he is not going to
Nishant
Teach me i can few things we can learn unconsciously
Nishant
We can learn by seeing and we have to simplify the problems whatever the problems we are dealing with we have to simplify problems everything
Nishant
Can be easy and everything can be hard it depends on the perspective and we have to add some spice for example if we are
Nishant
The first time we are executing web automation test using the selenium it looks good we are writing some lines of the code and it
Nishant
Is opening the browser and it is going to the facebook it looks pretty awesome but we are working on a programming language let's say
Nishant
With oops concept it is pretty boring too much boring things even kids will get bored and experience will get bored so how we can
Nishant
Make more interesting for example instead of writing just inheritance or encapsulation code we are curated a parent class and child class and now i
Nishant
Am able to pull the present class in child class it should be boring so how we can add some spice we can consider as
Nishant
A application for example let's say we can create as a banking application there will be some field like each and every user has a
Nishant
Name telephone number initial bank amount so we can create a pojo complexity uh pause of my class we can implement using the encapsulation there
Nishant
Will be some getters and sectors on top of that we can create some constructor there will be some inheritance and we have to use
Nishant
Some mechanism of the withdrawal and deposit functioning with basic code it will look a little interesting and it will
Nishant
It will help to understand and it will help to do the more learning we can continue with this we can do the continuous learning
Nishant
And last if we are going to the work on api so for api testing critical part is a json we have to day by
Nishant
Day we have to learn how we can play around with the json how we can write how we can read how we can deal
Nishant
With the complexes or nested json dynamic json if we have a grip on a json many we know how to manipulate the json then
Nishant
Api testing will be definitely easy at last we have to focus on our testing and development principles because nowadays development as well as the
Nishant
Testing is a little bit tricky and complex so we have to focus on a coding part we have to focus on a core testing
Nishant
Principles skills we should have a product knowledge we should know if we are testing on a particular application or as a tester or as
Nishant
A developer or as a designer or whatever if you are working on a particular application we should know which area application is generator revenue
Nishant
For example let's take example of instagram it is a free anyone can open a instagram account and anyone can upload the photo and anyone
Nishant
Can view the host the rails but it how instagram is generating the revenue we have to think on that they raises some revenue stream
Nishant
Which is a aid using the aid of promotion they are going to generate the revenue so we have to concentrate how things are working
Nishant
How product are working what is the user mindset how user is going to use the product
Nishant
Because we are testing in some way he is the user is an end user he is working on some another way so will be
Nishant
A conflict so we have to understand as a technical person as well as the as an end user like example if it is a
Nishant
Wallet application initially we have started using a phone pay google pay paytm phone pay comes with the discount phone pay used to provide a
Nishant
Case back that's why we have started using the phone pair uh sorry google play but nowadays we still we are using a google play
Nishant
Or still we are using a phone they are not giving a case back nowadays but period of the time they have build a trust
Nishant
On a user now user now if i'm doing some transaction of 50 000 rupees or one lakh rupees my amount is safe
Nishant
So that's why they are solving a problem and they are building a trust between the user and product so this is how business works
Nishant
If it is a youtube youtube is for entertainment purpose but they are generating revenue from the eggs for for example it's a beauty product
Nishant
We all know that if i am going to apply some uh fair and cream it is not going to change one of my face
Nishant
It will be if it is a change then will be a so very short amount of time but still we are using a beauty
Nishant
Product it is a manipulative industry if we are going to uh talk about the starbucks or kfc it is going to build a king
Nishant
Size image we used to say murder cigarette pitta [Music] it will give some glossy image so that's why we used to smoke we used
Nishant
To eat the chicken because we think like it will uh give a better health
Nishant
So how companies are selling their product that we have to understand how companies generating a revenue that we have to understand and it'll last
Nishant
I would say we have to move from a should be to can be mindset why because
Nishant
We all are thinking like if we are writing as a tester we are writing a test case after entering a valid any valid user
Nishant
Name and password user should be navigated to a home screen it is a truth it should be but we have to think as it
Nishant
Can be if i'm doing some ex operation why thing can be happen or anything can be happening or something can be happen the best
Nishant
Example of a can be thinker is a trader who invest in a stock market they predict future it doesn't mean they have to be
Nishant
True every time but they somehow they are predicting and they are making the money another technical example is a hacker record does not have
Nishant
A database access api access but still they are getting into your application where tester and developer can not be they are finding some loopholes
Nishant
And they are stealing the data other side testers and developer has every every access they know the admin credentials they have code access but
Nishant
Still they are not able to find a loopholes because we are stick with this should be mindset we have to broader our mindset
Nishant
And at last takeaways are we have to define our goals along with the goals we have to learn from others we have to collaborate
Nishant
Collaborate with respective team members we have to think how we are going to add value to the product it can be a by uh
Nishant
Our suggestions it can be a code or it can be our balls it can be anything we have to come we have to come
Nishant
Up with a broader mindset we cannot stick to the one particular thing and if we do so then definitely our value should be boosted
Nishant
And at end of the day development and testing activity both will be tested
Nishant
I hope everyone you have enjoyed this session i am open for a q a
Nishant
Guys feel free to ask any questions you can pass it to a question section or a chat section you can share your questions if
Nishant
You have any doubts i would like to add one thing whenever i am teaching aps on a youtube even i have few students they
Nishant
All are coming to me i know the basic thing but still i am not able to proceed further
Nishant
The main thing is they are not able to deal with the complex thing they don't they have started working on aps but they don't
Nishant
Know what is a json how to play with suggestion i have received one more question how to how api testing can impact roi
Nishant
Can you elaborate roi hello so how api testing can impact on a roi
Nishant
So for example if i'm uh i'm able to understand the cost of impacting api testing it is a lesser than compared to the ui
Nishant
Testing and maintenance was it is also low so we can add so many tests along with the apis and changes will be low and
Nishant
In a very short time we can perform so many ui api testing compared to the ui testing so investments should be definitely low compared
Nishant
To the ui testing and we have to maintenance course will be very very low is as for my understanding and my experience there there
Nishant
Is very minimal maintenance for api test if there are no question i'm handing over to you dinakar you can take it forward
Dinakar
All right all right we're just going to wait for a few more seconds before we close the q a session and we'll draw this
Dinakar
Presentation to a close so if you do have any questions do uh you know leave a message on your chat box or with the
Dinakar
Question section we'll just give it a few more seconds
Nishant
Level of authentication for example let's say i have a i'm receiving otp and i have to enter the password or like that so there
Nishant
Are uh nowadays google is coming with the it at the time they are providing some otp so this cannot be deal with the particular
Nishant
Thing so we have to go with the static flow here if you are running with the captcha or multiple level of the authentication by
Nishant
The time we have to go with the static things or we can ask developer to create a data if we are if they are
Nishant
Receiving data from the database then they can create a small api we can consume that particular api and we can uh get the otp
Nishant
Or something but real time it is very tough to automate or perform
Nishant
Based on your experience which is the best tool for api testing so uh answer will be in a two perspective i would like to
Nishant
Give another first issue based on the openings or opportunities so nowadays many companies are working on a java or with rest result so and
Nishant
It is a faster uh in some sense so i would say uh we can go with the java plus rest ratio and but again
Nishant
If you are comfortable with your core thing is a let's say javascript or python then you have to look for that particular kind of
Nishant
A library just a sake of api testing you can uh know no one should switch the core things we have to stick with the
Nishant
First is a testing fundamental and programming fundamental if we know the java we have work on the java then we have to export technology
Nishant
Around the java if we have worked on a python for four years or five years then some person has to stick on python only
Nishant
If they feel he is an expert he knows all these things then only they can learn new technology and they can move with another
Nishant
Technology but in between they can no person or tester or developer cannot move from one technology to another technology it will be a problematic
Nishant
For a future another question i can see how can we
Nishant
Uh how we can have a hands-on experience on api automation if organization where we are working does not have a api or any dummy
Nishant
Api okay so yes this is the question from many people even i am getting from a linkedin or whatsapp groups i'm getting this question
Nishant
Uh this if you have apis on a organization well and good otherwise there are loads of plenty apis are available on uh internet uh
Nishant
There are a few apis like a weather apis or a few open source apis are there this will be very easy api you can
Nishant
Start with those api and later on uh there are some public say integration apis are available for example trello apis are there uh slack
Nishant
Apis are there jira apis are there so we once we are comfortable with basic load we can move to that particular jira api or
Nishant
Trello api they are coming with the appropriate documents how to use that api how to generate the token in real time how we can
Nishant
Integrate so later on we can practice using those apis it is free and anyone can use even though facebook also has an open login
Nishant
Api so that also at some level we can consume those apis
Nishant
[Laughter] one question is from uma it is it mandatory to have auto automation knowledge to perform api testing yeah at some sense i would
Nishant
Say it is a mandatory because nowadays uh technologies is grooming and it is going to a more and more complex many libraries and many
Nishant
Technologies are coming nowadays so that's why as a tester you we should know at least api
Nishant
If not automation then how we can at least we can validate the data if we have to check the data from the db or
Nishant
Sometimes we have to go to go for in-depth validation we should have a knowledge of api testing and it is easy there are only
Nishant
Four types of api get post put and delete with that we it is done for api testing so it is not difficult and uh
Nishant
It will definitely going to add advantages to the profile if you know the api testing
Nishant
One question from sandeep as per your experience which framework is better restationed or karate so i worked on a rest station day one i
Nishant
Have worked on a karate uh but what i feel the rest is more open we can integrate with as much as library and whatever
Nishant
The things we have to do we can manipulate all these things but karate is coming with some rules and regulations we have to follow
Nishant
Their documentation and another drawback of karate i can see is a karate owner is giving a answer on a stake overflow and community is
Nishant
Nowadays very limited so if uh in real time if we stuck somewhere we have to wait for his uh owner i guess he is
Nishant
From intuit so he's answering on stake overflow question so we have to wait until he is going to answer
Dinakar
Uh dinar i cannot see other questions all right well if there are no more questions then we'll call it a day because we're all
Dinakar
So uh way beyond our time so uh uh thank you thank you for sharing your valuable insight uh with some practical exams in the
Dinakar
Real world scenario nishant you know your presentation has covered a lot of practical pointers and provided us with you know experiential knowledge which we
Dinakar
Don't get outside uh and it's been a true honor it's it's truly an honor to be hearing from you so we want to thank
Dinakar
You and we also want to thank each one of our participants for joining us at our second webinar on the break free stage uh
Dinakar
We're sure nashan's insights on api testing has sparked a few ideas that you can take i can implement
Dinakar
We just you know and if you have any questions uh do uh do write to us or you can write you can follow nishant
Dinakar
On these handles on his instagram handles and write to him as well so uh but do feel free to reach out to uh the
Dinakar
Pcloudy team by writing to us uh you know at info cloudy dot com that's on a chat box that you will see so
Dinakar
If you do have any questions do pass them on and we'll try and answer them as soon as possible
Dinakar
Well thank you for being uh a wonderful audience and uh patient listening uh have a good day
Dinakar
Thank you nishant thank you for all your help thank you thank you cloudy team and thank you everyone for joining