Sunday, June 26, 2022

PerformanceTesting-May24-Importance& Prerequisites of PT, Application Architecture,2 Tier Vs 3 Tier

Greetings so yesterday uh so i i explained like covered what are the types of performance testing and we had some quick assessment on the graphs right explain some i have shown you some graphs and ask you to identify what graph that is that particular.

What type of test the graph represents right so today let's just let's understand what is the importance of performance testing and what are the prerequisites for performance testing and i want to cover if time permits i want to cover what is application.

Architecture as well okay so let's get started with importance of performance testing so we already discussed like previously uh like suppose if you are using any e-commerce application like flipkart or amazon right or any geo mark any other e-commerce application and you are trying to buy a product and you know.

Like if your response times are already for that matter any application any web application or a mobile app right if the response times are high right if the response times are high or once you you know you placed an order let's say and you are not getting an order.

Confirmation page as soon as you make the payment right so in that case like no that there will be a unhappy user experience if your response time is more than five seconds for web applications right so you know depends on the application applications by the way so it can be three seconds five seconds.

Depending on the application so if the response times are high obviously like most users move away to other websites or applications isn't it the user has some unhappy experience right user is unhappy with the website performance those users may be moving to other.

Websites yes or no even if it is a banking website so i want to give some example here so previously i used to use like access bank as many as my like uh salary account access bank right and i i face some issues with the website like whenever i do try to do some fun.

Transfer or whenever you know like i used to do some payment and all right so we of course these are like uh this is the story like two years back this is a two years old story so uh that net secure code access bank call that as a net secure code if someone is.

Using access bank anyone using access bank here guess net banking access bank net banking yeah right so they call it as that you know other other net banking sites so call it as odp and they call that as net secure code right so that secure code used to you know i used to receive very late on.

My mobile when i am using you know access bank so of course like right now there is lot of improvement so this is the as i said like this is a three or four year four year old story right so by the time i get the net secure code right so and i enter it right so my odp used to expire that netsecure code used.

To expand again i have to reinitiate the transaction so such kind of experience moves you you know makes you unhappy with the website and i i stopped using netbanking i switched my salary account to protect my bank after those that you know after that.

Issue in receiving the netsecure code late understood this and odp has an expiry pdf period of 30 seconds okay previously i don't know how it know how much it is now and by the time i enter the i receive the otp and enter it right it used to say that odp.

Has expired expected your code has expected right i could not i have to reinitiate the transactions on the beginning right so with such experience right so if your any application if user is unhappy with the performance right our user is unhappy with the response time of that application right so they will move it.

To some other website isn't it or some other application so due to pure poor web application performance right so it was estimated that there is a four to five billion dollar revenue loss for any business right there is you know as per an estimate.

There will be four to five billion dollar revenue loss due to poor web application performance and inadequate performance can adversely impact the revenue by up to 10 percent of the company revenue total company revenue if the application performance is not good.

Right it can impact the company's business any organization's revenue by 10 percent as per a research done by aberdeen okay aberdeen is a research organization and you know which studied uh the market and come up came up with these numbers that the revenue the overall revenue of the.

Business will be impacted by 10 right which is not a small number isn't it and business performance begins to suffer at five seconds of delay and web application response time and four seconds for critical applications right business performance begins to suffer at five seconds of.

Delay in web application response time and four seconds for critical applications right so and any any additional second of waiting of on a website significantly impacts the customer satisfaction and vista conversions any additional second of waiting on a website it will significantly impact the.

Customer satisfaction and visitor conversions clear case i think the all these are self-explanatory statements i need not explain like in detail isn't it so page viewers and conversion rate and customer satisfaction drops eleven seven and sixteen percent respectively.

If the performance of the application is not good right page viewers conversion rate conversion rate means so initially the first time user visits a website right so we can call him as a visitor and once he create an account for himself that you know we can call that.

That visitor converted into a into a user isn't it so that is conversion rate guys and customer satisfaction all these numbers drop by eleven seven and sixteen percent respectively so this is the importance of performance testing okay so i gave one example for that access.

Bank example so because of which good performance of their application right net banking application i closed my account with access bank and moved by moved my salary account to product right and once a business loses a customer right it's very difficult to get him back isn't it yeah yeah very very good.

