DEVOPS
30.6K views | +0 today
Follow
 
Scooped by Mickael Ruau
onto DEVOPS
Scoop.it!

Making Release Retrospectives Strategic and Effective: Part 4

In Part 1 of this multi-part blog series, I presented the case for tying release retrospectives with strategic objectives and strategic metric, and outlined a 5-step process for defining strategic objectives to drive agile transition in an...
more...
No comment yet.
DEVOPS
DEVOPS, agilité, tests, déploiement, sécurité
Curated by Mickael Ruau
Your new post is loading...
Your new post is loading...
Scooped by Mickael Ruau
Scoop.it!

SonarSource Blog » What makes Checkstyle, PMD, Findbugs and Macker complementary ?

There is often some misunderstanding when people talk about coding rules engines. Everyone tries to take position in favor of his preferred tool and does his best to explain what are the weaknesses of the other ones. For instance, a PMD supporter could say :



Checkstyle is a stupid tool consuming time to search for tab characters when PMD is a smart one that can do the job alone as a good soldier, Findbugs is very good for resource consumption and Macker is … uh, what is Macker ? “



Time to breathe ! There is in fact no need to take such position since those tools are not competing but are complementary and should be used simultaneously as it is the case in Sonar. Each of them is mainly targeting a certain type of coding rules : conventions (Checkstyle), bad practices (PMD) and potential bugs (FindBugs).

more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Intégrer l’outil de supervision Sonar à Team Foundation Server 2010 | OCTO talks !

Comme on l’a montré dans l’article précédent, Sonar est l’outil indispensable pour évaluer la qualité des projets d’une DSI au fil de l’eau.

Dans cet article nous aimerions présenter l’installation de différents composants de l’analyse Sonar et comment l’intégrer à votre usine de build TFS.

more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Continuous Code Quality | SonarQube

SonarQube® software (previously called Sonar) is an open source quality management platform, dedicated to continuously analyze and measure technical quality, from project portfolio to method. If you wish to extend the SonarQube platform with open source plugins, have a look at our plugins forge.

more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

SONAR : La chasse aux 7 péchés du développeur | Le blog Sodifrance Netapsys

Durant le JUG Summer Camp 2011 qui a eu lieu à La Rochelle, Olivier Gaudin de la société SonarSource a présenté l’inspection continue du code source avec Sonar.

Olivier a détaillé les 7 péchés communément commis par les développeurs et comment les aider à améliorer la qualité technique des applications.

Mickael Ruau's insight:

La complexité dite « complexité cyclomatique » se mesure d’après le nombre de choix et de branches dans une méthode. C'est-à-dire le nombre de « if », « else », « for », « while », « switch / case » dans une méthode.

Il est conseillé d’avoir au maximum une complexité de 12 dans une méthode.

Plus la complexité d’une méthode est importante et plus elle sera jugée trop complexe et trop dangereuse à modifier. Une modification de ce type de méthodes présente un risque important d’effets de bord et de régressions.

Pour éviter une complexité trop importante, les deux règles d’or suivantes sont à respecter :

  • « Une méthode ou une classe n’est jamais trop petite »
  • « Une et une seule responsabilité par classe. »

En effet, il est nécessaire de séparer les préoccupations : une classe n’est responsable que d’un traitement. Elle délègue les autres traitements à d’autres classes.

more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Indice d'instabilité

Cet indice va faire ressortir les paquetages qui dépendent plus des autres que les autres ne dépendent d'eux. Ces paquetages peuvent être dangereux, puisqu'une modification dans un des paquetages dont ils dépendent impacte potentiellement leur fonctionnement.

Mickael Ruau's insight:

Il n'y a pas de bonne valeur pour cette indice : dans une architecture logicielle, certains paquetages doivent être instables. Cependant, lorsqu'un paquetage instable est détecté, il faut alors considérer un autre indicateur : c'est la "distance from the main sequence".

more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

La qualité logicielle et les trois petits cochons

Un comparatif entre le conte pour enfants et la qualité logicielle
Mickael Ruau's insight:

