Un bref guide des tests de logiciels - Normes et processus

Publié: 2021-05-18

"Tout code est coupable jusqu'à ce qu'il soit testé innocent" - un geek de technologie inconnu.

Vous ne pouvez pas avoir un bon logiciel sans le laisser passer par des tests rigoureux. Dans cet article, vous en apprendrez davantage sur les normes et les processus de test de logiciels que vous devez suivre pour être en mesure d'obtenir de meilleurs résultats.

Qu'est-ce que le test de logiciel ?

En termes simples, les tests logiciels améliorent les logiciels. C'est un processus qui identifie l'exactitude, l'exhaustivité et la qualité du logiciel développé. Les tests sont importants car ils découvrent les défauts/bogues avant la livraison au client, ce qui garantit la qualité du logiciel. Cela rend le logiciel plus fiable à utiliser.

Tests de logiciels

Étapes de test du logiciel

Étapes de test du logiciel

Passons en revue les étapes énumérées ci-dessus des tests de logiciels :

Analyse des besoins :

L'analyse des besoins définit les attentes des utilisateurs finaux pour une application logicielle à construire/modifier. Par conséquent, l'analyse des exigences signifie analyser, rapporter, documenter, valider et gérer les exigences du logiciel ou du système.

L'ingénieur de test doit effectuer les tâches suivantes pour terminer l'analyse des exigences

  • Lisez chaque exigence pour vérifier l'exhaustivité, la clarté, l'ambiguïté, le cas échéant.
  • Vérifiez que tous les scénarios possibles ont été pris en compte dans une phase d'analyse des exigences et essayez d'identifier tous les cas non couverts ou les lacunes.
  • Discussion sur les questions ou les doutes qui découlent de l'analyse des besoins au cours d'appels quotidiens pour que l'équipe soit sur la même longueur d'onde.
  • Une matrice de traçabilité des exigences doit être utilisée afin d'assurer la couverture complète des exigences du logiciel testé.

Vous trouverez ci-dessous l'exemple de modèle de RTM (Matrice de traçabilité des exigences)

Matrice de traçabilité des exigences

Crédit : Opencodez

Planification des tests :

Un plan de test est un document qui décrit les objectifs de test, le calendrier, l'estimation, les livrables et les ressources nécessaires pour effectuer des tests logiciels sur une application logicielle. Un plan de test aide à comprendre et à déterminer les efforts requis pour valider la qualité d'une application en cours de test. Vous trouverez ci-dessous un exemple de plan de test agile :

Plan de test agile

Crédits : zenq

Conception d'essai :

La conception des tests est une phase où les cas d'utilisation requis pour les tests sont conçus. La conception des tests est effectuée sur la base du plan de test. Les cas de test conçus sont assurés de couvrir toutes les exigences de l'application logicielle. La cartographie des cas de test avec la matrice de traçabilité est également considérée comme nécessaire afin de couvrir toutes les lacunes des exigences.

Scénarios de test/cas de test conçus sur la base des techniques de conception de test ci-dessous pour assurer une couverture de test complète sur le chemin heureux et les tests de scénario négatif.

  • Analyse de la valeur limite (BVA)
  • Partitionnement par équivalence (EP)
  • Test de cas d'utilisation
  • Tests basés sur l'impact

Vous trouverez ci-dessous l'exemple de modèle de conception de test

Modèle de plan de test

Crédit : https://www.softwaretestingclass.com/

Configuration de l'environnement de test :

L'environnement de test est une plate-forme conçue pour la mise en œuvre et l'exécution des cas de test sur l'application logicielle. L'environnement de test est créé par l'intégration du matériel et des logiciels requis ainsi que de la configuration réseau requise et des paramètres nécessaires. Avant de commencer tout test, il est toujours important d'effectuer un test de fumée sur l'environnement de test afin de vérifier la faisabilité de l'environnement de test.

Exécution des tests :