Sorry hello yeah your voice now what is for doing performance testing let's understand what are the prerequisites for doing performance testing first and foremost prerequisite is a stable build with no major functional defects right.

If the application is not working for single user right there is no point in doing performance testing yes or no if the application is not working as per the functionality as per the requirements right functional requirements then there is no point in doing performance testing so we should have a stable build with no major.

Functional defects there can be some minor functional defects here and there you can exclude that uh that particular scenario but we should not be having any major functional defects or for doing performance testing right next important one is performance testing environment should be identical.

To production environment the the environment in which we are doing performance testing right we already discussed that what is that environment is right so that should be an identical to production environment environment okay so performance system testing.

Environment should be identical to production environment so then only we will get accurate results okay what do i mean to say like when identical to production means okay let me explain that suppose you know you know what is production.

Environment right everyone yes everyone knows what is production production environment right so suppose if your production environment has three web servers and four app servers and three database servers right so these are typical architecture.

Of any three-tier application these are typical three-tier application architecture when i say architecture what are the components how does the request flow that will be explained you know that will be represented in the architecture diagram right so let's assume that.

A production enviro environment has three web servers four app servers and three database instances servers are instances we can call that as an instance or a server right and your test environment also should be having similar configuration right exactly similar it means your test environment should be an exact replica.

Of production then only you will get accurate results isn't it yeah right yes so that's what i mean to say here like identical to production environments right and to ensure consistent results and there should not be any other testing.

Performance testing should be environment should be isolated from other environments and no one else should be using that such as you know your uat testing you should not be used for uit testing or development and so on right to ensure consistent results performance test environment should be.

Isolated from other environments there is such as uat or development and no other testing while doing performance test reservations no other testing should be done while doing performance test executions that is one more prerequisite and of course conduct performance system before.

The application goes on right so it's actually performance testing team who has to certify whether a build should go into production or not right so ideally performance testing team should certify whether you know whenever some new build is deployed or whenever some new code is developed.

Right so it's performance testing team who has to certify whether that that code or that new build should go into production or not and that is the reason why performance testing needs are paid at par with the developer stage remember this.

Even though we don't write much code right so we are paid at par with uh or sometimes more than developers because because of this reason is a performance testing team like who has to decide whether a new build or new feature should go into production or not clear this.

Yes yes but and next point is like comprehensive understanding and knowledge of the application yes so if you want to do proper performance testing we should have a comprehensive and complete understanding and knowledge of the application.

Right we should have a thorough knowledge of the application and what are the upstream systems and what are the downstream systems right we will discuss more on that what is multi-extreme and downstream system with some examples so these are the prerequisites for doing performance testing so important uh.

Integration space what are the prerequisites for doing performance testing right so these are the important common can you please come again that's my call with the manager that's why i didn't listen yeah okay which one you want uh that's one third one.

Third fourth fifth sixth i'll share the recording please go through there okay yeah please share my recording yesterday yesterday i already shared okay maybe yeah i already uploaded yesterday's session okay and uh you know if you subscribe to my youtube channel you would have got a.

Notification and turned on all notifications so that you will get whenever i upload the video right you will get a notification yeah yeah okay so uh you know like just by subscribing you will not get all the notifications right you have to turn on all notifications right please do that and then you will.

You would have received yeah yeah or else i will share the playlist url wherein you will have all the stuff for uh recorded sessions yeah thank you please and uh what this is waterfall model process diagram right so waterfall model of course waterfall model is absolute now outdated.

Now because you know everyone is using agile methodology right so waterfall model has become obsolete now so but you know it is suitable for very small projects right so let's understand you know suppose we want to if you want to understand what are the merits of merits of.

Asylum methodology so we should know what are the demerits of a waterfall model right so let us understand that so this is the typical waterfall model process diagram so which starts with conception or initiation and requirement analysis will be done here when i say analysis.

Requirement analysis will be done here and then designing says where the application architecture or application will be designed by the development architect team right and construction is nothing but coding right so starting the development of developing the application that is.

Construction phase so in typical waterfall model die process right so your testing will start after the code is developed right after the project is development is completed and this is one of the biggest drawback of this waterfall model because what is the what is the drawback.

