Home Java Overview Maven Tutorials

Sunday 2 August 2020

Introduction of Jmeter and Basic definitions

Introduction of Java & Basic Definitions

Introduction JMeter is the best open-source load testing tool to measure the performance of an application.

jMeter is an Open Source testing software. It is 100% pure Java application for load and performance testing.

jMeter is designed to cover various categories of tests such as load testing, functional testing, performance testing, regression testing, etc., and it requires JDK 6 or higher.

Performance Testing :-
In software quality assurance, performance testing is in general a testing practice performed to determine how a system performs in terms of responsiveness and stability under a particular workload.

Speed – It Checks whether the response of the application is fast.

Scalability – It determines the maximum user load.

Stability – It checks if the application is stable under varying loads.

Performance Testing Techniques:

Load testing - It is the simplest form of testing conducted to understand the behavior of the system under a specific load. Load testing will result in measuring important business critical transactions and load on the database, application server, etc., are also monitored.
Stress testing - It is performed to find the upper limit capacity of the system and also to determine how the system performs if the current load goes well above the expected maximum.
Soak testing - Soak Testing also known as endurance testing, is performed to determine the system parameters under continuous expected load. During soak tests the parameters such as memory utilization is monitored to detect memory leaks or other performance issues. The main aim is to discover the system's performance under sustained use.
Spike testing - Spike testing is performed by increasing the number of users suddenly by a very large amount and measuring the performance of the system. The main aim is to determine whether the system will be able to sustain the workload.

Attributes of Performance Testing:


Connection Time : Time to connect to Server from client

Response Time : Response time is a measure of how responsive an application or subsystem is to a client request.

Throughput : Throughput indicates the number of transactions per second an application can handle, the amount of transactions produced over time during a test. Requests per second, calls per dat, hits per second, report per year etc.

Scenarios : Scenarios In the context of performance testing, a scenario is a sequence of steps in your application. A scenario can represent a use case or a business function such as searching a product catalog, adding an item to a shopping cart, or placing an order.

Bottleneck:Bottleneck used to describe a single part of a system that prevents further processing or significantly degrades the performance of the system as a whole.

Capacity:The degree to which a system can perform data processing until performance degrades. For example, the number of new customers being added to a database.

Concurrency: Normally this means the number of simultaneous virtual users driving transactions across the user journeys in a given performance test scenario but can also mean the number of transactions synchronized to happen at exactly the same point.

Key Performance Indicators(KPI):The set of targets which set the expected performance targets within the production system. These may include page response time(e.g. 99% of pages loaded <= 2 seconds), user concurrency, batch processing times, data throughput volumes, transaction failure rates and underlying infrastructure behavior(e.g. Maximum average CPU used, minimum free memory available, threshold for remaining physical storage/disk usage, logging space etc.)

Load Testing :-A type of performance testing used to evaluate the behavior of a system or component when the load on the system(via users and transaction) progressively increase up to and including peak levels.

Non-functional Requirements NFRs requirements that do not relate to the functioning of the system but to other aspects of the system such as reliability, usability and performance.

Performance Engineering:Activities designed to ensure a system will be designed and implemented to meet specific non malfunction requirements. Often takes place following completion of testing activities that highlight weaknesses in the design and implementation.

Performance Test Plan:-Typically a written document that details the objectives, scope, approach, deliverable, schedule, risk, data and test environment needs for testing on a specific project.

Performance Testing:-Testing designed to determine the performance level of a system.

Reliability :Related to stability, reliability is the degree to which a system provides the same result for the same action over time under load.

Scalability:The degree a which a system's performance and capacity can be increased typically by increasing available hardware resources with in a set of servers(vertical scaling) or increasing the number of servers available to services request (horizontal scaling)

Soak Testing:A type of performance testing used to evaluate the behavior of a system or component when the system is subjected to expected load over a sustained period of time.

Spike Testing: A type of performance testing used to evaluate the behavior of a system or component when subjected to large short-term changes in demand. Normally this is to test how the system responds to large increases in demand, e.g. User Logins, Black Friday-like scales events etc.

Stability:The degree to which a system exhibits failures and errors when under normal usage. For example, erroneous errors when registering new users under load.

Stress Testing:A type of performance testing used to evaluate the behavior of a system or component when subjected to load beyond the anticipated workload or by reducing the resources the system can use, such as CPU or memory.

Transaction Volume Model(TVM):A document detailing the user journeys to be simulated, the click-path steps that make up the user journeys and associated load/transaction volume models to be tested. This should include information regarding the geographical locale from where users will be expected to interact with the system and the method of interaction e.g. mobile vs desktop.

User Journey: The path through the system under test that a group of virtual users will use to simulate real users. It should be noted that key performance/volume impacting journeys should be used as it is impractical to performance test all possible User journeys, a good rule-of-thumb is to use the 20% of user journeys that generate 80% of the volume.

Virtual User:A simulated user that performs actions as a real user would during the execution of a test.

No comments:

Post a Comment