SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Downloaden Sie, um offline zu lesen
Qualimétrie logiciel /
Entreprise Software Analytic :
son impact sur le business de l’entreprise
Telecom Valley
Nov 2015
• A /- Comment définir et mesurer la qualité
d’un logiciel ?
• B / Les différents types d’outils
• C/ La notion de Entreprise Software
Analytics
• D/ Focus sur 2 outils
• E /inclure cette approche pour évaluer les
livrables d’un sous-traitaint, ex de projets
1 – Présentation de la société
• ALL4TEST est une SSII Française
proposant des prestations de services à
forte valeur ajoutée dans le domaine des
projets aux forfaits et de la qualité logiciel.
• Date de création : 2006 à Sophia-Antipolis
• Effectif : 20 p en France, 20 p en
NearShore
3 niveaux d’intervention
CONSEIL
Audit TMMi,
CMMi
FORMATION
Outils de tests
adaptés au
métier client
ASSISTANCE TECHNIQUE
INGENIERIE
Mise en œuvre de solutions
Développements
Test/ Recette
OUTSOURCING
FORFAIT
Tierce recette
Suite …
• Présence : Paris, PACA, Tunis, UK
• Membre du pôle de compétitivité SCS, de
Telecom Valley, habilitation CIR,
• Partenaire de plusieurs éditeurs dont Microsoft
et HP sur les outils de test.
A /- Comment définir et mesurer la qualité
d’un logiciel ?
• La notion de qualité du logiciel peut prendre des formes diverses en
fonction du point de vue que l’on adopte :
• un utilisateur final se basera sur son expérience directe, la
stabilité, la fiabilité, les performances,
• Un développeur jugera le logiciel par rapport à la rapidité de
développement, la pertinence de la conception, la facilité de
maintenance, la testabilité, la compréhensibilité du code source.
• Un exploitant s’attachera davantage à la facilité d’installation et de
mise à jour, à la simplicité du diagnostic et de la supervision.
• Un architecte fera attention à l’interopérabilité, à la portabilité, à
l’intégration harmonieuse de la solution dans le système
d’information.
• Un DSI prendra en compte les coûts de développement puis de
maintenance et d'évolution.
• Enfin, il y a beaucoup de critères possibles quand on parle de
l’évaluation de la qualité logiciel. Dans ce contexte on peut rappeler
des normes conçues pour contrôler la conformité d’un produit. Ainsi,
on peut faire la différence entre :
• • la qualité du processus de production
- ISO 9000-3 – référencée sur la série de normes d’exigences pour
l’assurance qualité ISO 9000
- ISO/CEI 12207 sur les modèles du processus du cycle de vie du
logiciel.
• et la qualité du produit
- ISO/CEI 9126 ou désormais ISO 25000 – norme qui définit un
vocabulaire pour classifier l’ensemble des attributs d’un logiciel
relevant de la qualité. Elle se présente sous la forme d’une
arborescence de caractéristiques et sous-caractéristiques qui
décrivent des aspects de la qualité logiciel.
• Selon cette norme, les 6 grandes caractéristiques de la qualité
logiciel sont les suivantes :
• • Capacité fonctionnelle : Le logiciel répond-il aux besoins de ses
utilisateurs ?
• Fiabilité : Le logiciel est-il en mesure d’assurer un niveau de
qualité de service suffisant pour satisfaire les besoins opérationnels
de ses utilisateurs ?
• Facilité d'utilisation : Le logiciel peut-il être utilisé à moindre
effort ?
• Maintenabilité : Est-il facile d’adapter le logiciel à de nouveaux
besoins ou à de nouvelles contraintes ?
• Rendement / Scalabilité : Les ressources matérielles nécessaires
à l’exécution du logiciel sont-elles en rapport avec sa rentabilité ?
• Portabilité : Le logiciel peut-il être transféré facilement d’une plate
forme ou d’un environnement à un autre ?
Lorsqu’on effectue l'évaluation de la qualité du logiciel on tient compte
des facteurs de qualité attendus, définis lors de la commande
• (spécifications). Voici quelques exemples de facteurs de qualité
logiciel:
• cohérence – état du logiciel tel que les conventions préétablies ont
été respectées.
• complétude – état du logiciel tel que toutes les exigences spécifiées
sont réalisées.
• compréhensibilité – facilité avec laquelle un programme peut être
compris par la lecture de son code source.
• contrôle des accès - existence de dispositifs qui permettent une
protection contre les accès non autorisés. .
modularité - aptitude d'un logiciel à être structuré en composants ou
modules indépendants. Evaluer la modularité revient à juger de la
pertinence de la fonction de chaque module et de ses interactions avec
les autres modules.
• protection des accès - existence de dispositifs destinés à protéger le
code et les données contre toutes dégradations.
• simplicité – caractéristique d'un logiciel qui exprime la manière (avec
simplicité ou complexité) dont sont implémentées ses différentes
fonctions et qui représente la difficulté que peut rencontrer un individu
pour analyser et comprendre un programme
B / Les différents types d’outils
• Les Rule Checker - Vérificateur de règles.
• Ex : QAC/QaC++ de chez PRQA.
•
Les Static Analyzer - Analyse statique de code.
• Ex : CodeSonar de chez Gammatech.
Le premier vérifie les bonnes pratiques de codage, y compris les règles de
codage en vigueur dans l'entreprise.
Ce genre d'outil trouve peu de bugs, mais plutôt des faiblesses dans la
maintenabilité, la portabilité, et un peu la robustesse.
Le second est plus orienté robustesse (puisqu'il compile et simule le code),
il vérifie les chemin possibles et l'excursion des données pour détecter des
problèmes mémoire, de non-initialisation de donnée, d'overflow et de code
mort.
Autres ex d’outils
• FindBugs : pour l'analyse du code
• Acunetix : pour les failles de sécurité
• Checkstyle, PMD …
Un outils unique ?
• Un outil unique permet de construire des
indicateurs qualité homogènes, comparables
d'un projet à l'autre
• Un seul outil à maintenir, c'est plus économique
• Un outil commun permet d'accélérer la montée
en compétence des développeurs sur le sujet,
par un dialogue commun, des fonctionnalités
partagées.
Un outils dédié / type de code ?
• Chaque projet est unique et nécessite des règles
différentes, donc des outils différents. FindBugs sera
plus orienté "bug", alors qu'un PMD fait le focus sur les
bonnes pratiques de programmation.
• Je maitrise bien tel outil…. J'y suis habitué et j'ai pas
envie d'utiliser un autre outil. Je serais d'ailleurs moins
productif...
• Avec un outil trop généraliste, il sera difficile d'adresser
les problématiques qualité propre à un langage, un
framework, un aspect qualité précis... on aura pas les
règles qui identifient les vrais problèmes de qualité.
OU
• Bénéficier des meilleures règles de
chaque outil dans une interface unique
Test dans le Cloud ?
Ex d’outil venu du Cloud : Kiuwan
• Disponible aux États-Unis, en Espagne et France, KIUWAN permet
á l´utilisateur de créer différents scénarios en fonction de sa
stratégie et ce afin d'établir un plan d'action identifiant les efforts
nécessaires pour son exécution -
• Commercialisé en cloud, Kiuwan permet une rapide implémentation,
est disponible en essai gratuit sur simple demande sur
https://www.kiuwan.com/all4test/
• C’est approche est bien adapté aux projets Agile (rapidité de mise
en œuvre, y compris avec intégration continue)
• Kiuwan offre également l'option de télécharger un analyseur en local
pour protéger au maximum la confidentialité du code
« Le software analytics a pour objectif de fournir
des données, indicateurs et conclusions qui
donnent de la valeur à la fois à l’IT et au
business »
Enterprise software analytics
Toutes les dimensions de l’entreprise sont à considérer
Le monde économique actuel
Métier et Technologies : de plus en plus intriqués
L’IT n’est plus seulement un services de support à
l’entreprise, mais devient un atout qui apporte de
la valeur à l’activité même de l’entreprise.
• Le concept d’entreprise software analytique dépasse le strict périmètre
de l’analyse technique de code.
L’objectif est de fournir de véritables outils décisionnels s’appuyant
sur les données issues du code et des caractéristiques de chaque
application du patrimoine.
• Cela implique plusieurs dimension
1)La prise en compte des objectifs Business
2)L’organisation d’axes d’analyse multiples
3)L’exhaustivité de l’analyse (comme pour une analyse de vente, on doit
prendre tous les produits)
4)La prise en comptes de l’attente de chaque profil concerné
5)L’homogénéité des restitutions
6)L’efficacité de l’interface de manipulation
C’est ce que nous allons voir dans la suite
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
D/ Focus sur 2 outils
Kiuwan & Sonar (open source )
Temps Coûts
Fonctionnalité Précision
De tous les angles
Temps
AVEC SONAR:
• Télécharger le produit.
• Installer le produit (tas de plugins de plusieurs sources).
• Configurer le produit.
• Gérer les centaines de faux positifs trouvés.
• Migrer le produit.
• Coût d´achat et de maintenances de l´infrastructure
hardware.
Temps
“Kiuwan est une nouvelle génération d´outils, en
quelques secondes et sans aucune formation, nous
pouvons détecter et corriger les erreurs de nos logiciels.
Nous disposons d´une très bonne équipe de
développement, mais Kiuwan nous a permis d´atteindre
un très bon ratio de productivité.
Pedro Tabernero CEO - BKOOL
Temps
Avec Kiuwan:
Pas d´installation.
Pas de configuration.
Pas de migration.
Pas de coût d´infrastructure , ni de maintenance.
Avec Kiuwan:
Plus de temps à perdre!!
Coûts
• “Time is Money”.
• Sonar se dit “gratuit”.
• Le coût du support technique et du pack Enterprise
atteint annuellement 50.000 €.
Coûts
• Avec Sonar il faut prendre en compte les coûts “cachés”:
– Personnel dédié à installer, maintenir et migrer chaque version.
– Les coûts d´infrastructure.
– Le temps employé dans la mise en place, normalement plusieurs
semaines voir plusieurs mois.
• Kiuwan n´a pas de coûts cachés et permet à chaque
entreprise de payer suivant les besoins déterminés. À
partir de 35$ par application et par mois en mode
Enterprise.
Coûts
¿Connaissez vous toute la fonctionnalité de la partie de paiement de
SONAR?
Exemples de Coûts
• Pack Enterprise con 100 applications avec différentes
technologies.
– Sonar Enterprise Edition: 50.000€/ année
– Kiuwan Enterprise: 26.124€/ année
• Pack Basic 10 applications en Java, PL/SQL.
– Sonar : 3.200 € année
• Java Gratis
• PL/SQL: 3.200 € année
– Kiuwan: 1.200€ année
• Pack Basic Cobol 20 applications.
– Sonar 7.500€
– Kiuwan 2.400€
Fonctionnalité
• Dans Sonar il faut construire certains éléments que
Kiuwan vous donne automatiquement:
– Rapports.
– Plans d´actions.
– Tableaux de bord : Portefeuille ou vues d´ensemble.
– Editeur de règles.
• Par exemple, pour obtenir un rapport avec Sonar, il faut
acheter le Plugin approprié, puis programmer son propre
rapport. Avec Kiuwan, c´est aussi simple que d´appuyer
sur un bouton pour avoir des rapports et ce à n´importe
quel niveau de visibilité.
Fonctionnalité
• Sonar est un outil qui se veut orienté pour une utilisation technique,
mais avec un manque de fonctionnalités pour la gouvernance,
fonctionnalités que l´on retrouve au sein de Kiuwan.
• Sonar génère beaucoup d´erreurs mais dans beaucoup des cas, ce
sont des “faux positifs” qui sont ingérables.
• Kiuwan offre la fonctionnalité du “What if analysis” qui permet de
savoir exactement ce sur quoi nous devons travailler après avoir fait
une analyse, en fonction de nos besoins ou nos disponibilités dans
le temps.
• ¿Avez vous déjà essayé de créer ou de personnaliser un modèle de
qualité avec Sonar? Et avec Kiuwan?
• ¿Connaissez vous la fonctionnalité “Defect Muter” de Kiuwan? En
quelques secondes, et sans relancer l´analyse, vous pouvez calculer
quels seraient les résultats de votre analyse si vous décidiez de
mettre en “Pause”, une règle ou une erreur. Avec Sonar, il vous sera
impossible de le faire.
Fonctionnalité
• Les tableaux de bord de Sonar sont orientés pour les
développeurs, alors que ceux de Kiuwan permettent
d´être choisis selon le profil.
• Dans Sonar les tableaux de bord sont donnés suivant la
technologie. Une application ayant du Java avec
PL/SQL aura 2 tableaux de bord , un pour chaque
technologie, avec Kiuwan un seul pour les deux
technologies.
• Kiuwan est structuré par application ou groupes
d´applications.
Fonctionnalité
• Sonar compte avec des analyseurs venant de multiples
sources.
• Bien qu´il ait un support pour le langage Cobol, il ne
recommande seulement que 49 règles et ne contient pas
d´analyseurs pour des éléments importants comme
JCLs.
• Sonar ne supporte pas des langages comme Objective C
, RPG, ASP ou JSP.
• Le support pour ABAP ou PHP est presque inexistant, il
ne gère qu´un petit ensemble de règles de
‘maintenabilité’.
Fonctionnalité
• Kiuwan, contrairement a Sonar et à autres solutions,
permet de travailler de manière collaborative entre les
fournisseurs ou les centres de développement, peu
importe leurs localisations.
Code
Reposito
ry
Quality and
Security
Office
Development
Centers
Précision
• ¿Avez vous comparé une analyse faite par Sonar avec celle
faite par Kiuwan?
• Sonar se compose de plugins venant de sources très
différentes. Chaque analyseur provient donc de sources
différentes, il n´y a donc pas d´homogénéité.
• ¿Avez vous vu le nombre de Faux positifs que contiennent les
règles de Sonar?
• Les règles de Sonar sont très génériques et manquent de
précision.
• L´analyse de Sonar est orientée ‘maintenabilité’.
• ¿Avez vous comparé une analyse de vulnérabilités de
sécurité entre Sonar et Kiuwan? Voici les résultats :
Précision
¿ Connaissez vous WebGoat?
Précision
Résultats pour Sonar avec WebGoat et du code Java
Précision
En voici une de taille: le support
• La grande majorité des utilisateurs qui quittent Sonar, le font à
cause du support technique.
• Comme indiqué, il n´existe pas de support pour la partie
gratuite.
• Le pack Enterprise n´inclut même pas de support par
téléphone, il se fait par courrier et en Anglais.
E /inclure cette approche pour évaluer les
livrables d’un sous-traitaint
• Lorsqu’on soustraite la réalisation d’un
logiciel stratégique ou complexe, il peut
être très utile de définir des critères de
qualité de code à monitorer à chaque
livraisons avant même de commencer la
phase de test fonctionnel …
• Voici deux exemples clients
Cas d’étude Teléfonica
Opérateur télécom basé en Espagne
Présent partout dans le monde, 345 millions de
clients
8 Factories pour l’outsourcing dans 8 pays
différents
Question posées par Téléfonica
Mon fournisseur respecte t-il les bonnes pratiques de
développement et ses engagement en terme de qualité et
sécurité ?
Comment detecter les régressions et éviter la dette
technique ?
Comment éviter le dérapage des coûts de maintenance ?
Modèle Client-Partenaire
Centre de pilotage des
Partenaires
Partenaires
Développement
Analyse avec KiuwanContrôle SLA
Réception et Recette
Non: 20% Pénalité
Conforme?
Oui
Demande
Validation du modèle de contrôle
Amélioration
Continue
Un des clients d’ALL4TEST à Monaco dans le domaine de
l’industrie, demande à ALL4TEST d’intervenir sur un projet de
réalisation d’une application de pricing en .NET, devant se
connecter à SAP.
Le fournisseur à du mal à finaliser le projet (application
instable, retard de planning…)
Le client à du mal à savoir ce que fait le fournisseur, à
organiser et structurer la recette (méthode, outils).
ALL4TEST propose les actions suivantes dans une
approche globale.
Contexte :
– Application de pricing réalisée en DotNet par un prestataire
– Taille de l’application estimée à 150 000 lignes de code
– Nombre important de défauts constatés en phase de recette
– Beaucoup de régression lors des corrections de bug
(instabilité)
– Manque d’organisation et d’expérience du client pour structurer
la recette / fournisseur
Objectifs exprimés par le client / codes
– Analyser les risques pour le business en se basant sur les
indicateurs remontés par un outils dédié
– Identifier les défauts d’architecture
– Proposer différents axes d’amélioration pour stabiliser
l’application
Demande client
- Audit du code (voir détails dans slides suivantes)
- Mise en place d’une équipe QA/Recette chez le client
- Formalisation d’un stratégie de test
- Formation des experts métiers au métier du test (ISTQB).
- Mise en place d’un outil de gestion de campagne de test (Microsoft
TFS/ MTM)
- Mise à jour des exigences, rédaction des plans de test et recette
L’objectif étant de maitriser et quantifier la qualité de l’application afin de
voir s’il était possible de faire aboutir le projet et redonner confiance au
client.
• L’indicateur de risque est élevé, à
cause des défauts de
Maintenabilité et de Stabilité
Vue Globale
Développement de nouvelles règles
• Développement de deux règles d’architecture complexes en moins de 2
jours:
• Règle de contrôle de l’architecture en couche
• Règle de dépendances entre classes:
Cette règle permet d’identifier des problèmes d’architecture Objet
• Nous constatons un risque élevé pour la maintenabilité, la stabilité et la
testabilité du système:
• Architecture en couche partiellement respectée + dépendances
cycliques
• Dépendances élevées entre objets
• Les règles de gestion sont concentrées dans peu d’objets =>
Complexité élevée
• Les composants complexes sont peu documentés
• La gestion des exceptions n’est pas optimale => Diagnostic des
problèmes en production difficile
• Difficulté de transférabilité de la maintenance en cas de turn-over
ou changement de prestataire
21/04/15
Bilan Stabilité + Maintenabilité
Bilan Stabilité + Maintenabilité
• Risques:
• Augmentation des coûts de maintenance en
raison d’une faible maintenabilité
• Augmentation des bugs en production en raison
d’une faible satbilité
21/04/15
Plan d’actions: Recommandations court terme
• Objectif: Résoudre les problèmes de conception pour
réduire les risques de maintenabilité,
robustesse et testabilité et en profiter pour re-
documenter les composants
• Etapes:
– Réparer les problèmes d’architecture tout en réduisant
la complexité. Améliorer la gestion des exceptions pour
améliorer la traçabilité.
– Documenter le code pour éviter rapidement la perte de
compétences (ex: due à un turnover)
Plan d’actions: Recommandations court terme
• Principales actions:
– Résoudre les dépendances cycliques. Déterminer le périmètre
de la couche DAL (data access layer) et déplacer tous les accès
directs et références vers System.Data.* vers cette nouvelle
couche.
– Réduire la complexité
– Déterminer le périmètre de la couche métier ensuite déplacer les
règles de gestion
– Augmenter la cohérence des classes en: réduisant la taille des
méthodes et les dépendances entre classes
– Rajouter une hiérachie d’exceptions spécifiques et les utiliser.
– Documenter les composants complexes C# et SQLSupprimer
Paramètres non utilisés
Plan d’actions: Recommandations moyen Terme
• Objectif: Poursuivre le chantier d’amélioration de la qualité et de la
réduction des risques
• Etapes:
– Réduire le nombre de défauts critiques pour un gain immédiat
• Principales actions:
– Documenter les composants complexes C# et SQLSupprimer Paramètres non
utilisés
– Supprimer les colonnes NTEXT et TEXT
– Contrôler les valeurs de retour
– Rajouter de la log dans les catchs vides et traiter correctement les re-throws
– Fermer les curseurs proprement
– Vérifier que l’utilisation du TOP dans le SQL ne cause pas des effets
indésirables
– Remplacer les Writeline dans les batchs par des écriture de logs
Plus d’informations ?
• Julien Van Quackebeke
contact@all4test.com
www.all4test.fr
0671594711
0489829224