Understood guys first of all what is the drawback of waterfall model yeah yeah yeah this thing will be started after the development is completed right after development phase is completed testing will be started so however like what is that disadvantage of that time consuming.

I'm consuming something we can't go back to the previous step at this point because we have to if something will happen we have to go through some top start from beginning so if any defects are identified like once the development is completed right the cost of the cost of fixing the.

Defective will be abnormally high isn't it because all the complete development is done isn't it so cost of defect will be cost of defect fixing will be high right and there will be a total chaos right so that is why like you know this has become obsolete waterfall model has.

Become obsolete outdated and we are following as well methodology wherein what is what what is the big difference between waterfall and agile methodology basically agile model will get that build in the uh like a quarterly wise and will get in the design model basically we have qat and business analysts and.

Uh we can discuss together something any custom across any discrepancies are deviation we can come together another is uh the build of the application for deleting the quarterly means if application 10 bills will get it due to build so we can easily identify the bugs and easily to.

Test the application right yeah so important is like testing will be started as soon as the coding is started right as soon as the project development is started right so we are doing early testing in asset.

Methodology we are doing early testing isn't it correct right and once the testing is completed of course this is deployment phase right so now now like uh so this waterfall model was replaced by azure network so however if the requirements are understood in.

Advance right or if it is a simple application um if it is a very small application right waterfall model is still being used right however for medium to complex applications enterprise applications this model is not at all suitable because of the discussed drawbacks that.

We discussed now right should i move to the next slide guys yes sir yes yes yes now let's understand what is meant by application architecture architecture diagram right so application architecture means it is a pictorial representation of an applications.

Of an applications components software and connections right pictorial representation of the applications components when i say component servers etc right software and connections so application architecture diagram helps us to understand how these servers our.

Applications interact with each other to meet the business our user requirements so let me go to the architecture diagram of a typical three-tier application architecture okay so here you go so this is the this is a typical you know 3d r.

Architecture of a three-tier application this is a traditional three-tier architecture diagram and now what does this diagram represent this it is a pictorial representation of different components right when i say components what is the general meaning of component elements nothing but the website.

Database components no what general meaning i am asking what is the general meaning of a component means parts right parts of something small parts of something right so in if you consider this application as uh if you consider this as an.

Application right so what are the different components here that we have we have web server app server database server load balancer and you know and different connections right isn't it database connections you'll have from app server to database server you have that of db connections and nowadays.

Right so architecture diagram is nothing but it is a pictorial representation of an application component server software and connections right and this architecture diagram helps us to understand how these applications interact with each other to meet the business or user requirements how the.

Software performs right that helps us to understand how these and applications interact with each other to to achieve the user requirement or the business requirement clear this yeah yes yes and the next important concept is like what.

Is the server again like you know uh so one of the interview questions so what is the server when you say web server app and database server underway some interface ask like what is a server what is a web server what is this uh application server what is a database server right so server means it is a.

Software or a computer program or a hardware so we can call hardware also as a software one box right on one computer that is called as a server and we can call software also as a server let's say for example we have tomcat server we call that you know tomcat is an application server right.

Mysql oracle these are database servers right so when you say what is the server when someone asks you what is a server what is our term surface a server is a software or a computer program or hardware which understands your request and process your request and sends back the response isn't it server is a software or a computer.

Program or a hardware which understands your request process your request and sends back the response yes or no yeah okay now let's move shall we move to the next slide guys yeah sure so the reason why i included this slide is like in the interview side introducer.

Will ask you can you explain your application architecture you draw the application your application architecture diagram and can you explain that right so you should know first what is meant by application architecture what are the servers what is the web app and db server for your application right you should be having a.

Knowledge of that idea of those those details okay now uh this is a traditional three-tier architecture before coming to this you know first let me explain uh two-tier versus three-tier architecture two-tier applications versus three-day.

Architecture applications or else we have something called you know thick client versus thin claims one more important concept of basics that you need to understand is what is declined to application and what is inclined application current application versus incline.

Okay or else you know inclined we can call that as so this false under three uh okay three-day architecture and these files under uh two-tier architecture so let me so or else all the browser-based applications are called as inclined applications.

Right and all the desktop applications are called as thin client applications isn't it desktop versus browser-based application uh so i don't know about this uh thick client and thin clan can you just explain me once okay so how did you join zoom meeting today.

