Optimizing QA Workflows: A Dive into Requestly

João Coelho
9 min readSep 5, 2023

Have you ever heard of the axiom ‘Every company is a software company’, said by Watts S. Humphrey, the father of quality in software?

The fact is that it holds more truth than ever before!

The prowess of engineering teams to deliver top-notch software swiftly stands as the defining factor between companies that surge ahead with a competitive edge and those that lag behind in the race for excellence.

When it comes to delivering high-quality software, debugging significantly impacts both the speed of delivery and the overall product quality. The effectiveness of successful debugging is a crucial factor in achieving these goals.

In the context of debugging costs, this study published by the Cambridge Judge Business School highlights some noteworthy findings:

  • Software engineers spend an average of 13 hours to find and fix a single failure in their backlog!
  • If reproducing a bug wasn’t an issue — 56% of the inquired said that they would release software 1–2 days faster!
  • 26% of developer time is spent reproducing and fixing failing tests — which equals 620 million developer hours a year. In terms of salary, we are talking about $61 billion annually, which equates to $1.2 trillion in enterprise value lost for shareholders a year!

While these statistics might seem daunting, there’s a beacon of hope that’s poised to revolutionize the landscape of software engineering.

Enter Requestly — an open-source browser extension and desktop application designed to transform the way engineering teams approach quality assurance.

With its arsenal of cutting-edge features, Requestly offers a solution that not only streamlines the bug-hunting process but also empowers teams to deliver top-tier software more efficiently.

Table of Contents

What is Requestly?

Requestly emerges as an open-source haven tailored for front-end developers and QAs, equipped with essential tools and integrations that amplify their feature development, testing, and debugging efficiency by an impressive factor of ten.

This platform effectively slashes the reliance on back-end developers and intricate environments for developmental and testing requisites.

Thus, developers wield the capability to effortlessly conjure mock APIs, validate and override API responses, deftly manipulate request and response headers, orchestrate strategic redirects both locally and remotely, and harness the prowess of Requestly sessions to expedite debugging endeavors.

Source

What features does it provide?

Imagine a tool that not only combines the key features of Charles Proxy, Fiddler, and Postman but also offers a modern UI directly in your browser.

This tool does just that and comes with multiple features:

Intercept and Modify HTTPs Requests

Source

With this feature, you can efficiently manipulate traffic in browsers and mobile apps, or even modify requests, response headers, URLs or redirecting traffic on the fly.

Need to test how your application handles different server responses or simulate network latency? This feature can be your go-to solution, offering a wide range of functionalities:

  • Rewrite URLs: dynamically map local and remote resources for testing different environments.
  • URL Fine-Tuning: modify specific URL components like hostname and query parameters.
  • Traffic Redirection: redirect requests from one environment to another, simplifying testing.
  • Tag Manager Script Switching: easily switch between production and staging/dev Tag Manager scripts.
  • Header Control: adjust HTTP request and response headers for precise testing.
  • Body Manipulation: modify API request and response bodies to simulate various data scenarios.
  • Request Flow Control: throttle or block requests to simulate different network conditions or isolate specific requests.
  • Script Injection: inject custom scripts into web pages for testing and enhancements.

API Client: Simplifying API Testing

Source

Testing APIs is a critical aspect of front-end development, and Requestly’s lightweight API client streamlines this process.

It allows you to import cURL requests, perform new API requests directly within your browser, streamlining the process and enabling quick testing of API responses.

Additionally, it provides a smooth integration with a Mock Server, allowing you to replicate API endpoints with identical responses for efficient testing.

Moreover, the API Client can also seamlessly integrate with the Modify Response Rule, enabling you to override and customize response bodies as needed. This proves to be useful when you want to simulate different responses for specific API endpoints.

Mock Server: Rapid Creation of API Mocks

Source

A common challenge arises when front-end development begins, but the required APIs haven’t been developed yet.

By enabling front-end developers to quickly create API mocks, this feature empowers them to proceed with building features, uninterrupted.

Say you’re working on the checkout process of an e-commerce site, but the payment gateway API is still in progress. Use the Mock Server to generate a mock endpoint, allowing you to continue developing the checkout flow without delays.

Sessions: Collaborative Troubleshooting

Source

Collaboration is key when troubleshooting issues, and this feature takes this collaboration to the next level!

Imagine a scenario where a teammate encounters a bug during testing, and they’re struggling to replicate it for the development team.

With Requestly, they can capture a session that includes video recordings, console logs, network logs, and environment details. This comprehensive package of information can be shared seamlessly, expediting issue diagnosis and resolution.

Take a look at this demonstration of the session recorder, and see how easy it is to do it:

Although this is a really interesting feature, you might ask: “ In an era where data privacy is paramount, how do we ensure that auto-recording domains don’t unintentionally capture sensitive information?

Well, Session Replays are powered through their Chrome extension, so all the data is stored locally in the browser.

As a bug reporter, it is possible to share it using two options:

  • Share the bug as a file;
  • Share the bug as a link.

On the one hand, when the report is shared as a file, nothing reaches the back-end. Developers can upload the file into the Requestly’s UI and analyze the session locally.

