There are many ways to bootstrap tests and mocks within Speedscale. Matt LeRay goes over various ways, eg. by using sidecars, agents, postman collections, or even request response pairs.
Postman is highly popular in the testing tools space for verifying API requests. While its use for general API testing is widely adopted, conducting load testing with Postman is not as straightforward. In this post, we assume that you have some experience working with Postman and are familiar with the fundamentals of creating and sending requests. If you’re new to Postman, there are numerous resources available in the Postman Learning Center.
As developers, one of the most important things we can consider when designing and building applications is the ability to know if our application is running in an ideal operating condition, or said another way: the ability to know whether or not your application is healthy. This is particularly important when deploying your application to Kubernetes. Kubernetes has the concept of container probes that, when used, can help ensure the health and availability of your application.
At some point, your development team may be considering implementing load testing (also known as stress testing) as part of your software testing process. Load testing validates that your web app is able to withstand a large number of simultaneous users, decreasing the chance that any traffic spikes will bring down your services once deployed. These stress tests can be highly granular, giving you the opportunity to test run virtually unlimited strategies before they are set into the wild.
Transactions-per-Second (TPS) is a valuable metric for evaluating system performance and is particularly relevant for engineers overseeing Kubernetes environments.TPS, alongside average response time, provides critical insights into system performance during load testing. This post covers two approaches to calculating TPS; a manual approach applicable in all environments, and an automatic Kubernetes-specific solution using production traffic replication.
What do good tests look like, and do you even need a Golang testing framework? It’s a loaded question with an open answer. Not only do tests help ensure that your code will work as intended, but good tests can also serve as documentation for your codebase, making it easier to update and maintain in the future, while accelerating and streamlining your software development process. In this article, we outline 6 Golang testing frameworks for every type of test.
Developing highly resilient Kubernetes deployments is crucial for ensuring that your hosted applications in Kubernetes can effectively manage and recover from disruptions. This capability is vital in order to maintain continuous availability for your customers. The importance of resilience in your distributed system also escalates depending on your customer base and the critical nature of your application. Even brief periods of downtime can have a significant negative impact on your business.
All but the simplest applications borrow code. You could write everything yourself from just core language features but who has time for that? Instead you take on dependencies, pieces of code written by others that usually give us 80% or more of what we need with 20% of the effort. Sometimes these dependencies are made to interact with a specific technology like a database, or perhaps it’s just a library providing some feature that would be onerous to write yourself.
Go, often referred to as Golang, is a popular programming language built by Google. Its design and structure help you write efficient, reliable, and high-performing programs. Often used for web servers and rest APIs, Go offers the same performance as other low-level languages like C++ while also making sure the language itself is easy to understand with a good development experience.
GoMock is a powerful tool for generating mock objects in Go, making it an essential asset for developers aiming to write advanced unit tests. By simulating the behavior of real objects, GoMock allows you to test your code in isolation, ensuring that each component functions correctly on its own. This capability is particularly useful in a language like Go, where interfaces play a crucial role in defining the behavior of different components.