10%

Try : Insurtech, Application Development

Edtech(5)

Events(31)

Interviews(10)

Life@mantra(10)

Logistics(1)

Strategy(14)

Testing(6)

Android(41)

Backend(28)

Dev Ops(2)

Enterprise Solution(20)

Frontend(28)

iOS(38)

Javascript(13)

AI in Insurance(24)

Insurtech(57)

Product Innovation(34)

Solutions(13)

Augmented Reality(7)

Customer Journey(7)

Design(6)

User Experience(21)

Artificial Intelligence(93)

Bitcoin(7)

Blockchain(14)

Cognitive Computing(7)

Computer Vision(6)

Data Science(13)

FinTech(41)

Intelligent Automation(25)

Machine Learning(43)

Natural Language Processing(10)

Basics of load testing in Enterprise Applications using J-Meter

5 minutes read

We need to test websites and applications for performance standards before delivering them to the client. The performance or benchmark testing is an ongoing function of software quality assurance that extends throughout the life cycle of the project. To build standards into the architecture of a system — the stability and response time of an application is extensively tested by applying a load or stress to the system.

Essentially, ‘load’ means the number of users using the application while ‘stability’ refers to the system’s ability to withstand the load created by the intended number of users. ‘Response time’ indicates the time taken to send a request, run the program and receive a response from a server.

Load testing on applications can be a challenging ordeal if a performance testing strategy is not predetermined. Testing tasks require multifaceted skill-sets — from writing test scripts, monitoring and analyzing test results to tweaking custom codes and scripts, and developing automated test scenarios for the actual testing.

So, is load testing on applications really necessary?

Quality testing ensures that the system is reliable, built for capacity and scalable. To achieve this, the involved stakeholders decide the budget considering its business impact.

Now, this raises a question — how do we predict traffic based on past trends? and how can we make the system more efficient to handle traffic without any dropouts? Also, if and when we hit peak loads, then how are we going to address the additional volume? For this, it is crucial to outline the performance testing strategy beforehand.

5 Key Benefits of Performance Testing

  1. It identifies the issues at the early stage before they become too costly to resolve (for example, exposing bugs that do not surface in cursory testing, such as memory management bugs, memory leaks, buffer overflows, etc.).
  2. Performance testing reduces development cycles, produces better quality and more scalable code.
  3. It prevents revenue and credibility loss due to poor web site performance.
  4. To enable intelligent planning for future scaling.
  5. It ensures that the system meets performance expectations (response time, throughput, etc.) under-designed levels of load.

Organizations don’t prefer manual testing these days because it is expensive and requires human resources and hardware. It is also quite complex to coordinate and synchronize multiple testers. Also, repeatability is limited in manual testing.

To find the stability and response time of each API, we can test different scenarios by varying the load at different time intervals on the application. We can then automate the application by using any performance testing tool.

Performance Testing Tools

There are a bunch of different tools available for testers such as Open Source testing Tools — Open STA Diesel Test, TestMaker, Grinder, LoadSim, J-Meter, Rubis; Commercial testing tools— LoadRunner, Silk Performer, Qengine, Empirix e-Load.

Among these, the most commonly used tool is Apache J-Meter. It is a 100% Java desktop application with a graphical interface that uses the Swing graphical API. It can, therefore, run on any environment/workstation that accepts Java virtual machine, for example, Windows, Linux, Mac, etc.

We can automate testing the application by integrating the ‘selenium scripts’ in the J-Meter tool. (The software that can perform load tests, performance-functional tests, regression tests, etc. on different technologies.)

[Related: A Complete Guide to Regression Testing in Agile]

If the project is large in scope and the number of users keeps increasing day-by-day then the server’s load will be greater. In such situations, Performance testing is useful to identify at what point the application will crash. To find the number of errors and warnings in the code, we use the J-Meter tool.

How J-Meter Works

J-Meter simulates a group of users sending requests to a target server and returns statistics that show the performance/functionality of the target server/application via tables, graphs, etc.

The following figure illustrates how J-Meter works:

How J-Meter works - Load Testing on applications

The J-Meter performance testing tool can find the performance of any application (no matter whatever the language used to build the project).

First, it requires a test plan which describes a series of steps that the J-Meter will execute when run. A complete test plan will consist of one or more thread groups, samplers, logic controllers, listeners, timers, assertions and configuration elements.

