Course Category: Software Testing
Course Duration: 4 Days
Hours: 21 Contact Hours

Course Objectives

Gatling Open Source is a free and open-source cross-platform Web Server Load and Performance Testing solution. With an easy-to-use Java API, and enterprise-class features, Gatling Open Source allows to easily and rapidly create and execute automated functional, regression, and load & performance tests.

On completing the course, the participants shall:

  • Learn Gatling Open Source and its use cases
  • Use Gatling Open source to test static and dynamic web resources.
  • learn how to use Gatling Open Source to test Web Api and Rest.
  • Learn to simulate a heavy load on a server, group of servers, network or object to test their strength or to analyze overall performance under different load types and shapes.

Program includes introduction to Gatling Enterprise, demos and hands-on.

Audience

This workshop is for software testers and software developers who aspire to use Gatling Open Source to efficiently conduct web server load and performance testing.

Software Requirements

  • Latest IntelliJ Idea Community Edition
  • Or any other Java IDE
  • Latest Maven
  • OpenJDK 21 or later

Prerequisites

Participants should have reasonable experience with manual web testing and beginner level coding skills.

Course Coverage

1. Fundamentals

  • History
  • Installation
  • Open Source vs Enterprise
  • Capabilities
  • IDE Fundamentals
  • Java and Maven Fundamentals
  • Hello, World!
  • Project Structure
  • Execute and Debug
  • Gatling Open Source vs JMeter
  • Testing Fundamentals
  • Types of Tests
  • How to find Test Cases
  • Load & Performance
  • Statistics
  • Metrics
  • Strategy and Guidelines
  • Role of Gatling Open Source
  • HTTP
  • Request & Response
  • Methods & Headers
  • Cookies
  • Mapping HTTP
  • REST API
  • Intro to OpenAPI
  • HTML, CSS and JS
  • RegEx
  • Xpath
  • JsonPath

2. Gatling Basics

  • Configuration
  • Simulation and Components
  • Scenario
  • Sessions
  • Expression Language
  • Functions
  • Assertions
  • Checks
  • Protocols
  • Headers
  • Cookies
  • SSL
  • Profile Injection
  • Gatling DSL
  • Gatling Recorder
  • Writing Realistic Tests
  • Debugging
  • Passing Parameters
  • Feeder
  • Data Driven Tests
  • Data Faker
  • Cloud vs Local Data

3. Use Cases

  • Authentication
  • gRPC
  • WebSockets
  • MQTT
  • Kafka
  • Docker App
  • Server-sent Events
  • Github CI/CD Integration
  • Configuration as Code
  • Reporting
  • Shaping Loads
  • Open Model
  • Closed Model
  • Various Load & Performance tests
  • Hooks
  • Distributed & Remote tests
  • Recording and Mirroring
  • Plugins
  • Tips
  • Best Practices