Skip to content

Latest commit

 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Performance Testing Lab

A hands-on laboratory for learning the fundamentals of Performance Testing using k6.

Objectives

  • Learn the fundamentals of Performance Testing.
  • Understand the differences between Smoke, Load, and Stress Testing.
  • Interpret performance metrics and statistical results.
  • Work with Virtual Users, stages, checks, and thresholds.
  • Document the learning process through practical examples.

Tech Stack

  • k6
  • JavaScript (ES6+)
  • Node.js
  • Biome
  • Git
  • GitHub

Getting Started

Prerequisites

  • Node.js
  • k6

Installation

git clone https://github.com/aldimhernandez/performance-testing-lab.git
cd performance-testing-lab
npm install

Run the examples

Smoke Test

k6 run scripts/smoke.js

Load Test

k6 run scripts/load.js

Stress Test

k6 run scripts/stress.js

Note

The scripts target the public k6 demo application (https://test.k6.io), which is intended for learning and experimentation.


Project Structure

scripts/
├── smoke.js
├── load.js
└── stress.js

docs/
├── concepts.md
├── glossary.md
├── learning-journal.md
├── statistics.md
└── next-steps.md

Topics Covered

  • ✅ Smoke Testing
  • ✅ Load Testing
  • ✅ Stress Testing
  • ✅ Virtual Users (VUs)
  • ✅ Stages
  • ✅ Checks
  • ✅ Thresholds
  • ✅ Performance Metrics
  • ✅ Percentiles
  • ✅ Results Analysis

Documentation

Additional notes are available in the docs/ directory.

  • Concepts — Performance Testing fundamentals.
  • Statistics — Interpreting performance metrics.
  • Glossary — Common terminology.
  • Learning Journal — Personal notes and discoveries throughout the project.
  • Next Steps — Ideas for future improvements and experiments.

Future Improvements

  • Soak (Endurance) Testing
  • Spike Testing
  • Volume Testing
  • Measure HTTP redirects separately
  • Custom Metrics
  • Tags and Groups
  • CI/CD integration
  • Docker execution
  • HTML reports
  • Grafana dashboards
  • BDD integration

References

This project was built following the official Grafana k6 documentation and complemented with hands-on experiments.

About

Hands-on laboratory for learning Performance Testing with k6, covering Smoke, Load, Stress Testing, and performance metrics.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages