25
Test de performance et Agilité : comment faire pour répondre aux nouvelles exigences Henrik Rexed

Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

Test de performance et Agilité : comment faire

pour répondre aux nouvelles exigences

Henrik Rexed

Page 2: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 2

L’importance de la performance

En diminuant les chargements des pages de 2,2s, Mozilla a augmenté de 15,4% les téléchargements

Une augmentation de 14% des donations a été observé en ayant un site 60% plus performant

Amazon augmente de 1% son CA lorsque il gagne 100ms sur le temps de réponse de leur site Web.

Page 3: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés..

Une application ayant de

mauvaise performance génère

Un stress utilisateur

Applications lentes

demandent

50% de plus de

concentration

Comment notre cerveau perçoit la performance

0,1 seconde

Ressenti instantané

1 seconde

1ère réflexion transparente

10 secondes

Peu de concentration

+ 10 secondes

Perte d’attention

Page 4: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 4

Agenda

L’organisation complexifie la tache

La clé du succès

Questions

Page 5: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 5

Organisation en silos

Page 6: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 6

Nous travaillons en Silos

Source: http://blog.anotheria.net/devops/devopsruntime-prologue/

DEV OPS

Page 7: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 7

L’Agilité augmente la complexité des déploiements

Le cycle en V vous permettais de jouer simplement

L’Agilité a complexifié votre jeu préféré

Page 8: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 8

Le vendredi soir, vous préférez …

2) Boire une bière avec vos amis ?

1) Gérer une situation de crise suite au déploiement hebdomadaire ?

Page 9: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 9

Agenda

L’organisation complexifie la tache

La clé du succès

Questions

Page 10: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 10

La clé du succès

Analyse de risque • Comprendre votre application • La performance doit être incluse dans votre analyse de risque • ATAM ( Architecture Tradeoff Analysis Method)

Automatisation • Efficacité

• Productivité

Validation Suivre vos KPI

Surveillance Détecter les anomalies avant les utilisateurs finaux

Page 11: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 11

Intégrer la performance au plus tôt

Une implication très tôt est bénéfique

• Poser les questions clés le plus tôt possible

• N’attendez pas que tous se mette en place

La réalité : Nous impliquons trop tardivement

la performance

• Les marges de manœuvre sont très limitées

Page 12: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 12

Prioriser les composants à tester

Analyse de risque

Identifier les processus

métier stratégiques

Identifier les composants stratégiques

Limiter vos risque projet

lors de chaque

phase de build

Limiter vos risques lors

de chaque fin d’assemblage

Page 13: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 13

Organiser vos risques de performance

Performance

Disponibilité

Evolutivité

Exploitation

Page 14: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 14

Prendre le temps de comprendre notre application

La charge est générée par :

• Les utilisateurs finaux

• Des systèmes tiers

• Des messages entrants…etc

Se poser les bonnes questions :

• Comment l’application est-elle utilisée ?

• Quelles sont les habitudes des utilisateurs?

• Quand et combien de fois utilisent-ils l’application?

• Allons-nous ouvrir notre service dans plusieurs zones géographique?

• Y-a-t-il une campagne marketing pour promouvoir l’application?

• etc

Page 15: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 15

Les scénarios de tests

Application existante

• Impliquer le référent fonctionnel, RH, chef de projet…etc

• Comprendre le comportement de l’application en s’appuyant sur des logs systèmes.

• Projet de migration: Ne sous-estimer la valeur des données sur les systèmes existant.

Nouvelle application/service

• Impliquer le référent fonctionnel, le chef de projet..etc.

• Essayer de comprendre l’objectif de l’application par rapport au business plan de l’entreprise

Page 16: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 16

Le test de performance unitaire

Chaque partie du système peut être testée

Ce n’est pas une démarche standard

Pourquoi attendre que l’application soit assemblée?

Les cas de tests sont plus simples

• Le « Test-Driven Development » peut être une solution

La plupart des système sont monolithiques

Composants des systèmes tiers

Page 17: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 17

Changer de mentalité

AVANT Le test de performance

“record/playback” Tardif

Critères d’acceptabilité métier

"Black Box"

AUJOURD’HUI Implication au plut tôt de

l’ingénieur de performance

Critères d’acceptabilité pour chaque composant

"Grey Box”

Page 18: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 18

3) Cycle de développement

Le worflow

Test unitaire

Test du Business Case

1) Spécifications

2) Analyse de risque

Cycle de vie du projet

Page 19: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 19

Quand peut-on automatiser ?

L’automatisation n’est rentable que lorsque vous avez une bonne connaissance de votre application

Si votre application est nouvelle, le coût sera trop important

•Presque pas d’automatisation

•Explorer votre application pour bien la connaitre

Si votre application a été testé à plusieurs reprises

•Il devient pertinent de réfléchir à une stratégie d’automatisation

Les application utilisant des interfaces facilitent l’automatisation

•Les API sont souvent stables et les interfaces ne sont pas impactées par les évolutions

Page 20: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 20

Comment automatiser

Intégrer les tests de performance dans votre process de build

Définir l’ensemble de vos SLA

Constituer un Tableau de bord sur votre serveur d’intégration continue

Adapter la complexité de vos tests en fonction de la taille de votre build

Page 21: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 21

Architecture de test de perf. automatisée

Le process de build déclenche un test

Build and Test Results

Pass / Fail

Commit Changes

Démarrage

automatique de votre

build

Developpeur

Testeur

SVN

Serveur

D’intégration

continue

Outil de test

Page 22: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 22

Validation

Créer un tableau de bord orienté performance présentant :

• SLA sur les test composants

• SLA sur les actions métiers

Disposer d’un graphique mettant en avant la régression entre les

différents builds

Page 23: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 23

La complexité des tests évolue avec le cycle de vie du projet

Test unitaire de

composants

Test de

composants

Unitair

e

Activité

nominale

Test

au

limite

DEV QA

Endurance

Test de

connexion

Mobile

testing

Or

Experience

Utilisateur

Test de

dégradation

Cloud

Testing

Pré-Production Production

Robustesse du code Stabilité de l’architecture Expérience utilisateur

Test en

Production

Page 24: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 24

Surveillance

Mettre en place un monitoring synthétique

• Evaluer la QoS de votre application au cours du temps

• Utiliser les retours d’expériences de votre production pour orienter vos évolutions

Component testing

Exigence

Gestion backlog

Planifier sprint

Perf

orm

ance

Qu

alif

icat

ion

Co

mp

osa

nt

test

ing

st

rate

gie

Exécution

Cycle journalier

Performance

End-to-End testing

Sprint Assemblage & déploiement

Retour d’expérience

Production

Synthétique

monitoring

Page 25: Test de performance et Agilité : comment faire pour ...€¦ · •Les utilisateurs finaux •Des systèmes tiers •Des messages entrants…etc Se poser les bonnes questions : •Comment

www.neotys.com © 2013 Neotys. Tous droits réservés.. 25

Agenda

L’organisation complexifie la tache

La clé du succès

Questions