Maintenir un code de qualité est un travail qui se fait quotidiennement. Si vous laissez une qualité médiocre s’installer, le développeur va moins prendre soin de l’application. On appelle aussi ça la théorie de la vitre brisée. Pour y remédier, appliquez la règle du boy scout : “Laissez le campement plus propre que vous ne l’avez trouvé en arrivant”.

Si vous travaillez en équipe, ne négligez pas le côté humain de notre métier, mis en avant par certaines pratiques agiles telles que les code reviews, le pair/mob programming…

Enfin, dernier outil qu’il ne faut pas négliger : tester (et automatiser) les tests de son application

more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Zoom sur... Sonar, pour automatiser la vérification de la qualité du code Java - Le blog de Clever Age

Zoom sur... Sonar, pour automatiser la vérification de la qualité du code Java - Le blog de Clever Age | DEVOPS | Scoop.it
La qualité du code est souvent le parent pauvre des projets en entreprise et, pourtant, celle-ci a un impact sur la productivité. Sonar est le tableau de bord permettant de suivre l'évolution de la qualité des sources au fur et à mesure de la vie d'un projet.
Mickael Ruau's insight:

Sonar effectue un calcul de complexité du code permettant de déterminer la bonne disposition des instructions dans les classes Java. Cela permet de détecter les méthodes / les classes ayant une complexité forte aggravant la maintenance de l’application.

L’algorithme de calcul de la complexité est celui défini par Thomas McCabe, appelé complexité cyclomatique. Cet algorithme génère un graphe qui décrit tous les chemins possibles que peut prendre l’exécution du code. Plus le nombre de chemins est élevé, plus la complexité augmente.

Des méthodes ayant une mesure de complexité trop élevé seront susceptibles de réduire la possibilité de les maintenir et les comprendre correctement. La diminution de la complexité s’effectue alors en déportant des parties d’instructions dans de nouvelles méthodes ou classes.

more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

⚡️ GDPR / RGPD ⚡️ - Le réglement européen qui va protéger les internautes, et donner du boulot de mise en conformité aux entreprises - Korben

⚡️ GDPR / RGPD ⚡️ - Le réglement européen qui va protéger les internautes, et donner du boulot de mise en conformité aux entreprises - Korben | DEVOPS | Scoop.it
Je ne sais pas si vous suivez un peu ce qui se passe au niveau européen en matière de protection des données personnelles, mais le 27 avril dernier, après 4 ans de négociations tendues, l'Europe a voté le RGPD (pour "Règlement général sur la protection des données" ou en anglais : General Data Protection Regulation, > Lire la suite
more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Introduction au test logiciel — Wikilivres

Ce livre s'adresse aux développeurs qui souhaitent gagner en efficacité, produire un code meilleur et réduire le temps et l'argent perdus, passé à chercher et à corriger des bogues qui auraient pu être décelés plus tôt.

 Livre de Wikibooks
 

 

more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

How-To: Sikuli and Robot Framework Integration

How-To: Sikuli and Robot Framework Integration | DEVOPS | Scoop.it

Sikuli and Robot Framework are both freely available open source tools that provide interesting possibilities for automation testers, QA and other IT people.

Sikuli introduces new way of automated testing - test using screenshots and images, without using any internal API of objects under test. This approach (using purely images/screenshots and generating mouse and keyboard events) is more similar to manual testing activities performed by real people which have just monitor, mouse and keyboard.

Robot Framework is an excellent implementation of keyword- and data-driven approaches to test automation and besides it includes a lot of interesting features and tools, such as:

and much more...

Mickael Ruau's insight:

Introduction
Integration Details
Step 0: Installation
Step 1: Run Sikuli Script from command line
Step 2: Upgrade Sikuli Scripts to Test Libraries
Step 3: Tips and Tricks
Summary
References

more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Téléchargements | IDE, Code et Team Foundation Server | Visual Studio

Téléchargements | IDE, Code et Team Foundation Server | Visual Studio | DEVOPS | Scoop.it
Téléchargez Visual Studio Community, Professional et Enterprise. Essayez Visual Studio Code ou Team Foundation Server gratuitement dès aujourd’hui.
Mickael Ruau's insight:

Team Foundation Server Express 2017 Update 1 est une plateforme gratuite de contrôle de code source pour les développeurs indépendants et les petites équipes de maximum cinq personnes. Pour plus d’informations, voir la documentation actuelle.

