
Test logiciel, c'est quoi ?
Dans cet article, on va répondre à la question qui pourra vous aider à commencer avec les tests de logiciels. On va passer en revue le test logiciel, les concepts les plus importants, et certains outils à prendre en compte.
QUALITÉ LOGICIEL
By Asma
1/1/20248 min read
Alors c'est quoi le test logiciel?
L'assurance qualité (QA) devient de plus en plus populaire. En fait, les experts estiment que les emplois de test aux seuls États-Unis augmenteront de 25 % au cours de la prochaine décennie. Si cela vous intéresse, vous vous demandez peut-être par où commencer à apprendre sur les tests de logiciels.
Selon le glossaire de l'ISTQB, les tests logiciels sont:
Le test de logiciels est un ensemble d'activités visant à découvrir les défauts et à évaluer la qualité des artefacts logiciels. Ces artefacts, lorsqu'ils sont testés, sont connus sous le nom d'objets de test. Une idée fausse très répandue à propos du test (en tant qu’activité) est qu'il consiste uniquement à exécuter des tests (c'est-à-dire à faire fonctionner le logiciel et à vérifier les résultats des tests). Cependant, le test de logiciels comprend également d'autres activités et doit être aligné sur le cycle de vie du développement logiciel.
GLOSSAIRE DE L ISTQB .
Cela signifie que les tests logiciels jouent un rôle important dans le processus de développement de logiciels qui valide que l'application logicielle fonctionne comme prévu et répond aux exigences et aux attentes de ses utilisateurs finaux. L'objectif est d'identifier les défauts, les erreurs et les incohérences dans l'application logicielle avant qu'elle ne soit mise au public. Les tests impliquent l'exécution du logiciel dans différentes conditions, configurations et scénarios pour s'assurer qu'il fonctionne correctement et efficacement.
Si vous êtes curieux de savoir comment commencer dans le domaine du test logiciel, alors voici série de video qui vous pérmettrons de comprendre l'assurance qualité.
Cycle de vie des tests logiciel:
Le cycle de traitement de la durée de vie du logiciel (STLC) est le processus suivi par les testeurs de logiciels pour s'assurer que l'application satisfait les normes et exigences de qualité spécifiées. Le STLC se compose généralement de plusieurs phases conçues pour s'assurer que l'application logicielle est soigneusement testée et répond au niveau de qualité souhaité avant d'être libérée aux utilisateurs finaux. Les phases du cycle de vie des tests de logiciel sont les suivantes:
Analyse des besoins
Planification des tests
Conception des tests
Exécution des tests
Décision
Amélioration
Analyse des besoins
Dans cette phase, les QA analysent les exigences et les spécifications ensuite ils identifient les exigences fonctionnelles et non fonctionnelles, comprennent l'objectif de l'application logicielle et le public cible, et développent des scénarios de test en conséquence.
Planification des tests
Au cours de cette phase, l'équipe de test identifie le scope des tests, la méthode et les ressources nécessaires, afin de créer un Plan de test. Le plan de test identifie également les risques et contraintes associés au processus de test et définit le calendrier.
Si vous etes intéressé par une formation sur le test logiciel trouvez ici notre formation.
Conception des tests
Au cours de cette phase, l'équipe de test conçoit les cas et scénarios de test sur la base des exigences et des spécifications. Ils identifient également les données de tests [JDD: jeux de données] requises pour tester et/ou développer des scripts de test automatique.
Exécution des tests
Les testeurs exécutent les cas de test et les scénarios conçus dans la phase précédente. Les résultats des tests sont documentés et tout défaut ou erreur trouvé dans l'application logicielle est signalé.
Décision
Au cours de cette phase, l'équipe de test établit un rapport avec les résultats des essais et les défauts identifiés au cours de l'essai. Le rapport peut inclure leurs recommandations pour corriger les défauts et améliorer la qualité globale de l'application logicielle ainsi que la décision de mettre cette version en production ou pas.
Amélioration
C'est la dernière phase où l'équipe de test évalue le processus de test et identifie les domaines à améliorer. Ils établissent également un rapport de clôture de tests qui résume le processus d'essai et les résultats des tests.
Le cycle de test logiciel est un processus continu qui nécessite une collaboration entre l'équipe de test et l'équipe de développement pour s'assurer que l'application répond au niveau de qualité et de fonctionnalité souhaité.
Types de tests de logiciels
Il existe différents types de tests logiciels utilisés par les QA, en fonction du contexte et des exigences du projet. On peut distinguer les tests manuels et les tests d'automatisation, en fonction de la manière dont les tests sont exécutés. Sur la base de ce qui est testé, nous pouvons différencier les tests fonctionnels et non fonctionnels. Sur la base de l'approche, nous pouvons identifier les types de test de la boîte blanche et de la boîte noire. Nous avons également des tests exploratoires, des tests mockés et des tests de régression. Tous ces types de tests peuvent se chevaucher entre eux, en fonction de la manière dont ils sont utilisés
Test manuel
Avec les tests manuels, le test est effectué en personne, sans utiliser d'outils ou de scripts automatisés. Il peut être plus sujet à l'erreur et généralement plus long. Certain test, par exemple, les tests utilisateurs sont toujours testés en manuel afin d'avoir une idée concretes sur l'utilisation du logiciel.
Test automatisé
Les tests automatisés sont effectués par une machine qui exécute des scripts écrits à l'avance. Elle nécessite plus d'expertise technique, par exemple la connaissance d'un langage de programmation et des outils d'automatisation tels que le sélénium. Il peut être plus coûteux que les tests manuels, et il faut prendre en considération que certains aspects du processus de test ne peuvent pas être automatisés.
Test fonctionnel
Le test fonctionnel consiste à vérifier ce que fait l'application. Les tests fonctionnels vérifient les caractéristiques et les capacités de l'application et garantissent qu'ils répondent aux exigences et aux spécifications. Ces tests permettent de vérifier que le fonctionnement de l'application répond aux exigences et les personnes chargés du test non pour mission que cette vérification après avoir compris le fonctionnement et le but de l'application et aucune connaissance technique n'est nécessaire
Test non fonctionnel
Les tests non fonctionnels se concentrent sur le comment du comportement de l'application. Il existe plusieurs sous-types de tests non fonctionnels, en fonction de l'objectif principal des tests:
Tests de performance: est utilisé pour mesurer le temps de réponse, le débit et l'évolutivité de l'application dans diverses conditions de charge. Il vérifie la capacité de l'application à traiter plusieurs utilisateurs et transactions simultanément et à s'assurer qu'il fonctionne efficacement dans les conditions de charge de point. Sa permet par exemple de s'avoir si l'application pourra absorber la charge lors des événements spéciaux comme Noel, match de foot etc...
Tests de sécurité: est utilisé pour s'assurer que l'application est sécurisée et protégée contre tout accès non autorisé. Les tests de sécurité vérifient les vulnérabilités et les faiblesses dans les protocoles de sécurité de l'application et identifie toute menace potentielle pour la sécurité.
Tests d'utilisabilité: est utilisé pour évaluer si l'application est conviviale. Il vérifie à quel point il est facile pour les utilisateurs de naviguer dans l'application et de s'acquitter efficacement des fonctions prévues.
Tests d'accessibilité: peut être considéré comme un sous-ensemble de tests d'utilisabilité, des tests d'accessibilité sont effectués pour s'assurer que l'application testée est utilisable par les personnes handicapées.
Cela dit, cette liste n'est pas exhaustive, mais juste un apperçu des tests qu'on peut avoir. Vu la compléxité des tests, on peut avoir des gens qui sont spécialisés sur un type de test, par exemple une personne qui se spécialise que sur les tests de sécurité.
Tests boîte blanche vs test boîte noire
Le test boîte blanche est un type de test dans lequel le testeur a une connaissance de la structure interne du code de l'application, tandis que le test boîte noire est effectué sans qu'il soit nécessaire de comprendre le code source. Chacun de ces types de test applique différentes techniques de test, telles que le partitionnement de l'équivalence, l'analyse de la valeur limite et le tableau de décision, pour le test boîte noire et la couverture des relevés, la couverture de la décision, pour les test boîte blanche.
Trouvez notre article sur les 9 Types de test que tout testeur doit connaître
Test exploratoires
Les tests exploratoires sont un type de test basé sur l'expérience. Il s'agit d'une planification minimale et d'une exécution maximale des tests. Les activités de conception et d'exécution des essais sont exécutées en parallèle, généralement sans documenter officiellement les conditions de test, les cas de test ou les scripts de test. C'est une approche utile lorsqu'il n'y a pas ou mal de spécifications et quand le temps est très limité, ou fonctionne très bien pour compléter les tests automatisés.
Test mocké
Les tests mockés sont un type de test ou on simule la réponse qu'on attend afin de vérifier que notre système c'est bien interprété ces dernières.
Test de régression
Le test de régression est un type de test logiciel où nous testons à nouveau les fonctionnalités existantes pour valider qu'elles fonctionnent toujours correctement après toute modification ou mise à jour de l'application. Les tests de régression garantissent que les nouvelles modifications n'ont pas eu d'impact sur les fonctionnalités existantes de l'application.
Principes d'évaluation des logiciels
Il existe 7 principaux principes de test, tels que définis par l'ISTQB:
Les tests montrent la présence de défauts, pas leur absence: cela signifie que vous ne pouvez pas garantir que l'application est exempte de défauts simplement parce qu'elle a été testée. Cependant, après le test, la confiance dans le produit peut augmenter.
Les tests exhaustifs sont impossibles: la plupart des applications sont incroyablement complexes, de sorte que tester toutes les combinaisons et les variations possibles sont impossibles, en particulier parce que le temps de test et les ressources sont également limités.
Tests précoces: Plus tôt les bogues et les défauts seront découverts au cours du cycle de vie du logiciel, plus ils peuvent être résolus. C'est là que l'Agilité a raison, car les activités de test commencent très tôt.

Les défauts se regroupent: Cela signifie que les zones où des défauts ont été trouvés, auront très probablement encore plus de défauts. Selon le principe de Pareto, 80 % des défauts peuvent être trouvés dans 20% des fonctionnalités.
Le paradoxe du pesticide: l'exécution répétée des mêmes tests sans les mettre à jour ne permettra probablement pas de découvrir de nouveaux problèmes.
Les tests dépendent du contexte: les applications seront testées différemment en fonction de leur contexte - par exemple, vous testez une API différemment que vous ne le faites pour une interface utilisateur, et vous testez les applications web différemment des applications mobiles ou de bureau.
En bref, le simple fait que les défauts ont été trouvés et fixes ne signifie pas que le logiciel est utile à ses utilisateurs.
Le test logiciel est un domaine très complexe, et il existe de nombreux types de tests qui peuvent être exécutés. Il est important d'adapter votre stratégie de test en fonction du contexte du produit logiciel qui est testé.
Si vous avez apprécié cet article, Merci de vous abonnez notre chaine youtube et de suivre notre site.