Like with a desktop application all right you installed zoom meeting on your machine and you join through that that means you are using a desktop application or a client application why it is called thick client is it will take more cpu and memory on your machine okay oh okay that's the reason it is called as thick line it takes more cp.

And more memory whereas browser based applications right so you you need not install anything for a particular thing for a particular application let's say if you are using issbank.com right so you you don't install anything particularly for that you use a normal browser which is uh you know which which is used for accessing.

Any any any browser based application isn't it any web application isn't it yeah so it includes less cpu less memory on your machine that's why it is called as a thin client right so all the browser based applications are web applications they are called as thin client applications and all the desktop obligations are.

Called as the client applications clear yeah yeah and also like these desktop applications are you know they fall under two-tier architecture so let me go to the pd so you install some client on your machine so if you consider zoom in zoom meeting.

Right so zoom meeting can be like uh you can join one second so you can join zoom meeting through a browser as well as through a client right you when you install client on the on your machine right so you the client may be of course it may be.

Developed in c dot net or java or any other programming language right so it will communicate directly with the server it will communicate directly with the server so whereas if you are using it if you join zoom from a browser right so you are actually you will be using some you know browser.

Like ie or chrome or firefox so it will communicate with your application server and then that will communicate with your database server so we have three tiers here right whereas here like you have a client and a server right these are also called as a client server applications okay.

And all the browser-based applications fall under this three-tier architecture all right and these are also called as these are called as desktop applications and these are called as browser applications browser based applications are thin client applications.

Clear case yes so these are the different types of applications right and now i think i explained this right so if you consider any web application right so more this is the most common architecture that is widely deployed.

And uh it is gold standard developed as a result of web revolution i got this from some uh this is an actually an image from internet case okay so if you consider any web application browser based application you will be using you know different users will be using different browsers isn't it.

Right and your request will first go to using this any of these browsers you send a request to the server and your request will first go to the web server right and if your request is for a static content i think i already explained this one right it explains this what is static content.

What is dynamic content i think on the second class yes so i think i generally use this example i used to give this gmail example suppose you type gmail.com right so everyone will get this page right which is a static page isn't it the first time you access gmail right so.

You get this page right everyone get this page which is a static page right this page doesn't change and change from user to user isn't it rs if you use isadc.org every user gets this page isn't it yes that's right yeah and this is a static page there won't be much changes in this page isn't it.

Yes right or is you know amazon or flipkart or any other application so actually if your request is for a static page like this right these static pages will be served by web server itself directly means your request go to the web server.

Web server will will return that page whether you use google.com or gmail.com or irctc right or redbus or hdfcbank.com the first pages home pages right they will be solved by the web server as long as it is a static page they will be solved by web server directly right however so what do you do next.

Let's say you know you once you are on this page right you may be searching for sometimes between some you know any two different cities isn't it let us say you are searching for times between haddad to bangalore right and if you click on search right and now.

What kind of page is this is it a static uh is it a static content page or a dynamic content page dynamic content because it will show you the availability and now isn't it it will show you how many tickets are available and all this what is the ticket cost and all this isn't it yes or no so you show you the ticket.

Cost and availability and all these details right so this is you know and this this content changes every time this is a dynamic content page isn't it now this this all these dynamic pages will not be served by the web server but your request will now go to the application server suppose you search for times.

Between two sessions or if you search for a product on amazon or flipkart or any other e-commerce applications like this right your request will then go to the application server only static content will be served by the web server right if you are so if your request involves some dynamic.

Content so that request will go to the application server and application server if required if it needs to get some data right it will establish a connection with the database and it will run some query and get the get the query results and it will send.

The results to the web server and web server will send the results to the response to the browser isn't it so whenever that's able to follow everyone yes yes yes.

You understood what is the difference between static content and dynamic content that i'm speaking about right it's not known suppose you type amazon routing right so this of course you know this page changes okay i think this is not a right example but you know you can take this one as a good some good examples right.

Suppose see once you type breadboard starting right this page doesn't change every time isn't it it doesn't contain any dynamic content exist but so but if you search for some you know buses between two cities isn't it.

Then that content is the dynamic content yes or no here yes correct this this particular home page right this will be returned by web server itself this particular home page of red bus application this will be served by the.

