Test de logiciel - Présentation

Qu'est-ce que le test?

Le test est le processus d'évaluation d'un système ou de ses composants dans le but de déterminer s'il satisfait ou non aux exigences spécifiées. En termes simples, le test exécute un système afin d'identifier les lacunes, les erreurs ou les exigences manquantes contrairement aux exigences réelles.

Selon la norme ANSI / IEEE 1059, le test peut être défini comme - Un processus d'analyse d'un élément logiciel pour détecter les différences entre les conditions existantes et requises (c'est-à-dire les défauts / erreurs / bogues) et pour évaluer les fonctionnalités de l'élément logiciel.

Qui fait le test?

Cela dépend du processus et des parties prenantes associées au (x) projet (s). Dans le secteur informatique, les grandes entreprises disposent d'une équipe chargée d'évaluer le logiciel développé dans le contexte des exigences données. De plus, les développeurs effectuent également des tests appelésUnit Testing. Dans la plupart des cas, les professionnels suivants sont impliqués dans le test d'un système dans leurs capacités respectives -

  • Testeur de logiciels
  • Développeur de logiciels
  • Chef de projet / gestionnaire
  • Utilisateur final

Différentes entreprises ont des désignations différentes pour les personnes qui testent le logiciel sur la base de leur expérience et de leurs connaissances, telles que testeur de logiciels, ingénieur en assurance qualité logicielle, analyste d'assurance qualité, etc.

Il n'est pas possible de tester le logiciel à aucun moment de son cycle. Les deux sections suivantes indiquent quand le test doit être démarré et quand le terminer pendant le SDLC.

Quand commencer les tests?

Un démarrage précoce des tests réduit le coût et le temps nécessaires pour retravailler et produire des logiciels sans erreur livrés au client. Cependant, dans le cycle de vie du développement logiciel (SDLC), les tests peuvent être lancés à partir de la phase de collecte des exigences et se poursuivre jusqu'au déploiement du logiciel.

Cela dépend également du modèle de développement utilisé. Par exemple, dans le modèle Waterfall, des tests formels sont effectués lors de la phase de test; mais dans le modèle incrémental, le test est effectué à la fin de chaque incrément / itération et l'application entière est testée à la fin.

Les tests sont effectués sous différentes formes à chaque phase du SDLC -

  • Au cours de la phase de collecte des exigences, l'analyse et la vérification des exigences sont également considérées comme des tests.

  • L'examen de la conception dans la phase de conception dans le but d'améliorer la conception est également considéré comme un test.

  • Les tests effectués par un développeur à la fin du code sont également classés comme des tests.

Quand arrêter les tests?

Il est difficile de déterminer quand arrêter les tests, car les tests sont un processus sans fin et personne ne peut prétendre qu'un logiciel est testé à 100%. Les aspects suivants doivent être pris en compte pour arrêter le processus de test -

  • Dates limites des tests

  • Achèvement de l'exécution du scénario de test

  • Achèvement de la couverture fonctionnelle et du code jusqu'à un certain point

  • Le taux de bogues tombe en dessous d'un certain niveau et aucun bogue hautement prioritaire n'est identifié

  • Décision de gestion

Vérification validation

Ces deux termes sont très déroutants pour la plupart des gens, qui les utilisent de manière interchangeable. Le tableau suivant met en évidence les différences entre la vérification et la validation.

Sr.No. Vérification Validation
1 La vérification répond à la préoccupation: "Construisez-vous correctement?" La validation répond à la préoccupation: "Construisez-vous la bonne chose?"
2 S'assure que le système logiciel répond à toutes les fonctionnalités. S'assure que les fonctionnalités répondent au comportement prévu.
3 La vérification a lieu en premier et comprend la vérification de la documentation, du code, etc. La validation intervient après vérification et implique principalement la vérification de l'ensemble du produit.
4 Fait par les développeurs. Fait par les testeurs.
5 Il a des activités statiques, car il comprend la collecte d'examens, de procédures pas à pas et d'inspections pour vérifier un logiciel. Il a des activités dynamiques, car il comprend l'exécution du logiciel par rapport aux exigences.
6 Il s'agit d'un processus objectif et aucune décision subjective ne devrait être nécessaire pour vérifier un logiciel. Il s'agit d'un processus subjectif qui implique des décisions subjectives sur le fonctionnement d'un logiciel.