La couverture des applications est l'activité de métriques la plus puissante que vous ne faites pas
Par Adam Trujillo
1 juin 2016
3 min lire
La couverture du code est la première étape d'un processus global de qualité logicielle qui vous permet de commencer à comprendre où se cache le risque dans votre application. En outre, les méthodes de mesure de la couverture sont importantes - différentes activités mesurent différentes dimensions de l'application.
Entrez la couverture de l'application, qui exprime le degré auquel le code source de l'application est exercé par toutes les pratiques de test. La couverture des applications fournit des informations extrêmement puissantes sur les risques, car elle expose des parties non testées ou sous-testées de l'application. Avant d'entrer dans les détails de la couverture d'application, discutons de la façon dont la couverture de code est généralement mesurée.
Quel est le problème avec la façon dont je mesure normalement la couverture?
Les équipes de développement / test s'appuient généralement sur les tests unitaires comme principal véhicule pour la couverture de conduite. Les tests unitaires offrent également de nombreux autres avantages précieux, tels que:
- Preuve instantanée et automatique que le code fonctionne à tout moment, n'importe où
- Confiance pour refactoriser le code, ce qui se traduit par une conception améliorée et une meilleure maintenabilité
- Rétroaction presque instantanée si quelque chose se brise
- La possibilité de valider le code avant de l'archiver (car les tests peuvent s'exécuter localement et indépendamment de l'infrastructure d'intégration continue)
- Permet aux équipes de développement de corriger les bogues pendant que le code est à l'esprit, au lieu de déboguer pendant des heures / jours à mesure que la base de code vieillit
Pour être clair, nous sommes de grands fans des tests unitaires et si le temps n'était pas un problème, nous exécuterions la suite de régression complète après chaque changement pour surveiller la couverture et assurer la sûreté, la sécurité et la fiabilité de l'application. De toute évidence, personne n'a le temps ou les ressources pour mettre en œuvre ce niveau de test. En outre, la mesure de la couverture pendant l'exécution des tests fonctionnels et manuels est également importante pour obtenir une vue holistique de la qualité de la couverture de l'application.
L'essentiel est que la mesure de la couverture pendant l'exécution des tests unitaires est excellente, mais aussi la mesure de la couverture pendant les tests fonctionnels et manuels est encore meilleure.
Pourquoi vous devriez ajouter une couverture d'application à Dev / Test Mix
La couverture des applications est une métrique critique pour évaluer la «préparation à la publication». La couverture d'application est l'agrégation et la corrélation de la couverture de code à partir de diverses techniques de test. En agrégeant la couverture de code de toutes les pratiques de test, les organisations peuvent avoir une meilleure visibilité sur les zones à risque de l'application.
Pas le temps de tester? Aucun problème
En plus de permettre des mesures de qualité et de couverture plus précises, la couverture des applications peut également aider les organisations à concentrer leurs efforts de test lorsque les contraintes de temps limitent leur capacité à exécuter la suite complète de tests de régression manuels. Dans les tests exploratoires, par exemple, les testeurs savent que le code autour de certaines fonctionnalités a changé et tentent rapidement d'identifier un comportement inattendu en effectuant des tests manuels autour de la fonctionnalité modifiée. La capture des données de couverture sur l'application en cours d'exécution pendant les tests exploratoires augmente potentiellement la valeur de cette approche, car elle permet de mieux comprendre quel code le testeur a réellement touché.
Une plateforme de test de développement telle que PAO Parasoft peut réduire la dépendance vis-à-vis des tests exploratoires arbitraires en fournissant aux équipes une meilleure compréhension de ce qui a changé, des domaines potentiellement impactés et de ce qui doit être retesté. Les tests exploratoires deviennent alors une couche supplémentaire de tests utilisés pour combler les lacunes.
Aucune mesure ou activité ne constitue une panacée pour la prévention des défauts
Il est important de noter, cependant, que la couverture des applications à elle seule n'est pas une mesure crédible de la qualité des applications. Les données de couverture doivent également être exprimées dans le contexte d'autres mesures de qualité logicielle, telles que les violations de l'analyse statique, les résultats des tests unitaires, etc., afin de fournir une feuille de route pour prévenir les défauts logiciels. La capture d'écran ci-dessous montre une vue de Parasoft Development Testing Platform (DTP) avec les données de couverture, les résultats des tests unitaires, les résultats des tests fonctionnels, les violations d'analyse statique et d'autres mesures. Ce niveau de détail granulaire aide les responsables à comprendre l'état actuel du risque dans l'application, ainsi que l'impact des changements récents sur les mesures de qualité.
Mais attendez, il y a plus
Nous pourrions continuer indéfiniment sur les avantages de la couverture des applications et sur la façon dont Parasoft DTP fusionne et corrèle les données avec la couverture d'autres activités de test pour fournir une multitude d'avantages en matière de qualité logicielle. Au lieu de cela, nous gagnerons du temps et vous dirigerons vers notre webinaire à la demande, Libération = Couverture corrélée et fusionnée (MC2). Nous discutons des défis auxquels les équipes de développement sont confrontées et de la manière dont la couverture des applications est la force motrice pour aider les équipes à atteindre leurs objectifs de publication.
Si vous avez aimé ce que vous avez lu et que vous souhaitez voir de première main nos capacités de couverture des applications, contactez-nous et nous serons heureux de planifier une démo.