Découvrez comment intégrer facilement l'analyse statique, les tests unitaires et d'autres méthodes de test de logiciels C et C++ dans votre pipeline CI/CD. Inscrivez-vous pour la démo >>

ÉTUDES DE CAS

NEC Telecom réduit le temps et les coûts des revues de code grâce aux tests automatisés

Temps de lecture : 4 minutes

Télécharger le PDF "

NEC Telecom réduit le temps et les coûts des revues de code grâce aux tests automatisés

NEC Telecom Software Philippines (NSP), une filiale de NEC Corporation of Japan, est située à Manille. NSP développe des technologies pour les communications haut débit et mobiles, ainsi que des solutions informatiques et de réseau qui répondent au plus haut niveau de satisfaction des clients grâce à leurs résultats de haute qualité.

LE DÉFI

L'équipe Virtual Target Solution (VTS) de NSP avait deux types de problèmes qu'elle recherchait lors des revues de code dans leur quête d'une haute qualité : les violations de codage générales et les erreurs logiques/de conception. Étant donné que la recherche et la résolution des violations de codage prenaient tellement de temps, l'équipe VTS souhaitait automatiser cette partie du processus de révision de code, afin de pouvoir concentrer ses révisions de code manuelles sur la recherche d'erreurs logiques et de conception.

L'équipe Virtual Target Solution (VTS) de NSP est composée de 15 personnes, et la mise en œuvre des initiatives internes de qualité était un défi. La plupart des développeurs étaient de jeunes ingénieurs qui venaient juste d'apprendre les importantes initiatives de qualité interne de NSP, telles que la revue de code, la portée et la gamme de tests. Jusqu'à récemment, seuls les deux ingénieurs de haut niveau effectuaient des examens de tout le code source d'un projet donné attribué à l'équipe. Ce code source est généralement compris entre 10,000 12,000 et XNUMX XNUMX lignes de code.

Lorsque l'équipe de VTS s'est retrouvée à travailler sur un projet avec un calendrier extrêmement serré, il était impossible pour les développeurs seniors de tout revoir le code. En conséquence, un nombre abondant d'erreurs de codage et d'erreurs potentielles ont traversé la phase de codage. Ceci, à son tour, a affecté négativement les tests unitaires et d'intégration.

L'APPROCHE

En raison du degré élevé de difficulté qui accompagnait l'examen de tout le code source et la vérification de tous les points de contrôle répertoriés dans leur projet de plan d'assurance qualité, Joel Calderon, superviseur de la conception logicielle pour l'équipe VTS de NSP, a décidé de commencer à rechercher une solution alternative au code manuel. critiques et écriture de tests unitaires.

NSP a un engagement élevé envers la qualité et Joel était déterminé à rester fidèle à cet engagement. Il avait déjà eu des expériences positives en travaillant avec Jtest Parasoft, une solution pour Java, il s'est donc tourné vers Parasoft C / C ++test , une solution automatisée de tests unitaires et d'analyse de normes de codage pour C et C++.

Pour aider à détecter les violations de codage, l'équipe VTS a utilisé Parasoft C/C++test RuleWizard. Cherry Ann Alib, ingénieure en conception de logiciels, a déclaré : « C'est très utile car nous pouvons personnaliser nos règles avec RuleWizard pour la révision du code et l'analyse des normes de codage. »

LES RESULTATS

Après avoir utilisé le test Parasoft C/C++, Joel a déclaré: "Cela a fait des merveilles pour détecter les violations de codage." Selon Joel, l'équipe VTS a réduit à la fois le temps et le coût de leurs revues de code. L'utilisation de Parasoft C/C++test les a aidés à faire le travail en 2 à 3 heures pour 8,000 10,000 à 10 15 lignes de code d'application. Auparavant, les examens de code manuels complexes effectués par les ingénieurs de niveau supérieur les plus coûteux prenaient de XNUMX à XNUMX heures pour la même quantité de code. Désormais, l'équipe VTS peut confier la tâche d'effectuer des revues de code automatisées aux membres les plus juniors de son équipe, car la tâche consiste uniquement à apprendre à utiliser la solution.

