Increasing the performance of a public consumer web portal through performance testing

The performance of a website often leaves a lasting impression on online visitors. Those first few
seconds can either capture their attention or lead to their departure. In today’s digital landscape,
businesses are dedicating more effort to optimise their websites to ensure responsiveness and
efficiency. With countless websites serving various purposes, the focus on website performance
has never been more critical.

Optimising website performance is a topic that has garnered attention from developers, marketers,
and SEO specialists alike. A poorly optimised website can suffer from issues such as slow loading
times, poor user-friendliness, and compatibility problems. These issues not only hinder conversions
but also accumulate over time, gradually eroding the website’s overall effectiveness. Ultimately, a
few seconds’ delay can translate into the loss of potential leads.

Client’s case: Enhancing a consumer web portal

The client, who operates as a water and sewer service provider, was looking to improve the performance and user experience of their consumer web portal. Struggling to accommodate a sudden increase in traffic, the portal received negative feedback from users. The challenge was clear: identifying data bottlenecks and rectifying the performance issues to restore user satisfaction.

The client wanted to know if their application could handle increasing loads as their user base grows. Performance testing helped identify the application’s scalability and whether it can accommodate a larger number of users without significant degradation.

Performance directly impacts the user experience. The client wants to ensure that their application responds quickly and efficiently, as slow response times can lead to user frustration and abandonment of the application. The client also wanted their applications to be reliable and not prone to crashes or outages, especially during peak usage times.

Project approach: Performance testing

We conducted Performance testing on the application, focusing mainly on load testing. Performance
testing is a type of software testing that evaluates how well a system performs under various
conditions. The primary goal of performance testing is to determine the responsiveness, stability,
scalability, and speed of a software application, website, or system under specific workload
scenarios.

Load Testing, as a type of performance testing, evaluates system performance under expected and
peak load conditions by simulating a large number of users accessing the system simultaneously.
The testing process was the following:

  1. We first identified the performance objectives and the critical business flows or test
    scenarios involved in the performance test. We also defined the key performance metrics
    that we would measure, including response time (percentiles and average), throughput
    (requests per second), CPU and memory utilization, error rates, and more.
  2. We created a comprehensive performance test plan that outlines the approach, objectives,
    scope, resources, schedule, and deliverables for conducting the performance testing. Its
    primary purpose is to ensure that performance testing activities are organized, executed,
    and reported effectively and efficiently.
  3. Included in the test plan was the selection of an appropriate performance test tool capable
    of handling the expected load, providing accurate measurements, and delivering the
    performance objectives of the project. We used Apache JMeter to create the performance
    test scripts and then used BlazeMeter (a cloud-based performance testing platform) to
    execute those scripts in the cloud.
  4. We set up the Test Environment to closely resemble the production environment, including
    hardware, software, network configurations, databases, and other components.
  5. We constructed the performance test scripts and developed different Load test scenarios
    following the workload model in the performance test plan.
  6. We prepared the test data that would be used during testing, including the volume and
    variety of data to be generated or used.
  7. We scheduled and executed the different Load Test Scenarios using the test scripts and test
    data we created and prepared. During this phase, we monitored the application and system
    metrics to identify any bottlenecks or performance issues.
  8. We analysed the test results to identify performance bottlenecks, scalability issues, and
    other performance-related problems.
  9. Lastly, we created a detailed report documenting the performance testing process, results,
    findings, and recommendations. We then shared the report with the stakeholders/client.
    The results generated by the performance test can also be used by the client as their new
    baseline metrics if they decide to conduct another performance testing in the future.

Effective team collaboration is essential for every project

To maintain constant communication, the client set up three technical sync meetings a week with
the team to discuss important updates during each sprint. During these meetings, any project
impediments and blockers were raised and addressed. Additionally, there were sprint review
meetings every two weeks to present and demonstrate the team’s accomplished performance test
activities.

For urgent concerns requiring immediate response, the team and the customer became acquainted
to directly message each other, making communication much easier and efficient. Throughout the
meetings and sessions, the team always ensured to ask for their feedback and freely raise any
clarification they may have. As a result, by the time the project reached the documentation and
knowledge transfer sessions, the team and the customer were already familiar with each other,
fostering a collaborative environment. The team approached the topics with the customer’s current
process in mind, while encouraging the customer’s representatives to ask questions about
complicated topics.

Are you ready
for the digital tomorrow?
better ask ERNI

We empower people and businesses through innovation in software-based products and services.