Outil d'analyse statique: jlint

Rédigé par Dominique Mereaux le 14 avril 2013


Jlint est un outil d'analyse statique basé en particulier sur le "dataflow analysis" qui permet de détecter des erreurs avant même d'avoir exécuter le code. Ce type d'outil permet d'améliorer à moindre coût la maturité et la maintenabilité du code.



Exemples d'erreur détectée





"return always true": effectivement la variable locale deltaV est initialisée à 0 au début et comparée à 0!




shadows component of class 'echec/PieceEchiquier': la variable locale a le même nom que l'un des éléments de la classe:


La page d’accueil de l'outil:


Jlint

Les sources sont téléchargés sous forme de zip. Un makefile permet de générer l'exécutable sous n'importe quelle plateforme.


Il contient un autre outil complémentaire détectant des erreurs de code telle que le signe '=' utilisé au lieu de "==". Dans ce cas il faudra utiliser l'option -java pour un programme java.



Dans le zip vous trouverez également un pdf décrivant les types d'erreurs détectées.


Classé dans : Outil de test - Mots clés : analyse statique - aucun commentaire

Pourquoi utiliser un outil d'analyse de code

Rédigé par Dominique Mereaux le 01 avril 2013


Diminution des coûts :



L’utilisation des outils d’analyse de code permet de faire de la prévention, c’est à dire trouver des défauts avant d’exécuter le code lors de tests unitaires, intégration ou système.


Exemple:

  1. Lancement de l’outil sur un code java :


  2. Résultat de l’analyse :

  3. Détail du défaut :



Le test est effectivement toujours à vrai. Manque-t-il un appel une méthode pour calculer deltaV? Cette condition est-elle finalement inutile ?

Détecter un défaut à ce niveau permet une correction immédiate et limite de fait les coûts de test :




Le volume d’anomalies impacte le nombre de phases de tests nécessaire à l’obtention d’un niveau de qualité, et donc le coût (et les délais).
Le nombre de phases minimum est de trois, mais peu être plus élevé si la volumétrie d'anomalie est importante.
On pourrait mesurer l'efficacité de ces outils en calculant le nombre de défauts détectés répartis par gravité.


Maintenabilité, maturité :

  1. Autre exemple : utilisation d’un résultat boolean d’une méthode de façon « inversée »


  2. Visualisation du code :


  3. Recherche de l’utilisation de la méthode :


  4. Effectivement la négation est utilisée :


  5. L’outil d’analyse propose même une correction automatique :




Ici je peux remplacer estValide par estNonValide, l’outil fera automatiquement les corrections y compris dans la fonction appelante.

En simplifiant le code (suppression des négations) je rend le code plus maintenable est évite les erreurs de codage liées à l’utilisation des négations.

Par une lisibilité plus importante, le coût de la maintenance pourra être diminuée.
Remarque, en offrant ces fonctions de corrections automatiques, la production de code devient plus efficace.

Les exemples ont été réalisés avec Intelliji IDEA.

Classé dans : Outil de test - Mots clés : analyse statique - aucun commentaire

Installation de pour les versions à partir de 1.9.4

Rédigé par Dominique Mereaux le 23 février 2013

Suite à des modifications pour des raisons de sécurité la procédure d'installation de testlink a changé.


Il vous faudra modifier le fichier config.inc.php qui se trouve sous le répertoire cfg.


Les variables $tlCfg->log_path et $g_repositoryPath pointent sur des répertoires fictifs donnés en exemples. Il faut modifier ces chemins pour pouvoir pointer sur des répertoire existants sur votre machine et protégés de l'extérieur.


Si ces variables ne sont pas correctement valorisées pour ne pourrez pas faire l'installation et vous obtiendrez un message d'erreur.





Les versions 1.9.4 et 1.9.5 offre une meilleure intégration avec les outils de reporting d'anomalie.


Pour plus d'informations allez sur le forum:

Classé dans : Outil de test - Mots clés : testlink - aucun commentaire

Testlink: connexion à un gestionnaire d'anomalie

Rédigé par Dominique Mereaux le 02 février 2013


Depuis la version 1.9.4 la configuration à un gestionnaire d'anomalie s'est considérablement simplifiée. Plus besoin de manipuler les fichiers de configuration.



Désormais il suffit d'aller dans le menu Issue Tracker Management. Vous pouvez créer autant de connections que vous voulez et choisir par projet à quel gestionnaire d'anomalie vous voulez utiliser.



Une fois créée, vous pouvez configurer cette connexion :

1/ le type: par exemple mantis(interface:db)

2/ les données d'accès

<issuetracker>
<dbhost>localhost</dbhost>
<dbname>bugtracker</dbname>
<dbtype>mysql</dbtype>
<dbuser>utilisateur</dbuser>
<dbpassword>mot de passe</dbpassword>
<uriview>http://localhost:8088/development/mantis/view.php?id=</uriview>
<uricreate>http://localhost:8088/development/mantis/</uricreate>
</issuetracker>


Pour vous aider un template est fourni : Show configuration example.

Classé dans : Outil de test - Mots clés : testlink - aucun commentaire

Faire le lien entre testlink et mantis

Rédigé par Dominique Mereaux le 27 avril 2012

Il est possible de faire le lien entre Testlink et Mantis. Vous pourrez ainsi enrichir vos rapports de test.


Côté Mantis : Modifier le fichier config_inc.php :
Création d’un compte anonyme

# --- anonymous login -----------
# Allow anonymous login
$g_allow_anonymous_login = ON;
$g_anonymous_account = 'dummy';
Remplacer dummy par un compte que vous aurez créé avec accès en lecture à tous les projets.

Ce compte permettra de se connecter comme invité à Mantis et limite ainsi les accès.
Configurer l’interface Mantis côté testlink :

Wamp → repertoire htdocs/Testlink/cfg : Modifier le fichier mantis.cfg.php:
/** The DB host to use when connecting to the mantis db */
define('BUG_TRACK_DB_HOST', 'localhost');
/** The name of the database that contains the mantis tables */
define('BUG_TRACK_DB_NAME', 'bugtracker');
/** The DB type being used by mantis */
define('BUG_TRACK_DB_USER', root');
/** The DB password to use for connecting to the mantis db */
define('BUG_TRACK_DB_PASS', 'root');
/** link to the bugtracking system, for viewing bugs */
define('BUG_TRACK_HREF', "http://localhost:8888/mantis/view.php?id=");
/** link to the bugtracking system, for entering new bugs */
define('BUG_TRACK_ENTER_BUG_HREF',"http://localhost:8888/mantis/");

Intégrer Mantis

Copier les lignes suivantes de config.inc.php vers custom_config.inc.php :
$g_interface_bugs = 'NO';
→ $g_interface_bugs = 'MANTIS';

Exécution d’un test :



→ Sous Mantis créer une anomalie et utiliser l’identifiant de l’anomalie pour faire le lien :



Le lien est ajouté :


Si vous cliquez sur l'anomalie vous êtes automatiquement redirigé vers Mantis.

Classé dans : Outil de test - Mots clés : aucun - 4 commentaires

Fil Rss des articles de cette catégorie

précédentepage 2 sur 5suivante»

Catégories

Archives

Mots clés

Derniers articles

Derniers commentaires