Découvrez comment la solution Parasoft Continuous Quality permet de contrôler et de gérer les environnements de test pour fournir des logiciels de haute qualité en toute confiance. Inscrivez-vous pour la démo >>

BLOG

6 étapes pour une intégration continue pour les tests de développement

6 étapes pour une intégration continue pour les tests de développement Temps de lecture : 3 minutes
Dans les entreprises les plus créatives et les plus avancées, l'intégration continue va bien au-delà de l'automatisation de la construction, permettant aux équipes d'atteindre une plus grande évolutivité, productivité et qualité dans tout le SDLC.

Voici 6 étapes pour prendre votre Test de développement activités (et plus) de l'intégration manuelle à l'intégration continue - le tout en moins d'une journée.

1. Identifier les processus manuels

Commencez par dresser un inventaire de vos efforts réguliers et chronophages. Votre objectif est d'identifier les tâches fastidieuses «à faire» que vous ou votre équipe accomplissez encore et encore. Les processus que vous identifiez peuvent inclure:

  • Transférer des fichiers entre des machines
  • Saisie de commandes dans une console
  • Copie de données entre différents systèmes ou dans un autre format
  • Vérification visuelle des informations, des données ou des résultats de test
  • Rédaction de documentation
  • Obtenir une approbation verbale ou écrite
  • Planification et participation aux réunions
  • Cliquer sur un bouton / icône pour exécuter un script ou un programme
  • Création et envoi de rapports

À ce stade, vous n'avez pas à vous soucier de l'automatisation; se concentrer sur la détermination des processus manuels fastidieux et routiniers. Si la création de cette liste prend plus de 15 minutes, arrêtez-vous là où vous êtes et passez à la deuxième étape.

2. Estimation de la fréquence et de la durée

Maintenant que vous avez créé une courte liste de ces processus, votre prochaine étape consiste à déterminer les gains relatifs de l'automatisation. Le moyen le plus simple de le faire est d'estimer la fréquence et la durée. Lors de l'estimation de la fréquence d'un processus, ne vous limitez pas aux conditions actuelles. Au lieu de cela, concentrez-vous sur la valeur du processus en tenant compte de la fréquence à laquelle vous utiliseriez les résultats ou du temps qu'il faudrait avant que les résultats ne deviennent obsolètes:

  • Plusieurs fois par jour
  • Quelques fois par semaine
  • Chaque sprint
  • Deux fois par cycle de publication

Ensuite, parcourez la liste et estimez le temps qu'il faut pour terminer chaque processus dans les conditions actuelles. Les durées peuvent varier de quelques minutes à quelques jours pour un processus courant. C'est une tendance humaine naturelle à sous-estimer les durées, alors n'hésitez pas à arrondir ou à ajouter des facteurs de fudge.

3. Sélectionnez (Sous) Processus pour l'automatisation

Passez en revue votre liste et choisissez un élément qui, s'il était automatisé, améliorerait sensiblement la productivité de votre équipe de développement logiciel. Les méthodes de sélection courantes comprennent:

  • Choisissez le processus avec la durée la plus élevée
  • Choisissez le processus avec la fréquence la plus élevée
  • Choisissez le processus avec la plus haute (fréquence) * (durée)

À ce stade, de nombreuses personnes commettent l'erreur d'adopter une vision du «tout ou rien». Concentrez-vous plutôt sur les parties du processus qui peuvent être automatisées et continuez en sachant que vous vous améliorerez au fur et à mesure.

Faites l'exercice de faire la tâche, mentalement ou physiquement, et prenez des notes pour chaque étape. Notez les informations recueillies, les commandes saisies, les autorisations nécessaires, les personnes impliquées, etc. - suffisamment pour vous rafraîchir la mémoire plus tard.

Le résultat final sera un mini manuel d'instructions pour un processus humain reproductible. Passez en revue vos instructions et identifiez les étapes qu'un ordinateur peut effectuer. Les commandes que vous avez entrées dans une console ou une zone de texte et toute information extraite d'un site Web ou d'une base de données sont de bons candidats. Pour les processus multi-personnes et multi-étapes, faites également attention aux méthodes de notification aux individus de leur tour et de leur rôle dans le processus.

4. Créer des scripts d'automatisation

Parcourez votre manuel d'instructions à partir de la dernière étape, puis:

  • Copiez vos commandes de console dans un éditeur et enregistrez-les sous forme de scripts .bat (Windows) ou .sh (Unix / Linux)
  • Utilisez un outil de test de développement avec une interface de ligne de commande pour
    • Analyser statiquement le code pour la sûreté, la sécurité et les défauts
    • Générez et exécutez automatiquement des tests unitaires
    • Attribuer et suivre automatiquement les tâches d'examen par les pairs
    • Tester fonctionnellement les API
    • Grattez les sites Web, les services et les bases de données pour les données intermédiaires
  • Utilisez des outils de création et de reporting pour informer les étapes suivantes de l'infrastructure d'automatisation
  • Capturez des processus en plusieurs étapes sous la forme de BPEL ou d'un autre moteur de processus de haut niveau

L'objectif est de rester simple et de cibler les fruits à portée de main. Vous pourrez vous soucier de l'optimisation, de la généralisation et du paramétrage plus tard.

5. Planifier et / ou déclencher les artefacts

La définition formellement acceptée de l'intégration continue spécifie que votre script doit être déclenché par une validation dans votre SCM. La plupart des gens, cependant, ne se soucient vraiment que de faire leur travail. Que leurs processus correspondent à une définition ou à une autre n'est pas pertinent. N'hésitez pas à créer votre propre interprétation de l'IC qui vous évite les tracas des tâches fastidieuses.

Maintenant que vous disposez d'un script ou d'un autre artefact automatisable, vous avez besoin d'un outil pour gérer la planification / le déclenchement de ces artefacts. Une stratégie simple pour trouver des outils d'automatisation consiste à rechercher le terme intégration continue; les résultats donneront des conseils sur l'automatisation non seulement de la construction, mais aussi de nombreuses autres activités de développement, d'assurance qualité et informatiques. Les outils CI fournissent le cadre simple et nécessaire pour planifier les exécutions régulières de certains artefacts et assembler les exécutions déclenchées d'autres.

6. Itérer, améliorer, répéter

Avec le temps que vous avez gagné en automatisant vos processus de test de développement, vous pouvez désormais vous concentrer sur l'amélioration de votre implémentation d'intégration continue de base. Revenez à la première étape et ajoutez de nouvelles tâches manuelles à votre liste. Par exemple, vous pouvez peut-être modifier manuellement certains scripts ou les copier à des fins légèrement similaires. Votre prochain projet d'automatisation pourrait consister à consolider et à paramétrer vos artefacts d'automatisation

Vous venez de sauter 2-3 niveaux CMMI (pour ceux qui gardent le score). Félicitations!

 

 

Écrit par

Jason Schadewald

Jason Schadewald est chef de produit chez Parasoft.

Recevez les dernières nouvelles et ressources sur les tests de logiciels dans votre boîte de réception.