Performance Testing Tutorial For Beginners | Performance Testing Using Jmeter | Simplilearn

Simplilearn
10 Mar 202123:30

Summary

TLDRThis video script from Simply Learn's YouTube channel offers an in-depth exploration of performance testing, covering its fundamentals, types, process, and metrics. It emphasizes the importance of performance testing in ensuring a software application meets speed, scalability, and stability requirements before launch. The script also introduces various performance testing tools, with a focus on Apache JMeter, highlighting its benefits such as cost-free usage, platform independence, and strong community support. A practical demonstration of JMeter's functionality is provided, illustrating how it simulates user behavior to test web server performance.

Takeaways

  • 📚 Performance testing is a critical phase in product launches to ensure the product meets performance expectations before market release.
  • 🔍 The main goal of performance testing is to identify and eliminate performance bottlenecks, focusing on speed, scalability, and stability under specific workloads.
  • 🤖 Performance testing is not about finding bugs but rather about addressing performance glitches to provide stakeholders with information on application performance.
  • 📈 There are six types of performance testing: load testing, stress testing, volume testing, capacity testing, reliability testing, and scalability testing.
  • 🛠️ The performance testing process consists of eight parts: requirement gathering, tool selection, performance test planning, test development, test modeling, test execution, result analysis, and reporting.
  • 🌟 Performance testing metrics include processor usage, memory usage, response time, throughput, and hit ratios, among others.
  • 🔧 Top performance testing tools include Load Runner, Web Load, Load UI, NeoLoad, and Apache JMeter, with JMeter being a popular open-source tool.
  • 🎯 JMeter's advantages include being free of cost, platform-independent, customizable, offering recording and playback features, and having strong community support.
  • 📊 JMeter simulates user behavior for load testing, providing a way to conduct performance tests without the need for actual users, and generates results in various formats for analysis.
  • 🚀 The importance of performance testing lies in preventing issues like slow performance, inconsistent operation across systems, and poor usability, which can lead to a product's failure in the market.

