Fiche technique | |
---|---|
Plateforme : | Windows, Linux |
Auteur : | Grafana Labs |
Date de publication : | 2016 à maintenant |
Catégorie : | Test de charge |
Sommaire
Le logiciel k6 est un outil de test de charge open source rendant les tests de performances faciles et productifs pour les équipes d'ingénierie. k6 est gratuit, centré sur le développeur et extensible. À l'aide de k6, vous pouvez tester la fiabilité et les performances de vos systèmes et détecter plus tôt les régressions et les problèmes de performances. k6 vous aidera à créer des applications résilientes et performantes qui évoluent. k6 est un outil de test de charge écrit en Go. k6 embarque un moteur ECMAScript permettant aux utilisateurs d'écrire des tests k6 en JavaScript et fournit un environnement de script en JavaScript pour écrire les tests réels.
Le logiciel est conçu pour tester, dans diverses conditions, les performances et la fiabilité des applications Web et des API. k6 est un outil CLI. Par défaut, il rapporte les résultats du test à la sortie de la commande. Il peut également entreposer les résultats dans des bases de données de séries chronologiques comme InfluxDB et TimescaleDB, ou les envoyer à des services de surveillance comme DataDog et NewRelic. Son architecture est extensible grâce à des extensions personnalisées. k6 est développé par Grafana Labs et la communauté.
Voici les principales caractéristiques de k6 :
- Script de Test en JavaScript : k6 utilise JavaScript comme langage de script pour définir les tests de charge, ce qui rend son utilisation familière pour les développeurs et favorise la collaboration dans les équipes.
- Performances élevées : Écrit en Go, k6 est capable de générer un grand nombre de requêtes sans consommer trop de ressources système, offrant des tests de charge performants sans compromettre la stabilité du système testé.
- Pas de GUI : k6 est une application en ligne de commande (CLI) conçue pour être intégrée dans les pipelines CI/CD. Son absence d'interface graphique en fait un choix idéal pour les environnements d'intégration continue où les tests automatisés sont nécessaires.
- Support pour les tests de charge et de résilience : k6 permet d'effectuer des tests de charge, des tests de stress, des tests de montée en charge (scalability testing) et des tests de résilience. Les scénarios de tests peuvent être configurés pour simuler divers types de charges et de conditions réseau.
- Intégration CI/CD : k6 peut être facilement intégré aux pipelines d'intégration et de déploiement continu (CI/CD). Il s'intègre bien avec des outils tels que Jenkins, GitLab CI, CircleCI, et d'autres pour automatiser les tests de charge dans le cadre de processus DevOps.
- Scénarios complexes de chargement : k6 offre une flexibilité dans la définition des scénarios de tests, permettant de simuler des utilisateurs effectuant des actions complexes avec des pauses, des conditions de boucle, et des variations d'intensité. Cela permet de modéliser précisément des comportements d'utilisateurs réels.
- Support pour HTTP/1.1, HTTP/2, WebSocket : k6 prend en charge les protocoles HTTP/1.1 et HTTP/2, ainsi que les connexions WebSocket, ce qui permet de tester efficacement les API modernes et les applications en temps réel.
- Rapports et Visualisations : k6 peut générer des rapports détaillés en ligne de commande et exporter les résultats sous différents formats (JSON, CSV). De plus, il est facilement intégrable avec Grafana, permettant ainsi de visualiser les résultats des tests et d'obtenir des tableaux de bord complets.
- Fonctionnalités infonuagique : Grafana propose k6 Cloud, une solution hébergée permettant de lancer des tests de charge distribués à grande échelle dans l'infonuagique et d'obtenir des rapports avancés sans avoir à gérer l'infrastructure.
- Communauté et extensibilité : k6 étant open-source, il bénéficie d'une communauté active proposant des extensions et des modules pour améliorer ses fonctionnalités. La plateforme peut être personnalisée pour s'adapter à des besoins spécifiques grâce à sa nature extensible.
Concurrent
Les concurrents sont aussi nombreux qu'ils sont peu connus du public : Apache JMeter, LoadRunner, Avalance de Spirent, Funkload de Nuxeo SAS, Loadea, Microsoft WCAT load test tool, NeoLoad de NeoTys, webStress d'Oracle,...