ERP Application – Load Testing

ERP Application – Load Testing

Introduction

Load testing is a crucial part of ERP application implementation or upgrade project. It is part of performance testing of the application that tries to simulate a real-world scenario. This is helpful in gauging whether the ERP application can handle designed load at peak usage. This could be simulating concurrent users, during lets say an open enrollment, or multiple users logging in to verify their pay slips. There are multiple tools out there for load testing. This article concentrates on custom tool that can be developed quickly to simulate most aspects of load testing.

Why Load Test

For an ERP application these tests are essential

  1. Concurrent users count that application can handle
  2. Performance of a particular part of application (view paycheck, fill timesheet)
  3. Load balancer testing
  4. Application performance from multiple region *

* might require paid tool or creating cloud server in multiple geographies

load testing diagram

Tech Tools

We developed a tool that is testing first 4 aspects of the application. Since the application will be accessed from a single geographical region only, multi region testing wasn’t required. Depending on the type of integrations and user base spread you should decide on these criteria

With the introduction of headless browsers like chrome, automating browser tasks is a breeze, In Google’s word

“Why is headless chrome useful?

A headless browser is a great tool for automated testing and server environments where you don't need a visible UI shell. For example, you may want to run some tests against a real web page, create a PDF of it, or just inspect how the browser renders an URL.”

* source - Getting Started with Headless Chrome - Chrome Developers

 Google provides a node library called Puppeteer, as the name suggests it can simulate a user accessing a browser and performing actions like entering text, checking a box, press of a button.

There are multiple options and wrapper out there but my suggestion would be to use npm as you will get tons of libraries and examples to complete the task, development time will be reduced significantly. Nodejs environment is programmer friendly and can easily run on any OS. One thing to keep in mind is to ensure your application is rendering output in HTML and not executing a JavaScript to render pages as this can change the tech tools

Writing Test Cases

A programmer doesn’t need to know ERP application functionality to write test cases. They just need to know the steps a user will take , depending on the part of application you are trying to test you might want to write down those steps

  1. Open application URL
  2. Enter user credentials
  3. Press submit button
  4. Wait for application page to load
  5. Navigate to “Open Enrollment” page

Headless browser and nodejs assist in writing all these steps and more, screenshot of code snippet below

No alt text provided for this image

Here we are reading a particular tag to ensure that we are able to see the login page

No alt text provided for this image

Here code is checking whether a particular text (browser can read text) appears anywhere on the page or not (userid A is accessing application, whether user's name appears on the Self Service page or not), take a screenshot.

Nodejs can also cause the program to wait for couple of milli secs to simulate page transition or data population on press of a button. The code will be easy to write, extend and reuse for multiple tests. A search on npm will result in multiple libraries out there using same tech but adding functionality on top of it. Pick a one that suits your requirement

You might want to look for scenarios like

  • Executing concurrent requests in X times a second
  • Ramping up users by x amount
  • Loop count for repeating steps
  • Entering data from csv file
  • Generating data such as random names, random numbers , upload files

Output of such a program should be generated in csv format or use libraries to generate analytics straight out of the program.  Involvement of server management team will be helpful as they will be able to monitor server’s performance and rectify server failure under high load.

For simulating multiple region, either go for a paid solution or more economical – bring up cloud servers in multiple regions for a short period of time, load your programs there and execute them, concurrently or separately to measure latency, post testing dissolve the servers

Summary

Load testing will not only help the client have confidence in the architecture and setup, but will assist in gauging when they need to scale their servers. In case application is designed to handle X amount of users on a normal use and on a particular event say Open enrollment which falls one time a year for a week, you can scale your cloud infra to support that extra user base. This will ensure your application is healthy and keep the cloud infrastructure cost under control.

To view or add a comment, sign in

More articles by Vivek Sharma

  • Production App Solo dev with AI What Actually Worked

    I just deployed Nick4Names app to production. A full-stack app built solo, with AI as my development partner.

  • AI Is Your Teammate, Not Your Architect

    AI is here for developers. The question isn’t whether we use it — but how we use it responsibly and effectively.

    1 Comment
  • Serverless App Google Cloud to Azure Journey

    Architected proof of concept showcasing microservices and seamless integrations: starting with a Google Sheets-based…

  • BlackBox App - Cloud Architecture Exploration

    Developed a lightweight application for facilitating anonymous suggestions. The primary objective of this project was…

  • LinkedIn Posts using AI

    Small video showcasing a tool I built for posting comics on LinkedIn! This Article dives into the technical aspect of…

  • Takeaways from NVIDIA’s AI Summit in Mumbai

    I recently attended #NvidiaAISummit in Mumbai, where NVIDIA introduced AI tool kit “RTX AI Toolkit” & SDK for…

    1 Comment
  • Generative AI: Private Solutions for Organizations

    Generative AI has emerged as a powerful tool within organizations, significantly enhancing productivity and efficiency.…

  • AI Game Development

    I wanted to do a small POC using ChatGPTs new API. For this project I choose to make a game "Twenty Question", which as…

    2 Comments
  • Discord Bot Development - Sudoku Game

    Today bots are an indispensable asset within the social development landscape, reinventing the way clients or audiences…

  • Another game jam entry !!

    I recently participated in a game Jam - LD52 ,LudumDare 52. Many indie developers, both solo and in groups, compete for…

Others also viewed

Explore content categories