more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Introduction au test logiciel/Qualité des tests — Wikilivres

Sections

Mickael Ruau's insight:
more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Self Hosted Software Development | LibHunt

All libraries and projects - 55. Gogs, Jenkins, drone, Phabricator, gitbucket, Read the Docs, Eclipse Che, daux.io, Redmine, and Taiga
more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

checkstyle – Metrics

The NPATH metric computes the number of possible execution paths through a function(method). It takes into account the nesting of conditional statements and multi-part boolean expressions (A && B, C || D, E ? F :G and their combinations).
The NPATH metric was designed base on Cyclomatic complexity to avoid problem of Cyclomatic complexity metric like nesting level within a function(method).

Metric was described at "NPATH: a measure of execution pathcomplexity and its applications". If you need detailed description of algorithm, please read that article, it is well written and have number of examples and details.

Here is some quotes:

An NPATH threshold value of 200 has been established for a function. The value 200 is based on studies done at AT&T Bell Laboratories [1988 year].
Some of the most effective methods of reducing the NPATH value include
- distributing functionality,
- implementing multiple if statements as a switch statement
- creating a separate function for logical expressions with a high count of and (&&) and or (||) operators.

Although strategies to reduce the NPATH complexity of functions are important, care must be taken not to distort the logical clarity of the software by applying a strategy to reduce the complexity of functions. That is, there is a point of diminishing return beyond which a further attempt at reduction of complexity distorts the logical clarity of the system structure.

more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Indice d'instabilité

Cet indice augmente quand :

  • le nombre de méthodes redéfinies augmente,
  • la profondeur d'héritage augmente.

 

Il diminue quand :

  • le nombre de méthodes spécifiques à la classe augmente,
  • le nombre de méthodes redéfinies diminue.
Mickael Ruau's insight:

Cet indice peut-être considéré comme trop élevé lorsqu'il est supérieur à 1.5. Il faut alors penser à refactoriser en utilisant des interfaces. En effet, cela signifie souvent qu'un objet hérite d'un autre en redéfinissant beaucoup de ses méthodes : il utilise donc l'héritage alors qu'il s'agit d'un objet très spécialisé. L'utilisation des interfaces et de la délégation est plus appropriée, pour clarifier le code et éviter les problèmes de maintenance.

more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Mesure de la qualité du code source - Algorithmes et outils

Presentation d'algorithmes et d'outils couramment
utilisés pour l'analyse statistique de code source
more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Nombre cyclomatique — Wikipédia

Nombre cyclomatique - Wikipédia

Le nombre cyclomatique, la complexité cyclomatique ou la mesure de McCabe est un outil de métrologie logicielle développé par Thomas McCabe en 1976 pour mesurer la complexité d'un programme informatique. Cette mesure reflète le nombre de décisions d'un algorithme en comptabilisant le nombre de " chemins " linéairement indépendants au travers d'un programme représenté sous la forme d'un graphe.

Mickael Ruau's insight:

Intérêt

Un code simple, au faible nombre cyclomatique, est théoriquement plus facile à lire, à tester et à entretenir2 :

  • un effort de compréhension plus soutenu doit être effectué durant la lecture d'un code complexe, de façon à retenir et à prendre en compte chaque embranchement ;
  • les tests unitaires doivent tester toutes les possibilités d’embranchement dans la fonction, de façon à suivre chacun des « chemins » ; or, les tests unitaires ont primordialement été conçus pour tester des fonctions en isolation par un cas simple ;
  • de même, la correction d'un bug ou l'amélioration d'une fonction simple sera facilitée par l'absence d'obligation de prise en compte de ces embranchements et possibilités.

Critique

Cependant, le nombre cyclomatique ne fait pas l'unanimité. Ainsi, dès mars 1988, une étude montre que le nombre cyclomatique ne s'appuie pas sur une base théorique solide et n'est pas adapté au développement logiciel et souligne qu'aucune observation empirique ne vient justifier l'utilité de cette mesure3.

D'autres possibilités existent pour compléter le nombre cyclomatique, comme la complexité NPath (en anglais, NPath complexity), mesurant le nombre total de possibilités d'emprunter l'ensemble des chemins, là où le nombre cyclomatique se contente d'additionner ces chemins2,4.

