présentation tir de performance et intro à jenkins · documentation du scénario ... produit...

36
Présentation tir de performance et intro à Jenkins Cédric Moretti

Upload: nguyendiep

Post on 27-Jul-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Présentation tir de

performance et intro à

Jenkins

Cédric Moretti

Page 2: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Sommaire

Introduction

Pourquoi mesurer les perfs ?

Standard de performance

Prérequis d’un tir de performance

Effectuer un tir de performance

KPI

Quelques outils

Jmeter &Intégration continue (enfin si ca marche :p)

Page 3: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Introduction

4

Page 4: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Introduction

3

Page 5: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Introduction

2

Page 6: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Introduction

1

Page 7: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Introduction

? Lent ?

Page 8: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Introduction

Page 9: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Introduction

C’est lent

Ca a planté

Ca marche pas

Résultat

On clique partout

On s’énerve

On fait des erreurs

On crée des comportements étranges de l’application

Page 10: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

BUG

Introduction

Page 11: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Pourquoi mesurer les perfs ?

Mesurer un comportement utilisateur standard

Anticiper une forte monté en charge (E-commerce)

Assurer le référencement (~3s)

Garantir SLA application

Page 12: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Pourquoi mesurer les perfs ?

Souvent trop tard, mauvaise anticipation

Cout

Peu productif (analyse des résultats – cout des

correctifs)

Tardif (nouveau software)

Page 13: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Pourquoi mesurer les perfs ?

Page 14: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Standard de performance

• SAV15s

• Conversationoral4s

• Activité à concentration2s à 4s

• Activité avec beaucoup d’informations

-- de 2s

• Elément graphique-- de 0,5s

• Frappe clavier-- de 0,1s

Source : The Art of Application Performance Testing

Page 15: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Prérequis

Infrastructure du test

Application stable

Pas de livraison pendant le test

Environnement ISO cible

Infra réseau ISO

Très couteux à mettre en place

Utilisation d’environnement dans les nuages

Performance différentiel (mesure de tendance)

Page 16: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Prérequis

Cas de test

Documentation du scénario

Donnée I/O

Type d’utilisateur

Infra de connexion utilisateur

Profil utilisateur

Pipe-clean test

Page 17: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Prérequis

Gestion du jeux de données

Taille proche de la cible

Rechargeable

Gestion de profil

Critère de recherche réaliste

Page 18: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Effectuer un tir de performance

Six grands types de tir de performance

Pipe-clean test

Volume test

Stress Test

Soak/Stability Test

Smoke Test (spécifique)

Isolation Test (spécifique)

Page 19: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Effectuer un tir de performance

Gestion de la population # taille jeux de données

Repartition de l’ensemble de la population sur les cas de tests

Temps d’attente

Temps d’execution du test

Page 20: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Effectuer un tir de performance

Grand type d’injecteur

Big Bang

Ramp-up

Ramp-up (with step)

Ramp-up (with step), Ramp-down (with step)

Delayed start

Page 21: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Effectuer un tir de performance

0

20

40

60

80

100

1 2 3 4 5 6 7 8 9 10

Injecteur Big-Bang

Injecteur

Page 22: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Effectuer un tir de performance

0

20

40

60

80

100

0 1 2 3 4 5 6 7 8 9 10 11 12

Injecteur Ramp-up

Injecteur

Page 23: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Effectuer un tir de performance

0

20

40

60

80

100

0 1 2 3 4 5 6 7 8 9 10 11 12

Injecteur Ramp-up avec step

Injecteur

Page 24: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Effectuer un tir de performance

0

20

40

60

80

100

0 1 2 3 4 5 6 7 8 9 10 11 12

Injecteur Ramp-up Ramp-down

Injecteur

Page 25: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Effectuer un tir de performance

0

20

40

60

80

100

0 1 2 3 4 5 6 7 8 9 10 11 12

Injecteur Delayed Start

Injecteur

Page 26: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Effectuer un tir de performance

Volume test

Isolation test

Volume test

Isolation test

Stress test

Soaktest

Page 27: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

KPIs

KPIs serveur (Efficency-oriented – EO)

% d’utilisation du processeur

Processus en cours

Mémoire disponible

% accès BDD

% accès serveur web

….

KPIs applicatif (Service oriented – SO)

Erreur réseau

Temps de réponse

Utilisation de la bande passante

Page 28: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Quelques outils de tests

Quelques questions que je me suis posés ?

Protocole de communication

Licence

L’effort de scripting

Apport extra-outil

Saas ou local

Les choix d’outils alternatifs

Page 29: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Quelques outils de tests

LoadRunner

http://www8.hp.com/fr/fr/software-solutions/loadrunner-load-testing/

Produit HP

€€€ Payant €€€ mais gratuit jusqu’à 50

GUI

Page 30: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Quelques outils de tests

Neoload

http://www.neotys.fr

Produit Neotys (fr :D)

€€€ Payant €€€ mais gratuit jusqu’à 50

GUI

Page 31: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Quelques outils de tests

Gatling

http://gatling.io/

Produit OpenSource

Script

Page 32: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Quelques outils de tests

JMeter

http://jmeter.apache.org/

Produit OpenSource

GUI

Page 33: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Quelques outils de tests

Sitespeed

https://www.sitespeed.io/

Produit OpenSource

Permet de mesurer le tps des pages web

Page 34: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

Pour aller plus loin

Channel Slack

MoT

Testers.io

LyontechHub

Site sur JMeter

https://www.blazemeter.com/

http://blog.milamberspace.net/

Page 35: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

JMeter

Objectif

Enregistre un scénario

Assert

Extractor Regexp

Timer

Loop

Threard

Plugin

Jenkins

Page 36: Présentation tir de performance et intro à Jenkins · Documentation du scénario ... Produit Neotys (fr :D)

JMeter

Site cible

LyonTesting

Hébergé chez OVH

Scénario

Population

50 Users Ramp-up

3 Itérations

60s

Page d'accueilQui sommes

nous ?

Accès article catégorie Testing

Consultation article

Rechechearticle

Consulter article