Dekara

Scalable and Reliable APIs Load Testing Platform

Discover the behind-the-scenes process, witnessing Hammerflux's transformative role in optimizing performance and reshaping the dynamics of load testing in the industry.

Hammerflux Cover

Role

Responsible for research, design, user testing and delivery of key modules and feature areas.

Duration

H2 2022

Team

1 Product Designer, 1 UX Writer, 2 Front End Developer, 1 Product Manager

Overview

Why did the project exist?

In the face of complex large-scale applications, there's a need for a Load Testing platform that not only accurately tests applications but also provides an intuitive and efficient interface for test engineers.

Dekara responded to this need by developing Hammerflux, a platform supporting scale and load testing for their applications, such as large-scale Tokopedia campaigns (like WIB) and other initiatives.

Problem Statement

How can we develop load testing tool that offers more user-friendly experience and seamless integration with the API monitoring system when testing app before campaign launches.

Design Process

Design Process
Start to understand

How does it work?

I spent my first week understanding how this Platform works by engaging in intensive discussions with the Head of Product and also by reading various online resources.

This phase was crucial for me to start thinking the best approach to begin.

Finally, we decided to conduct a workshop because from the Product perspective, it's still in its early stages, and to gain more insights from stakeholders.

Research

After understanding the existing process and stakeholder objectives, I utilized a workshop, using the Value Proposition Canvas method. This helped identify specific pain points, which were then transformed into essential needs and desired features. These insights are guiding the platform's design and development direction.

Hammerflux Define
Start Designing Solution

The path that users take

After synthesizing the workshop outcomes, my product team and I conducted another brainstorming session to create a flow proposal.

Essentially, this proposal aims to transform the platform into a unified solution for API management, scenario creation, configuring the number and smoothness of virtual users, and managing Load Testing manually, scheduled, or simultaneously.

Hammerflux Flow

Then, product team and I attempted to create a mind map to attain a clearer concept of the features that could be design and developed to enhance user comfort. I also explored wireframes and subsequently tested them with users.

Hammerflux Exploration
Ideation

API Management

API Management is an area where users can create/edit APIs and test cases. All registered APIs can be reused across any test case, enhancing efficiency.

The entire API set can be managed within the API Catalog, displaying clear relationships between APIs, test cases, and sessions.

Additionally, the API Catalog offers foldering functionality, ensuring a tidy and dynamic catalog tailored to users' needs. Imported datasets will also have their own dedicated catalog.

Hammerflux API Details

Scenarios

A test case is a detailed document or scenario that summarizes the steps, conditions, and data used to test software or a system.

Its main objective is to test specific functions of the system and ensure that the system's behavior aligns with expectations.

Each test case contains information about the steps to be taken, the data required for those steps, and the expected outcomes. This enables software developers to conduct structured testing, ensure quality, and identify any errors or bugs that may occur in the system.

Hammerflux Test Case

Load Config

Load Config essentially entails the configuration that includes information about the number of virtual users to be used in testing and the dynamic wait time between the transition from one virtual user to the next in a load testing sequence.

Hammerflux Load Config

Scheduled Session

When user create a session in session list page, user can choose between manual or auto load test.

If user choose autoload test, he/she needs to choose which load config to be used and after that need to schedule the session. Need date & time picker. User can input multiple date & time picker. User can set which date & time to be repeatable in hour, daily, weekly, monthly.

Hammerflux Scheduled Session

Orchestra BLT

Orchestra is the amalgamation of multiple sessions conducted simultaneously for comprehensive stress testing.

In this context, its strength lies in the ability to run a series of testing sessions with different scenarios concurrently. Through Orchestra, we can coordinate and synchronize multiple tests at once, enabling a comprehensive evaluation of system performance.

Hammerflux Orchestra
Epilog

Result & Impact

By Jan-Feb 70% BLT Cost Optimization. Improvement in prescale policy from USD20,114 to USD6,464

3,040 Success session created. 6,147,857 Request Produced. 5 BLT Conducted. 

100% Target RPS Reached on BLT (SRE Event) with average target 1,412 RPS.

Key Takeaway & Learning

Here are some key takeaways after building Hammerflux:

User-Centric Approach: Prioritizing user needs is crucial in crafting a successful product. Hammerflux evolved by understanding and balancing technical requirements with user experience.

Iterative Development: Adopting an iterative development approach allows for quick adjustments based on user feedback and market changes. This plays a crucial role in enhancing product features and quality over time.

Strong Team Collaboration: Close collaboration among various teams, such as developers, engineers, and product management, aids in designing comprehensive and integrated solutions.

Integration and Flexibility: The ability to integrate with external systems and maintain flexibility in usage helped Hammerflux adapt to various user needs.

Thanks for reading this project

Let's build something together.

LinkedInInstagramGithub