Test et assurance qualité

Le système logiciel doit être vérifié pour son comportement prévu et sa direction de progression à chaque étape de développement pour éviter la duplication des efforts, les dépassements de temps et de coût, et pour assurer l'achèvement du système dans les délais prescrits. le comportement prévu et l'orientation des progrès à chaque étape du développement pour éviter la duplication des efforts, les dépassements de temps et de coûts, et pour assurer l'achèvement du système dans les délais impartis.

Les tests du système et l'assurance qualité aident à vérifier le système. Il comprend -

  • Qualité au niveau du produit (tests)
  • Qualité au niveau du processus.

Passons en revue brièvement -

Essai

Le test est le processus ou l'activité qui vérifie la fonctionnalité et l'exactitude du logiciel en fonction des exigences spécifiques des utilisateurs afin d'améliorer la qualité et la fiabilité du système. Il s'agit d'une approche coûteuse, longue et critique dans le développement de système qui nécessite une planification appropriée du processus de test global.

Un test réussi est celui qui détecte les erreurs. Il exécute le programme avec l'intention explicite de trouver une erreur, c'est-à-dire de faire échouer le programme. Il s'agit d'un processus d'évaluation du système avec l'intention de créer un système solide et se concentre principalement sur les zones faibles du système ou du logiciel.

Caractéristiques des tests système

Le test du système commence au niveau du module et se poursuit vers l'intégration de l'ensemble du système logiciel. Différentes techniques de test sont utilisées à différents moments lors du test du système. Il est réalisé par le développeur pour les petits projets et par des groupes de test indépendants pour les grands projets.

Étapes des tests du système

Les étapes suivantes sont impliquées dans les tests -

Test Strategy

C'est une déclaration qui fournit des informations sur les différents niveaux, méthodes, outils et techniques utilisés pour tester le système. Il doit satisfaire tous les besoins d'une organisation.

Test Plan

Il fournit un plan de test du système et vérifie que le système testé répond à toutes les spécifications de conception et fonctionnelles. Le plan de test fournit les informations suivantes -

  • Objectifs de chaque phase de test
  • Approches et outils utilisés pour les tests
  • Responsabilités et temps requis pour chaque activité de test
  • Disponibilité des outils, des installations et des bibliothèques de tests
  • Procédures et normes requises pour la planification et la réalisation des tests
  • Facteurs responsables de la réussite du processus de test

Test Case Design

  • Un certain nombre de cas de test sont identifiés pour chaque module du système à tester.

  • Chaque cas de test précisera comment la mise en œuvre d'une exigence particulière ou d'une décision de conception doit être testée et les critères de réussite du test.

  • Les cas de test ainsi que le plan de test sont documentés dans le cadre d'un document de spécification du système ou dans un document séparé appelé test specification ou test description.

Test Procedures

Il comprend les étapes à suivre pour exécuter chacun des cas de test. Ces procédures sont spécifiées dans un document distinct appelé spécification de procédure de test. Ce document spécifie également les exigences et les formats spéciaux pour la communication des résultats des tests.

Test Result Documentation

Le fichier de résultats de test contient de brèves informations sur le nombre total de cas de test exécutés, le nombre d'erreurs et la nature des erreurs. Ces résultats sont ensuite évalués par rapport aux critères de la spécification du test pour déterminer le résultat global du test.

Types de tests

Les tests peuvent être de différents types et différents types de tests sont effectués en fonction du type de bogues que l'on cherche à découvrir -

Test unitaire

Aussi connu sous le nom de Test de programme, il s'agit d'un type de test où l'analyste teste ou se concentre sur chaque programme ou module indépendamment. Il est réalisé avec l'intention d'exécuter au moins une fois chaque instruction du module.

  • Dans les tests unitaires, la précision du programme ne peut pas être garantie et il est difficile de tester en détail diverses combinaisons d'entrées.

  • Il identifie les erreurs maximales dans un programme par rapport à d'autres techniques de test.

