Keploy Blog Website
-

Branch Coverage in Software Testing
When testing software, it’s not enough to just check if your code runs you also need to know how much of your code is actually being tested. That’s where Branch Coverage comes in. Branch Coverage is a popular white-box testing technique that shows the percentage of decision paths (branches) executed during testing. What is Branch…
-

Creating the Balance Between End-to-End and Unit Testing
In the dynamic landscape of software development, the approach to testing has evolved significantly. One of the debates that often surfaces is the choice between end-to-end (E2E) testing and unit testing, particularly when it comes to testing in a live production environment. In this blog, we’ll explore the rationale behind Testing in Production and why…
-

What Is Code Coverage? Metrics, Tools & Coverage Goals
Code Coverage is a very important part of the Software Development life cycle, especially when working with code coverage in Go for backend systems. It helps to ensure that tests are covering the most critical parts of our application, and is an important measure to determine the reliability of the code! In this article, we’ll…
-

Decoding HTTP/2 Traffic is Hard, but eBPF can help
I’ve come across a particular challenge that many of us face: decoding HTTP/2 traffic becomes easier when you understand concepts from a protocol parsing guide, especially when dealing with complex binary protocols like HTTP/2. In this blog, I’ll share insights on why decoding HTTP/2 headers can be tricky, how HPACK adds a layer of complexity,…
-

TestNG vs JUnit: Performance, Ease of Use, and Flexibility Compared
It’d be ideal if the software worked perfectly right from the start, but in reality, achieving such perfection demands thorough testing. This is where frameworks like TestNG and JUnit play a crucial, yet often underappreciated, role. Key Takeaway: JUnit is the standard for simple Java unit testing with strong IDE integration, while TestNG offers advanced…
-

Exploring the Effectiveness of E2E Testing: In Comparison with Integration Testing
In the diverse domain of software development, testing methodologies play a pivotal role in ensuring the robustness and reliability of applications. These methodologies serve as systematic approaches to identify and rectify potential flaws in code, ultimately contributing to the delivery of high-quality software products. One cannot overstate the significance of testing in the software development…
-

Understanding Statement Coverage in Software Testing
Introduction Ever wondered how to ensure your code is thoroughly tested? Statement coverage is a key technique in software testing that guarantees each line of code is examined for bugs and glitches. Dive into our comprehensive guide to master this essential testing method. In this article, we’ll explore What is Statement Coverage, How it works,…
-

MongoDB in Mock Mode: Acting the Server Part
Imagine, for a moment, a scenario where instead of writing mocks with pre-defined behaviours, you can duplicate the behaviour of a real-world server. Picture a restaurant where the chef’s apprentice mimics each of the chef’s moves in real time, creating an identical dish concurrently. That’s precisely what we’re diving into here. By leveraging the genuine…
-

Capture gRPC Traffic going out from a Server
How does gRPC work? A quick Google search would tell you that it uses HTTP/2.0 under the hood, but that’s about it. Most available guides talk about gRPC internals by assuming that you are already deeply familiar with HTTP/2.0, and the only proper documentation for HTTP/2 is the official RFC document, which doesn’t contain implementation…
-
Why I Love End-to-End (E2E) Testing
I want to talk about something that has become near and dear to my heart in the software development world: End-to-End testing. Trust me; it’s more exciting than it sounds. So, grab a coffee, relax, and let’s dive into why E2E testing is often all we need to ensure our software shines, especially when we…