Améliorer l'agilité, la productivité et la sécurité
Le concept d'intégration continue (CI pour Continuous Integration) est la pratique consistant à fusionner plusieurs fois par jour toutes les copies de travail des développeurs vers une version centralisée, hébergée dans un référentiel partagé.
L'automatisation des déploiements conduit à la livraison continue (CD), une extension fréquente de l'intégration continue. Afin de déployer des versions fiables, la livraison continue implique de vérifier la conformité des builds avec les exigences de qualité, de stabilité et de sécurité via la mise en place de tests automatisés et l'analyse statique du code pour détecter les bugs, les problèmes de qualité et les vulnerabilités (SAST).
Chaque mise à jour du code est donc automatiquement vérifiée et, si elle est acceptée, peut être déployée en production.
En définitive, un workflow CI/CD augmentera l'agilité et la productivité de votre équipe de développement ainsi que la qualité et la sécurité du code.
Avant de soumettre leur code au référentiel, les développeurs doivent d'abord le mettre à jour pour prendre en compte les modifications apportées depuis qu'ils ont commencé à travailler sur leur copie.
Un workflow d'intégration continue comporte généralement les étapes suivantes :
Les tests unitaires peuvent être exécutés manuellement, ou écrits et automatisés selon les pratiques de développement piloté par les tests.
Tous les tests unitaires doivent passer la validation dans l'environnement local du développeur avant d'intégrer ses modifications dans la version principale. Cela permet d'éviter que son travail ne casse les copies d'autres développeurs.
Les développeurs soumettent leurs modifications au référentiel et fusionnent leur branche de code avec la version principale. Un serveur de construction compile le code périodiquement, parfois après chaque livraison, et transmet les résultats aux développeurs.
Les versions récentes de PowerBuilder offre un large choix de fonctionnalités pout simplifier ce process :
Outils & Ressources
Les outils d'inspection du code exécutent une analyse statique pour identifier les anomalies. Chaque bloc de code est vérifié par rapport à un ensemble de règles pour trouver les vulnérabilités de sécurité, les bugs et les problèmes de maintenabilité. Un rapport est automatiquement généré pour compter et classer les défauts par gravité, et évaluer si un build est acceptable ou non pour le déploiement.
Vous pouvez utiliser Visual Expert pour inspecter votre code PowerBuilder et de bases de données :
L'intégration continue vise à automatiser les tâches pour vérifier et génerer des builds déployables aussi souvent que possibles.
Les tests sont une étape essentielle dans ce processus, et l'automatisation des tests, indispensable pour atteindre cet objectif: chaque build sera testé en profondeur et les indicateurs générés automatiquement permettront d'évaluer si le build est déployable.
Obviously, every team tests its products.
Yet all delivery includes defects.
Évidemment, chaque équipe teste ses produits. Pourtant, toute livraison comporte des défauts. Les testeurs s'efforcent de les attraper : certains restent toujours présents, tandis que d'autres réapparaissent, quelle que soit la rigueur des tests manuels.
Un outil d'automatisation des tests est un moyen très efficace de compléter vos tests manuels, pour améliorer l'efficacité et la couverture de vos opérations de test.
En savoir plus : étapes de création de tests automatisés
Les générations d'outils précédentes avaient la réputation de demander trop d'efforts pour créer et maintenir les tests, ce qui allait à l'encontre de l'objectif de gain de productivité.
Ils étaient souvent basés sur 2 stratégies :
Les outils modernes offrent une approche différente, basée sur la reconnaissance d'objets :
En savoir plus :
Comparons les deux stratégies avec des indicateurs de performance clés :
Manual | Auto | ||
Précision | Les tests manuels sont moins précis en raison des éventuelles erreurs humaines. Les tests automatisés sont fiables et cohérents. |
||
Productivité | L'exécution de nombreux tests manuels prend du temps et coûte cher. Les tests automatisés sont plus rapides. Pas de coûts supplémentaires pour les répéter autant de fois que nécessaire. |
||
Démarrage | Vous pouvez commencer à exécuter des tests manuels immédiatement. Les tests automatisés nécessitent un travail préliminaire pour prédéfinir les tests et les actions. |
||
Flexibilité | Le test manuel est plus flexible : il permet de tester de manière aléatoire ou d'improviser des tests approfondis à la volée dans un domaine très spécifique. Ce n'est pas le cas du test automatique. |
Les tests automatisés apportent évidemment des avantages majeurs mais ne peuvent pas se substituer entièrement aux tests manuels.
La meilleure stratégie consiste à combiner judicieusement les 2 approches en fonction :
Pour aller plus loin:
Vous pouvez utiliser AscentialTest pour automatiser les tests des applications PowerBuilder, PowerClient et PowerServer.
Outils & Ressources
Les outils modernes permettent d'automatiser diverses tâches dans un flux de travail CI/CD.
Le support multilingue est désormais l'une d'entre elles.
Si votre application est déployée dans plusieurs pays, vous la traduisez probablement pour offrir un meilleur service à vos utilisateurs.
Une fois en production, vous devrez systématiquement mettre à jour les traductions, afin de maintenir une expérience utilisateur cohérente.
Outils & Ressources
Enable for PowerBuilder sépare les traductions du code et inclut des fonctionnalités spécifiques à intégrer dans un pipeline CI/CD :
Vous pouvez ajouter une tâche multilingue à votre workflow, par exemple :
Remarque : les phrases sont généralement traduites par des traducteurs professionnels. Ceux-ci renvoient les traductions pour qu'elles soient automatiquement importées dans la base de données multilingue. Ce deuxième processus est indépendant du processus de compilation.