Le test de fumée est un processus utilisé pour tester les logiciels afin de déterminer si la version déployée du logiciel est stable ou non.
Lorsque vous testez un logiciel, vous exécutez une série de tests conçus pour évaluer chacune des fonctionnalités de base du logiciel.
Les outils de test de fumée permettent de vérifier que les fonctionnalités les plus importantes du logiciel fonctionnent. Il existe de nombreuses approches différentes des tests de fumée, et la technologie moderne fait des tests de fumée automatisés une possibilité pour la plupart des logiciels.
Dans cet article, nous allons nous plonger dans les tests de fumée pour passer en revue les types, les processus et les approches des tests de fumée utilisés par les testeurs de logiciels. Nous examinerons également les outils modernes de test de fumée, y compris l’automatisation des tests de fumée.
En bref, vous apprendrez tout ce qu’il faut savoir sur les tests de fumée.
Qu’est-ce que le test de fumée dans le génie logiciel ?
Le test de fumée est le processus qui consiste à tester un logiciel pour s’assurer qu’il répond aux exigences de base en matière de fonctionnalité et de stabilité. Il s’agit essentiellement d’un type de test de régression miniature et rapide qui consiste à tester les fonctionnalités les plus importantes du logiciel pour s’assurer qu’elles fonctionnent à un niveau de base.
Le test à blanc est une étape importante du processus d’assurance qualité, car il indique si l’équipe doit poursuivre les tests ou renvoyer immédiatement le produit aux développeurs.
Si le produit ne passe pas le test de fumée, cela signifie que la version initiale présente des défauts importants qui doivent être corrigés avant que d’autres tests puissent avoir lieu.
Quand faut-il procéder à des tests de fumée ?
Nous testons les logiciels par fumigation chaque fois que de nouvelles fonctionnalités sont développées et intégrées dans une version existante, et avant que la nouvelle version ne soit déployée dans le service d’assurance qualité. La réalisation de tests de fumée à ce stade permet d’éviter de gaspiller de l’argent et d’autres ressources dans des tests d’assurance qualité pour des logiciels présentant des problèmes sous-jacents majeurs.
Pour réaliser un test d’assurance qualité, l’équipe de développement déploie la nouvelle version du logiciel dans l’assurance qualité et un sous-ensemble de cas de test est pris et exécuté sur la version. L’équipe d’assurance qualité teste l’application par rapport à ses fonctionnalités les plus importantes. Si le test de fumée réussit, l’équipe d’assurance qualité poursuit avec les tests fonctionnels, et s’il échoue, la version est renvoyée à l’équipe de développement pour qu’elle la poursuive.
Ce type de test est effectué chaque fois que de nouvelles fonctionnalités sont ajoutées à un logiciel.
Dans d’autres cas, les équipes d’assurance qualité peuvent être amenées à effectuer des tests de fumée sur des logiciels, par exemple :
● Avant de commettre un nouveau code dans un référentiel.
● Avant une grande série de tests comprenant des tests de régression et d’acceptation.
● Après le déploiement d’une nouvelle version du logiciel.
Si vous n’effectuez pas de test de fumée à ces stades, vous risquez de trouver des défauts majeurs à des stades ultérieurs du test de fonctionnalité, ce qui pourrait affecter la date de publication de votre nouvelle version ou entraîner des perturbations plus graves dans votre calendrier.
Quand il n’est pas nécessaire d’effectuer des tests de fumée
Il est important d’effectuer des tests de fumée dans le cadre des tests de logiciels chaque fois que vous apportez des modifications au code du logiciel ou que vous ajoutez de nouvelles fonctionnalités à une version.
Il s’agit également d’une étape préparatoire essentielle aux tests de fonctionnalité, car elle évite aux équipes d’assurance qualité de perdre leur temps à tester des logiciels qui ne sont pas prêts.
Si votre logiciel ne répond pas à ces critères, il n’est peut-être pas nécessaire d’effectuer des tests de fumée à ce stade… bien que les outils de tests de fumée automatisés permettent d’effectuer facilement et à moindre coût des tests de fumée réguliers afin de s’assurer que le logiciel fonctionne toujours correctement.
Qui est impliqué dans les tests de fumée ?
Les tests de fumée sont effectués par les ingénieurs AQ ou le responsable AQ ; il s’agit de la première étape des tests AQ et ils sont réalisés dans un environnement AQ.
L’équipe d’assurance qualité est chargée de tester le logiciel et d’évaluer ses performances dans diverses conditions et contraintes. Au cours de ce test, les ingénieurs d’assurance qualité recherchent les bogues qui interrompent le développement et qui doivent être corrigés avant que les tests ne puissent se poursuivre.
Lorsque l’on compare les tests de fumée, les tests d’intégrité et les tests de régression, il est important de tenir compte non seulement de ce qui est testé, mais aussi de la personne qui effectue les tests.
Les tests de fumée dans les tests de logiciels sont toujours effectués par des professionnels de l’assurance qualité. Cela différencie les tests de fumée des tests d’équilibre, qui sont effectués dans l’environnement de développement et n’impliquent généralement pas l’équipe d’assurance qualité.
Le cycle de vie du test de fumée
Le cycle de vie du test de fumée illustre les étapes du test de fumée au cours du développement du produit et des tests d’assurance qualité. Comprendre chaque étape de ce cycle vous aidera à mieux comprendre comment les tests de fumée s’intègrent dans le parcours de test et les différences entre les tests de fumée, les tests d’intégrité et les tests de régression.
1. Code
La première étape de la construction d’un logiciel est toujours l’écriture et la création du code. Le code est l’élément constitutif de tout logiciel, et l’équipe de développement doit écrire le code avant de pouvoir en tester la stabilité et la fonctionnalité.
2. Tests unitaires
Les tests unitaires sont généralement effectués par les développeurs, bien que les ingénieurs d’assurance qualité puissent parfois en effectuer également. Les tests unitaires permettent de s’assurer que les différentes unités ou éléments de code fonctionnent comme prévu avant que les unités individuelles ne soient intégrées dans un logiciel unique.
Les tests unitaires se déroulent généralement parallèlement au développement, car ils mettent en évidence les erreurs et les bogues dans le code, qui peuvent être corrigés rapidement.
3. Tests d’intégration
Le test d’intégration est le processus qui consiste à tester la manière dont les unités individuelles fonctionnent ensemble lorsqu’elles sont intégrées dans un logiciel unique.
Même si chaque unité distincte fonctionne bien, des problèmes peuvent souvent survenir lorsque ces unités sont intégrées les unes aux autres. Les tests d’intégration sont généralement effectués par les développeurs, bien que différentes approches de ce type de tests signifient qu’ils peuvent être effectués à différents stades du processus de construction du logiciel.
4. Test d’intégrité
Les tests d’intégrité sont un type de tests de régression, et c’est généralement le dernier type de tests de régression à effectuer. Elle a lieu pendant la phase de développement de la construction, après que les bogues mis en évidence par les tests de régression ont été corrigés.
Les tests de conformité sont généralement très rapides et visent simplement à s’assurer que le logiciel fonctionne correctement et que tous les bogues détectés ont été corrigés de manière adéquate.
On confond parfois les tests d’intégrité et les tests de salubrité, mais il est essentiel de se rappeler que les tests d’intégrité se déroulent dans l’environnement de développement, tandis que les tests d’intégrité se déroulent dans l’environnement d’assurance de la qualité.
5. Test de fumée
Le test de fumée est la première étape des tests d’assurance qualité et le premier type de test effectué dans un environnement d’assurance qualité.
Les tests de fumée interviennent généralement avant les tests d’intégrité et les tests de régression, bien qu’ils soient habituellement effectués par les équipes d’assurance qualité. Il s’agit d’un processus de test simple et rapide – de nos jours, la plupart des équipes d’assurance qualité utilisent des tests de fumée automatisés pour tester les logiciels – qui permet de déterminer si la version est stable ou non et s’il convient d’effectuer d’autres tests.
Les tests de fumée étant les plus rapides et les plus simples, il est judicieux de les effectuer en premier avant de passer à d’autres tests plus complexes, si l’on compare les tests de fumée aux tests d’intégrité et aux tests de régression.
6. Essais fonctionnels
Les tests fonctionnels constituent l’étape suivante du cycle de vie des tests de logiciels et sont effectués dans l’environnement d’assurance qualité.
Les essais fonctionnels testent chaque fonction d’une application logicielle par rapport à ses exigences et se concentrent sur les fonctions, la facilité d’utilisation, l’accessibilité et les conditions d’erreur.
Les tests fonctionnels peuvent commencer une fois que le test de fumée a été réussi.
Applications de tests de fumée à différents niveaux
Le test de fumée est applicable à trois niveaux de test différents : le test de fumée au niveau de l’acceptation, le test de fumée au niveau du système et le test de fumée au niveau de l’intégration.
1. Niveau des tests d’acceptation
Les tests de fumée au niveau de l’acceptation sont généralement effectués lorsqu’une version du logiciel est transmise au service d’assurance qualité. Ce type de test d’assurance qualité vérifie simplement la fonctionnalité de base de la version et si elle correspond à la fonctionnalité attendue.
2. Niveau de test du système
Le test de fumée au niveau du système consiste à tester les flux de travail les plus importants du système. Ce test est effectué après que le système lui-même a été testé, et avant qu’un test de régression complet du système ne soit effectué.
Au niveau du système, les tests automatisés sont la forme la plus courante de tests de fumée.
3. Niveau des tests d’intégration
Au niveau des tests d’intégration, les tests de fumée permettent de s’assurer que toutes les fonctionnalités de bout en bout du logiciel fonctionnent comme prévu et que l’intégration de base est fonctionnelle.
Ce type de test se produit généralement lorsque des modules individuels sont mis en œuvre ou lorsque plusieurs modules sont intégrés dans un logiciel unique.
Tests de fumée manuels ou automatisés
Lorsque les équipes logicielles commencent à effectuer des tests de fumée, elles doivent décider si elles vont effectuer des tests de fumée manuels ou des tests de fumée automatisés.
Si les tests automatisés offrent généralement des résultats plus rapides et plus rentables, leur création et leur mise en œuvre peuvent également prendre du temps. De nombreuses équipes commencent par créer des tests manuels avant d’envisager l’automatisation.
1. Test manuel de fumée
Les tests de fumée manuels sont assez faciles à concevoir et peuvent généralement être réalisés par des professionnels non techniques extérieurs aux équipes d’assurance qualité ou de développement. Cela signifie que les tests manuels sont souvent privilégiés dans les petites entreprises qui ne disposent pas encore d’un responsable de l’assurance qualité.
Lors des tests manuels, il est important de tester un certain nombre de cas d’utilisation qui couvrent suffisamment de fonctions essentielles du logiciel, sans en couvrir trop pour que le test prenne trop de temps. On considère généralement que le nombre idéal de cas d’utilisation se situe entre 20 et 50.
Les avantages de la réalisation manuelle des tests de fumée
L’exécution de tests de fumée manuels dans le cadre de l’assurance qualité présente de nombreux avantages par rapport aux tests de fumée automatisés. Les tests manuels offrent souvent un aperçu plus détaillé des performances et des fonctionnalités d’un logiciel que les tests automatisés.
Les non-ingénieurs peuvent effectuer des tests manuels
Alors que la mise en place de tests automatisés nécessite généralement l’expertise d’ingénieurs logiciels et de développeurs, les tests manuels peuvent être réalisés par des membres de l’équipe moins spécialisés.
Cela est généralement bénéfique pour les petites équipes où les ressources sont déjà limitées et où le temps du personnel spécialisé est extrêmement précieux.
Vous pouvez créer un test de fumée personnalisé pour chaque travail
Si vous voulez vous assurer que votre test de fumée couvre avec précision les fonctions les plus importantes d’une application logicielle et se concentre sur les fonctions les plus importantes pour chaque version, la création d’un test de fumée manuel permet aux testeurs d’adapter le test à chaque projet.
Les tests manuels de ce type peuvent offrir des résultats plus utiles que certains tests automatisés, mais leur mise en place et leur exécution prennent beaucoup de temps.
Les tests manuels révèlent des données qualitatives
Lorsque vous exécutez un test de fumée automatisé, vous ne pouvez vous attendre qu’à recevoir des données quantitatives sur les aspects du test qui ont réussi et ceux qui ont échoué.
Lorsque les membres de l’équipe effectuent des tests manuels, ils peuvent utiliser leur perspicacité, leur intuition et leur jugement pour évaluer non seulement si la version réussit ou échoue, mais aussi comment et/ou pourquoi.
Les défis des tests manuels de fumée
L’exécution manuelle des tests de fumée présente également de nombreuses difficultés, qui expliquent pourquoi de nombreuses entreprises choisissent d’utiliser des tests de fumée automatisés lorsque c’est possible.
Les tests de fumée manuels sont exhaustifs, mais ils prennent beaucoup de temps.
Les tests manuels prennent du temps
Les tests manuels sont beaucoup plus longs à réaliser que les tests automatisés, et ils requièrent beaucoup plus d’attention de la part de votre équipe.
Alors que les tests automatisés peuvent simplement s’exécuter en arrière-plan, votre équipe devra consacrer du temps à l’exécution d’un test de fumée manuel.
Les tests manuels ne peuvent pas être exécutés trop souvent
En raison du temps et des ressources qu’ils requièrent, les tests manuels ne peuvent pas être effectués aussi régulièrement que les tests automatisés.
Lorsqu’ils effectuent un test de fumée manuel, les testeurs de logiciels doivent consacrer des heures, voire une demi-journée, en fonction de la complexité du test.
Cela élimine la possibilité d’effectuer des tests de fumée quotidiens, ce qui est largement considéré comme la meilleure pratique de l’industrie.
Il y a toujours une marge d’erreur
Les tests manuels étant effectués par des humains, il est toujours possible que des erreurs soient commises au cours de ces tests.
C’est pourquoi les tests manuels ne sont généralement pas aussi complets que les tests automatisés, en particulier lorsqu’il s’agit de détecter des bogues subtils qu’il est plus facile d’ignorer ou d’effectuer des tests extrêmement répétitifs qui pourraient amener les testeurs à se déconcentrer pendant les tests.
Quand utiliser les tests manuels de fumée ?
Les tests manuels sont le plus souvent utilisés dans les petites équipes qui n’ont pas les ressources nécessaires pour affecter des ingénieurs aux tests automatisés, ou dans les cas où l’on souhaite ou l’on a besoin d’une vision et d’un jugement humains supplémentaires.
C’est pourquoi les tests manuels de fumée sont souvent mis en œuvre dans les tests de fumée au niveau de l’intégration.
2. Tests de fumée automatisés
Les tests de fumée automatisés peuvent être mis en œuvre par des ingénieurs logiciels possédant les compétences de codage nécessaires pour créer et exécuter une série de cas d’utilisation pertinents pour chaque version du logiciel.
Les tests de fumée automatisés sont beaucoup plus rapides que les tests manuels, puisqu’ils ne prennent généralement pas plus de 30 à 60 minutes, et ils peuvent être effectués en arrière-plan pendant que tous les membres de l’équipe de développement et d’assurance qualité poursuivent leurs tâches quotidiennes.
C’est pourquoi les tests de fumée automatisés sont devenus monnaie courante dans l’industrie du logiciel, car de plus en plus d’entreprises cherchent à améliorer l’efficacité de leur lieu de travail.
Les avantages de l’automatisation des tests de fumée
L’automatisation des tests de fumée présente de nombreux avantages pour les entreprises qui disposent du temps et des ressources nécessaires à sa mise en œuvre. C’est rapide et efficace, et comme les tests automatisés n’imposent pas de contraintes aux équipes et aux ressources, ils peuvent être exécutés régulièrement, même dans les petites entreprises.
Les tests automatisés sont rapides
Les tests de fumée automatisés sont beaucoup plus rapides que les tests manuels, la plupart des tests automatisés ne prenant pas plus de 30 à 60 minutes.
En comparaison, les tests manuels peuvent prendre des heures.
Les tests de fumée automatisés nécessitent des ressources minimales et, une fois mis en œuvre, sont très faciles à exécuter.
L’automatisation permet de réaliser des tests de fumée quotidiens
Selon les meilleures pratiques actuelles du secteur, l’idéal est d’effectuer des tests quotidiens, en particulier lorsque l’on travaille sur des logiciels en constante évolution.
Les tests de fumée manuels prennent trop de temps pour être exécutés quotidiennement, mais les tests de fumée automatisés sont faciles à réaliser au début de chaque journée de travail.
L’automatisation élimine les erreurs humaines
Les tests automatisés sont exécutés à partir de scripts préparés à l’avance et créés selon des normes très strictes. Cela signifie que le risque qu’un test automatisé passe à côté d’un bogue majeur ou d’un problème important est très faible.
L’automatisation peut imiter les tests de charge et de performance
Les tests de charge et de performance permettent d’évaluer le fonctionnement d’une application lorsqu’elle est utilisée simultanément par un grand nombre d’utilisateurs. Les tests de fumée automatisés peuvent reproduire la charge supplémentaire de plusieurs utilisateurs d’une manière qui n’est pas possible avec les tests manuels et fournir une couche supplémentaire de données sur les performances du logiciel dans certaines conditions.
Les défis de l’automatisation des tests de fumée
L’automatisation des tests de fumée n’est pas sans poser de problèmes. La mise en œuvre de tests de fumée automatisés peut prendre plus de temps et nécessiter plus de ressources, en particulier dans les petites équipes qui disposent de moins d’ingénieurs.
Exigences techniques
Les tests fumigènes automatisés requièrent davantage de connaissances techniques et de compétences en matière de codage que les tests fumigènes manuels. Les ingénieurs logiciels doivent avoir le temps et les connaissances nécessaires pour savoir comment créer des tests automatisés avant de pouvoir les mettre en œuvre, et toutes les équipes n’ont pas nécessairement les ressources disponibles pour le faire.
Manque de connaissances humaines
Les tests d’automatisation offrent une vue d’ensemble de la fonctionnalité d’une application logicielle et, lorsqu’ils effectuent un test de fumée automatisé, les testeurs de logiciels ont un aperçu des fonctions de base du logiciel, ce qui est l’objectif ultime d’un test de fumée.
Cependant, les tests automatisés n’offrent aucune perspective sur les aspects plus subjectifs de la performance des logiciels, tels que la facilité d’utilisation et l’accessibilité.
Quand mettre en œuvre l’automatisation des tests de fumée ?
L’automatisation est fréquemment utilisée dans les tests de fumée, car l’objectif de ces derniers est simplement de vérifier les fonctionnalités de base, ce que les tests automatisés savent relativement bien faire.
Les équipes disposant des compétences techniques suffisantes pour mettre en œuvre des tests de fumée automatisés sont les plus susceptibles de disposer du temps et des ressources nécessaires pour investir dans ce processus, et les entreprises plus importantes et mieux établies ressentiront probablement une plus grande pression pour respecter les normes de bonnes pratiques en matière de tests de fumée quotidiens.
Automatisation des tests de fumée vs tests de fumée manuels
Il n’y a pas de bonne ou de mauvaise manière de réaliser les tests de fumée, et ce qui fonctionne bien pour une équipe peut ne pas fonctionner pour une autre.
Avant d’effectuer un test de fumée, les équipes logicielles doivent tenir compte de leurs objectifs, de leurs ressources et de leurs plans de projet à long terme. Le processus de test manuel des logiciels peut être instructif pour les jeunes professionnels qui débutent dans l’assurance qualité, mais pour les équipes plus établies, il y a rarement un avantage à opter pour les tests manuels plutôt que pour les tests automatisés.
Tests de fumée hybrides
La troisième option pour les équipes qui n’arrivent pas à se décider entre les tests manuels et automatisés et les tests d’intégrité est d’opter pour les tests hybrides.
Les tests hybrides combinent des aspects des tests manuels et automatisés afin d’améliorer les performances et l’efficacité des tests. Lors de l’utilisation de la méthode hybride de test à la fumée, la majeure partie du test peut être automatisée, mais certains aspects peuvent être exécutés manuellement. Cela permet aux équipes de se concentrer davantage sur les aspects de la construction qui en ont besoin, tout en limitant le temps nécessaire au test de fumée.
Types de tests de fumée
Les tests de fumée peuvent être divisés en deux catégories : les tests de fumée formels et les tests de fumée informels. Le caractère formel ou informel des tests de fumée dépend de leur mise en place par le responsable de l’assurance qualité ou de leur réalisation dans le cadre du développement.
1. Essais formels de fumée
Dans le cadre d’un test formel, les développeurs de logiciels transmettent le logiciel à l’ingénieur AQ ou au responsable AQ pour un test formel. Le responsable AQ affecte des testeurs à la tâche de test de fumée et leur demande d’effectuer le test de fumée soit à l’aide d’outils de test de fumée tels que l’automatisation, soit manuellement.
Lorsqu’ils effectuent des tests de fumée formels, les testeurs AQ compilent les résultats du test dans un rapport formel qui peut être analysé par le responsable AQ.
Les tests formels sont effectués à des moments importants du processus de construction du logiciel, par exemple avant d’effectuer les tests fonctionnels des nouvelles fonctionnalités.
2. Essais informels de fumée
Les tests informels sont des tests effectués sur un logiciel au cours du processus de développement ou d’assurance qualité, qui ne font pas l’objet d’un rapport officiel et ne sont pas exigés par le responsable de l’assurance qualité.
Les tests de fumée quotidiens, que de nombreuses équipes logicielles effectuent par protocole, sont un exemple de tests de fumée informels.
Des tests informels peuvent être réalisés sur une base ad hoc lorsque les ingénieurs d’assurance qualité le jugent utile.
Ce qu’il faut pour commencer les tests de fumée
Avant de commencer les tests de fumée dans les tests de logiciels, il est important de rassembler tous les éléments dont vous aurez besoin, y compris les fichiers de données et les compétences au sein de votre organisation.
Ce dont vous aurez besoin pour effectuer votre test de fumée dépendra de la manière dont vous envisagez de le réaliser, c’est-à-dire de manière automatisée ou manuelle, et des outils de test que vous utilisez pour faciliter le processus.
1. Une liste de cas de test
Avant de commencer un test de fumée, vous aurez besoin d’une liste complète de tous les cas de test que vous souhaitez évaluer dans le cadre de votre test de fumée.
Les cas de test sont des ensembles individuels d’actions que vous voulez tester pour juger si le résultat de ces actions correspond aux résultats que vous attendez.
Par exemple, un cas de test très simple pourrait être que le logiciel charge le tableau de bord principal lorsque vous ouvrez l’application.
2. Fichiers de test
Avant d’exécuter votre test de fumée, vous devez rassembler tous les fichiers de test sur lesquels vous allez l’exécuter. Vous pouvez utiliser la ligne de commande du logiciel de test de fumée que vous utilisez pour rassembler tous vos fichiers en un seul endroit.
La façon dont vous rassemblez vos fichiers et l’endroit où vous les stockez dépendent du mode de fonctionnement de votre organisation.
3. Outils de test de fumée
Vous pouvez effectuer un test de fumée de base sans utiliser d’outils particuliers, mais l’utilisation d’outils de test de fumée peut vous aider à améliorer la précision de vos résultats et à accélérer le processus de test de fumée.
Recherchez d’abord des outils de test de fumée en ligne et choisissez le logiciel qui automatise ou optimise votre test de fumée en fonction de vos besoins et de votre budget.
Le processus de test de fumée
La meilleure façon d’effectuer un test de fumée varie d’une organisation à l’autre, et si vous êtes novice en la matière, vous voudrez peut-être expérimenter différentes approches pour voir ce qui fonctionne le mieux pour votre équipe.
Vous trouverez ci-dessous un exemple d’exécution d’un test de fumée de base pour évaluer les fonctions essentielles de votre logiciel.
Étape 1 : Choisir les cas de test
La première étape de l’exécution d’un test fumigène consiste à choisir les cas de test sur lesquels vous allez exécuter votre test fumigène.
Lors de la conception d’un test de fumée, les ingénieurs logiciels et les ingénieurs d’assurance qualité doivent déterminer quelles sont les fonctions logicielles les plus critiques et comment tester au mieux ces fonctionnalités. Ne perdez pas votre temps à tester des fonctionnalités qui ne sont pas importantes pour le fonctionnement du logiciel.
Étape 2 : Élaborer des tests de fumée
Une fois que vous avez identifié les cas de test que vous allez utiliser, vous pouvez écrire des scripts de test pour les tester. Utilisez un script unique pour les tests de fumée afin d’accroître la flexibilité lors de l’exécution du test.
Si vous choisissez d’automatiser les tests de fumée, vous n’aurez plus à écrire des scripts de test manuels chaque fois que vous voudrez exécuter un test de fumée. Vous pouvez utiliser des suites logicielles d’automatisation des tests pour automatiser des scripts de ce type.
Étape 3 : Exécuter des tests de fumée
Une fois que vous avez créé vos scripts de test de fumée, vous pouvez les exécuter sur votre version pour rechercher des bogues et d’autres erreurs majeures. Cela ne devrait pas prendre plus de 30 à 60 minutes et, une fois les tests terminés, vous pouvez évaluer les résultats pour déterminer les prochaines étapes.
Étape 4 : Corriger les bogues
L’objectif des tests de fumée dans le développement de logiciels est d’identifier les bogues majeurs ou les obstacles avant que les tests d’assurance qualité ne commencent.
Si vos tests de fumée révèlent des problèmes importants qui perturbent les fonctions essentielles de votre logiciel, il est important de renvoyer le logiciel et votre analyse à l’équipe de développement pour qu’elle corrige les bogues avant de poursuivre l’assurance qualité.
Meilleures pratiques pour les tests de fumée
Les tests de fumée sont un moyen fiable d’identifier les bogues majeurs dans les logiciels à tous les stades du développement. Le respect des meilleures pratiques du secteur est le meilleur moyen de garantir l’efficacité, la précision et la productivité de vos tests de fumée.
1. Effectuer souvent des tests de fumée
Il n’est pas toujours possible d’effectuer des tests de fumée tous les jours, en particulier si vous effectuez des tests manuels plutôt que des tests de fumée automatisés.
Exécutez des tests de simulation aussi souvent que possible, et chaque fois que vous apportez des modifications à votre logiciel. Dès que vous en avez la possibilité, l’exécution de tests de fumée quotidiens est considérée comme la meilleure pratique.
2. Ne jamais sauter les étapes du test
Si vous êtes pressé, il peut être tentant de sauter certaines étapes des tests pour progresser plus rapidement dans le processus de développement, mais les tests de fumée et de régression sont tous deux essentiels pour maintenir votre développement sur la bonne voie.
Testez toujours vos constructions avec des tests de fumée et des tests d’équilibre avant de passer à l’étape suivante.
3. Tester chaque changement
Il n’existe pas d’application unique pour les tests de fumée. Vous pouvez et devez utiliser des tests de fumée pour tester chaque modification apportée à un logiciel et pour tester votre logiciel entre les différents stades de développement.
Les tests de fumée devraient être le précurseur des tests d’intégration, des tests de performance et des tests fonctionnels.
4. Suivez les résultats de vos tests
Il est d’usage de tester les résultats d’un test de fumée formel, mais même lorsqu’ils effectuent des tests de fumée informels, les ingénieurs doivent conserver une trace des résultats.
Il est ainsi plus facile de transmettre les résultats aux développeurs et de suivre les fonctionnalités qui échouent au test.
5. Effectuez deux fois votre test de fumée
Exécuter deux fois votre test de fumée peut sembler exagéré, mais si vous voulez vraiment détecter tous les bogues au cours de votre test, il est préférable de l’exécuter deux fois.
Cela permet de s’assurer que le test de fumée a toutes les chances de détecter les bogues et les problèmes majeurs qui pourraient entraîner d’autres problèmes s’ils n’étaient pas corrigés immédiatement.
6. Choisir le bon type de test de fumée
L’utilisation de tests manuels ou automatisés dépend de la taille et des besoins de votre équipe. Veillez à choisir le type de test le mieux adapté à votre projet afin d’optimiser l’efficacité sans compromettre la précision des résultats.
Types de résultats d’un test de fumée
Lorsque vous effectuez un test de fumée, vous pouvez vous attendre à ce qu’il aboutisse à l’un des deux résultats suivants pour chaque cas de test que vous évaluez : réussite ou échec.
1. Passer
Pour chaque scénario de test que vous exécutez, un résultat possible est la réussite du test de fumée. Cela signifie que le résultat réel du test correspond au résultat escompté.
Par exemple, si vous effectuez un test sur ce qui se passe lorsque vous chargez l’application et que l’écran censé s’ouvrir au chargement s’affiche, votre script doit indiquer que le test est réussi.
2. Échec
Si votre test de fumée échoue pour un cas de test particulier, cela signifie généralement que le résultat réel du test ne correspond pas au résultat escompté.
Par exemple, si vous testez une application d’achat et que l’un des cas de test que vous exécutez teste la fonctionnalité d’ajout d’articles à votre panier, le test échoue si les articles que vous ajoutez à votre panier n’apparaissent pas dans votre panier comme vous vous y attendiez.
Exemples de cas de test pour les tests de fumée
Lorsque vous essayez de déterminer les cas de test à inclure dans votre test de fumée, dressez une liste des fonctionnalités de base de votre logiciel et réfléchissez à celles qui sont essentielles à l’exécution et à l’utilisation du logiciel.
Quelques exemples de cas de test pour les tests de fumée peuvent vous aider à déterminer les cas de test à utiliser dans votre propre test de fumée.
1. Validation des identifiants de connexion
Si votre application exige que les utilisateurs se connectent, vous voudrez peut-être créer un scénario de test qui vérifie si le processus de validation des informations d’identification fonctionne comme il se doit.
Pour ce faire, créez un script qui automatise les opérations de connexion, d’exécution du test et de vérification des résultats. Si le logiciel se connecte comme prévu, ce cas de test de fumée est réussi.
2. Création d’un nouveau document
Vous pouvez créer un cas de test pour évaluer si votre logiciel permet aux utilisateurs de créer correctement un nouveau document. Créez un script qui automatise la création, la dénomination et l’enregistrement des documents dans votre logiciel et exécutez-le.
Tout problème majeur survenant et empêchant ce processus signifierait l’échec de ce test de fumée.
3. Déconnexion
Si votre application dispose d’une fonctionnalité de connexion, elle doit également disposer d’une fonctionnalité de déconnexion. Exécutez un script pour tester ce qui se passe lorsque les utilisateurs cliquent sur “déconnexion”.
Si l’utilisateur ne parvient pas à se déconnecter lorsqu’il clique sur ce bouton, le test de fumée échoue.
Types d’erreurs et de bogues détectés par les tests de fumée
Les tests de fumée peuvent vous aider à identifier les erreurs et les bogues qui perturbent la fonctionnalité de base de votre logiciel. En fonction du moment où vous effectuez votre test de fumée et de ce que vous voulez vérifier, vous pouvez trouver différents types d’erreurs et de bogues grâce au test de fumée.
1. Erreurs fonctionnelles
Les erreurs fonctionnelles sont des bogues qui surviennent lorsque votre logiciel ne se comporte pas comme vous l’attendez ou lorsqu’il ne fonctionne pas correctement.
La plupart des cas de test que vous utiliserez pour vérifier les tests de fumée sont des tests fonctionnels, et les erreurs fonctionnelles sont donc les plus susceptibles d’être identifiées par des tests de fumée comme celui-ci.
2. Erreurs logiques
Les erreurs logiques représentent des défauts dans la logique du code et peuvent également entraîner un comportement incorrect du logiciel. Les erreurs logiques peuvent amener les actions à produire des résultats incorrects ou même provoquer des pannes de logiciel.
Une erreur logique courante est la boucle infinie, qui amène le logiciel à répéter les mêmes actions encore et encore jusqu’à ce qu’il se bloque.
3. Bugs d’intégration
Si vous exécutez un test de fumée au niveau de l’intégration, vous risquez de trouver des bogues d’intégration pendant le test. Ces problèmes surviennent lorsque deux ensembles de codes distincts ne s’intègrent pas parfaitement l’un à l’autre. Ils peuvent être causés par un large éventail de problèmes de compatibilité dans le code et leur réparation peut nécessiter des solutions complexes.
Mesures courantes des tests de fumée
Lors de la réalisation d’un test de fumée, les équipes d’assurance qualité peuvent utiliser des indicateurs pour évaluer les résultats d’un test de fumée et déterminer si le test a réussi ou échoué.
En plus de déterminer si le logiciel est capable d’exécuter correctement ses fonctions de base, les mesures des tests de fumée peuvent évaluer la vitesse et les temps de chargement du logiciel, entre autres choses.
1. Vitesse du logiciel
Les tests de fumée peuvent être utilisés pour vérifier que la vitesse et les temps de chargement des logiciels répondent à certains critères définis dans des cas de test individuels.
Par exemple, si vous testez le comportement du logiciel lorsque vous chargez l’application et que l’application se charge comme prévu, mais qu’il faut deux minutes pour démarrer, vous pouvez marquer un échec car le temps de chargement n’est pas conforme à ce que vous attendiez.
2. Fiabilité
L’exécution à deux reprises de votre test de fumée peut également vous aider à tester la fiabilité de votre logiciel. Si certains tests réussissent une fois mais échouent une fois, cela indique qu’une erreur dans le code est à l’origine d’erreurs qui ne se produisent pas à chaque utilisation du logiciel, mais qui peuvent néanmoins causer de graves problèmes aux utilisateurs.
Les meilleurs outils gratuits de test de fumée
Les outils de test de fumée peuvent vous aider à exécuter des tests de fumée plus efficacement et plus rapidement afin de vous aider à tirer le meilleur parti de vos tests de fumée.
Vous trouverez ci-dessous quelques-uns des meilleurs outils de test de fumée disponibles gratuitement aujourd’hui.
5 meilleurs outils gratuits de test de fumée
1. ZAPTEST édition FREE
ZAPTEST est un outil gratuit qui permet aux utilisateurs d’automatiser les tests de logiciels et la RPA sans débourser un centime.
Vous pouvez utiliser l’édition FREE de ZAPTEST pour effectuer des tests de fumée simples sur de multiples plateformes, y compris les plateformes mobiles, web, API et LOAD.
Si vous souhaitez essayer les tests de fumée automatisés, l’édition gratuite de ZAPTEST peut vous aider à découvrir les avantages de l’automatisation. Il est également facile à utiliser, même si vous n’avez pas de formation technique, car il possède une interface sans code et tire parti d’une technologie de pointe en matière de vision par ordinateur.
Plus important encore, ZAPTEST FREE est bien…. gratuit pour toujours ! En revanche, de nombreux outils de test de fumée et d’automatisation générale des logiciels proposent une période de test initiale, à l’issue de laquelle vous êtes amené à payer des frais d’abonnement.
2. Sélénium
Selenium est un outil gratuit et open-source que vous pouvez utiliser pour exécuter différents types de tests sur votre logiciel, y compris des tests de fumée et de régression. Il fonctionne avec de nombreux langages de programmation différents et est particulièrement adapté aux tests d’applications web.
3. Appium
Si vous souhaitez effectuer des tests de fumée et d’intégrité sur des applications mobiles, Appium est un meilleur choix que Selenium. Appium est facile à installer et à utiliser et peut être utilisé pour effectuer des tests de fumée simples sur les applications développées pour iOS et Android.
4. Lien de test
Testlink est un outil de gestion gratuit, basé sur le web, qui permet aux utilisateurs de rédiger des plans et des cas de test dans un cadre structuré unique. Testlink peut vous aider à planifier vos tests de fumée et à définir vos attentes et vos mesures avant de commencer les tests de fumée.
5. AQ Wolf
QA Wolf est un outil de test gratuit, de bout en bout, qui permet aux utilisateurs de créer un test d’assurance qualité automatisé (QA smoke test) en même temps que d’autres tests fonctionnels. QA Wolf est utilisable même par des personnes n’ayant aucune compétence technique ou de codage, ce qui signifie qu’il s’agit d’une excellente introduction à l’automatisation des tests pour la plupart des équipes d’assurance qualité.
Les meilleurs outils de test de fumée pour les entreprises
Si vous êtes prêt à investir un peu d’argent dans vos outils de test de fumée, vous pouvez acheter des outils d’entreprise qui offrent des capacités de test de fumée plus étendues et des résultats plus complets.
Vous trouverez ci-dessous une liste des cinq meilleurs outils d’automatisation des tests de fumée en entreprise disponibles sur le marché.
5 meilleurs outils d’automatisation des tests de fumée en entreprise
1. ZAPTEST ENTERPRISE édition
L’édition ZAPTEST ENTERPRISE est une suite de tests logiciels et de RPA qui permet d’automatiser entièrement tout type de test, y compris les tests de fumée.
La version gratuite convient aux petites entreprises qui souhaitent découvrir les possibilités de ZAPTEST, mais si vous recherchez une solution payante, facile à utiliser et adaptée au test de n’importe quel logiciel ou application, sur n’importe quelle plateforme, navigateur ou appareil, ET avec une implémentation 1SCRIPT sur tous ces éléments, ZAPTEST ENTERPRISE est un excellent point de départ.
2. SoapUI
SoapUI est un outil de test d’entreprise qui facilite la gestion et l’exécution de tests d’assurance qualité de bout en bout sur les logiciels. C’est un outil relativement simple à installer, mais il a ses limites, ce qui se reflète dans son prix.
3. Témoignage
Testim est un outil payant de test de fumée qui utilise l’IA pour créer des tests sans code qui évaluent la fonctionnalité de votre logiciel. L’API Javascript de Testim peut être utilisée pour remanier, personnaliser et déboguer les tests.
4. Plan en T Robot
T-Plan Robot est un outil de test d’entreprise que les ingénieurs QA peuvent utiliser pour automatiser les actions utilisateur scriptées et l’automatisation des processus robotiques (RPA) sur Windows, Mac, Linux et Mobile. Vous pouvez utiliser T-Plan Robot pour automatiser les tests de fumée sur une série d’applications et créer des scripts automatisés qui peuvent être exécutés à des moments clés du développement.
5. AQ de la forêt tropicale
Rainforest QA est un outil de test de fumée d’assurance qualité qui permet aux utilisateurs de gérer et de mettre en œuvre des tests de fumée manuels et automatisés à partir d’un tableau de bord unique. Il est donc idéal pour les organisations qui souhaitent essayer l’approche hybride, et il convient à un large éventail de plateformes, y compris les applications basées sur le cloud, Windows et Mac.
Quand utiliser des outils de test de fumée libres ou d’entreprise ?
Les outils de test de fumée pour entreprises et les outils gratuits peuvent répondre à des besoins similaires de manière légèrement différente. En général, les outils gratuits constituent une excellente porte d’entrée pour les organisations qui sont à l’aise avec les tests de fumée manuels, mais qui souhaitent explorer plus en détail les tests de fumée automatisés.
Ils peuvent également convenir davantage aux très petites entreprises en phase de démarrage qui n’ont pas encore les moyens d’acheter des outils payants.
Les outils de test d’entreprise deviennent généralement une option plus viable au fur et à mesure que les entreprises se développent. Ils offrent un certain nombre d’avantages par rapport aux outils gratuits, généralement une plus grande flexibilité, une meilleure assistance et des interfaces plus conviviales qui permettent même aux professionnels non techniques de réaliser facilement des tests de fumée automatisés.
Liste de contrôle pour les tests de fumée
Avant de commencer un test de fumée, l’équipe d’assurance qualité du logiciel peut utiliser cette liste de contrôle pour s’assurer qu’elle couvre toutes les étapes du processus de test de fumée.
● Identifiez les outils de test de fumée que vous allez utiliser.
● Choisissez si vous allez créer un test manuel ou automatisé.
● Sélectionnez les cas de test que vous souhaitez tester.
● Créer des scripts de test pour chaque cas.
● Identifier les conditions de réussite pour chaque cas de test.
● Exécutez vos tests de fumée
● Analyser les résultats
● Retour d’information sur le développement et l’assurance qualité
Conclusion
Les tests de fumée sont une étape essentielle du développement de logiciels et de l’assurance qualité. Il permet de s’assurer que le produit est fonctionnel avant de procéder à d’autres tests, ce qui évite aux équipes d’assurance qualité de perdre du temps et des ressources en effectuant des tests fonctionnels intensifs sur des versions qui ne sont pas encore stables.
Le Smoke testing est un processus relativement rapide et simple qui devrait être réalisé par les équipes logicielles aussi souvent que possible.
Alors que les entreprises s’efforcent d’atteindre une efficacité optimale grâce à l’utilisation d’outils avancés qui prennent en charge l’hyperautomatisation, la RPA et d’autres technologies connexes, les tests de fumée automatisés deviennent de plus en plus courants dans les organisations de toutes tailles.
Les tests manuels et automatisés ont toujours leur place dans les environnements d’assurance qualité contemporains, mais à mesure que les tests automatisés se généralisent, il ne fait aucun doute qu’ils deviendront la norme.
FAQ et ressources
Quels sont les meilleurs cours sur l’automatisation des tests de fumée ?
Si vous souhaitez en savoir plus sur l’automatisation des tests de fumée, voici quelques exemples de cours en ligne que vous pouvez suivre :
● Coursera cours sur les tests de fumée
● Cours Udemy sur les tests de fumée
● Skillshare cours de tests de fumée
L’un des meilleurs cours pour les débutants est le cours Certified Tester ISTQB Foundation Level (CTFL), disponible sur Udemy.
Chacune de ces ressources en ligne propose des cours de tests de fumée pour des apprenants de différents niveaux, et il peut être possible de suivre des cours gratuits et payants sur ces sites.
Si vous souhaitez obtenir une certification, recherchez des cours accrédités par CAST.
Quels sont les meilleurs livres sur les tests de fumée ?
Si vous souhaitez en savoir plus sur les tests de fumée, vous pouvez lire des ouvrages sur les tests de logiciels et les tests de fumée afin de mieux comprendre les approches et les avantages des tests de fumée. Parmi les meilleurs ouvrages sur les tests de fumée, on peut citer
● L’art des tests de logiciels, par Glenford J Myers, Tom Badgett, et Corey Sandler.
● Tests de logiciels, par Ron Patton
● Software Test Automation, par Mark Fewster et Dorothy Graham
Cependant, il existe de nombreux ouvrages fantastiques sur les tests de logiciels qui peuvent vous aider à mieux comprendre le comment, le pourquoi et le quoi des tests.
Choisissez un livre qui vous plaît et qui explore plus en détail les sujets qui vous intéressent le plus.
Quelles sont les 5 principales questions d’entretien sur les tests de fumée ?
Si vous envisagez de passer un entretien pour un poste susceptible d’impliquer des tests de fumée, préparez votre entretien en préparant vos réponses aux questions les plus courantes, telles que les suivantes
● Quel est le bon moment pour effectuer des tests de fumée ?
● Comment décideriez-vous des cas de test à utiliser dans un test de fumée ?
● En quoi les tests de fumée diffèrent-ils des autres types de tests, comme les tests d’intégrité ?
● Quel est le niveau de connaissance en matière de codage nécessaire pour réaliser des tests de fumée ?
● Que feriez-vous si un test de fumée échouait ?
Quels sont les meilleurs tutoriels YouTube sur les tests de fumée ?
Si vous avez l’esprit visuel, vous pouvez utiliser ces vidéos YouTube pour en savoir plus sur les tests de fumée :
● Didacticiel Edureka sur les tests de fumée
● Qu’est-ce qu’un test de fumée ?
● Tests de fumée et tests de bon sens
Comment maintenir les tests de fumée ?
La maintenance des tests de fumée consiste à s’assurer que les tests de fumée que vous créez restent sains et pertinents au fur et à mesure que votre projet de création de logiciel se poursuit.
Exécuter quotidiennement des tests de fumée et créer de nouveaux cas de test au fur et à mesure des besoins.
Vous pouvez également maximiser les avantages de vos tests de fumée en travaillant en étroite collaboration avec les développeurs dont les contributions ne parviennent pas à améliorer la qualité de leur code.
Qu’est-ce que le test de fumée dans le génie logiciel ?
Dans le domaine de l’ingénierie logicielle, les tests de fumée sont également appelés tests de vérification de la construction. Il s’agit d’un test simple et rapide qui permet de s’assurer de la stabilité de la construction d’un logiciel.
Les tests de fumée sont utilisés pour tester les fonctionnalités de base d’une version et servent de tests préliminaires avant de poursuivre les tests d’assurance qualité.
Tests de fumée et tests de bon sens
Les tests de fumée et les tests d’intégrité sont deux types de tests qui impliquent le test rapide des fonctionnalités de base d’un logiciel ou d’un produit.
Cependant, alors que les tests de fumée permettent de vérifier si les fonctionnalités de base du logiciel se sont comportées comme prévu, les tests de bon sens sont généralement utilisés pour vérifier si les réparations de bogues ont permis de résoudre les problèmes identifiés.
Le Smoke testing est un processus plus formel et documenté qui est généralement effectué avant qu’une version ne soit vérifiée comme stable, tandis que le sanity testing est un type de test informel qui peut être effectué dans le cadre des tests de régression sur des versions relativement stables.
Tests de fumée et tests de régression
Les tests de fumée et de régression sont deux types de tests qui permettent de vérifier si le logiciel fonctionne toujours correctement après que de nouvelles modifications ont été apportées.
Cependant, le test de fumée est un type de test relativement rapide et peu approfondi qui vérifie simplement les fonctions de base et s’assure que le logiciel est stable.
Le test de régression est un test plus approfondi qui prend beaucoup plus de temps et évalue la version de base de manière plus détaillée.
Smoke testing vs sanity testing vs regression testing
Lorsque vous comparez les tests d’intégrité et les tests de régression, il est important de comprendre que ces trois types de tests sont nécessaires au bon développement des logiciels et à l’assurance qualité.
Les tests de fumée et les tests d’intégrité offrent un moyen rapide de vérifier si le logiciel fonctionne normalement, tandis que les tests de régression permettent d’approfondir les connaissances sur le fonctionnement du produit.
Les équipes d’assurance qualité procèdent d’abord à des tests de fumée, puis, si le logiciel passe ce contrôle, à des tests de bon sens et, plus tard, à des tests de régression.
L’automatisation des tests de fumée à l’aide d’outils de test de fumée est de plus en plus courante, mais certains types de tests, tels que les tests de régression, ne peuvent pas encore être entièrement automatisés en raison de la nature complexe du test.
Enfin, si vous cherchez des outils pour effectuer des tests sur les plateformes Windows, iOS, Android, UI tests, Linux, et bien d’autres encore, téléchargez ZAPTEST GRATUITEMENT !