What is lazy loading

Lazy loading is an optimization technique whereby we delay the load of an object(image, video, audio, documents) until when it is needed.

When a user opens a webpage, all the contents are downloaded in one fell swoop. Most of the contents may never be interacted with or seen by the user. So why waste precious time, resources and bandwidth?

To boost the response time of our site, we do not load some non-critical parts of our app at load time. These resources are then loaded when the user accesses part of the page that requires it.

Exaple: You have a blog with a very long paragraph and so many images and videos in it. When a user opens the blog, only those images and videos will be loaded which are currently visible on the screen and the rest resources will be loaded once the user scroll down to read the next part of the blog. This will reduce the load time of the blog and will help to improve the performance.

Concurrent vs Simultaneous users

Many people’s get confused between concurrent and simultaneous users on an application

Concurrent Users: When multiple users access a website but perform different-different actions at the same time is called concurrent users.

Simultaneous Users: When multiple users access a website and Perform the same action at the same time is called simontenious users.

Rendsveous point in Loadrunner is used to simulate the simultaneous users on the application.

Baseline vs Benchmark Testing

Baseline testing is the process of running a set of tests to capture performance information. whereas Benchmark testing is the process of comparing application performancewith respect to industry standard that is given by some other organization. 

Baseline Testing:When an application is tested for the first time, we capture the performance metrics like response time, throughput, CPU utilisation etc and use it as a Baseline is a for future tests to compare with.

Benchmark Testing: Benchmark testing is used to test and verify the application performance against industry standerds.

Distributed Testing in Jmeter

Distributed testing is an essential part of Jmeter testing if you are planning to test your application with large no of users. A single machine may not be able to generate large numbers of users and hence Jmeter allow us to generate the load from multiple machines in the same network.

Please refer below link for step by step guide for distributed testing.

Article Link

Jmeter vs Loadrunner?

Apache JMeter

The Apache company developed Jmeter to tackle the expensive HP LoadRunner application testing software. It matches the LoadRunner in a technical capacity and is considered as one of the most advanced tools among all the open source platform testing applications. It is a simulated application that allows virtual users to make the same requests as a browser would.

Looking at the LoadRunner vs Jmeter facts, one feature that sets apart Jmeter from its competitors is its extensive Java plug-ins. This allows the user to add functionalities just by scripting in the necessary Java plug-in. Another area where Jmeter is different from LoadRunner is the load conditions. LoadRunner defines load in terms of requests per second whereas Jmeter defines separate load conditions for synchronized users.

HP LoadRunner

The HP LoadRunner is one of the most recognized performance testing tools. It revitalized performance testing by adopting testing methods on virtual machines instead of operating them by using separate software tools. The reason for it being so expensive was because of it being the sole operator in the software testing realm. However, it is not practical to use LoadRunner if you have to run a large scale performance test.

Besides that, it requires advanced coordination to secure performance testing time slots when it comes to the development of load test websites.

Conclusion : In my opinion if your budget allow you go for licenced version of Loadrunner, go for it. It give you additional features like rich monitoring, Reporting and analysis features.

Types of Performance Testing

Load Testing:

Load Testing is to verify that the system/application can handle the expected number of transactions and to verify the system/application behaviour under both normal and peak load conditions (no. of users).

Volume Testing:

Volume Testing is to verify that the system/application can handle a large amount of data. This testing focuses on Data Base.

Stress Testing:

Stress Testing is to verify the behaviour of the system once the load increases more than the system’s design expectations. This testing addresses which components fail first when we stress the system by applying the load beyond the design expectations. So that we can design more robust system.

Soak Testing:

Soak Testing is aka Endurance Testing. Running a system at high load for a prolonged period of time to identify the performance problems is called Soak Testing. It is to make sure the software can handle the expected load over a long period of time.

Spike Testing:

Spike Testing is to determine the behaviour of the system under sudden increase of load (a large number of users) on the system.

What is Performance Testing

Performance Testing is defined as a type of software testing to ensure software applications will perform well under their expected workload.

Features and Functionality supported by a software system is not the only concern. A software application’s performance like its response time, reliability, resource usage and scalability do matter. The goal of Performance Testing is not to find bugs but to eliminate performance bottlenecks.

The focus of Performance Testing is checking a software program’s

  • Speed – Determines whether the application responds quickly
  • Scalability – Determines maximum user load the software application can handle.
  • Stability – Determines if the application is stable under varying loads

Performance Testing is popularly called “Perf Testing” and is a subset of performance engineering.