Web server itself right and however so if you search for some you know uh cities uh some buses between two cities right now we know this content will not be available uh with the with this application isn't it with the web server web server right now cannot solve this uh hold on this sorry sorry guys is that.

So also not a no not the right example sorry sorry for that okay and like you know actually this works on rest api actually red bus application works on rest api so i'll take one more example i think you are in bangalore right you are uh where is this qr box right this is it's bangalore based from here.

Okay so okay let's say i i will take case rtc example and some user wants to book a ticket from bangalore to channel right so this is the home page of the application right and you know like this cut this.

Time this page of this uh this is a static page isn't it this is a static page and the content doesn't change very frequently isn't it so and now this will be solved by the web server itself when you send a request to this ksrtc dot inv.

This content will be solved by the web server itself so however if you search for some uh buses between two cities right let's say for example you are searching this is from bangalore to chennai uh chennai to bangalore now this content this is a dynamic content page right yes.

These timings will be changing availability will be changing ticket cost will be changing isn't it right so now what happens is when you do a search like this search operation like this right your request will go to the application server and all these details.

Right ticket cost and availability and all will be stored in the database in some tables and your application server also like it cannot serve your it cannot respond to you directly so it will send it will run some it has to run some sql query on the database and it should get some data from the db tables.

And it will send that response to web server web server sends the response to the browser right here and now that that is why like you know this is called as presentation tier so whatever you rest whatever response you get from the application right that will.

Be coming from web server itself that's why this is called as presentation tier and if there is some logic involved if there is some processing involved right so that will be done at the application server level right and all the data will be stored in the database that's why it is called as persistence.

Tier the data process that data will be stored in the database that's why this is called as persistence tier right now we understood the uh this three-tier architecture guys and what is the purpose of each of them web server application server and database server yeah yes.

Yes so i will take a pass here once right so this is the popular web app and database service in the market okay so web servers coming to web servers right apache http is the most popular web server with 40 market share and engines is next comes with the 23 percent market share.

Okay and hdfc net banking application and irctc use this engines as their web server okay so this hdfc and irctc use engines as the web server apart from that as this is an open source right most of the applications use this apache http as their web server and these are the.

Popular application servers you have apache tomcat oracle web logic web sphere jboss primary and microsoft ias these are the popular application servers okay actually weblogic was developed by a company called bea bea and it was later required by oracle so now that's why it.

Is called as oracle weblogic initially it was called as be a weblogic okay and websphere application service developed by ibm that's why it is called as ibm web server and pramati is now indian based company i think it's a hyderabad-based company i.

Believe from the technologies a company called promisi technologies developed this application server called dramatic right so this is an application server and these are the popular database servers oracle mysql microsoft sql right ibm db2 mongodb sap hana and all this these are the popular database.

Servers okay so once the scripting is completed and once before we start test execution site i like we will revisit these slides we'll come back to this like this and we will discuss what are the different web app and tv servers how to monitor them and all those right we will come to that.

Now so let us you know let's understand this uh uh application architecture in detail now so i named this as this is traditional three-tier architecture and i named this as new ntr architecture so why because so previously we used to have only uh web applications like you know we used everyone used to access the web.

Applications from a browser only isn't it web browser and the layout looks something like this but nowadays like we have like most of the applications are being accessed using mobile browser right we can access the mobile browsers right we can access the applications from mobile browsers as well isn't it.

And the layout will be something like this right isn't it yeah right and now let's understand the internals of this each of this layer so if you take presentation labeled the first one we discussed that this is presentation layer so that presentation layer or whatever you know uh you see in a browser.

Whatever you see in a browser when you access anywhere on any application right so amazon or flipkart or ircds are any application right so the presentation layer will be generally made up of built using developed using html css and javascript of course there are a lot of new technologies now we have angularjs.

And a lot of other new things coming to market yes someone is saying something yeah i'm saying okay yeah jack js you guys yeah you you have all this nowadays right so presentation layer will be made up of this html css and javascript.

Mostly right yes again react json angularjs they are based on javascript uh sorry guys i am not good enough those are the frameworks right now let's understand like what is html and what is css and javascript okay so in presentation layer right so html is a.