On the other hand, when it is shared as a link, Requestly automatically strip off request/response headers and encrypt the rest of the data which is again decrypted when the session is replayed by the developer.

How Requestly’s capabilities translate into tangible benefits?

  • Accelerated Bug Resolution: The Intercept and Modify HTTPs Requests feature not only aids in identifying bugs faster but also expedites their resolution.

By editing requests and responses on the fly, developers can recreate scenarios, test hypotheses, and swiftly pinpoint the root cause of issues. This dynamic approach drastically reduces the time spent on bug reproduction and troubleshooting.

  • Efficient API Testing: Requestly’s API Client is a game-changer for front-end developers engaged in API-dependent projects.

It streamlines the API testing process, allowing developers to validate API interactions directly from the browser. This not only minimizes the context-switching between tools but also empowers developers to work independently, even before the back-end is fully functional.

  • Uninterrupted Development: The Mock Server feature emerges as a lifeline in scenarios where back-end APIs are under construction.

Front-end developers can easily continue building features by generating mock endpoints that simulate API behavior. This capability ensures uninterrupted development, enabling teams to maintain momentum even when external dependencies are pending.

  • Enhanced Collaboration: Sessions in Requestly redefine collaboration during issue diagnosis and resolution.

When a teammate encounters a bug, capturing a session equips them with a comprehensive diagnostic package. The ability to share video recordings, console logs, network logs, and environment details eliminates ambiguity, ensuring efficient communication between teams.

  • Empowerment for Front-end Developers: Requestly’s feature set empowers front-end developers to be more self-reliant.

With the ability to manipulate traffic, simulate APIs, and create mock endpoints, developers can carry out tasks that traditionally require back-end involvement. This empowerment not only fosters greater ownership but also enhances development speed.

  • Reduction in Development Costs: By minimizing the back-and-forth between teams and eliminating the need for intricate environments, Requestly significantly reduces development costs.

The time saved on reproducing bugs, testing APIs, and creating mock endpoints translates into tangible financial savings.

In essence, Requestly stands as a bridge between front-end and back-end development, streamlining processes, enhancing communication, and fostering self-sufficiency.

Its impact on QA workflows resonates through faster bug resolution, smoother API testing, uninterrupted development, and cohesive teamwork.

Source

How does Requestly stands out against other similar tools? 🤔

Requestly isn’t the only tool used for debugging.

You might have heard of tools such as Fiddler (a web debugging proxy that runs on Windows), WireShark (a network protocol analyzer) or even Charles Proxy (a cross-platform web debugging proxy).

Although these are all amazing tools, and that might fit your needs, there are some features that they don’t cover, and Requestly does:

  • Wireshark: lacks essential features such as the ability to modify requests and responses, which are vital for web development and testing purposes;
  • Charles Proxy: high learning curve and doesn’t work in VPN-enabled environments;
  • Fiddler: doesn’t work with VPN and doesn’t provide features like AJAX debugging, which restricts its versatility in specific use cases.
Source

Additionally, Requestly provides advanced features that are not present in the other tools, such as script injection, creating mock servers or even the session recorder presented earlier!

Furthermore, unlike proxy-based solutions, Requestly’s Chrome/Firefox extension utilizes browser extension APIs to customize network traffic based on your rules. This will ensure that you will experience a smooth performance and an easier solution.

In terms of user-friendly design, while these tools are popular choices among developers, they don’t always excel at this topic.

Wireshark’s interface can be overwhelming for newcomers, and while Charles Proxy is more accessible, some users find its interface cluttered.

Fiddler offers a customizable and informative UI, but it can be daunting for beginners.

In contrast, Requestly stands out by providing a balanced and user-friendly interface, catering to both experienced developers and those new to the field.

In terms of pricing, Requestly can also be an interesting choice, as it offers open-source options and cost-effective plans for individual developers and team collaboration.

While Charles Proxy is quite expensive at $50/user, Fiddler offers both a free version (with limited features) and a paid version. In contrast, Wireshark is open-source.

Conclusion 🚀

In summary, Requestly presents as a solution that empowers teams to deliver top-tier software more efficiently. Its versatile features include intercepting and adapting requests, simulating APIs, creating mock endpoints, and facilitating collaborative issue resolution.

The tool’s user-friendly interface smoothly integrates with essential functions, catering to both experienced developers and beginners. With an open-source core and flexible pricing options, Requestly can easily fit into projects of various scopes.

Amidst the ever-evolving software industry, this tool stands out as an innovative solution, empowering developers to streamline workflows, enhance software quality, and overcome the challenges of modern development practices.

I hope you enjoyed reading this article!

My name is João Coelho, and I am currently a QA Automation Engineer at Talkdesk. Lately, I have been writing articles regarding automation, QA and software engineering topics, that might not be known by the community.

If you want to follow my work, check my Linkedin and my author profile at Medium!

Furthermore, if you’re interested in further supporting me and my content creation efforts, you can do so by buying me a coffee! 😄👇

Your support goes a long way in helping me dedicate more time to researching and sharing valuable insights about automation, QA, and software engineering.

--

--