The ‘thread’ group elements are the beginning of any test plan. Thread group element controls the number of threads J-Meter will use during the test run. We can also control the following via thread group: setting the number of threads, setting the ramp-up time and setting the loop count. The number of threads implies the number of users to the server application, while the ramp-up period defines the time taken by J-Meter to get all the threads running. Loop count identifies the number of times to execute the test.

After creating the ‘thread’ group, we need to define the number of users, iterations and ramp-up time (or usage time). We can create virtual servers depending on the number of users defined in the thread group and start performing the action based on the parameters defined. Internally J-Meter will record all the results like response code, response time, throughput, latency, etc. It produces the results in the form of graphs, trees and tables.

J-Meter has two types of controllers: Samplers and Logic controllers. Samplers allow the J-Meter to send specific requests to a server, while Logic controllers control the order of processing of samplers in a thread. They can change the order of requests coming from any of their child elements. Listeners are then used to view the results of samplers in the form of reporting tables, graphs, trees or simple text in some log files.

Please remember, always do performance testing by changing one parameter at a time. This way, you’ll be able to monitor response and throughput metrics and correct discrepancies accordingly. The real purpose of load testing is to ensure that the application or site is functional for businesses to deliver real value to their users — so test practically, and think like a real user.

If you’ve any queries or doubts, please feel free to write to hello@mantralabsglobal.com.

About the author: Syed Khalid Hussain is a Software Engineer-QA at Mantra Labs Pvt Ltd. He is a pro at different QA testing methodologies and is integral to the organization’s testing services.

Load Testing on Applications FAQs

What is the purpose of load testing?

Load testing is done to ensure that the application is capable of withstanding the load created by the intended number of users (web traffic).

Which tool is used for load testing?

There are open source and commercial tools available for load testing. 
Open Source Tools are — Open STA Diesel Test, TestMaker, Grinder, LoadSim, J-Meter, Rubis. Commercial testing tools are — LoadRunner, Silk Performer, Qengine, Empirix e-Load.

How load testing is done?

Load testing is done using test scripts, monitoring and analyzing test results and developing automated test scenarios.

Check out these articles to catch the latest trends in mobile apps:

  1. 7 Important Points To Consider Before Developing A Mobile App
  2. The Clash of Clans: Kotlin Vs. Flutter
  3. Google for India September event 2019 key highlights
  4. Learn Ionic Framework From Scratch in Less Than 15 Minutes!
  5. AI in Mobile Development
  6. 10 Reasons to Learn Swift Programming Language
Cancel

Knowledge thats worth delivered in your inbox

MantraTalks Podcast with Parag Sharma: Delivering Digital-first Health Experiences for Patient Care in the New Normal

6 minutes read

The healthcare industry took the brunt of the Covid-19 pandemic from the very beginning. It was, and still is, a humongous task for hospitals to deal with the rising number of COVID patients as well as handling the regular consults. 

To delve deeper into the state of healthcare in the COVID times, we interviewed Parag Sharma, CEO, Mantra Labs Pvt Ltd. Parag shares his insights on how technology can help in delivering digital-first health experiences for patient care in the New Normal.

Parag is a product enthusiast and tinkerer at heart and has been at the forefront of developing innovative products especially in the field of AI. He also holds over ten years of experience working in the services line and has been instrumental in launching several startups in the Internet & Mobile space. His rich domain expertise and innovative leadership have helped Mantra climb to the top 100 innovative InsurTechs in the World – selected by FinTech Global. 

Catch the interview:  

Connect with Parag- LinkedIn

COVID-19 and Its impact on Healthcare Organizations

Considering the COVID situation, according to you how has COVID-19 impacted the IT & service operations among healthcare organizations?

Parag:  Since the onset of COVID-19, the healthcare sector has been deeply impacted. Institutions are facing a serious crunch in manpower. IT support systems which were usually manned and managed by a large team of IT professionals are not available in the same strength. Resource allocation’ is one of the biggest concerns due to physical and mental exhaustion of the healthcare workforce. 

Hospitals are facing issues such as operational disruption due to staff quarantine, supply-chain delays and sudden decline in patient footfalls, difficulty in sustaining fixed costs, etc. People are not comfortable getting out of the safety confinements of their homes due to the rising risk of getting infected with the virus. Hospitals will have to reassess their future strategy and budgets in light of the uncertain economic situation.

Preparing for the Future

What can hospitals do to ensure the continuity of their customer-facing operations in the wake of a second Pandemic wave?