Q & A

  • What is the primary purpose of performance testing?

    -The primary purpose of performance testing is to verify and validate the overall performance of a product, ensuring that it meets the expected performance criteria such as speed, scalability, and stability before it is launched into the market.

  • What are the three main factors performance testing focuses on?

    -Performance testing mainly focuses on three factors of a software program: speed (response time), scalability (determining the maximum user load), and stability (checking the application's stability under various workloads).

  • Why is performance testing important for a software system?

    -Performance testing is important because it goes beyond features and functionality to address response time, reliability, resource usage, and scalability. It helps identify and eliminate performance bottlenecks, ensures the application meets performance requirements, and prevents potential issues like slow running, inconsistencies across different operating systems, and poor usability.

  • What are the six types of performance testing mentioned in the script?

    -The six types of performance testing are load testing, stress testing, volume testing, capacity testing, reliability testing, and scalability testing.

  • How does stress testing differ from load testing?

    -Load testing focuses on the application's performance under normal and peak usage, whereas stress testing aims to find different ways to break the system by determining how much load a system can sustain before it breaks down and how it recovers once it has crashed.

  • What is the significance of capacity testing?

    -Capacity testing is significant as it checks the application's capability to meet future business volumes. It helps in determining the application's ability to support future load and the additional resources required to make the environment capable of handling the increased load.

  • What are the eight parts of the performance testing process?

    -The eight parts of the performance testing process are requirement gathering, selection of tools, performance test plan, performance test development, performance test modeling, execution of test, test result analysis, and report.

  • What are some key performance testing metrics?

    -Key performance testing metrics include processor usage, memory usage, throughput, response time, hit ratios, and top waits.

  • Why is Apache JMeter a preferred tool for performance testing?

    -Apache JMeter is preferred due to its open-source nature, no cost, platform independence, high customization capability, ease of recording and playback, and strong community support.

  • How does JMeter simulate user behavior for load testing?

    -JMeter simulates user behavior by creating virtual users that perform actions on a web server or other objects, similar to how real users would interact with an application. It generates requests and measures the server's response to these requests, providing insights into the application's performance under load.

  • What are the steps to set up a performance test using JMeter?

    -To set up a performance test with JMeter, you start by opening the JMeter application, adding a test plan and thread group to define the virtual users and test scenarios, adding an HTTP request to specify the server and path, and then adding listeners for result analysis. After configuring these elements, the test can be executed and the results analyzed.

Outlines

00:00

🚀 Introduction to Performance Testing

This paragraph introduces the concept of performance testing, emphasizing its importance in the product launch process. It outlines the basics of performance testing, explaining that it verifies and validates the overall performance of a product. The main goal is to ensure the product meets expected performance standards before market launch. The paragraph also discusses the relevance of performance testing, highlighting that it goes beyond features and functionality to focus on response time, reliability, resource usage, and scalability. It mentions that performance testing helps identify and eliminate performance bottlenecks, and that without it, software may suffer from issues like slow performance, inconsistencies, and poor usability. The introduction ends with a call to action to subscribe to the YouTube channel for updates.

05:00

📊 Types of Performance Testing

This section delves into the different types of performance testing, which include load testing, stress testing, volume testing, capacity testing, reliability testing, and scalability testing. Load testing assesses application performance under normal and peak usage, focusing on response to user requests and system endurance. Stress testing aims to identify the breaking point of a system by gradually increasing load. Volume testing evaluates system performance with respect to data volume, ensuring the application can handle a growing database size. Capacity testing checks if an application can meet future business volumes, predicting the application's capability to support increased load. Reliability testing measures the system's ability to return to normal operation after an abnormal state. Lastly, scalability testing determines if the application can scale up to meet increased user load demands. Each type is crucial for ensuring a robust and efficient software application.

10:01

🔧 Performance Testing Process

The paragraph outlines the eight-step process of performance testing, starting with requirement gathering where the performance team collects information on the application's architecture, technologies, intended users, and other requirements. The second step involves selecting appropriate performance testing tools based on a proof of concept. The third step is the performance test plan, which includes test planning and design. The fourth step is performance test development, where use cases are created and scripts are developed for the test environment. The fifth step is performance test modeling, which involves creating a performance load model for test execution. Execution of tests is the sixth step, where tests are run incrementally to identify performance metrics. The seventh step is test result analysis, where the performance tester evaluates the effectiveness of the testing effort. The final step is the report, where the test results are simplified for clarity and to provide actionable insights for the development team.

15:01

🛠️ Performance Testing Tools and Metrics

This part of the script discusses the top 5 performance testing tools available in the market: Load Runner, Web Load, Load UI, NeoLoad, and Apache JMeter. It highlights the importance of these tools in facilitating performance testing. The script then focuses on Apache JMeter, explaining why it is a preferred tool. JMeter is an open-source, pure Java application designed for load testing web applications and other server types. It is appreciated for its free cost, platform independence, customization options, recording and playback features, and strong community support. The reasons for using JMeter include its ability to handle different types of applications and servers, its user-friendly interface, and the possibility for developers to customize it as needed.

20:01

🎥 Hands-on Demo with JMeter

The final paragraph provides a practical demonstration of how to use JMeter for performance testing. It guides the user through setting up a test plan, adding a thread group to simulate users, configuring the test with options like the number of threads (users), ramp-up period, and loop count. The demonstration includes adding an HTTP request to the test, which involves specifying the server name or IP and the path. The paragraph also explains how to add listeners to the test for output visualization, such as View Results, Graph Results, and View Results in Table. The script concludes with running the test and briefly describes how JMeter processes the test results, providing a comprehensive overview of the performance testing process using JMeter.

Mindmap

Keywords

💡Performance Testing

Performance testing is a critical phase in product development that verifies and validates the overall performance of a product. It is conducted under specific workloads to ensure that the product meets the expected performance criteria before launch. The video emphasizes the importance of this testing phase in identifying and eliminating performance bottlenecks, focusing on factors like speed, scalability, and stability.

💡Load Testing

Load testing is a type of performance testing that evaluates the application's performance under normal and peak user loads. It helps to determine the maximum load an application can handle before its behavior becomes erratic. This testing is crucial for ensuring that the application can maintain its performance levels as the user base grows.

💡Stress Testing

Stress testing aims to identify the breaking point of a system by gradually increasing the load until the system fails. It helps to understand how the system behaves under extreme conditions and what the recovery process is after a breakdown. This type of testing is essential for preparing for unexpected high loads and ensuring the system's resilience.

💡Volume Testing

Volume testing focuses on the system's performance in handling large volumes of data. It is crucial for applications that store and process significant amounts of data over time, ensuring that the system can cope with the increasing data volume without performance degradation.

💡Capacity Testing

Capacity testing assesses the application's capability to handle future business volumes. It is forward-looking and helps in planning for the resources needed to support increased loads in the future. This testing is vital for ensuring that the application can scale and maintain performance as user demands grow.

💡Reliability Testing

Reliability testing measures the application's ability to recover to its normal state after experiencing an abnormal state. It estimates the time taken for the system to return to normal operation after a failure. This testing is critical for ensuring that the application remains available and functional for users even during and after unexpected disruptions.

💡Scalability Testing

Scalability testing determines whether an application can scale up to handle increased user loads when needed. It is important for applications that may experience sudden growth or have seasonal fluctuations in user activity. This testing ensures that the application can adapt to changing demands without performance degradation.

💡Performance Metrics

Performance metrics are the measurable values that provide insights into the efficiency and effectiveness of a system's performance. These metrics include processor usage, memory usage, response time, throughput, and others. They are essential for benchmarking, comparing performance, and identifying areas for optimization.

💡Apache JMeter

Apache JMeter is an open-source software designed for load testing and measuring the performance of web applications. It is capable of creating a large number of virtual users to simulate heavy user load and assess how the application performs under stress. JMeter's popularity is due to its cost-effectiveness, platform independence, and extensive community support.

💡Test Plan

A test plan outlines the strategy and approach for conducting performance testing. It includes details such as the test environment, workload modeling, and the specific tests to be executed. The plan is crucial for ensuring that the testing is thorough, consistent, and aligned with the objectives of identifying performance issues and bottlenecks.

Highlights

Performance testing is a crucial phase in any product launch, ensuring the product meets expected performance standards before market release.

Performance testing is conducted under specific workloads to identify and eliminate performance bottlenecks in software applications.

The main goal of performance testing is to evaluate the speed, response time, stability, reliability, scalability, and resource usage of a software application.

Performance testing focuses on three key factors: speed, scalability, and stability of a software program under various workloads.

The purpose of performance testing is to provide stakeholders with information about the application's performance, revealing areas for improvement before the product launch.

Without performance testing, software may suffer from issues like slow performance under concurrent usage, inconsistencies across different operating systems, and poor usability.

There are six types of performance testing: load testing, stress testing, volume testing, capacity testing, reliability testing, and scalability testing.

Load testing evaluates an application's performance under normal and peak usage, focusing on the maximum load the application can handle and database capacity.

Stress testing aims to find ways to break the system by gradually increasing the load until the breaking point, assessing the system's recovery after a crash.

Volume testing checks the system's performance with respect to the volume of data, ensuring the application can handle a growing database size over time.

Capacity testing determines if an application can support future load and resource requirements, helping to identify additional resources needed for scalability.

Reliability testing verifies if an application can return to normal operation after an abnormal state, estimating the time taken for recovery.

Scalability testing assesses whether the application can scale up to handle increased user load when needed.

The performance testing process consists of eight parts: requirement gathering, tool selection, performance test planning, test development, test modeling, execution of tests, result analysis, and reporting.

Apache JMeter is a preferred performance testing tool due to its open-source nature, platform independence, customizability, recording and playback features, and strong community support.

JMeter simulates real user behavior for load testing, allowing for the assessment of web applications, web services, LDAP databases, and shell scripts.

Transcripts

play00:08

hey everyone welcome to simply learn's

play00:10

youtube channel in this session we will

play00:12

learn everything about performance

play00:14

testing we shall begin with learning the

play00:16

basics of performance testing and what

play00:18

is its relevance after that we shall see

play00:21

the types of performance testing then we

play00:24

shall see the performance testing

play00:25

process and performance testing metrics

play00:28

post that we will learn some performance

play00:30

testing tools and after we know all

play00:32

about performance testing we shall see

play00:34

the basics of geometer and why is it

play00:36

more sought after tool for performance

play00:38

testing finally we will have a look on

play00:40

hands-on demo to understand the working

play00:42

of meter and performance testing is

play00:44

performed using it

play00:46

but before we begin make sure that you

play00:48

have subscribed to our youtube channel

play00:50

and click on the bell icon so that you

play00:52

can never miss an update from simply

play00:54

learn so without further ado let's get

play00:56

started with the first topic that is

play00:58

what is performance testing

play01:03

so performance testing is one of the

play01:05

most important phases of any product

play01:07

launch as it verifies and validates the

play01:10

overall product performance this testing

play01:12

can be done in different forms depending

play01:14

upon the resource availability and the

play01:16

type and volume of the user base

play01:19

the main agenda behind conducting

play01:21

performance testing on any product is to

play01:23

make sure that the product's performance

play01:25

is as expected before it gets launched

play01:27

into the market so performance testing

play01:30

is the process of testing a software

play01:31

application under a specific workload

play01:35

performance testing is a software

play01:36

testing process used to test the speed

play01:39

response time stability reliability

play01:42

scalability and resource usage of a

play01:45

software application under a particular

play01:47

workload

play01:48

the main purpose of performance testing

play01:51

is to identify and eliminate performance

play01:53

bottlenecks in the software application

play01:56

performance testing mainly focuses on

play01:58

three factors of a software program

play02:00

first one is the speed

play02:02

here it identifies whether the response

play02:05

of the application is fast or not then

play02:08

comes scalability where the maximum user

play02:11

load is determined and the third one is

play02:13

stability where the stability of the

play02:15

application is checked under various

play02:18

workloads

play02:19

now we know what is performance testing

play02:21

let us understand why if we need

play02:23

performance testing

play02:26

the only concern of a software system is

play02:28

not features and functionality the

play02:30

response time reliability resource and

play02:33

scalability are also important factors

play02:36

so the goal of performance testing is

play02:39

not to find bugs but to eliminate

play02:41

performance glitches

play02:43

performance testing is performed to help

play02:45

the stakeholders with information about

play02:47

the application concerning the

play02:49

application speed stability and

play02:52

scalability furthermore performance

play02:54

testing reveals what needs to be

play02:56

improved before the product goes into

play02:58

the market if there is no performance

play03:00

testing the software might suffer from

play03:02

issues such as running slow while

play03:04

several users use it simultaneously

play03:06

inconsistencies across different

play03:08

operating systems and poor usability

play03:11

performance testing determines if the

play03:12

software or application meets speed

play03:15

scalability and stability requirements

play03:17

under expected workloads applications

play03:20

sent to market with poor performance

play03:21

metrics due to non-consistent or poor

play03:24

performance testing are likely to bring

play03:26

a bad reputation and fail to meet the

play03:28

expected sales goals

play03:30

now we know the relevance and need for

play03:32

performance testing let's look at the

play03:34

types of performance testing

play03:37

so there are six types of performance

play03:39

testing namely load testing stress

play03:42

testing volume testing capacity testing

play03:45

reliability testing and scalability

play03:48

testing let's have a look at all the six

play03:50

types of testing one after the other

play03:53

so the first type is load testing load

play03:56

testing is a type of performance testing

play03:58

where the application is tested for its

play04:00

performance on normal and peak usage

play04:03

an application's performance is checked

play04:05

concerning its response to the user

play04:07

request and its availability to respond

play04:09

consistently with an accepted endurance

play04:12

on different user loads here the main

play04:15

consideration is the maximum load the

play04:17

application can hold before the

play04:18

application starts behaving abruptly

play04:21

then another consideration is regarding

play04:23

how much data the database can handle

play04:25

before the system crashes the second

play04:28

type of performance testing is stress

play04:30

testing

play04:32

stress testing is a type in which

play04:34

different ways to break the system are

play04:36

found that is how much load a system can

play04:38

sustain

play04:39

stress testing has an incremental

play04:41

approach where the load is increased

play04:43

gradually the test started with the load

play04:45

for which the application has already

play04:47

been tested then more load is added

play04:50

slowly to stress the system

play04:52

the point at which we start seeing

play04:54

servers not responding to the request is

play04:56

considered the breaking point

play04:58

here the major considerations are the

play05:00

maximum load to a system can sustain

play05:02

before it breaks down then how is the

play05:04

system broken down and how will the

play05:06

system be able to recover once it has

play05:09

crashed

play05:11

we also see in how many ways a system

play05:13

can break and which are the weak nodes

play05:15

that are to be kept in mind while

play05:17

handling the unexpected load moving

play05:20

forward the next type is volume

play05:22

testing volume testing is the type where

play05:25

the performance of the system is checked

play05:27

with respect to the volume of the data

play05:29

to execute a volume test a huge volume

play05:31

of data is entered into the database

play05:34

this test can be incremental or steady

play05:36

test in the incremental test the volume

play05:39

of the data is increased gradually

play05:41

generally with the application usage the

play05:44

database size grows and it is necessary

play05:46

to test the application against a heavy

play05:48

database if we consider an example let's

play05:52

say there is a website of college having

play05:54

small amounts of data to store initially

play05:57

but after 5-10 years the data stored in

play05:59

the database of the website is much more

play06:02

and has become huge

play06:05

now comes the fourth type of performance

play06:07

testing the capacity testing

play06:10

so capacity testing is a type of testing

play06:12

where the application is checked for its

play06:14

capability to meet the business volumes

play06:17

capacity testing is generally done for

play06:19

future prospects

play06:20

here the main concerns are if the

play06:22

application would be able to support the

play06:24

future load

play06:25

if the environment is capable of

play06:27

standing the upcoming increased loan and

play06:30

what are the additional resources

play06:31

required to make the environment capable

play06:33

enough

play06:34

capacity testing helps in determining

play06:36

how many uses or transactions of a given

play06:39

web application is capable of supporting

play06:41

and will perform well during this

play06:43

testing resources such as processor

play06:46

capacity

play06:47

network bandwidth memory usage disk

play06:50

capacity etc are considered and altered

play06:52

to meet the goal

play06:54

to consider an excellent example of

play06:56

capacity testing we can see the case of

play06:58

online banking moving forward the next

play07:00

type of testing is the reliability

play07:02

testing

play07:03

reliability testing is a type in which

play07:06

the application is verified if the

play07:08

application would be normal again after

play07:10

an abnormal state

play07:12

it estimates the time that the system

play07:14

would take to return to its normal state

play07:15

to understand the concept let's say

play07:18

there is an online trading site that

play07:20

experiences some failure and because of

play07:22

which the users are not able to buy or

play07:24

sell shares at a certain point of the

play07:26

day but after a couple of hours they

play07:29

were able to operate their shares and

play07:31

the application became normal this is

play07:33

when it can be said that the application

play07:35

is reliable and can recover from its

play07:37

abnormal state the last type of testing

play07:40

is scalability testing

play07:42

scalability testing is a type where the

play07:44

application is determined if it would be

play07:46

able to scale up whenever needed

play07:48

the need for scaling up comes when there

play07:50

is an increase in user load

play07:52

now when we have learned the types of

play07:54

performance testing we must learn the

play07:56

process of performance testing

play07:58

so the process of performance testing is

play08:01

divided into eight parts that is

play08:03

requirement gathering selection of tools

play08:06

performance test plan performance test

play08:09

development performance test modeling

play08:11

execution of test test result analysis

play08:14

report now let's have a look at all of

play08:17

these processes one after the other the

play08:19

first step in the process is requirement

play08:21

gathering the requirements are

play08:23

identified and gathered from the clients

play08:25

by the performance team this includes

play08:27

getting information on the application's

play08:29

architecture technologies database used

play08:31

intended users functionality application

play08:34

usage test requirement hardware and

play08:36

software requirements etc

play08:38

the second step in the process is

play08:40

selection of tools

play08:42

after the previous step poc or proof of

play08:45

concept is done with the available tools

play08:48

the proof of concept is a sort of

play08:50

demonstration of real-time activity but

play08:52

in a limited sense

play08:54

the list of available tools depends on

play08:56

the tool's course the protocol that the

play08:58

application is using the technologies

play09:00

used to build the application the number

play09:02

of users we were simulating for the test

play09:04

etc now the third step

play09:07

the third step is the performance test

play09:09

plan in reference to the above two steps

play09:11

test planning and designing are

play09:14

conducted the process of test planning

play09:16

involves information on how the

play09:17

performance test is going to take place

play09:19

like the test environment workload

play09:22

hardware etc moving forward the fourth

play09:25

step is performance test development in

play09:28

this step the use cases for the

play09:30

identified functionalities are created

play09:33

these use cases are shared with the

play09:35

client for their approval

play09:36

once the clients approve the use case

play09:38

the script development begins these

play09:40

scripts are validated against several

play09:42

different users and parallel to script

play09:44

creation the performance team sets up

play09:47

the test environment the performance

play09:49

team also takes care of metadata through

play09:51

scripts if the client does not take up

play09:53

that activity so the next step is

play09:56

performance test modeling

play09:58

performance load model is created for

play10:00

the test execution

play10:02

this step aims to validate whether the

play10:04

given performance metrics are achieved

play10:06

during the test or not then the sixth

play10:08

step is execution of tests the scenario

play10:11

is designed according to the load model

play10:13

in controller or performance center

play10:15

initially the tests are not executed

play10:18

with maximum users that are in the load

play10:20

model the test execution is done in

play10:22

incremental order let's say there are

play10:24

thousand users then the scenario will

play10:26

begin testing from 100 then go to 250

play10:29

then 350 and so on it will gradually

play10:32

increase and go up to 1000 users

play10:36

the next step is the seventh step in our

play10:38

process

play10:39

that is the test result analysis

play10:42

the test results are the most important

play10:44

deliverable for the performance tester

play10:47

this is where we can prove the return on

play10:48

investment and productivity that a

play10:50

performance testing effort can provide

play10:52

what makes the result analysis process

play10:54

more effective is that we must have a

play10:57

unique and meaningful name for every

play10:58

test result which will help us

play11:00

understand the test purpose in the test

play11:02

summary certain things must be included

play11:04

like the reason for failure how the

play11:06

performance of the application changes

play11:08

regarding the previous runs it is also a

play11:10

good practice to make a result summary

play11:12

after each test run so that the analysis

play11:14

results are not compiled every single

play11:16

time the results are referred

play11:19

then the final and the last step in

play11:20

performance testing process is the

play11:22

report the test results should be

play11:24

simplified so that conclusion is clearer

play11:26

and should not create any derivation

play11:28

the development team needs more

play11:30

information on analysis comparison of

play11:32

results and details of how the results

play11:34

were obtained the test report is

play11:36

considered to be good if it's brief

play11:38

descriptive and to the point

play11:40

now that we know the performance testing

play11:41

the next important topic to discuss is

play11:43

the understanding of performance testing

play11:45

metrics

play11:46

the first is processor usage which

play11:48

refers to the amount of time the

play11:50

processor spends executing the non-idle

play11:52

threads second metric is memory usage

play11:55

memory use is the amount of physical

play11:56

memory available to the processor on a

play11:58

computer system the third metric is this

play12:01

time which is the amount of time the

play12:02

disk is busy in executing read or write

play12:05

request the fourth metric is the

play12:07

bandwidth that shows the bits per second

play12:09

used by a network interface moving

play12:11

forward the next metric is the private

play12:13

bytes it is the number of bytes a

play12:15

process has allocated that can be shared

play12:17

amongst the other processes these are

play12:19

used to measure memory leaks and usage

play12:21

then comes the committed memory this is

play12:23

the amount of virtual memory used

play12:25

then the next metric we have is the

play12:27

response time it is the time between

play12:29

when the user enters a request to time

play12:32

to the first character of the response

play12:33

is received

play12:35

next metric is the throughput it is the

play12:37

rate at which a computer or a network

play12:38

receives requests per second moving

play12:40

forward the next metric is the hit

play12:42

ratios the hit ratios are concerned with

play12:44

the number of sql statements that are

play12:46

handled by caged data instead of

play12:48

expensive input output operations

play12:52

and the last metric in our list is the

play12:54

top weights these are monitored to

play12:56

determine what wait times can be cut

play12:58

down to make the data retrieval faster

play13:01

from memory apart from this some metrics

play13:03

like the rollback segment garbage

play13:05

collection

play13:06

thread counts heads per second cpu

play13:08

interruption per second disk you length

play13:10

etc now when we know almost everything

play13:13

that is needed regarding performance

play13:14

testing it is very important to know the

play13:16

tools that make performance testing

play13:18

possible here are the top 5 performance

play13:20

testing tools in the market today the

play13:22

first tool we have is the load runner or

play13:24

hp load runner as the name suggests the

play13:26

loadrunner is great when it comes to

play13:28

handling a large amount of users for

play13:30

testing

play13:31

the second tool in our list is web load

play13:33

web load is one of the best testing

play13:35

tools for stress and load testing the

play13:37

next tool in our list is load ui load ui

play13:40

is a great testing tool to map the

play13:42

scalability and speed of the target

play13:44

product the fourth tool in our list is

play13:46

new load it is one of the fastest

play13:48

testing tools with a speed of around 10

play13:50

times the traditional testing tools that

play13:52

are integrated seamlessly into our

play13:54

existing software with a wide array of

play13:56

tests the last tool in our list is the

play13:58

apache j meter apache j meter is one of

play14:01

the best and most used testing tools in

play14:03

the market right now it is highly

play14:05

capable of creating a large number of

play14:07

virtual users working on web server

play14:09

moving forward we shall talk about

play14:11

jmeter and understand why jmeter is

play14:13

preferred over all the other performance

play14:14

testing tools in the market

play14:16

so moving forward let's see what jmeter

play14:18

is

play14:19

j meter or apache j meter is an open

play14:21

source software that is 100 pure java

play14:25

application

play14:26

the application is designed to load or

play14:28

test functional behavior and measure

play14:30

performance

play14:31

j meter is originally designed for

play14:33

testing web applications but has since

play14:35

expanded to other test functions to

play14:37

understand the concept of j meter let us

play14:39

assume that someday your team leads tell

play14:42

you to perform performance testing on

play14:43

some website like facebook or google.com

play14:46

for 100 users

play14:47

what would be the first thing comes to

play14:49

your mind do you think it's practically

play14:51

possible to arrange 100 people with

play14:53

computers and access to internet and

play14:55

accessing the same website

play14:57

now just imagine the infrastructure

play14:59

requirement when this testing has to be

play15:01

done for 10 000 users this is when a

play15:04

need for software like jmeter arises so

play15:07

what jmeter does is it actually

play15:09

simulates

play15:10

it will simulate the real user's

play15:12

behavior and perform load tests on

play15:14

server group of servers network or

play15:16

object now let's have a look at some

play15:19

reasons why gmeter is used for load

play15:21

testing we have divided these reasons

play15:23

into six parts

play15:24

the first one is it's free of cost

play15:26

second one is performance testing of

play15:28

applications next one platform

play15:30

independent the fourth one is

play15:32

customizable fifth is recording and

play15:34

playback and finally sixth is the

play15:35

community support let's see all of these

play15:38

one after the other the first reason we

play15:40

have as free of cost one of the main

play15:42

deciding factors in any software is its

play15:44

cost normally a software can range from

play15:47

high as six to seven figures per license

play15:49

here jmeter is free of cost very

play15:52

intuitive and has all the possibilities

play15:54

you need to automate your work then the

play15:55

second reason is performance testing of

play15:57

applications the application is used to

play15:59

perform performance testing on different

play16:01

types of applications like web

play16:02

applications web services ldap database

play16:06

and shell scripts jmeter can conduct

play16:08

load and performance tests for many

play16:10

different servers and server types web

play16:13

http and https database via jdbc ldap

play16:17

and jms the third reason is

play16:20

platform independence

play16:22

jmeter is written and developed using

play16:24

java to run on any environment or

play16:26

workstation that accepts java virtual

play16:28

machine for example windows linux mac

play16:31

etc the next reason we have is that the

play16:33

jmeter is customizable since jmeter is

play16:36

an open source application it enables

play16:38

developers to customize

play16:40

whenever needed jmeter has a

play16:42

comprehensive and user friendly

play16:43

graphical user interface

play16:46

parameters are easy to define and

play16:47

understand scripting is simpler and

play16:49

clearer and adding and defining elements

play16:51

is more intuitive also one screen shows

play16:54

everything you need the script the

play16:55

scenario and the analysis

play16:58

the samplers are highly customizable

play17:00

when determining which request to be

play17:02

sent to the host however samplers don't

play17:05

enable full control of test actions

play17:07

moving forward the following reason is

play17:09

recording and playback

play17:11

the application provides record and

play17:13

playback options enabled with the drag

play17:15

and drop feature making the application

play17:17

faster and easier the next and the last

play17:20

reason on our list is incredible

play17:21

community support jmeter is an open

play17:24

source tool with a brilliant community

play17:25

that keeps adding features and supports

play17:27

users who run into issues and problems

play17:30

this ensures new users always have

play17:32

someone to answer their questions and

play17:34

longtime users can improve their

play17:36

abilities on gmeter also having an open

play17:39

source tool ensures that it keeps

play17:41

getting better and is always in line

play17:43

with users needs and requirements

play17:45

finally let's have a look into the demo

play17:47

that shows the working of j meter

play17:50

so the first step is we shall go to the

play17:52

apache j meter folder

play17:54

in that folder go inside the bin folder

play17:57

and select the j meter jmeter.pat file

play18:01

double click on this file

play18:03

this might take a while

play18:05

and then the jmeter window will open on

play18:08

the screen

play18:16

the home window is divided into two

play18:18

sections on the left side all the test

play18:20

plan elements are added and on the right

play18:23

side all the configurations of that

play18:25

element are

play18:26

added as we are on the test plan element

play18:30

we can see the configurations of the

play18:32

same

play18:33

here the test plan is like a place or a

play18:36

container where all the elements we will

play18:38

be using to perform this test will be

play18:41

stored all the requests listeners and

play18:44

everything will be stored here

play18:49

i have renamed this test plan as

play18:51

performance testing

play18:59

now the first step is to add thread

play19:01

group

play19:03

right click on the performance testing

play19:05

go to add

play19:07

then go to thread or users and select

play19:10

thread group

play19:12

let's name this as perform

play19:16

here the thread group refers to the used

play19:19

or created users or needed to run this

play19:22

test

play19:23

it has several different options like

play19:25

the action to be taken after there is an

play19:27

error you can choose it the way you want

play19:30

then there is this number of threads

play19:32

where you can choose the number of users

play19:33

you want then there is a ramp up period

play19:36

in seconds option that states the time

play19:38

gap between the user's hits third there

play19:40

is a loop count where you can choose how

play19:42

many times the test will run for the

play19:44

number of users you can also choose the

play19:47

test to run in finite times there is

play19:49

also a scheduler here to help you

play19:51

schedule the start time and the test end

play19:53

time let's make the number of threads to

play19:55

b2 and let's make the loop count to be

play19:57

100

play19:58

the next step is to add an http request

play20:01

for that right click on the thread group

play20:03

go to add option and go to the sampler

play20:05

option in the menu that appears select

play20:08

the http request option here on the

play20:10

screen there is a server name or ipbox

play20:13

we have to give the server name or the

play20:15

ip in that let's pick up a website and

play20:17

place the link in the box we shall use

play20:19

the simply learns website here go to

play20:21

simply learn's website and copy the url

play20:23

from here then come back to the jmeter

play20:25

window and paste it onto the server name

play20:27

box keep in mind we don't need to give

play20:29

the http or https since these are

play20:32

protocols which will come in the other

play20:34

box and

play20:35

they will be automatically taken in the

play20:37

http request case

play20:40

then in the path dialog box we will

play20:41

leave the forward slash there since we

play20:44

have to access the root page

play20:46

and let's rename this http request as

play20:48

simple now

play20:50

to get results we shall add listeners

play20:52

listeners are something that are used to

play20:54

provide the outputs of a load test there

play20:56

are different types of listeners present

play20:58

in jmeter and many may be added using

play21:00

plugins we will use three different

play21:02

listeners here to have an idea about the

play21:05

representation that the jmeter provides

play21:07

for that right click on the thread group

play21:08

then go to the add select listener

play21:10

option and go to the view results entry

play21:12

option then again right click on the

play21:14

listener option and choose graph results

play21:16

and for the third listener again right

play21:18

click and select the view results in the

play21:20

table option

play21:28

now it's time to run the test

play21:30

for running the test there are three

play21:32

simple ways first you can simply click

play21:33

on the green button here to run second

play21:36

is you can go to the run option and

play21:37

choose the run the test and the third

play21:40

way you can right click on the first

play21:42

jmeter and choose to run

play21:44

let's simply choose the green button and

play21:46

run the test

play21:47

first we will have to save this jmeter

play21:50

test and then we shall go on to check

play21:51

the results of the test

play21:55

here in the view results tree we can see

play21:57

the test being run

play22:02

the same in the case of graph results we

play22:04

can see the throughput option then we

play22:06

can also see the time the test has been

play22:08

executing since we had put the threads

play22:11

to 2 and the loop count to 100 so the

play22:13

test will run for a while

play22:15

we can check the view results in the

play22:17

table we can see different performance

play22:19

testing metrics on the screen you can

play22:21

see the thread name label sample time

play22:23

per second bytes sort bytes and the

play22:26

latency

play22:27

and in the tree option when we click on

play22:29

the test we can see a lot of information

play22:32

appearing on the screen these are again

play22:34

several performance testing metrics and

play22:36

in the graph results we can see the

play22:38

graph coming up on the screen now which

play22:40

represents the test taking place with

play22:42

respect to the ip address thread and

play22:44

loop counts so what jmeter exactly does

play22:46

is creates a request and sends it to the

play22:48

server once it receives the service

play22:50

response it collects them and visualizes

play22:52

those details in a chart or graph after

play22:55

that it processes the service response

play22:58

and finally it generates the test

play22:59

results in several formats such as text

play23:02

xml json so that the tester can analyze

play23:05

the data

play23:06

and this was all for today's session

play23:08

hope you guys found it informative and

play23:09

helpful thanks for watching and stay

play23:12

tuned for more from simply learn

play23:19

hi there if you like this video

play23:20

subscribe to the simply learn youtube

play23:22

channel and click here to watch similar

play23:25

videos to nerd up and get certified

play23:27

click here

Rate This

5.0 / 5 (0 votes)

Related Tags
PerformanceTestingSoftwareOptimizationLoadRunnerApacheJMeterWebApplicationsLoadTestingStressTestingScalabilityCommunitySupportOpenSource