Test d'intégration

Dans les tests d'intégration, l'analyste teste plusieurs modules fonctionnant ensemble. Il est utilisé pour trouver les écarts entre le système et son objectif d'origine, les spécifications actuelles et la documentation des systèmes.

  • Ici, les analystes essaient de trouver des zones où les modules ont été conçus avec des spécifications différentes pour la longueur des données, le type et le nom de l'élément de données.

  • Il vérifie que la taille des fichiers est adéquate et que les index ont été construits correctement.

Test fonctionel

Les tests de fonctionnement déterminent si le système fonctionne correctement conformément à ses spécifications et à la documentation des normes pertinentes. Les tests fonctionnels commencent généralement par la mise en œuvre du système, qui est très critique pour le succès du système.

Les tests fonctionnels sont divisés en deux catégories -

  • Positive Functional Testing - Il s'agit de tester le système avec des entrées valides pour vérifier que les sorties produites sont correctes.

  • Negative Functional Testing - Il s'agit de tester le logiciel avec des entrées invalides et des conditions de fonctionnement indésirables.

Règles de test du système

Pour mener à bien les tests du système, vous devez suivre les règles données -

  • Les tests doivent être basés sur les exigences de l'utilisateur.

  • Avant d'écrire des scripts de test, comprendre que la logique métier doit être bien comprise.

  • Le plan de test doit être fait dès que possible.

  • Les tests doivent être effectués par un tiers.

  • Il doit être effectué sur un logiciel statique.

  • Les tests doivent être effectués pour les conditions d'entrée valides et non valides.

  • Les tests doivent être revus et examinés pour réduire les coûts.

  • Des tests statiques et dynamiques doivent être effectués sur le logiciel.

  • La documentation des cas de test et des résultats des tests doit être effectuée.

Assurance qualité

Il s'agit de l'examen du système ou des produits logiciels et de sa documentation pour garantir que le système répond aux exigences et aux spécifications.

  • Le but de l'assurance qualité est de donner confiance aux clients par une livraison constante du produit conformément aux spécifications.

  • L'assurance qualité logicielle (SQA) est une technique qui comprend des procédures et des outils appliqués par les professionnels du logiciel pour s'assurer que le logiciel répond à la norme spécifiée pour son utilisation et ses performances prévues.

  • L'objectif principal de SQA est de fournir à l'administration une visibilité correcte et précise du projet logiciel et de son produit développé.

  • Il examine et audite le produit logiciel et ses activités tout au long du cycle de vie du développement du système.

Objectifs de l'assurance qualité

Les objectifs de la conduite de l'assurance qualité sont les suivants:

  • Surveiller le processus de développement logiciel et le logiciel final développé.

  • S'assurer que le projet logiciel met en œuvre les normes et procédures fixées par la direction.

  • Informer les groupes et les individus des activités de l'AQS et des résultats de ces activités.

  • S'assurer que les problèmes qui ne sont pas résolus dans le logiciel sont traités par la haute direction.

  • Identifier les lacunes du produit, du processus ou des normes et les corriger.

Niveaux d'assurance qualité

Plusieurs niveaux d'AQ et de tests doivent être effectués pour certifier un produit logiciel.

Level 1 − Code Walk-through

À ce niveau, les logiciels hors ligne sont examinés ou vérifiés pour détecter toute violation des règles de codage officielles. En général, l'accent est mis sur l'examen de la documentation et le niveau des commentaires dans le code.

Level 2 − Compilation and Linking

À ce niveau, il est vérifié que le logiciel peut compiler et relier toutes les plateformes et systèmes d'exploitation officiels.

Level 3 − Routine Running

À ce niveau, il est vérifié que le logiciel peut fonctionner correctement dans diverses conditions telles qu'un certain nombre d'événements et des événements de petite et grande taille, etc.

Level 4 − Performance test

A ce dernier niveau, on vérifie que les performances du logiciel satisfont au niveau de performances précédemment spécifié.