 I guess this is Kumar here and this is the demo session for performance testing using loadrunner. The version of loadrunner that is used for this course is 12.5, that's the latest version. This demo session is brought to you by software testing help.org. Well, the instructor for this course, Kumar Gupta, and that's me. A little bit about myself, my education. I got a master's degree from United States back in 2004. Right now, I'm an independent performance testing consultant and a corporate trainer as well. I do majorly the corporate training for Infosys, MindTree, IBM. Along with that, I do a lot of trainings outside as well. My working history, I started my career in software testing back in 2004. And all these 13 years of experience, it's completely in software testing. During this long span, I've done manual testing, both back-end testing as well as the functional testing, automation testing using RFT and QTP, and majorly performance testing. My performance testing experience is in loadrunner, performance center, strongrunner load, jmeter, and Oracle application testing suite. I've used all these applications, all these tools over this period of five to six years. And as far as my training experience is concerned, I've been doing it from last five years. But from the last two to three years, I've been exclusively doing trainings, but nothing else. During this period, I've handled more than 100 batches, both classroom trainings as well as online trainings, or VCR sessions is what we call it as. And the classroom trainings have handled as big as more than 200 students and as low as even five to 10 students. Well, coming back to the course, so who is this course for? Well, I would say this is perfect for beginners who doesn't have any knowledge in software or any knowledge in any of the testing fields. This is perfect for them as well as the experienced professionals as well. We have done manual testing or automation or maybe business analyst. They want to move into performance testing area. It is perfect for them. And if you're wondering, well, I have six to seven years of manual testing experience. Is this the right time to move into performance testing? Well, the answer for that question is yes. I have done it myself after five years of both automation and manual testing. I moved into performance testing. Well, it always fascinated me this performance testing because it's one of the most sought after testing field. So I always wanted to do it and then I happened to get into that project. As I've told you, this course is best for developers or business analyst or even managers who wants to manage the show and have to have the knowledge of these tools as to how it works, definitely for them. Why should I make this performance testing as my career? Well, as I've told you before, it's a most sought after testing field. Whether you are a manual tester or an automation tester, people want to be here. I mean, not all but some of them. And one more thing is it requires a little bit of coding knowledge, a little bit of analytical skills. So it has a lot to do with your skill set, but it's not tedious. When I said if it's a manual testing or you're a manual tester or a functional tester, there's a lot of work, honestly speaking, and it's a redundant work or a mundane work. I've started my career as a manual tester. So it is exciting for the first three to four months. And after that, it becomes little mundane, I mean little routine. You'll be doing the same stuff all the time and it really gets onto your nerves. So if I remember a starting of my career, I just had to know only the word Excel and quality center. That's what they used to call it back then. Now they are calling it as ALM, few set of SQL queries and Unix commands. And I did it almost like day in, day out. I did it for a really long time and it really got boring after a particular point of time. There is a lot of work, but it's the same work and there's nothing exciting to look forward to or nothing excited to learn. But performance testing is exactly opposite. There is not as much work as manual tester, which means that you're not swamped with work all the time, but it is little challenging work and every day there is something new to learn. Well, you might have to coordinate or deal with a lot of people. Like network administrators, server administrators, developers, database administrators, project managers, dev managers. You have to deal with a lot of people to get the work done or to get a better understanding of your project or your application under test. So every day you deal with all these people, which means that you have a wonderful opportunity to learn all the components which are there in the software industry. There is something called bottleneck analysis that you have to do and nobody is forcing you to do that. But at the same time, it's a job of all these people like database guys, developers, network administrators and yourself. So when you work together to identify these bottlenecks, you will learn quite some stuff. So this is what always excites me when I think of performance testing. When it comes to pay package, well, that's the end of the day. That's what we all talk about, right? I'll tell you what I am aware of and you can do your research using Naukri.com or Monster. You do your math or you do your little bit of research. As far as I know, when I came back to India back in 2011-12, if I remember correctly, a performance tester used to get close to 70 to 80 dollars per hour. That's what he can charge. And I was a manual tester with the automation knowledge. I used to get close to 50 dollars and sometimes 55 dollars and that too after a lot of research and a lot of hunting out for the jobs. So that's the numbers that we're talking about almost 50 to 60 percent more or even more than that. And in India, well, definitely what you get is more than an automation engineer or a manual tester. What I heard and what I used to get an experience multiplied by two or 1.5 is what you get. For example, you have six years of experience depending upon your negotiating skills and how much you look out for jobs. You might get anything close to six multiplied by 1.5. So which means that anywhere from 10 lakhs to 12 lakhs is what you can get or even more. So again, these numbers, you do your research from those websites and you'll get an idea. And there are a lot of opportunities out there. I wouldn't say a lot of, but there are opportunities out there. But the most important thing is there are not many too many performance testers. There are a lot of manual testers because the work itself is not challenging and anybody can learn and anybody can do. But performance testing is not like that. You have to learn it. And then even working is also a little challenging when it comes to scripting and analysis. So few jobs, but very few people. Syllabus. Well, the syllabus for this course has been designed to meet the industry needs. I've worked, as I've told you, I've worked in the industry in the performance testing industry for more than five years, taken up different positions, leads, managers. So I exactly understand what a performance tester needs. So based on that experience, I've designed the course and it is suitable. The course is designed in such a way that it's suitable for both completely no wise or no experienced guys and experienced guys as well. And the way the course, my course works is a lot of hands on goes on. So I explain the topic, especially when it comes to tool and I explain it topic demonstrated for you. And I'll give you some time, even though it's an online course, I give you some time so that you can practice it. And you have issues you can talk to me right away to get it solved. I came up with this kind of arrangement because when I started off, I just used to do the sessions and expect them to practice, but they came back to me with a lot of questions and they say that when I explain it becomes simple, but when they are doing it, they are getting into a lot of issues. So I figured out that's the best way to do it in the class itself, get it resolved. And always remember, issues are good when you get issues. That's when you learn more about the tool. And my sessions are completely fully do play questions sessions, which means that a lot of talking goes on between the students as well as me. So it's two way communication. It's not just one way. So this is the course objective. Why we have to do performance testing. What is performance testing? And most importantly, the performance testing life cycle. Every single testing field has a life cycle and so is performance testing. So security testing as a life cycle, manual testing as a life cycle, automation has its own life cycle. So is performance testing and non-functional requirement gathering. So requirement gathering is important for any set testing. And similarly, it's important for performance testing as well. So what is that we gather as a part of performance testing? I'll clearly explain. And the templates will be provided for you to gather that information. For all that information that I've told you is gathered, you never have to go back to the client again to get any more information. And we also understand how to successfully execute a performance testing project. And the load runner or the complete architecture of load runner, load runner is not just a single tool. It has multiple components like load generators, controller, VU gen analysis. So how these components interact with each other and how they interact with your application and the test. And how do I use these components completely will be explained in the class in these sessions. And finally, the bottleneck identification. What is bottleneck? And how it will harm your system. And as a performance tester, what is my role for identification of the bottleneck? Something that you'll understand. Well, let's start with few of the topics that I've told you. Why performance testing? You can see that guy banging on the keyboard. That's exactly why. Well, he's pissed off. He's pissed off because he has been trying to book a ticket on one of his movie booking websites. Maybe a book might show or something like that. And he has to wait for 15 minutes to figure out that there are no seats available. The application is so slow and is so pissed off. So it's pissed off for not because the seats are not available, but because the application has took so long to show him that there are no seats available. So if the applications are slow, the end customers, the end users are moved away from those applications because these days the customers or the end users have a lot of opportunities or a lot of scope outside. It's not just your website. There are so many websites available. So if not Amazon, they have Flipkart. If not Flipkart, they have snap tail. If not book my show, they have ticket data. So there is always options available for end users and you don't want as a website owner, you don't want your end customer to move away from your website just because the website is slow. So this is the precise reason why performance testing is done on your applications and even bad if this particular page is found. So you entered your credit card details, click on pay button and imagine this page is displayed for your end users. It will never come back to your website. So to get rid of these problems, it's better we have these applications get performance tested. Probably 10 to 15 years back, I don't think nobody even knew what is performance testing and slowly people started doing performance testing from last 12 or 13 years or maybe 10 years and from last four to five years, almost every single website or every single application, web application, they're getting their applications performance tested because now the customer satisfaction and the customer experience is very, very important for these companies. So they do everything possible to make these end users happy so that they can come back to these websites again and again. First, let's try to understand why these applications actually become slow. Very, very simple guys. If the load on the application increases when I said load, let's take a Gmail application. So at this point of time right now, while I'm recording this demo session, it is 340 IST. At this point of time, it's not one person who will be using this Gmail, but there are multiple people who will be using this Gmail application. So these users we call them as concurrent users and when the concurrent users increases, the number of concurrency increases, the load on the application increases and it is a universal rule guys. When the load on something increases, the performance of that particular thing decreases. You can take anything in the world. Let's take a bike. If it can handle two users and now I mean I said two users, two people if it can carry two people and now there's a third person coming and sitting on the bike, definitely the performance of the bike decreases. Same thing happens with every single thing in the world. Same is with the servers or same with the application. When the load increases, the performance of that particular application decreases, which means that it becomes slow and when it becomes slow, the end user is not happy. So this is how the application becomes slow. So when we do performance testing or as a part of performance testing, we make sure that even though the load increases, the performance is not deteriorating if the deterioration happens, it is under the acceptable limits. That's what we do as performance testers. But one thing you have to keep in mind guys, as a performance tester, you cannot make the applications faster. You can only do the testing and tell to the developer saying that this application is slow and you can also identify the root cause or identify the problematic area because of which the application is slow. Now it is up to the developers or the performance engineers to make necessary changes to your application and make it faster. So if you are under the impression that performance testers will make the application fast, then it is incorrect. You only identify the problems if it is slow or if it is fast, you just let them know that it is fast. That's what your responsibility. Now what is performance testing? Well, let's assume our application under test is Gmail application. So we can have this Gmail application used by multiple users. In the picture, even though it's five users, but in the real world, it's thousands of users. And as I've told you, we call this as concurrent users. And when concurrent users are using the application, typically the application becomes slow. So you can have this concurrent users use this application by doing this, you're creating the load on the application and when the load is created, you check for the performance of this application, whether it is slow or fast. Well, if it is slow, then you have an additional responsibility to identify what why it is slow. But again, to identify why it is slow, it's not your job. It's the job of all the people together like developers, performance testers, performance engineers, server admins, database admins, network administrators. They work together to identify this problem. Well, you can have overall ideas to what all the industry tools which are out there and what are the protocols it supports. Right away you know that the load runner is the winner guys. It kind of supports every single protocol which is out there. So no wonder a lot of people prefer load runner. It actually captures 70 to 80% of the market, which means it's huge. So if there is a performance testing project happening, let's say there are 100 performance testing projects happening out there, 70 to 80 of them are being used by load runner. So that is a huge number and that is the reason why if you're learning performance testing, it's better you start with load runner. Then there are other tools as well. Jmeter is an open source tool, but everything else that you see over here, you have to pay for that. Load runner is a clear winner, but it's kind of expensive as well, but you need not have to worry about it. Your company will pay for that. When we do performance testing, what are our objectives? Well, our objective is not to find the defects or the bugs. If you have done manual testing, you are aware of this word, defects or the bug, which is the deviation from your requirement. So identifying bugs or defects is not our responsibility. It is the manual testers job responsibility, but for us, we have to identify the bottlenecks. The bottlenecks is the pain points, as I've told you, or the problematic area, or the slowest part of your application, which is causing the performance issues. So that's what it is. And you also have to check the functionality in the real world conditions. When 1000 people are using it, how does your application work? So that's what you do with performance testing as well. And in my course, I'll give a very, very good background about architecture, what are the different types of architectures, why we need to understand architecture for being a performance tester, and different kinds of architectures so that the application under a test that you might be getting into or that you might have to do performance testing can follow one of those architectures that I'll be talking about. And by the way, for bottleneck identification, understanding architecture is very, very important guys. Performance testing lifecycle will be detailedly discussed. So there are different stages. Each stage, what is the output? Who all the people are involved? And as a performance tester, when do you get involved? Or a performance testing lead? What are your responsibilities? And when do you get involved? And as a performance testing manager, what are your responsibilities? And when do you get involved? Or which stage you get involved? Will be detailedly covered. Also, we'll discuss about types of performance testing. There are five types. We'll discuss all of them in detail. So it's not just execution of one type of performance test. We have to do five of them, and which of them are mandatory, which of them are optional, and why we need to run all of them will clearly understand. But the most popular among those five is load testing. And why we have to do this load testing is to make sure that once your application goes into production, the performance of that application is good, or at least there are no performance issues for that. So this is a very, very, very important test. And this is a mandatory test, which we do at the starting of each and every cycle. However, we'll discuss about this in detail when we get started. NFR gathering. NFR is non-functional requirement gathering. Since performance testing falls under non-functional testing, the requirements we gather for this performance testing is obviously non-functional requirements. So what all the details that you have to cover? The one challenge that I've faced here is, guys, the clients that you work with. Most of them have never worked on performance testing projects. Or some of them would have worked, but they don't have NFR experience. So as a part of requirements, they don't even know what to give to you. So as a performance tester, first you have to have a complete clarity as to what you have to collect even before you start your performance testing. And that's what will be covered as a part of this coursework. And once you clear, you have to guide these clients, telling them that this is the kind of information you need, and this is why you need this information, and only you get all this information, then you can do your performance testing 100%. Otherwise, the results that you get is not close to production, which means that they are not good results, and all your efforts and the budget that you are given for performance testing is as good as waste. So you have to educate them, and you have to grab all this information from them. We also discuss about workload modeling in my course. A lot of people have difficulty in doing this workload modeling. There is something called pacing and think time. We clearly understand the difference of both of them, and also we'll calculate the pacing and number of concurrent users using workload modeling. I've seen people who have been working for five to six years in this performance testing field, but not comfortable doing workload modeling. If you know how to do this, definitely you will be an asset to your class or your team. And finally, I'll cover bottleneck analysis. This is one of the challenging area. When it comes to performance testers, I have seen a lot of people in my career that they become really comfortable in scripting and execution over a period of time. Like a couple of years, they are totally comfortable. But when it comes to analysis, they are not comfortable. So more and more analysis you do then you become such an important part of your team. That will make you a special performance tester. And definitely this bottleneck analysis is not something which can be taught in a day or a month or something like that. But I'll give you with all the tools that you need so that you can get started. But once you get started, you can keep learning it from the developers and admins, the database admins, network admins, server admins. You can continuously learn and more and more analysis you do more and more fun it will be. And definitely the respect that you command in the team will improve many folds. And there is a sample case study that I will come up with when it comes to performance bottlenecks. That's what you can have a clear understanding as to what it is. And also I come out with some problem statements. I expect you to identify the bottlenecks for those problem statements. So you get a feel for what you have to do when you get into the project. Well, when the whole course is done, a sample project will be given to you. This will be on our homegrown application. So the application is given to you and all the concepts that I have covered in that course, you have to use those concepts and complete the project. And you have exactly seven days to complete the project. And after seven days, once the project has been submitted to you, I will evaluate it. And 60% is a pass mark. That's when you can get your course completion certificate. And the key will be revealed after that. And I'm sure if you have done this project successfully, I can say you are industry ready. Finally, there will be a session which could be completely allocated for interviews and resume preparation. I have done a lot of interviews myself. So I know what kind of questions the people will ask you when you go to the interviews. So most of the interview questions I will try to cover in this session. And as the course goes on, I'll try to cover when and where the topic comes. But again, if I miss out something, there is a special session for this. And I'll give you some guidelines for the resume preparation as well. So this is the end of my demo session. See you in class, guys. Bye-bye.