L'exécution des tests est le processus d'exécution des cas de test conçus, documentés et comparés les résultats attendus et réels. Les facteurs suivants sont pris en compte pour une exécution de test en tenant compte des risques. Sélectionnez un sous-ensemble de la suite de tests à exécuter pour ce cycle et attribuez-le au testeur/analyste qualité respectif.

  • L'exécution des tests est effectuée sur la base des cas de test / scénarios de test conçus selon le plan de test
  • Observations - Documentées sur le ticket JIRA respectif telles qu'elles ont été rencontrées lors de l'exécution du test
  • La documentation de preuve de test sur le ticket JIRA respectif comprend les éléments suivants

Statut du test : PASS / FAIL - Représente le statut du test du ticket JIRA

URL de test : comprend les données de test utilisées pour tester l'exigence particulière

◦ Scénarios de test et leurs captures d'écran

  • Santé mentale et régression - Des tests de santé mentale et de régression sont effectués sur les environnements supérieurs (STG) régulièrement à chaque fin de sprint dans le cadre des mesures de test pré-UAT

Test de clôture :

La liste de contrôle de clôture des tests de sprint garantit que les activités suivantes sont effectuées à la fin de chaque sprint pour une transition en douceur entre plusieurs sprints.

  • Tests fonctionnels effectués selon les délais avec une couverture complète
  • Toutes les observations enregistrées et traitées par l'équipe
  • Observations valides enregistrées comme défauts et attribuées aux propriétaires de billets respectifs
  • Documentation de preuve de test mise à jour pour chaque ticket avec ses résultats de test manuel et de test de l'appareil respectifs
  • Test de régression effectué sur l'environnement de test avant que le code ne soit fusionné avec les environnements supérieurs, c'est-à-dire. dans ce cas de Dev à STG

Test de l'appareil/Test entre navigateurs :

Le test d'appareil/navigateur croisé est le processus par lequel un appareil/navigateur est testé pour sa qualité afin de voir dans quelle mesure il répond aux exigences pour lesquelles il a été développé. Les tests d'appareils/navigateurs croisés sont couverts par la liste ci-dessous d'appareils/navigateurs confirmés par le client. Pile de navigateur utilisée comme plate-forme pour les tests de périphériques.

Test de l'appareil

Différents types de tests de logiciels

Tests unitaires :

Les tests unitaires vérifient de petites unités de code pour fournir des informations tôt afin d'accélérer vos stratégies de test et de réduire les cycles de tests indésirables. Les tests unitaires sont généralement effectués par un développeur avant que le code ne soit remis à l'équipe de tests logiciels.

Test de fumée :

Smoke Testing est une procédure de test de logiciel qui détermine si le logiciel déployé est stable ou non. Le test de fumée est une confirmation pour l'équipe de test de procéder à d'autres tests de logiciel. Il se compose d'un ensemble minimum de tests à exécuter sur chaque build pour tester les fonctionnalités du logiciel.

Test d'intégration :

Les tests d'intégration sont définis comme un type de test effectué dans un environnement matériel et logiciel intégré afin de vérifier le comportement du système. Les composants logiciels/matériels sont intégrés et testés progressivement jusqu'à ce que le système complet ait été testé.

Test du système :

Test du système d'un produit logiciel complètement intégré. C'est le test final pour vérifier que le produit livré répond aux spécifications d'exigence mentionnées dans le document d'exigence. Les exigences fonctionnelles et non fonctionnelles doivent être prises en compte dans la portée.

Les tests de régression:

La régression vérifie que les modifications récentes du code n'altèrent ni ne détruisent les fonctionnalités déjà existantes. Les tests de régression incluent à la fois un sous-ensemble/une régression complète, les deux peuvent être couverts par des scénarios de test manuels ou automatisés.

Test d'acceptation par l'utilisateur (UAT) :

Les tests d'acceptation par l'utilisateur sont l'une des dernières étapes du cycle de vie des tests logiciels et sont effectués par le client une fois que le logiciel a été minutieusement testé. L'UAT est menée par les utilisateurs finaux du produit pour les approbations et les déploiements de la version de production.