What is Load testing?

The goal of load testing is to ensure that the architecture and system design works for the amount of traffic expected. It can help developers find bottlenecks and unexpected behavior before we deploy the application to production

Need for load testing

I always compare serverless applications to a glass tumbler. Yeah, it looks good and fulfills its purpose, but there is always a chance, in one or other way someone will break it and the most common way to break the serverless application would be to overloading the system with too many requests in a short period time.

So moving on from glass analogy, here are some of the reasons why execution of load testing is critical:

  • Load testing is done to provide stakeholders with information about their application regarding speed, stability, and scalability of application under expected & unexpected load
  • Load testing will determine whether their software meets speed, scalability and stability requirements under expected workloads
  • Load testing helps to identify the breaking point of the software application
  • Reducing the chance & cost of failure with a higher ROI by optimizing the user experience through the reliable and accurate web load testing results

Artillery

Artillery is a modern, powerful & easy-to-use performance testing toolkit. Use it to ship scalable applications that stay performant & resilient under high load.

You can use Artillery to run two types of performance tests:

  • Tests that put load on a system, i.e. load tests, stress tests, and soak tests
  • Tests that verify that a system is working as expected, i.e. continuous functional tests, also known by a number of other names such as: synthetic monitoring, semantic monitoring, production scripted testing, and continuous verification. Think ping on steroids - automated probes running continuously against services & APIs to test key user journeys

Artillery can be used to test the following services:

  • Artillery is designed for testing backend systems, such as API services, e-commerce backends, chat systems, game backends, databases, message brokers and queues, and anything else that can be communicated with over a network.
  • It can be used to test any backend regardless of what protocol it speaks or what language it’s written in. Artillery supports HTTP, WebSocket, and Socket.io out of the box, and many additional protocols such as HLS, Kinesis, and Kafka via plugins. Support for additional protocols can be added via Artillery’s plugin interface.

#website #load-testing #serverless #lambda

Load Test Your Serverless Apps
1.30 GEEK