Parag: There are many things that hospitals can do to manage themselves in this hour of crisis. Being more digital than what they are would be one step forward for all of them. They can bring their IT systems to the cloud so that the person can access data and manage their work remotely. They can enable their patients to book appointments and enquire about services through apps and chatbots which won’t require them to call the reception or come to the hospital. These are some of the services which hospitals can provide to their customers with minimum physical contact. 

Related: Manipal Hospital’s move to a self-service healthcare mobile application

Hospitals can extend Telehealth services to their patients. Recently, telehealth has proved to be useful especially when there is asymmetry between the number of patients and healthcare providers. I think it will be very useful for healthcare institutions to deploy telehealth solutions to provide medical facilities to people who have so far been outside the benefits of healthcare.

New Expectations in Health Experiences

Is consumer behavior defined by the ‘new normal’ going to change the way we access healthcare from this point on?

Parag: Yes, people will expect a completely different way to access healthcare services from now on. Hospitals should gear-up and rise to this occasion. The pandemic has also provided a new opportunity to adopt a completely different approach in the way healthcare is delivered. They always felt that medical care cannot be provided remotely but now this is happening and people are appreciating remote healthcare services. Hospitals and healthcare institutions are convinced that telehealth and remote care will be more successful soon.

Technology in Healthcare can Bridge Operational Gaps

What are the operational challenges, as far as digital capabilities go, that hospitals are facing currently? And, what steps must they take to bridge these gaps?

Parag: Operational challenges are not just digital challenges. But a lot of these challenges can be addressed with technology. For example, Electronic Health Records which hospitals manage within the premises can be moved to the cloud so that the person can access these records on the cloud itself and need not come to the hospital. 

Related: Medical Image Management: DICOM Images Sharing Process

Secondly, if you deploy telehealth and telemedicine solutions, irrespective of where your patients are or doctors are, hospitals can deliver the required care to its patients. You can even extend your diagnostics services to your patients by giving them an application through which they can seamlessly book appointments for consults, diagnostics, or pathological services and resolve their queries, etc. Simply by giving a seamless interface either through bots or applications can go a long way in providing better health experiences to the customers.

Role of Chatbots in Superior Customer Experiences

According to you, what role does chatbots powered by Artificial Intelligence have in the Healthcare CX landscape?

Parag: Chatbots are the simplest example of the implementation of AI-based technology in healthcare. There are a lot of things which bots can do simplistically. For example, if a patient wants to book an appointment with the doctors, instead of going through a complex web applications and interfaces, what if I can simply write “I want to book an appointment with the doctor Dr. XYZ at 4 pm” and the bot can figure out in case the time slot is available with that particular doctor, it will confirm the appointment followed by a payment process if the payment has to be made upfront. 

Apart from this, you can extend your bots to provide e-consultations where doctors can do remote consultations via audio and video features of a chatbot. So there is a huge scope for bots beyond answering routine queries by customers or booking appointments. It does not stop just there. You can extend chatbot functionalities to support functions such as admin, HR, finance, and business process efficiency so that they can provide better services to their customers.

Related: Healthcare Chatbots: Innovative, Efficient, and Low-cost Care

Chatbot Use Cases in Healthcare

Could you tell us some possible bot use cases for delivering better customer experiences to digital health users?

Parag: Apart from booking appointments and resolving customer queries, these bots can conduct remote consultations, internal processes, health symptom checker, out-patient video consultation, second opinion consultation, ordering medicines, psychological counseling & mental wellness, scenario-based risk advice, Heroism Recognition for employees, etc. Also, it can be further extended to help patients enquire about health insurance related queries, and all the interactions between insurance companies and hospitals can be provided to the patient. 

Related: Healthcare & Hospitals Use Cases | Digital Health

The Road Ahead

COVID-19 has forced hospitals to revise patient support strategy with limited operational staff that is bringing every day a new challenge. A way out is to heavily rely on digital innovation.

In India we have a disparity between the no. of healthcare providers and care seekers. Without technology, I don’t think there is any way healthcare institutions will be able to scale to a level where they can provide meaningful services to such a large number of people. Hospitals can invest in setting up an information exchange; making the process as seamless as possible; and removing all possible inefficiencies from the supply chain through technology.

Future growth for hospitals will come from digital technology because patients will opt more for digital platforms. And it is up to hospitals to catch up with the pace at which modern technology is developing. We, at Mantra Labs, have achieved several use cases including hospitals/diagnostic centers that are able to deliver superior health experiences.

Cancel

Knowledge thats worth delivered in your inbox

Loading More Posts ...
Go Top
bot

May i help you?

bot shadow

Our Website is
Best Experienced on
Chrome & Safari

safari icon