destructive testing
Différence entre les tests destructifs et les tests non destructifs avec ses types et méthodes:
Dans cet article, nous allons discuter des détails sur les tests destructifs et les tests logiciels non destructifs.
Nous les découvrirons un par un et verrons également les différences entre ces deux types de tests à la fin de l'article.
Ce que vous apprendrez:
- Qu'est-ce que le test destructif et quels sont ses avantages?
- Qu'est-ce que le test non destructif et quels sont ses avantages?
- Différence entre les tests destructifs et non destructifs
Qu'est-ce que le test destructif et quels sont ses avantages?
Le test logiciel destructif (DST) est une sorte de test logiciel qui tente de faire échouer une partie d'une application logicielle de manière incontrôlée, de tester sa robustesse et de détecter le point de défaillance.
Contrairement à d'autres méthodes de test de logiciel de type conventionnelles qui vérifient la fonctionnalité du logiciel, cette méthode inspecte le comportement imprévisible de l'utilisateur dans le logiciel. Ainsi, cela nous permet de découvrir des défauts logiciels qui ne sont généralement pas rencontrés par les utilisateurs moyens.
Veuillez noter que le test logiciel destructif (DST) est une approche alternative au test logiciel de type conventionnel (CST), mais pas son remplacement. Il est efficace d'effectuer le DST en plus du CST.
Les tests destructifs sont effectués dans les conditions de fonctionnement les plus rigoureuses et se poursuivent jusqu'à la rupture de l'application. L'idée clé de ces tests n'est pas seulement de découvrir les faiblesses de conception, le cas échéant, qui ne seront peut-être pas révélées dans des conditions de travail normales, mais également de découvrir la durée de vie du logiciel.
Ce type de test partage des similitudes avec les tests de singe, les tests ad hoc et les tests exploratoires.
Avantages des tests logiciels destructifs
ouvrir le fichier .bin windows 10
- Il aide à évaluer la robustesse, la récupérabilité et la durée de vie de l'application.
- Révèle les points de défaillance en cas d'utilisation inappropriée ou abusive du logiciel.
- Il définit le bon contexte pour le testeur car il ignore les biais des user stories lors des tests.
- Cela nous permet de découvrir des défauts logiciels qui ne sont généralement pas rencontrés par les utilisateurs moyens.
- Ce type de test est unique en ce qu'il découvre des failles dans l'application qui, une fois résolues, feront passer le logiciel au statut de preuve novice.
Étapes pour effectuer ce test
- Au début du cycle de test logiciel destructif, le client envoie une copie de l'application ou les informations d'identification d'accès, ainsi que les exigences de l'utilisateur.
- Le client présente ensuite les exigences et démontre l'application à un analyste QA.
- Ensuite, l'analyste QA établit la fonction des limites au sein de l'application et crée les limites d'utilisabilité de l'application dans les limites.
- Désormais, le testeur d'assurance qualité testera au hasard l'application dans ces limites, en utilisant les techniques stochastiques. Les flux de travail et les défauts des tests d'assurance qualité sont enregistrés.
- Enfin, le répertoire des défauts est partagé avec le client.
- En cas de besoin, le cycle de test destructif peut être répété en fonction des exigences du client.
Pour ce test, il est bon d'avoir une certaine connaissance des exigences d'origine du logiciel. Cela aide à élaborer une bonne stratégie de test.
Que vérifiez-vous dans le test destructif?
- Comportement incorrect et correct de l'application logicielle.
- Données d'entrée valides et non valides.
- Mauvaise utilisation de l'application logicielle.
Méthodes et stratégies de test de logiciels destructifs
Les essais destructifs peuvent être effectués de plusieurs manières:
1) Méthode d'analyse des points de défaillance:
Dans cette méthode, l'application est revue et examinée pour accéder à chaque chemin et à chaque coin de celle-ci. Il est déterminé ce qui peut échouer à différents moments. Pour cette méthode, vous pouvez demander l'aide d'analystes commerciaux pour avoir une présentation de l'application.
2) Examen par les pairs:
Faites examiner l'application par un autre testeur qui n'est pas familier avec le logiciel. Cela vous aidera à trouver certains points de défaillance cachés qui n'étaient pas visibles pour vous en tant que testeur.
3) Faites examiner les cas de test par l'entreprise:
Les utilisateurs finaux et les autres parties prenantes peuvent parfois penser à des scénarios de test valides qu'un testeur aurait pu manquer. Ainsi, faire examiner les cas de test par l'entreprise peut augmenter votre couverture de test.
4) Essais exploratoires:
it help desk questions et réponses d'entrevue
Réalisez des tests exploratoires à l'aide de fiches d'exécution. Cela vous aidera à savoir ce qui est testé, à répéter les tests et à contrôler la couverture des tests.
5) Alimentez le système avec des données incorrectes:
Vous pouvez fournir une entrée non valide à l'application. Cela peut inclure des données corrompues, une mauvaise séquence d'étapes sur l'interface utilisateur, etc.
6) Utilisez d'autres sources:
Vous pouvez également utiliser toute autre source ou méthode pour interrompre le système et analyser différents scénarios. La bonne chose est que la user story des tests logiciels destructifs ne demande pas nécessairement des «exigences» et des «spécifications», vous pouvez donc essayer n'importe quel moyen approprié pour effectuer ces tests.
Techniques d'essais destructifs
Les tests logiciels destructifs peuvent être menés à l'aide de diverses techniques telles que:
- Test d'acceptation
- Test de boucle
- Les tests de régression
- Partitionnement d'équivalence
- Test de la valeur limite
- Test d'interface
- Test alpha / bêta
- Test du système
- Test descendant
- Test de la boîte noire
Quelques conseils utiles pour les tests logiciels destructifs
- Acquérez autant de connaissances que possible sur le produit. Mettez-vous dans la peau du client, puis pensez au produit de son point de vue.
- Effacez toutes les informations biaisées de la user story. Oubliez la description de la user story et les critères d'acceptation et essayez de casser l'application comme un client fou.
- Recherchez les chemins d'exception, pas les chemins heureux. Gardez à l'esprit qu'en ignorant les critères d'acceptation, vous ne connaîtrez pas le flux de travail attendu ou normal.
- Ne vous attendez pas à une réponse positive de votre candidature. Et si quelque chose échoue? Essayez de simuler et de corrompre tout ce que vous pouvez.
- Limitez les conditions de votre réseau à une configuration plus réaliste, car tous les utilisateurs réels n'auront pas des machines et des conditions de réseau de premier ordre.
Qu'est-ce que le test non destructif et quels sont ses avantages?
Les tests non destructifs (NDT) sont décrits comme une technique d'évaluation logicielle qui implique une interaction correcte avec le logiciel. Contrairement aux tests logiciels destructifs où nous recherchons des chemins d'exception, dans les tests non destructifs, nous recherchons des chemins heureux ou des chemins dorés. NDT est également connu sous le nom de test positif.
Par exemple, s'il existe une zone de saisie qui accepte un nombre compris entre 1 et 999, un scénario de test positif consisterait à saisir un nombre dans cette plage et à vérifier la fonctionnalité de la zone de saisie.
Dans NDT, nous avons un cas de test bien défini utilisant une exigence connue, qui s'exécute sans aucune erreur ni exception et produit la sortie souhaitée. Il donne les résultats attendus et vérifie que le logiciel fonctionne comme prévu.
Avantages des tests logiciels non destructifs
- L'amélioration de la qualité du logiciel et les problèmes sont résolus dans le flux principal de l'application.
- Utile pour démontrer que l'application logicielle fonctionne selon les spécifications requises.
- Vérifie que les attentes du client sont satisfaites.
- S'assure que les exigences de performance sont respectées.
- Économise du temps et de l'argent dans l'évaluation et le dépannage des produits.
Quand effectuer ce test
- Cela devrait être la première forme de test et doit être fait au stade initial du SDLC car le chemin heureux est le flux principal de l'application et s'il ne fonctionne pas bien, le reste des tests est bloqué.
- Cela peut être fait rapidement et facilement lorsque nous n'avons pas assez de temps et de budget pour les tests. Cela garantit au moins que les exigences logicielles et les critères d'acceptation sont satisfaits.
Stratégie pour les tests logiciels non destructifs
- L'approche du test positif doit être adoptée pour effectuer le test non destructif.
- Lors du test, le testeur doit garder à l'esprit que l'objectif du test non destructif est de vérifier que l'application fonctionnera correctement en fournissant des données d'entrée valides. Le but est donc de vérifier le comportement de l'application pour l'ensemble positif de données.
- La meilleure pratique consiste à vérifier si le système fait ce qu'il est censé faire.
Différence entre les tests destructifs et non destructifs
Essais destructifs | Contrôle non destructif |
---|---|
Se concentre sur les faiblesses de la conception mais pas sur la fonctionnalité. | Se concentre sur les faiblesses de la fonctionnalité mais pas sur la conception. |
N'a pas nécessairement besoin d'exigences commerciales. Les tests destructifs sont effectués sans se familiariser avec les exigences prédéterminées. | Des tests sont effectués pour vérifier les fonctionnalités par rapport aux exigences commerciales et aux critères d'acceptation. |
L'intention est de casser le logiciel en fournissant des entrées inhabituelles pour détecter les points de pannes. | L'intention est d'interagir correctement avec le logiciel pour vérifier les résultats positifs. |
Conclusion
Dans les tests destructifs, l'application est intentionnellement mise en panne pour examiner la robustesse de l'application. Il détecte les points de défaillance du logiciel pouvant survenir en raison d'une mauvaise manipulation de l'application par le client.
Il détecte les points faibles qui ne peuvent pas être suivis à l'aide de tests logiciels conventionnels. Pour une meilleure couverture des tests, il est préférable de réaliser des tests logiciels destructifs avec des tests logiciels conventionnels.
Les tests non destructifs sont effectués avec l'approche de test positif ou de test happy path pour vérifier que la fonctionnalité du logiciel répond aux exigences du client. Il s'agit d'interagir correctement avec le logiciel.
lecture recommandée
- Meilleurs outils de test de logiciels 2021 (Outils d'automatisation des tests QA)
- Emploi d'assistant QA en test logiciel
- Cours de test logiciel: à quel institut de test logiciel dois-je adhérer?
- Choisir les tests de logiciels comme carrière
- Travail d'indépendant de rédacteur de contenu technique de test de logiciels
- Téléchargement de l'e-book 'Testing Primer'
- Quelques questions d'entretien intéressantes sur les tests de logiciels
- Commentaires et évaluations du cours de test de logiciels