Avant Parasoft C/C++test, effectuer des revues de code manuelles efficaces nécessitait une vaste expérience dans le développement de logiciels - souvent au cours de plusieurs années. Joel a souligné qu'il y a des ingénieurs qui ne développent jamais les compétences requises pour effectuer des revues de code manuelles efficaces. Il déclare : « Le test Parasoft C/C++ supprime cet obstacle. »

Pour le même projet étroitement planifié mentionné précédemment, l'équipe VTS a dû créer plus de 500 cas de test unitaires en deux semaines. Cherry déclare à propos de ce projet : « Nous avions du mal à créer manuellement des éléments de test unitaire. C'était une tâche fastidieuse, nous avons donc commencé à chercher un outil qui automatiserait la création d'éléments de test.

Avec Parasoft C/C++test, l'équipe VTS a considérablement réduit le temps de développement qu'elle passe à écrire des cas de test, ainsi que le temps qu'elle passe à effectuer des tests unitaires et des tests de régression.

Parasoft C/C++test exécute les tests pendant la nuit, puis l'équipe obtient les résultats de ces tests le matin. Le gain de temps peut également être attribué au fait qu'avec Parasoft C/C++test, 75 à 80% des erreurs ont été détectées lors des processus en amont (phase de conception jusqu'à la phase de test unitaire), ne laissant que 20 à 25% laissée aux processus en aval (phase de test d'intégration jusqu'à la sortie du produit).

Joel dit que Parasoft C/C++test a permis à l'équipe VTS d'organiser et de rationaliser leurs initiatives de qualité. Toutes leurs règles de codage et exigences de test sont concentrées en un seul endroit - leur application de test Parasoft C/C++ - au lieu d'être réparties entre les connaissances et l'expérience personnelles des différents membres de l'équipe. Désormais, tout le monde a un état d'esprit commun en ce qui concerne les initiatives de qualité internes, car l'équipe dispose d'un ensemble unique et cohérent de paramètres d'assurance qualité tels que définis par les règles de codage de test Parasoft C/C++ intégrées, ainsi que le codage défini par l'utilisateur. règles créées par l'équipe via l'assistant de règle de codage.

Tous les membres de l'équipe sont formés au test Parasoft C/C++, afin que tout le monde puisse l'exécuter. Selon Joël,

« Parasoft C/C++test a facilité le transfert de connaissances à de nouvelles personnes. réduire l'impact négatif lorsque des développeurs expérimentés partent et que de nouveaux viennent les remplacer.

Il poursuit en disant : « Il est plus facile d'enseigner à de nouvelles personnes comment utiliser simplement le logiciel plutôt que les concepts de l'assurance qualité et toutes les choses qu'elles doivent savoir afin d'adhérer à ces initiatives de qualité internes, telles que la revue de code, la portée , et la gamme de tests. L'automatisation nous facilite grandement la tâche.

Suite à la décision de Joel de commencer à utiliser Parasoft C/C++test, l'équipe VTS a pu respecter le délai de son client, ce qu'elle n'aurait jamais pensé pouvoir faire avec un calendrier aussi serré. De plus, l'équipe VTS a pu remporter deux projets supplémentaires auprès de ce même client. Au-delà du succès et de la haute qualité que voient les clients de NSP, l'équipe VTS est plus productive en moins de temps. Avant d'utiliser le test Parasoft C/C++, leurs heures de travail moyennes allaient de 12 à 15 heures par jour. Maintenant, leur norme est juste à 8 heures.

« Nous avons à peine des heures supplémentaires maintenant. Par exemple, pour les tests unitaires et même la revue de code, nous laissons simplement la machine effectuer le test Parasoft C/C++, puis nous obtenons les résultats le matin. Désormais, les projets sont beaucoup moins stressants. C/C++test améliore la qualité de nos produits et la qualité de nos vies.

—Joel Calderon, superviseur de la conception logicielle

PASSER À LA PROCHAINE ÉTAPE

Découvrez comment tirer parti d'un outil de test complet pour maximiser le retour sur investissement des tests. Télécharger le livre blanc.