validation testing ultimate guide
Explorez l'importance des tests de validation:
Ce que vous apprendrez:
- Qu'est-ce que le test de validation?
- Différence entre la vérification et la validation
- Étapes impliquées
- Exemples de cas de test de validation ou de protocole
- Conclusion
- lecture recommandée
Qu'est-ce que le test de validation?
Les tests de validation consistent à s'assurer que le logiciel testé et développé répond aux besoins du client / utilisateur. La logique ou les scénarios des besoins métier doivent être testés en détail. Toutes les fonctionnalités critiques d'une application doivent être testées ici.
En tant que testeur, il est toujours important de savoir comment vérifier la logique métier ou les scénarios qui vous sont fournis. Le processus de validation est l'une de ces méthodes qui aide à évaluer en détail les fonctionnalités.
Chaque fois que vous êtes invité à effectuer un test de validation, cela prend une grande responsabilité car vous devez tester toutes les exigences commerciales critiques en fonction des besoins de l'utilisateur. Il ne devrait pas y avoir un seul manque sur les exigences demandées par l'utilisateur. Par conséquent, une connaissance approfondie des tests de validation est très importante.
En tant que testeur, vous devez évaluer si les résultats de l'exécution du test sont conformes à ceux mentionnés dans le document des exigences. Tout écart doit être signalé immédiatement et cet écart est donc appelé un bug.
Des outils tels que HP Quality Center, Selenium, Appium, etc. sont utilisés pour effectuer des tests de validation et nous pouvons y stocker les résultats des tests. Un plan de test approprié, des exécutions de test, des rapports de défauts, des rapports et des mesures sont les livrables importants à soumettre.
Du point de vue de l'entreprise, le test de validation en simple est réalisé par les étapes suivantes:
- Vous collectez les exigences métier pour les tests de validation auprès de l'utilisateur final.
- Préparez le plan d'affaires et envoyez-le pour approbation au site / aux parties prenantes impliquées.
- Une fois le plan approuvé, vous commencez à rédiger les cas de test nécessaires et à les envoyer pour approbation.
- Une fois approuvé, vous commencez à terminer les tests avec le logiciel et l'environnement requis et envoyez les livrables à la demande du client.
- Une fois les livrables approuvés, les tests UAT sont effectués par le client.
- Après cela, le logiciel est mis en production.
les deux principaux éléments testés dans le test d'intégration sont les interfaces et les résultats attendus.
Explorons maintenant plus en détail la validation.
Différence entre la vérification et la validation
Comprenons-les avec un exemple d'une manière simple.
Exemple:
Exigence du client:
L'injection proposée ne doit pas peser plus de 2 cm.
Test de vérification:
- Vérifiez si l'injection est l'injection qui ne pèse pas plus de 2 cm en utilisant la liste de contrôle, l'examen et la conception.
Test de validation:
- Vérifiez si l'injection ne pèse pas plus de 2 cm en utilisant des tests manuels ou automatisés.
- Vous devez vérifier chaque scénario possible concernant le poids d'injection en utilisant toute méthode de test appropriée (méthodes fonctionnelles et non fonctionnelles).
- Vérifiez les mesures inférieures à 2 cm et supérieures à 2 cm.
Vérification | Validation |
---|---|
Le processus vérifie simplement la conception, le code et le programme. | Il doit évaluer l'ensemble du produit, y compris le code. |
Des examens, des procédures pas à pas, des inspections et des vérifications documentaires sont impliqués. | Des méthodes de test fonctionnelles et non fonctionnelles sont impliquées. Un contrôle approfondi du produit est effectué. |
Il vérifie le logiciel avec les spécifications. | Il vérifie si le logiciel répond aux besoins de l'utilisateur. |
Étapes impliquées
- Qualification de conception: Cela inclut la création du plan de test basé sur les exigences de l'entreprise. Toutes les spécifications doivent être clairement mentionnées.
- Qualification d'installation: Cela inclut l'installation du logiciel en fonction des exigences.
- Qualification opérationnelle: Cela comprend la phase de test basée sur la spécification des besoins de l'utilisateur.
Cela peut inclure Test de fonctionnalité:
-
- Test unitaire - Boîte noire, boîte blanche, boîte grise.
- Test d'intégration - De haut en bas, de bas en haut, Big bang.
- Test du système - Tests de santé mentale, de fumée et de régression.
- Qualification des performances: UAT (test d'acceptation utilisateur) - Tests alpha et bêta.
- Production
Qualification de la conception
La qualification de conception signifie simplement que vous devez préparer la conception du logiciel de manière à ce qu'elle réponde aux spécifications de l'utilisateur. Vous devez principalement obtenir le Document de spécification des exigences utilisateur (URS) du client pour procéder à la conception.
Stratégie de test:
Ce document constitue la base de la préparation du plan de test. Il est généralement préparé par le chef d'équipe ou le responsable du projet. Il décrit comment nous allons procéder pour tester et atteindre l'objectif souhaité.
Pour intégrer toutes les procédures, un plan approprié doit être conçu et approuvé par les parties prenantes. Alors faites-nous savoir les composants du plan de test.
Dans quelques projets, le plan de test et la stratégie de test peuvent être intégrés en un seul document. Des documents de stratégie distincts sont également préparés pour un projet complexe (principalement en technique d'automatisation).
Composantes du plan de test de validation:
- Description du projet
- Comprendre les exigences
- Portée des tests
- Niveaux de test et calendrier de test
- Création d'un plan d'exécution
- Exigences en matière de matériel, de logiciel et de personnel
- Rôles et responsabilités
- Hypothèse et dépendances
- Risques et atténuation
- Rapport et métriques
Description du projet: Ici, vous devez élucider toute la description de l'application qui vous est accordée pour le test. Il doit inclure toutes les fonctionnalités de l'application.
Comprendre les exigences: Lors de l'obtention de l'USR, vous devez mentionner les exigences comprises de votre côté. Vous pouvez également apporter des clarifications, le cas échéant. Cela constitue la base ou les critères de test pour les tests.
Portée des tests: La portée doit inclure les modules en détail ainsi que les fonctionnalités à un niveau élevé. Vous devez indiquer au client toutes les exigences que vous couvririez lors de vos tests.
D'un point de vue commercial, des tests de validation peuvent être demandés pour répondre aux exigences critiques d'une application. Cela signifie simplement que vous dites ce qui sera couvert et ce qui ne le sera pas .
Niveaux de test et calendrier des tests: Vous devez mentionner le nombre de séries de tests à effectuer. L'effort global pour le projet de test est estimé à l'aide des techniques d'estimation standard telles que l'estimation du point de cas de test (TCP), etc.
Comme le nom l'indique calendrier des tests décrit comment les tests seront effectués. Il devrait également indiquer comment et quand l'approbation et les examens seront effectués.
Exemple:
La conception d'une page Web est le projet considéré.
Les niveaux de test incluent:
Niveau 1: Test de fumée
Niveau 2: Test unitaire
Niveau 3: Test d'intégration
Niveau 3: Test du système
Niveau 3: Test d'acceptation
Calendrier des tests:
- Soumission du plan - Jour 1
- Conception de cas de test - Jour 2
- Course à sec et correction de bugs - Jour 4
- La revue- Jour 5
- Course formelle - Jour 6
- Livrables envoyés pour approbation - 8e jour
- Rapports - Jour 10
Création du plan d'exécution: Le plan d'exécution marque le nombre d'exécutions requis pour les tests. Chaque exécution que vous effectuez hors site sera notée par l'équipe sur place.
Par exemple, lorsque vous utilisez le Outil HP Quick Test Professional pour l'exécution, le nombre d'exécutions sera affiché dans l'onglet Exécutions du plan de test.
Exigences en matière de matériel-logiciel et de personnel:
- Exigences matérielles et logicielles telles que les appareils, les versions de navigateur, l'IOS, les outils de test requis pour le projet.
- La dotation signifie la nomination des personnes requises pour les tests. Vous pouvez mentionner le nombre d'équipes ici.
- Si vous avez besoin de membres de test supplémentaires, vous pouvez demander sur place en fonction de la portée du test. Simplement lorsque le nombre de cas de test augmente, cela signifie que vous avez besoin de plus de membres de l'équipe pour les exécuter.
Rôles et responsabilités: Cela implique d'attribuer des tâches aux rôles connexes responsables de l'exécution des différents niveaux de test.
Par exemple,
Une application doit être testée par une équipe de 4 membres pour exécuter 4 protocoles de validation et vous pouvez déléguer les responsabilités comme suit:
- Responsable des Tests: Conception du plan de test
- Membre de l'équipe 1: Conception et exécution de protocoles 1,2.
- Membre de l'équipe 2: Conception et exécution de protocoles 3,4.
- Membre de l'équipe: Préparation de rapports, examen et métriques.
Hypothèse et dépendances: Cela signifie que les hypothèses faites lors de la conception et les dépendances identifiées pour les tests seront incluses ici.
Risques et atténuation: Les risques liés à la planification des tests tels que la disponibilité des environnements souhaités, la construction, etc. ainsi que les plans d'atténuation et d'urgence.
Rapport et métriques: Les facteurs qui ont été utilisés pour les tests et les rapports aux parties prenantes doivent être mentionnés ici.
Un exemple d'application mobile est fourni ci-dessous:
Qualification d'installation
- La qualification de l'installation contient des détails tels que lesquels et combien d'environnements de test seraient utilisés, quel niveau d'accès est requis pour les testeurs dans chaque environnement ainsi que les données de test requises. Cela peut inclure la compatibilité du navigateur, les outils requis pour l'exécution, les dispositifs requis pour les tests, etc. Le système en cours de développement doit être installé conformément aux exigences de l'utilisateur.
- Les données de test peuvent être nécessaires pour tester certaines applications et doivent être fournies par la personne appropriée. C'est un pré-requis vital.
- Certaines applications peuvent nécessiter une base de données. Nous devons conserver toutes les données requises pour les tests dans une base de données pour valider les spécifications.
Par exemple, Une nouvelle application dit «abc» doit être testée sur mobile (Android 4.3.1) et navigateur (Chrome 54), dans un tel cas, nous devons garder une trace de ce qui suit:
- Vérifiez si l'autorisation appropriée est donnée pour vérifier le site de l'application «abc».
- Vérifiez si les appareils utilisés pour tester l'application tels que mobile (Android / iOS), navigateur-Chrome, Internet Explorer avec la version requise sont disponibles.
- Vérifiez si ceux-ci sont correctement installés avec les versions spécifiées (par exemple: Chrome 54, Android version 4.3.1).
- Assurez-vous que l'application est accessible à la fois dans le navigateur et sur le mobile.
Qualification opérationnelle
La qualification opérationnelle garantit que chaque module et sous-module conçu pour l'application testée fonctionne correctement comme prévu dans l'environnement souhaité.
Un test de validation, en général, est effectué dans la hiérarchie suivante.
Les tests fonctionnels jouent un rôle majeur dans les tests de validation. Cela signifie simplement que vous devez valider la fonctionnalité de l'application par chaque exigence critique mentionnée. Cela ouvre la voie à la cartographie des exigences mentionnées dans le document de spécification fonctionnelle et garantit que le produit répond à toutes les exigences mentionnées.
Test fonctionnel et ses types
Comme le nom le suggère, le test fonctionnel teste les fonctions, c'est-à-dire ce que le logiciel doit faire. Les fonctionnalités du logiciel seront définies dans le document de spécification des exigences.
angular js entretien questions et réponses
Jetons un coup d'œil rapide sur ses types.
# 1) Test unitaire:
Les tests unitaires testent les unités / modules / composants / méthodes individuels du système donné. La validation sur le terrain, le contrôle de mise en page, la conception, etc., sont testés avec différentes entrées après codage. Chaque ligne du code doit être validée pour les cas de test unitaires individuels.
Les tests unitaires sont effectués par les développeurs eux-mêmes. Le coût de la correction des bogues est moindre ici par rapport aux autres niveaux de test.
Exemple:
L'évaluation d'une boucle du code pour une fonction dit que le choix du sexe est un exemple de test unitaire.
# 2) Test de la boîte noire:
Tester le comportement d'une application pour les fonctionnalités souhaitées par rapport aux exigences sans se concentrer sur les détails internes du système s'appelle le test de la boîte noire. Elle est généralement effectuée par une équipe de test indépendante ou par les utilisateurs finaux de l'application.
L'application est testée avec les entrées pertinentes et testée pour valider si le système se comporte comme souhaité. Cela peut être utilisé pour tester à la fois les exigences fonctionnelles et non fonctionnelles.
# 3) Test de la boîte blanche:
Test de la boîte blanche n'est rien d'autre qu'une vérification détaillée du code du programme par code. L'ensemble du fonctionnement de l'application dépend du code écrit, il est donc nécessaire de tester le code très attentivement. Vous devez vérifier chaque unité et son intégration en tant que module entier étape par étape.
Un testeur avec des connaissances en programmation est un critère incontournable ici. Cela permet de déterminer clairement s'il y a un écart dans le flux de travail de l'application. Il est utile aussi bien pour les développeurs que pour les testeurs.
# 4) Test de la boîte grise:
Le test de la boîte grise est une combinaison de tests de boîte blanche et de boîte noire. Une connaissance partielle de la structure ou du code de l'unité à tester est ici connue.
Test d'intégration et ses types
Les composants individuels du logiciel qui sont déjà testés dans les tests unitaires sont intégrés et testés ensemble pour tester leurs fonctionnalités dans leur ensemble, afin d'assurer le flux de données à travers les modules.
Ceci est fait par les développeurs eux-mêmes ou par une équipe de test indépendante. Cela peut être fait après avoir testé deux ou plusieurs unités.
Approche descendante:
Dans cette approche, les unités supérieures sont d'abord testées, puis les unités de niveau inférieur sont testées une par une étape par étape. Les stubs de test qui peuvent être utilisés sont nécessaires pour simuler les unités de niveau inférieur qui peuvent ne pas être disponibles pendant les phases initiales.
Une approche en profondeur:
Dans cette approche, les unités inférieures sont d'abord testées, intégrées, puis les unités de niveau supérieur sont testées. Les stubs de test qui peuvent être utilisés sont nécessaires pour simuler les unités de niveau supérieur qui peuvent ne pas être disponibles pendant les phases initiales.
Test du système et ses types
Le test du système / logiciel complet est appelé test du système. Le système est entièrement testé par rapport aux spécifications des exigences fonctionnelles. Les tests du système sont effectués par rapport aux exigences fonctionnelles et non fonctionnelles. Les tests en boîte noire sont généralement préférés pour ce type de tests.
# 1) Test de fumée:
Lorsque les constructeurs donnent la construction à tester initialement, nous devons tester la construction à fond. C'est ce qu'on appelle le test de fumée. Nous devons indiquer si la construction est capable de tests supplémentaires ou non.
Pour effectuer la validation, vous avez besoin d'une version appropriée. Par conséquent, les tests de fumée sont d'abord effectués par l'équipe de test. Le flux de travail de l'application testée doit être testé avec les cas de test ou sans eux. Un cas de test couvrant tout le flux est utile pour ce test.
# 2) Test de santé mentale:
Lors des tests de cohérence, les principales fonctionnalités des modules de l'application testée sont testées. Lors du test d'un site Web comportant 3 onglets, à savoir la création de profil, l'éducation, la connexion, etc. IRCTC , les principales fonctionnalités de tous ces onglets doivent être vérifiées sans aller plus loin.
Les menus, sous-menus, onglets doivent être testés dans tous les modules. Il s'agit d'un sous-ensemble de tests de régression car les tests sont effectués uniquement sur le flux principal et non en profondeur.
# 3) Test de régression:
Pour chaque version du projet, l'équipe de développement peut introduire certains changements. La validation si les nouvelles modifications introduites n'ont pas affecté le flux de travail du système est appelée test de régression. Seuls certains cas de test relatifs aux nouvelles exigences doivent être testés ici.
logiciel de sauvegarde informatique gratuit sur disque dur externe
Qualification des performances
UAT (test d'acceptation par l'utilisateur):
Il s'agit de la dernière phase de test effectuée pour garantir que le système se comporte comme requis, conformément aux exigences spécifiées. Ceci est fait par le client. Une fois que le client a certifié et effacé les tests du système, le produit peut être déployé.
Tests alpha et bêta:
Les tests alpha sont effectués par les développeurs sur l'application avant sa sortie sur le site de développement logiciel. Cela implique des tests en boîte noire et blanche. Les tests bêta sont effectués du côté du client après le développement et le déploiement du produit.
Exemples de cas de test de validation ou de protocole
Avec mon expérience, j'ai écrit ce protocole de connexion à Gmail.
Une vérification approfondie de la fonctionnalité de connexion couverte est ce qu'est réellement la validation. Mais je voudrais mentionner que le style des colonnes de phrases utilisées peut complètement différer et dépendre des exigences du client.
=> Télécharger des exemples de cas de test de validation: Cas de test de connexion Gmail
Conclusion
Eh bien, la validation consiste à analyser en détail les fonctionnalités d'un produit. En tant que testeur de validation, vous devez toujours vous rappeler de signaler les écarts sur place afin d'obtenir des résultats optimaux lors des tests.
Chaque cas de test qui est écrit doit être précis, concis et compréhensible même pour l'homme ordinaire. Le testeur de validation doit s'assurer que le bon produit est développé conformément aux exigences spécifiées.
En tant que guide pour les tests de validation, j'ai couvert le processus associé à la validation.
Une qualification de conception qui implique le plan de validation, une qualification d'installation qui parle de l'installation matériel-logiciel, une qualification opérationnelle qui implique le test du système entier, une qualification de performance qui implique le test d'acceptation par l'utilisateur qui fournit l'autorisation de production.
J'espère que cet article aurait enrichi vos connaissances sur le concept des tests de validation !!
lecture recommandée
- Meilleurs outils de test de logiciels 2021 (Outils d'automatisation des tests QA)
- Test alpha et test bêta (un guide complet)
- Différences clés entre les tests de boîte noire et les tests de boîte blanche
- Test fonctionnel vs test non fonctionnel
- Téléchargement du livre électronique sur les tests
- Build Verification Testing (BVT Testing) Guide complet
- Qu'est-ce que le test du système - Un guide du débutant ultime
- Guide de test de sécurité des applications Web