Html stands for first of all html stands for hyper text markup language used for developing web applications isn't it so let me quickly show you let me let's check some websites okay so if you right click on the view source trend.

You paste source and so we can see that like this apple these all these web applications are developed using html language you can see here doc type is html means document type is html isn't it so this is the html code of that page of that uh apple.com website homepage isn't it.

Yes so this is the this is a html content right or the document type is html right so right and what is css in this you know like this presentation right right so css stands for cascading style sheet yes and.

What is the purpose of css file to enhance the html code okay to announce the html code our css files are used to define the layout of the page isn't it add colors to the page or you know add colors to the background all these right so this button should be green color or.

Something like that so all the layer are let's say if you take you know this this particular slides right so we have this you know share button on the top right and we have the like uh google meet and over here right and uh you know this is the background color for example if you see share.

Button right it has a yellow color background so all these layout and colors and all background colors and all these will be defined in css files basically layout will be defined in css files isn't it yes right so colors and all i think that will be defined in html itself you have.

Something called bg color background color right in html there is a tag called right so busy color for background color isn't it so css is the main purpose of css file is to define the layout of any page define the layout let's say if you take this example right.

If you take this example right so you should have it on the top you should have you know different links to different pages with the black color background and then you have different images over here so all this.

Layout will be defined in a css file clear this or if you take gmail example or a gmail example right so you should see the gmail logo on the top left right all this layout will be defined in the css file or you see you should see a create an account button on the right.

Side in blue color background and you should have a sign option over here so all this layout will be defined in css files here guys and what is the purpose of javascript validation transit violations right so javascript main purpose of.

Javascript is for client-side validations right client-side validations and client-side manipulations data manipulations and all will be uh that will be defined in a javascript file right you will understand going forward like what is meant by point side validation center.

Okay or else let me give you some quick examples so let's say you know you are so you are trying to log in and you you are supposed to enter email or phone number here isn't it suppose if i enter you know my email id correctly this is a valid email it is perfts.kb right so at gmail.com rls you know this.

Is optional actually you can use gmail.com or you know if you don't even you use that also it it will automatically take it you got it right even though you don't use a don't type at the right gmail.com at gmail.com it automatically took that isn't it so if you enter a valid address.

Right valid email address right so it will take you to the next page so on the contrary on the other side if you enter some some junk characters like this right some junk characters like this right and if you click on next right it will display somewhere.

Yeah right does it need does the will the request go to the server will this uh whatever stream that i entered right so that will be validated on the browser itself right it will not go to your gmail server it did not go to your gmail.

Servers right so this is called as client-side validation or browser side validation this validation whether it is a valid you know email or phone number that validation will be done by it by some javascript code here guys everyone.

Yes yes so this is called client-side validation and javascript main purpose is to do that client-side validations or browser-side validations right that's the reason why you should know all these is once you start scripting right you will see dot css dot java js and all these.

Files dot html and all so that's the reason you should know these basics okay now coming to the logic uh layer or application layer or you know logic tier this is also called as logic tier or application tier so that can be developed in any of these programming languages like java.net or python or php.

And all those right so this logic layer can be developed using any of these programming languages the next layer is database layer or persistence tier right this must be called as database layer or persistence tier so and you know like this database can be anything out of.

This like it can be mysql database or postgresql oracle database or microsoft sql server and all this and so this is the typical anterior architecture here it is yes yes i'll stop it here guys for today.

Yeah so i'll stop it here guys for today so tomorrow we will understand start the performance testing life cycle right and i will explain what is rfi and our rfp this is from where you know till now whatever we discussed you know these are all basics and.

Basics of computers basics of life testing life cycle or development life cycle and all this now like we are going to start the performance testing life cycle concepts from tomorrow onwards so tomorrow i will cover like rfi and rfp and requirement gathering i will start requirement gathering i will.

Explain what is meant by requirement gathering and what are the different non-functional requirements that we need to gather to start a performance testing project and then in the next session i will explain test plan document and what are the components of a touch plan.

Right so two more sessions for requirement gathering rfi and rfp and requirement gathering two more sessions one session for touch plan document and its components three sessions then after like we will start scripting all right.

Okay so after three to four more more sessions so i will start uh scripting with geometer right now

RELATED ARTICLES

Most Popular