more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Sonar, l’outil qui manquait à l’usine de développement .NET | OCTO talks !

Il existe des outils d’analyse statique du code (exemples : Findbugs, Pmd en Java, FxCop, Gendarme en .NET) qui permettent de soulever des bugs potentiels ou des problèmes de maintenabilité.

 

Dans nos projets nous suivons la procédure suivante :

  • Blocker : c’est un bug, on arrête tout et on corrige.
  • Critical : il y a de fortes chances que ce soit un bug : on essaye de corriger rapidement.
  • Major : ça ne sent pas bon, il vaudrait mieux regarder. On essaye de corriger avant la livraison.
  • Minor et info : pensez à regarder si vous êtes curieux. En général, personne n’agit dessus, alors autant les désactiver.
more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

IntelliTest – One Test to rule them all

Learn to use Visual Studio, Visual Studio Team Services, Application Insights and Team Foundation Server to decrease rework, increase transparency into your application and increase the rate at which you can ship high quality software throughout the application lifecycle
Mickael Ruau's insight:

Even without knowing about the intended and correct behaviour, the IntelliTest generated test suite describes the actual observed behaviour of the code under test. By itself this is useful as characterization tests, protecting existing behaviour against unintended changes.

more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Sikuli Selenium Robot Framework Tutorial

Sikuli Selenium Robot Framework Tutorial | DEVOPS | Scoop.it

You can find below all the steps needed to develop and execute a Robot Framework test case using both Sikuli and Selenium at the same time. Note that Selenium library runs on Python (does not support Jython) however Sikuli needs Jython so using one Python interpreter is not going to work for both at the same time. The trick is to use Python (works fine with Selenium library) and run Jython on a remote machine (localhost simulating remote machine). This way we execute Selenium keywords using Python on the local machine and call Sikuli keywords on the remote machine using RPC-xml sever.

more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Get started | Microsoft IntelliTest Developer Test Tool | Visual Studio

Get started with Microsoft Visual Studio IntelliTest developer testing tool
Mickael Ruau's insight:

Visual Studio 2017 | Visual Studio 2015

more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Préparer ses plans de tests

Quand rédiger les plans de test ?

Idéalement, vous rédigerez vos plans de tests dès que le client aura validé la conception, histoire de ne pas les changer du tout au tout trois fois par semaine. La tentation à éviter est d’attendre la fin des développements afin de pouvoir effectuer les tests en même temps que vous les rédigez. Comme expliqué plus haut, ils doivent permettre de contrôler l’adéquation du produit fini avec les spécifications, pas du produit fini avec le produit fini et les souvenirs du concepteur.

Pour rédiger vos plans de tests, vous aurez donc soin de fermer toutes les applications en dehors de votre traitement de textes et des spécifications fonctionnelles et techniques de l’application à tester, et c’est tout.

N’oubliez pas que ces plans de tests et les données afférentes vont devoir évoluer avec votre application au fur et à mesure des évolutions. Le cahier de recette est un document vivant qui suit parfaitement le cycle de vie de votre application.

Mickael Ruau's insight:

Les tests unitaires vont principalement vous servir à vérifier que les inputs sont bien enregistrés en base et ressortis comme ils doivent l’être. Ce n’est pas à vous de les écrire, mais à vos équipes au fur et à mesure du développement. L’idéal est d’utiliser une méthode de développement dirigée par les tests :

  1. Le développeur rédige les tests.
  2. Il développe son module.
  3. Il lance les tests, si ça marche, il passe à la suite.

Ces tests sont terriblement longs et fastidieux à réaliser, et c’est pour cette raison que vous devrez immédiatement les automatiser.

more...
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Robot Framework Tutorial 2- First Script

 

Check out my Robot Framework Tutorial website to see the whole course: http://www.robotframeworktutorial.com.

In this video, I'll show you how to create your first script using the Selenium2 library.

Robot Framework is an excellent, free, open source test automation framework. Learn how to create & run automated test scripts with PyCharm, Selenium library, and more!

All course materials © 2015 Bryan Lamb. All rights reserved.

more...
No comment yet.