Weitere ähnliche Inhalte

Was ist angesagt?

supervision réseau (snmp netflow)
 supervision réseau (snmp netflow) supervision réseau (snmp netflow)
supervision réseau (snmp netflow)medalaa
 
[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logicielUSTHB & DELTALOG
 
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
alphorm.com - Formation Linux LPIC-1/Comptia Linux+alphorm.com - Formation Linux LPIC-1/Comptia Linux+
alphorm.com - Formation Linux LPIC-1/Comptia Linux+Alphorm
 
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et ServicesAlphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et ServicesAlphorm
 
TD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfTD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfInes Ben Hassine
 
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...Alphorm
 
Alphorm.com Formation F5 BIG-IP : Configuration et administration
Alphorm.com Formation F5 BIG-IP : Configuration et administrationAlphorm.com Formation F5 BIG-IP : Configuration et administration
Alphorm.com Formation F5 BIG-IP : Configuration et administrationAlphorm
 
Rapport DVWA: CSRF
Rapport DVWA: CSRFRapport DVWA: CSRF
Rapport DVWA: CSRFAyoub Rouzi
 
Alphorm.com Formation Wireshark : L'essentiel
Alphorm.com Formation Wireshark : L'essentielAlphorm.com Formation Wireshark : L'essentiel
Alphorm.com Formation Wireshark : L'essentielAlphorm
 
Openstack pour les nuls
Openstack pour les nulsOpenstack pour les nuls
Openstack pour les nulsChris Cowley
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Saadaoui Marwen
 
Automatisation des tests
Automatisation des testsAutomatisation des tests
Automatisation des testsZhu Wei QI
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI Heithem Abbes
 
Selenium WebDriver avec Java
Selenium WebDriver avec Java Selenium WebDriver avec Java
Selenium WebDriver avec Java Ahmed HARRAK
 
Alphorm.com Formation Microsoft Azure (AZ-104) : Administration
Alphorm.com Formation Microsoft Azure (AZ-104) : AdministrationAlphorm.com Formation Microsoft Azure (AZ-104) : Administration
Alphorm.com Formation Microsoft Azure (AZ-104) : AdministrationAlphorm
 
Trunk VoiP Asterisk strongsawn openvpn
Trunk VoiP Asterisk strongsawn openvpnTrunk VoiP Asterisk strongsawn openvpn
Trunk VoiP Asterisk strongsawn openvpnYaya N'Tyeni Sanogo
 
[FR] Présentatation d'Ansible
[FR] Présentatation d'Ansible [FR] Présentatation d'Ansible
[FR] Présentatation d'Ansible Armand Guio
 

Was ist angesagt? (20)

supervision réseau (snmp netflow)
 supervision réseau (snmp netflow) supervision réseau (snmp netflow)
supervision réseau (snmp netflow)
 
[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel[PFE] Master en ingénierie du logiciel
[PFE] Master en ingénierie du logiciel
 
cours DHCP IPv4 et IPv6
cours DHCP IPv4 et IPv6cours DHCP IPv4 et IPv6
cours DHCP IPv4 et IPv6
 
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
alphorm.com - Formation Linux LPIC-1/Comptia Linux+alphorm.com - Formation Linux LPIC-1/Comptia Linux+
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
 
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et ServicesAlphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
 
TD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfTD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdf
 
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
 
Alphorm.com Formation F5 BIG-IP : Configuration et administration
Alphorm.com Formation F5 BIG-IP : Configuration et administrationAlphorm.com Formation F5 BIG-IP : Configuration et administration
Alphorm.com Formation F5 BIG-IP : Configuration et administration
 
Rapport DVWA: CSRF
Rapport DVWA: CSRFRapport DVWA: CSRF
Rapport DVWA: CSRF
 
Alphorm.com Formation Wireshark : L'essentiel
Alphorm.com Formation Wireshark : L'essentielAlphorm.com Formation Wireshark : L'essentiel
Alphorm.com Formation Wireshark : L'essentiel
 
Ansible-cours .pdf
Ansible-cours .pdfAnsible-cours .pdf
Ansible-cours .pdf
 
Openstack pour les nuls
Openstack pour les nulsOpenstack pour les nuls
Openstack pour les nuls
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
 
Automatisation des tests
Automatisation des testsAutomatisation des tests
Automatisation des tests
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI
 
Snmp
SnmpSnmp
Snmp
 
Selenium WebDriver avec Java
Selenium WebDriver avec Java Selenium WebDriver avec Java
Selenium WebDriver avec Java
 
Alphorm.com Formation Microsoft Azure (AZ-104) : Administration
Alphorm.com Formation Microsoft Azure (AZ-104) : AdministrationAlphorm.com Formation Microsoft Azure (AZ-104) : Administration
Alphorm.com Formation Microsoft Azure (AZ-104) : Administration
 
Trunk VoiP Asterisk strongsawn openvpn
Trunk VoiP Asterisk strongsawn openvpnTrunk VoiP Asterisk strongsawn openvpn
Trunk VoiP Asterisk strongsawn openvpn
 
[FR] Présentatation d'Ansible
[FR] Présentatation d'Ansible [FR] Présentatation d'Ansible
[FR] Présentatation d'Ansible
 

Andere mochten auch

Einsatz von Social Software für Online-Marketing und virtuelle Zusammenarbeit...
Einsatz von Social Software fürOnline-Marketing und virtuelle Zusammenarbeit...Einsatz von Social Software fürOnline-Marketing und virtuelle Zusammenarbeit...
Einsatz von Social Software für Online-Marketing und virtuelle Zusammenarbeit...styropor
 
Mia software mdday2010
Mia software mdday2010Mia software mdday2010
Mia software mdday2010MD DAY
 
Présentation update crm lsi
Présentation update crm lsi Présentation update crm lsi
Présentation update crm lsi SaaS Guru
 
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...Club Alliances
 
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...Ayelt Komus
 
Präsentation PM Forum - Social Software
Präsentation PM Forum  - Social SoftwarePräsentation PM Forum  - Social Software
Präsentation PM Forum - Social SoftwareGPMS
 
Das Potential von Open Source Software nutzen und die Risiken minimieren
Das Potential von Open Source Software nutzen und die Risiken minimierenDas Potential von Open Source Software nutzen und die Risiken minimieren
Das Potential von Open Source Software nutzen und die Risiken minimierenMatthias Stürmer
 
Software Academy 10 Erreurs Rh Par Altaide Et Moovement
Software Academy 10 Erreurs Rh Par Altaide Et MoovementSoftware Academy 10 Erreurs Rh Par Altaide Et Moovement
Software Academy 10 Erreurs Rh Par Altaide Et MoovementALTAIDE
 
Torsten Grote: Freie Software
Torsten Grote: Freie SoftwareTorsten Grote: Freie Software
Torsten Grote: Freie SoftwareStefanMz
 
(In)Segurança De Software, Quebrando Códigos
(In)Segurança De Software, Quebrando Códigos(In)Segurança De Software, Quebrando Códigos
(In)Segurança De Software, Quebrando CódigosRafael Rosa
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsAndreas Schreiber
 
Exibri Software Product Lines Aosd
Exibri Software Product Lines AosdExibri Software Product Lines Aosd
Exibri Software Product Lines AosdCédric WILLIAMSON
 
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...ljaquet
 
Blogwerk: Content Marketing an der SuisseEMEX 2013
Blogwerk: Content Marketing an der SuisseEMEX 2013Blogwerk: Content Marketing an der SuisseEMEX 2013
Blogwerk: Content Marketing an der SuisseEMEX 2013Blogwerk AG
 
Social Software Im Unternehmen
Social Software Im UnternehmenSocial Software Im Unternehmen
Social Software Im UnternehmenHelmut Nagy
 
Freie Software in der (Groß-)Forschung
Freie Software in der (Groß-)ForschungFreie Software in der (Groß-)Forschung
Freie Software in der (Groß-)ForschungAndreas Schreiber
 
Wertstoff Software - Wissenssicherung in Legacy-Systemen
Wertstoff Software - Wissenssicherung in Legacy-SystemenWertstoff Software - Wissenssicherung in Legacy-Systemen
Wertstoff Software - Wissenssicherung in Legacy-SystemenMichael Moser
 

Andere mochten auch (20)

FABIS Produktmanagement im CRM integriert
FABIS Produktmanagement im CRM integriertFABIS Produktmanagement im CRM integriert
FABIS Produktmanagement im CRM integriert
 
Slide Lewis Chimarro
Slide   Lewis ChimarroSlide   Lewis Chimarro
Slide Lewis Chimarro
 
Einsatz von Social Software für Online-Marketing und virtuelle Zusammenarbeit...
Einsatz von Social Software fürOnline-Marketing und virtuelle Zusammenarbeit...Einsatz von Social Software fürOnline-Marketing und virtuelle Zusammenarbeit...
Einsatz von Social Software für Online-Marketing und virtuelle Zusammenarbeit...
 
Mia software mdday2010
Mia software mdday2010Mia software mdday2010
Mia software mdday2010
 
Présentation update crm lsi
Présentation update crm lsi Présentation update crm lsi
Présentation update crm lsi
 
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...
Solutions en mode SaaS (Software as a Service) : les PME accèdent-elles à des...
 
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...
2009 Wikimanagement: Neue Denkansätze für die Wissensnutzung im Geschäftsproz...
 
Präsentation PM Forum - Social Software
Präsentation PM Forum  - Social SoftwarePräsentation PM Forum  - Social Software
Präsentation PM Forum - Social Software
 
Das Potential von Open Source Software nutzen und die Risiken minimieren
Das Potential von Open Source Software nutzen und die Risiken minimierenDas Potential von Open Source Software nutzen und die Risiken minimieren
Das Potential von Open Source Software nutzen und die Risiken minimieren
 
Software Academy 10 Erreurs Rh Par Altaide Et Moovement
Software Academy 10 Erreurs Rh Par Altaide Et MoovementSoftware Academy 10 Erreurs Rh Par Altaide Et Moovement
Software Academy 10 Erreurs Rh Par Altaide Et Moovement
 
Torsten Grote: Freie Software
Torsten Grote: Freie SoftwareTorsten Grote: Freie Software
Torsten Grote: Freie Software
 
(In)Segurança De Software, Quebrando Códigos
(In)Segurança De Software, Quebrando Códigos(In)Segurança De Software, Quebrando Códigos
(In)Segurança De Software, Quebrando Códigos
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
 
Exibri Software Product Lines Aosd
Exibri Software Product Lines AosdExibri Software Product Lines Aosd
Exibri Software Product Lines Aosd
 
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...
 
Blogwerk: Content Marketing an der SuisseEMEX 2013
Blogwerk: Content Marketing an der SuisseEMEX 2013Blogwerk: Content Marketing an der SuisseEMEX 2013
Blogwerk: Content Marketing an der SuisseEMEX 2013
 
Lm software
Lm softwareLm software
Lm software
 
Social Software Im Unternehmen
Social Software Im UnternehmenSocial Software Im Unternehmen
Social Software Im Unternehmen
 
Freie Software in der (Groß-)Forschung
Freie Software in der (Groß-)ForschungFreie Software in der (Groß-)Forschung
Freie Software in der (Groß-)Forschung
 
Wertstoff Software - Wissenssicherung in Legacy-Systemen
Wertstoff Software - Wissenssicherung in Legacy-SystemenWertstoff Software - Wissenssicherung in Legacy-Systemen
Wertstoff Software - Wissenssicherung in Legacy-Systemen
 

Ähnlich wie qualimétrie logiciel - Entreprise Software Analytic - nov 2015

Présentation DEVOPS_PO.pptx
Présentation DEVOPS_PO.pptxPrésentation DEVOPS_PO.pptx
Présentation DEVOPS_PO.pptxZALIMAZA
 
Présentation DEVOPS.pptx
Présentation DEVOPS.pptxPrésentation DEVOPS.pptx
Présentation DEVOPS.pptxboulonvert
 
RA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxtestuser715939
 
Présentation DEVOPS_DIR.pptx
Présentation DEVOPS_DIR.pptxPrésentation DEVOPS_DIR.pptx
Présentation DEVOPS_DIR.pptxZALIMAZA
 
Présentation DEVOPS_hyper.pptx
Présentation DEVOPS_hyper.pptxPrésentation DEVOPS_hyper.pptx
Présentation DEVOPS_hyper.pptxZALIMAZA
 
Présentation DEVOPS_Mauritanie.pptx
Présentation DEVOPS_Mauritanie.pptxPrésentation DEVOPS_Mauritanie.pptx
Présentation DEVOPS_Mauritanie.pptxZALIMAZA
 
Présentation DEVOPS-Majeur.pptx
Présentation DEVOPS-Majeur.pptxPrésentation DEVOPS-Majeur.pptx
Présentation DEVOPS-Majeur.pptxZALIMAZA
 
Présentation DEVOPSS.pptx
Présentation DEVOPSS.pptxPrésentation DEVOPSS.pptx
Présentation DEVOPSS.pptxZALIMAZA
 
Présentation DEVOPS_Black.pptx
Présentation DEVOPS_Black.pptxPrésentation DEVOPS_Black.pptx
Présentation DEVOPS_Black.pptxZALIMAZA
 
Présentation DEVOPS_CONSOLE.pptx
Présentation DEVOPS_CONSOLE.pptxPrésentation DEVOPS_CONSOLE.pptx
Présentation DEVOPS_CONSOLE.pptxZALIMAZA
 
Présentation DEVOPS_.pptx
Présentation DEVOPS_.pptxPrésentation DEVOPS_.pptx
Présentation DEVOPS_.pptxZALIMAZA
 
Présentation DEVOPS_Kola.pptx
Présentation DEVOPS_Kola.pptxPrésentation DEVOPS_Kola.pptx
Présentation DEVOPS_Kola.pptxssuserf298861
 
Maramba votre société de développement pour entreprise
Maramba votre société de développement pour entrepriseMaramba votre société de développement pour entreprise
Maramba votre société de développement pour entrepriseyakuza169
 
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...Niji
 
qualité logicielle (8).pdf
qualité logicielle (8).pdfqualité logicielle (8).pdf
qualité logicielle (8).pdfNoamHaythem
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetFrédéric Vandenbriele
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Erradi Mohamed
 
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie TrudelHa zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie TrudelAgile Montréal
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOpsMicrosoft
 
conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...Sid Ahmed Benkraoua
 

Ähnlich wie qualimétrie logiciel - Entreprise Software Analytic - nov 2015 (20)

Présentation DEVOPS_PO.pptx
Présentation DEVOPS_PO.pptxPrésentation DEVOPS_PO.pptx
Présentation DEVOPS_PO.pptx
 
Présentation DEVOPS.pptx
Présentation DEVOPS.pptxPrésentation DEVOPS.pptx
Présentation DEVOPS.pptx
 
RA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptx
 
Présentation DEVOPS_DIR.pptx
Présentation DEVOPS_DIR.pptxPrésentation DEVOPS_DIR.pptx
Présentation DEVOPS_DIR.pptx
 
Présentation DEVOPS_hyper.pptx
Présentation DEVOPS_hyper.pptxPrésentation DEVOPS_hyper.pptx
Présentation DEVOPS_hyper.pptx
 
Présentation DEVOPS_Mauritanie.pptx
Présentation DEVOPS_Mauritanie.pptxPrésentation DEVOPS_Mauritanie.pptx
Présentation DEVOPS_Mauritanie.pptx
 
Présentation DEVOPS-Majeur.pptx
Présentation DEVOPS-Majeur.pptxPrésentation DEVOPS-Majeur.pptx
Présentation DEVOPS-Majeur.pptx
 
Présentation DEVOPSS.pptx
Présentation DEVOPSS.pptxPrésentation DEVOPSS.pptx
Présentation DEVOPSS.pptx
 
Présentation DEVOPS_Black.pptx
Présentation DEVOPS_Black.pptxPrésentation DEVOPS_Black.pptx
Présentation DEVOPS_Black.pptx
 
Présentation DEVOPS_CONSOLE.pptx
Présentation DEVOPS_CONSOLE.pptxPrésentation DEVOPS_CONSOLE.pptx
Présentation DEVOPS_CONSOLE.pptx
 
Présentation DEVOPS_.pptx
Présentation DEVOPS_.pptxPrésentation DEVOPS_.pptx
Présentation DEVOPS_.pptx
 
Présentation DEVOPS_Kola.pptx
Présentation DEVOPS_Kola.pptxPrésentation DEVOPS_Kola.pptx
Présentation DEVOPS_Kola.pptx
 
Maramba votre société de développement pour entreprise
Maramba votre société de développement pour entrepriseMaramba votre société de développement pour entreprise
Maramba votre société de développement pour entreprise
 
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
 
qualité logicielle (8).pdf
qualité logicielle (8).pdfqualité logicielle (8).pdf
qualité logicielle (8).pdf
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.Net
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
 
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie TrudelHa zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...
 

qualimétrie logiciel - Entreprise Software Analytic - nov 2015

  • 1. Qualimétrie logiciel / Entreprise Software Analytic : son impact sur le business de l’entreprise Telecom Valley Nov 2015
  • 2. • A /- Comment définir et mesurer la qualité d’un logiciel ? • B / Les différents types d’outils • C/ La notion de Entreprise Software Analytics • D/ Focus sur 2 outils • E /inclure cette approche pour évaluer les livrables d’un sous-traitaint, ex de projets
  • 3. 1 – Présentation de la société • ALL4TEST est une SSII Française proposant des prestations de services à forte valeur ajoutée dans le domaine des projets aux forfaits et de la qualité logiciel. • Date de création : 2006 à Sophia-Antipolis • Effectif : 20 p en France, 20 p en NearShore
  • 4. 3 niveaux d’intervention CONSEIL Audit TMMi, CMMi FORMATION Outils de tests adaptés au métier client ASSISTANCE TECHNIQUE INGENIERIE Mise en œuvre de solutions Développements Test/ Recette OUTSOURCING FORFAIT Tierce recette
  • 5. Suite … • Présence : Paris, PACA, Tunis, UK • Membre du pôle de compétitivité SCS, de Telecom Valley, habilitation CIR, • Partenaire de plusieurs éditeurs dont Microsoft et HP sur les outils de test.
  • 6. A /- Comment définir et mesurer la qualité d’un logiciel ? • La notion de qualité du logiciel peut prendre des formes diverses en fonction du point de vue que l’on adopte : • un utilisateur final se basera sur son expérience directe, la stabilité, la fiabilité, les performances, • Un développeur jugera le logiciel par rapport à la rapidité de développement, la pertinence de la conception, la facilité de maintenance, la testabilité, la compréhensibilité du code source. • Un exploitant s’attachera davantage à la facilité d’installation et de mise à jour, à la simplicité du diagnostic et de la supervision. • Un architecte fera attention à l’interopérabilité, à la portabilité, à l’intégration harmonieuse de la solution dans le système d’information. • Un DSI prendra en compte les coûts de développement puis de maintenance et d'évolution.
  • 7. • Enfin, il y a beaucoup de critères possibles quand on parle de l’évaluation de la qualité logiciel. Dans ce contexte on peut rappeler des normes conçues pour contrôler la conformité d’un produit. Ainsi, on peut faire la différence entre : • • la qualité du processus de production - ISO 9000-3 – référencée sur la série de normes d’exigences pour l’assurance qualité ISO 9000 - ISO/CEI 12207 sur les modèles du processus du cycle de vie du logiciel. • et la qualité du produit - ISO/CEI 9126 ou désormais ISO 25000 – norme qui définit un vocabulaire pour classifier l’ensemble des attributs d’un logiciel relevant de la qualité. Elle se présente sous la forme d’une arborescence de caractéristiques et sous-caractéristiques qui décrivent des aspects de la qualité logiciel.
  • 8. • Selon cette norme, les 6 grandes caractéristiques de la qualité logiciel sont les suivantes : • • Capacité fonctionnelle : Le logiciel répond-il aux besoins de ses utilisateurs ? • Fiabilité : Le logiciel est-il en mesure d’assurer un niveau de qualité de service suffisant pour satisfaire les besoins opérationnels de ses utilisateurs ? • Facilité d'utilisation : Le logiciel peut-il être utilisé à moindre effort ? • Maintenabilité : Est-il facile d’adapter le logiciel à de nouveaux besoins ou à de nouvelles contraintes ? • Rendement / Scalabilité : Les ressources matérielles nécessaires à l’exécution du logiciel sont-elles en rapport avec sa rentabilité ? • Portabilité : Le logiciel peut-il être transféré facilement d’une plate forme ou d’un environnement à un autre ?
  • 9. Lorsqu’on effectue l'évaluation de la qualité du logiciel on tient compte des facteurs de qualité attendus, définis lors de la commande • (spécifications). Voici quelques exemples de facteurs de qualité logiciel: • cohérence – état du logiciel tel que les conventions préétablies ont été respectées. • complétude – état du logiciel tel que toutes les exigences spécifiées sont réalisées. • compréhensibilité – facilité avec laquelle un programme peut être compris par la lecture de son code source. • contrôle des accès - existence de dispositifs qui permettent une protection contre les accès non autorisés. .
  • 10. modularité - aptitude d'un logiciel à être structuré en composants ou modules indépendants. Evaluer la modularité revient à juger de la pertinence de la fonction de chaque module et de ses interactions avec les autres modules. • protection des accès - existence de dispositifs destinés à protéger le code et les données contre toutes dégradations. • simplicité – caractéristique d'un logiciel qui exprime la manière (avec simplicité ou complexité) dont sont implémentées ses différentes fonctions et qui représente la difficulté que peut rencontrer un individu pour analyser et comprendre un programme
  • 11. B / Les différents types d’outils • Les Rule Checker - Vérificateur de règles. • Ex : QAC/QaC++ de chez PRQA. • Les Static Analyzer - Analyse statique de code. • Ex : CodeSonar de chez Gammatech. Le premier vérifie les bonnes pratiques de codage, y compris les règles de codage en vigueur dans l'entreprise. Ce genre d'outil trouve peu de bugs, mais plutôt des faiblesses dans la maintenabilité, la portabilité, et un peu la robustesse. Le second est plus orienté robustesse (puisqu'il compile et simule le code), il vérifie les chemin possibles et l'excursion des données pour détecter des problèmes mémoire, de non-initialisation de donnée, d'overflow et de code mort.
  • 12. Autres ex d’outils • FindBugs : pour l'analyse du code • Acunetix : pour les failles de sécurité • Checkstyle, PMD …
  • 13. Un outils unique ? • Un outil unique permet de construire des indicateurs qualité homogènes, comparables d'un projet à l'autre • Un seul outil à maintenir, c'est plus économique • Un outil commun permet d'accélérer la montée en compétence des développeurs sur le sujet, par un dialogue commun, des fonctionnalités partagées.
  • 14. Un outils dédié / type de code ? • Chaque projet est unique et nécessite des règles différentes, donc des outils différents. FindBugs sera plus orienté "bug", alors qu'un PMD fait le focus sur les bonnes pratiques de programmation. • Je maitrise bien tel outil…. J'y suis habitué et j'ai pas envie d'utiliser un autre outil. Je serais d'ailleurs moins productif... • Avec un outil trop généraliste, il sera difficile d'adresser les problématiques qualité propre à un langage, un framework, un aspect qualité précis... on aura pas les règles qui identifient les vrais problèmes de qualité.
  • 15. OU • Bénéficier des meilleures règles de chaque outil dans une interface unique
  • 16. Test dans le Cloud ? Ex d’outil venu du Cloud : Kiuwan • Disponible aux États-Unis, en Espagne et France, KIUWAN permet á l´utilisateur de créer différents scénarios en fonction de sa stratégie et ce afin d'établir un plan d'action identifiant les efforts nécessaires pour son exécution - • Commercialisé en cloud, Kiuwan permet une rapide implémentation, est disponible en essai gratuit sur simple demande sur https://www.kiuwan.com/all4test/ • C’est approche est bien adapté aux projets Agile (rapidité de mise en œuvre, y compris avec intégration continue) • Kiuwan offre également l'option de télécharger un analyseur en local pour protéger au maximum la confidentialité du code
  • 17. « Le software analytics a pour objectif de fournir des données, indicateurs et conclusions qui donnent de la valeur à la fois à l’IT et au business » Enterprise software analytics Toutes les dimensions de l’entreprise sont à considérer
  • 18. Le monde économique actuel Métier et Technologies : de plus en plus intriqués L’IT n’est plus seulement un services de support à l’entreprise, mais devient un atout qui apporte de la valeur à l’activité même de l’entreprise.
  • 19. • Le concept d’entreprise software analytique dépasse le strict périmètre de l’analyse technique de code. L’objectif est de fournir de véritables outils décisionnels s’appuyant sur les données issues du code et des caractéristiques de chaque application du patrimoine. • Cela implique plusieurs dimension 1)La prise en compte des objectifs Business 2)L’organisation d’axes d’analyse multiples 3)L’exhaustivité de l’analyse (comme pour une analyse de vente, on doit prendre tous les produits) 4)La prise en comptes de l’attente de chaque profil concerné 5)L’homogénéité des restitutions 6)L’efficacité de l’interface de manipulation C’est ce que nous allons voir dans la suite
  • 20.
  • 24.
  • 25. D/ Focus sur 2 outils Kiuwan & Sonar (open source )
  • 27. Temps AVEC SONAR: • Télécharger le produit. • Installer le produit (tas de plugins de plusieurs sources). • Configurer le produit. • Gérer les centaines de faux positifs trouvés. • Migrer le produit. • Coût d´achat et de maintenances de l´infrastructure hardware.
  • 28. Temps “Kiuwan est une nouvelle génération d´outils, en quelques secondes et sans aucune formation, nous pouvons détecter et corriger les erreurs de nos logiciels. Nous disposons d´une très bonne équipe de développement, mais Kiuwan nous a permis d´atteindre un très bon ratio de productivité. Pedro Tabernero CEO - BKOOL
  • 29. Temps Avec Kiuwan: Pas d´installation. Pas de configuration. Pas de migration. Pas de coût d´infrastructure , ni de maintenance. Avec Kiuwan: Plus de temps à perdre!!
  • 30. Coûts • “Time is Money”. • Sonar se dit “gratuit”. • Le coût du support technique et du pack Enterprise atteint annuellement 50.000 €.
  • 31. Coûts • Avec Sonar il faut prendre en compte les coûts “cachés”: – Personnel dédié à installer, maintenir et migrer chaque version. – Les coûts d´infrastructure. – Le temps employé dans la mise en place, normalement plusieurs semaines voir plusieurs mois. • Kiuwan n´a pas de coûts cachés et permet à chaque entreprise de payer suivant les besoins déterminés. À partir de 35$ par application et par mois en mode Enterprise.
  • 32. Coûts ¿Connaissez vous toute la fonctionnalité de la partie de paiement de SONAR?
  • 33. Exemples de Coûts • Pack Enterprise con 100 applications avec différentes technologies. – Sonar Enterprise Edition: 50.000€/ année – Kiuwan Enterprise: 26.124€/ année • Pack Basic 10 applications en Java, PL/SQL. – Sonar : 3.200 € année • Java Gratis • PL/SQL: 3.200 € année – Kiuwan: 1.200€ année • Pack Basic Cobol 20 applications. – Sonar 7.500€ – Kiuwan 2.400€
  • 34. Fonctionnalité • Dans Sonar il faut construire certains éléments que Kiuwan vous donne automatiquement: – Rapports. – Plans d´actions. – Tableaux de bord : Portefeuille ou vues d´ensemble. – Editeur de règles. • Par exemple, pour obtenir un rapport avec Sonar, il faut acheter le Plugin approprié, puis programmer son propre rapport. Avec Kiuwan, c´est aussi simple que d´appuyer sur un bouton pour avoir des rapports et ce à n´importe quel niveau de visibilité.
  • 35. Fonctionnalité • Sonar est un outil qui se veut orienté pour une utilisation technique, mais avec un manque de fonctionnalités pour la gouvernance, fonctionnalités que l´on retrouve au sein de Kiuwan. • Sonar génère beaucoup d´erreurs mais dans beaucoup des cas, ce sont des “faux positifs” qui sont ingérables. • Kiuwan offre la fonctionnalité du “What if analysis” qui permet de savoir exactement ce sur quoi nous devons travailler après avoir fait une analyse, en fonction de nos besoins ou nos disponibilités dans le temps. • ¿Avez vous déjà essayé de créer ou de personnaliser un modèle de qualité avec Sonar? Et avec Kiuwan? • ¿Connaissez vous la fonctionnalité “Defect Muter” de Kiuwan? En quelques secondes, et sans relancer l´analyse, vous pouvez calculer quels seraient les résultats de votre analyse si vous décidiez de mettre en “Pause”, une règle ou une erreur. Avec Sonar, il vous sera impossible de le faire.
  • 36. Fonctionnalité • Les tableaux de bord de Sonar sont orientés pour les développeurs, alors que ceux de Kiuwan permettent d´être choisis selon le profil. • Dans Sonar les tableaux de bord sont donnés suivant la technologie. Une application ayant du Java avec PL/SQL aura 2 tableaux de bord , un pour chaque technologie, avec Kiuwan un seul pour les deux technologies. • Kiuwan est structuré par application ou groupes d´applications.
  • 37. Fonctionnalité • Sonar compte avec des analyseurs venant de multiples sources. • Bien qu´il ait un support pour le langage Cobol, il ne recommande seulement que 49 règles et ne contient pas d´analyseurs pour des éléments importants comme JCLs. • Sonar ne supporte pas des langages comme Objective C , RPG, ASP ou JSP. • Le support pour ABAP ou PHP est presque inexistant, il ne gère qu´un petit ensemble de règles de ‘maintenabilité’.
  • 38. Fonctionnalité • Kiuwan, contrairement a Sonar et à autres solutions, permet de travailler de manière collaborative entre les fournisseurs ou les centres de développement, peu importe leurs localisations. Code Reposito ry Quality and Security Office Development Centers
  • 39. Précision • ¿Avez vous comparé une analyse faite par Sonar avec celle faite par Kiuwan? • Sonar se compose de plugins venant de sources très différentes. Chaque analyseur provient donc de sources différentes, il n´y a donc pas d´homogénéité. • ¿Avez vous vu le nombre de Faux positifs que contiennent les règles de Sonar? • Les règles de Sonar sont très génériques et manquent de précision. • L´analyse de Sonar est orientée ‘maintenabilité’. • ¿Avez vous comparé une analyse de vulnérabilités de sécurité entre Sonar et Kiuwan? Voici les résultats :
  • 41. Précision Résultats pour Sonar avec WebGoat et du code Java
  • 43. En voici une de taille: le support • La grande majorité des utilisateurs qui quittent Sonar, le font à cause du support technique. • Comme indiqué, il n´existe pas de support pour la partie gratuite. • Le pack Enterprise n´inclut même pas de support par téléphone, il se fait par courrier et en Anglais.
  • 44. E /inclure cette approche pour évaluer les livrables d’un sous-traitaint • Lorsqu’on soustraite la réalisation d’un logiciel stratégique ou complexe, il peut être très utile de définir des critères de qualité de code à monitorer à chaque livraisons avant même de commencer la phase de test fonctionnel … • Voici deux exemples clients
  • 45. Cas d’étude Teléfonica Opérateur télécom basé en Espagne Présent partout dans le monde, 345 millions de clients 8 Factories pour l’outsourcing dans 8 pays différents
  • 46. Question posées par Téléfonica Mon fournisseur respecte t-il les bonnes pratiques de développement et ses engagement en terme de qualité et sécurité ? Comment detecter les régressions et éviter la dette technique ? Comment éviter le dérapage des coûts de maintenance ?
  • 47. Modèle Client-Partenaire Centre de pilotage des Partenaires Partenaires Développement Analyse avec KiuwanContrôle SLA Réception et Recette Non: 20% Pénalité Conforme? Oui Demande Validation du modèle de contrôle Amélioration Continue
  • 48. Un des clients d’ALL4TEST à Monaco dans le domaine de l’industrie, demande à ALL4TEST d’intervenir sur un projet de réalisation d’une application de pricing en .NET, devant se connecter à SAP.
  • 49. Le fournisseur à du mal à finaliser le projet (application instable, retard de planning…) Le client à du mal à savoir ce que fait le fournisseur, à organiser et structurer la recette (méthode, outils). ALL4TEST propose les actions suivantes dans une approche globale.
  • 50. Contexte : – Application de pricing réalisée en DotNet par un prestataire – Taille de l’application estimée à 150 000 lignes de code – Nombre important de défauts constatés en phase de recette – Beaucoup de régression lors des corrections de bug (instabilité) – Manque d’organisation et d’expérience du client pour structurer la recette / fournisseur Objectifs exprimés par le client / codes – Analyser les risques pour le business en se basant sur les indicateurs remontés par un outils dédié – Identifier les défauts d’architecture – Proposer différents axes d’amélioration pour stabiliser l’application Demande client
  • 51. - Audit du code (voir détails dans slides suivantes) - Mise en place d’une équipe QA/Recette chez le client - Formalisation d’un stratégie de test - Formation des experts métiers au métier du test (ISTQB). - Mise en place d’un outil de gestion de campagne de test (Microsoft TFS/ MTM) - Mise à jour des exigences, rédaction des plans de test et recette L’objectif étant de maitriser et quantifier la qualité de l’application afin de voir s’il était possible de faire aboutir le projet et redonner confiance au client.
  • 52. • L’indicateur de risque est élevé, à cause des défauts de Maintenabilité et de Stabilité Vue Globale
  • 53. Développement de nouvelles règles • Développement de deux règles d’architecture complexes en moins de 2 jours: • Règle de contrôle de l’architecture en couche • Règle de dépendances entre classes: Cette règle permet d’identifier des problèmes d’architecture Objet
  • 54. • Nous constatons un risque élevé pour la maintenabilité, la stabilité et la testabilité du système: • Architecture en couche partiellement respectée + dépendances cycliques • Dépendances élevées entre objets • Les règles de gestion sont concentrées dans peu d’objets => Complexité élevée • Les composants complexes sont peu documentés • La gestion des exceptions n’est pas optimale => Diagnostic des problèmes en production difficile • Difficulté de transférabilité de la maintenance en cas de turn-over ou changement de prestataire 21/04/15 Bilan Stabilité + Maintenabilité
  • 55. Bilan Stabilité + Maintenabilité • Risques: • Augmentation des coûts de maintenance en raison d’une faible maintenabilité • Augmentation des bugs en production en raison d’une faible satbilité
  • 56. 21/04/15 Plan d’actions: Recommandations court terme • Objectif: Résoudre les problèmes de conception pour réduire les risques de maintenabilité, robustesse et testabilité et en profiter pour re- documenter les composants • Etapes: – Réparer les problèmes d’architecture tout en réduisant la complexité. Améliorer la gestion des exceptions pour améliorer la traçabilité. – Documenter le code pour éviter rapidement la perte de compétences (ex: due à un turnover)
  • 57. Plan d’actions: Recommandations court terme • Principales actions: – Résoudre les dépendances cycliques. Déterminer le périmètre de la couche DAL (data access layer) et déplacer tous les accès directs et références vers System.Data.* vers cette nouvelle couche. – Réduire la complexité – Déterminer le périmètre de la couche métier ensuite déplacer les règles de gestion – Augmenter la cohérence des classes en: réduisant la taille des méthodes et les dépendances entre classes – Rajouter une hiérachie d’exceptions spécifiques et les utiliser. – Documenter les composants complexes C# et SQLSupprimer Paramètres non utilisés
  • 58. Plan d’actions: Recommandations moyen Terme • Objectif: Poursuivre le chantier d’amélioration de la qualité et de la réduction des risques • Etapes: – Réduire le nombre de défauts critiques pour un gain immédiat • Principales actions: – Documenter les composants complexes C# et SQLSupprimer Paramètres non utilisés – Supprimer les colonnes NTEXT et TEXT – Contrôler les valeurs de retour – Rajouter de la log dans les catchs vides et traiter correctement les re-throws – Fermer les curseurs proprement – Vérifier que l’utilisation du TOP dans le SQL ne cause pas des effets indésirables – Remplacer les Writeline dans les batchs par des écriture de logs
  • 59. Plus d’informations ? • Julien Van Quackebeke contact@all4test.com www.all4test.fr 0671594711 0489829224