Test de la classe d'équivalence par rapport au test de la valeur limite
je comprends le fonctionnement des tests d'équivalence.
en quoi est-il identique ou différent du test de la valeur limite?
6 réponses
Test De Classe D'Équivalence
Le test CE est quand vous avez un certain nombre d'éléments de test (par exemple les valeurs) que vous voulez tester, mais en raison du coût (temps/argent) vous n'avez pas le temps de les tester tous. Par conséquent, vous groupez l'élément de test en classe où tous les éléments dans chaque classe sont censés se comporter exactement de la même façon. La théorie est que vous avez seulement besoin de tester une de chaque élément, assurez-vous que le système fonctionne.
exemple 1
Enfant de moins de 2 trajet, le bus est gratuit. Les jeunes paient 10$, les adultes 15 $et les personnes âgées 5$.
Classes:
Prix: 0 - > Âge: 0-1
Prix: 10 - > Âge: 2-14
Prix: 15 - > Âge: 15-64 Ans
Prix: 5 - > âge: 65-infini
Exemple 2 (plus d'un paramètre)
Les téléphones cellulaires K80, J64 et J54 utilisent Java 5. K90 et J99 utilisent Java 6. Mais il ya deux navigateurs possibles FireFox et Opera, J les modèles courent FF et K les modèles courent O.
Classes:
Navigateur:FF, Java:5 -> Téléphones:J64,J54
Navigateur:FF, Java:6 -> Téléphones:J99
Navigateur:O, Java:5 -> Téléphones:K80
Navigateur:O, Java:6 -> Téléphones:K90
Dangers Des Tests De Classe D'Équivalence
Il y a un danger d'utiliser des tests ce qui est rarement mentionné dans les livres de test, mais qui est très important pour rappeler.
ce n'est pas parce que deux éléments/valeurs sont supposés être dans la même classe et se comporter de la même façon qu'ils se comportent de la même façon.
Cela signifie que juste parce que vous testez une valeur dans la classe que TOUTES les valeurs de la classe ont le même comportement. Mon exemple dans le monde réel est celui des téléphones cellulaires qui ont tous une plate-forme Java. Ils étaient censés travailler tous de la même façon, mais ils ne l'ont pas fait dans la réalité. Donc tester juste une valeur dans une classe est bon, mais pas assez bon. Les tests CE sont un bon outil, mais ce n'est pas une preuve trompeuse et soyez prudent avec elle. Si les cas de test sont bon marché et rapide (comme l'automatisation), tester plus, ou pourquoi ne pas tester tous!
Test Des Valeurs Limites
Le test BV est quand vous décidez de tester les valeurs sur le bord de chaque classe que vous avez identifiée. La théorie est que la plupart des défauts est sur les bords d'une classe.
Exemple
Classes:
Prix: 0 - > Âge:0-1 ( Valeurs limites 0, 1)
Prix: 10 - > Âge: 2-14 (valeurs limites 2, 14)
Prix: 15 - > Âge: 15-64 ans (valeurs limites 15, 64)
Prix: 5 - > âge: 65-infini (valeurs limites 65)
Critique de la Valeur Limite de Test
1) moi, et d'autres professionnels de test que j'ai suivi des cours, ne sommes pas convaincus que la plupart des défauts sont cachés autour des bords de chaque classe. Et je n'ai jamais vu aucune des études qui prouve que c'est le cas.
2) le fait que vous devez utiliser des tests BV prouve que les tests CE sont défectueux puisque vous testez plus d'une valeur de chaque classe.
3) c'est facile à utiliser quand on utilise des valeurs comme des entiers. Mais quelle est une valeur limite de la classe des modèles de téléphones ou des versions de navigateurs?
Test De La Valeur Limite Cachée
Les valeurs limites de classe est souvent basé sur la spécification de la façon dont le système devrait fonctionner. Tout cela est bon et bien, mais la plupart les systèmes contiennent des limites qui ne sont expliquées dans aucune spécification et vous devrez chercher vous-même. Par exemple: "Combien de caractères puis-je mettre dans le champ de test avant que le système ne tombe en panne et ne casse.", "Comment big le fichier de données avant il si lent à lire il devient ennuyeux'.
exemples du monde réel
- Coller un million de caractères dans une zone de texte dans FireFox 3.5 sur win 7 crash it
- ReCaptcha a une limite de 16003 caractères, est-ce que votre le système gère le 413 qu'il lui renvoie si quelqu'un met 16004+ caractères dans le champ. Ou faut-il casser
résumé
Les tests CE et BV sont d'excellents outils et vous devriez les utiliser, mais ils ne sont pas parfaits et ne s'attendent pas à trouver tous les défauts en les utilisant. Utilisez votre savoir-faire sur le système et votre intelligence et l'intuition pour essayer plus d'éléments et cherche d'autres façons dont il pourrait échouer. Et cherchez les limites cachées!
analyse des valeurs limites signifie simplement sélectionner des valeurs près des limites des classes. Ainsi, vous divisez toujours le domaine d'entrée en fonction des classes, puis au lieu de sélectionner des valeurs du milieu de la classe, utilisez des valeurs à partir des limites.
Par exemple, si la condition d'entrée est une plage de 20 à 70, puis vous avez trois classes d'entrée
- moins de 20
- entre 20 et 70
- plus de 70
ensuite, pour l'analyse de la valeur aux limites, sélectionnez entrée.= 19, 20, 21, 69, 70, 71. Ce type d'analyse relève des erreurs sur les limites.
le test D'équivalence doit être complété par le test de la valeur limite.
Par exemple pour l'analyse équivalent d'une fonction qui prend des valeurs entre 1 et 12
(disons mois d'une année) les cloisons seraient:
Pour l'équivalence des tests, il suffit d'en choisir un valeur comme entrée de test de chacune de ces classes de partition. Cela signifierait des tests avec une valeur de -2,6, et 15 serait considéré suffisant pour tester le comportement de la fonction. Mais ces valeurs n'attrapent pas!--13-->Arrêt-par-une erreur ce qui peut se produire assez souvent.
avec le test de la valeur limite, les entrées de test seraient : -1,0,1,11,12,13 (aux limites), ce qui capterait les erreurs "off-by-one".
je vois ces deux méthodes d'essai comme un complément de chacune autre.
L'analyse des valeurs limites est une partie ou un sous-ensemble du partitionnement de l'équivalence. Dans l'analyse des valeurs limites, au lieu d'une certaine valeur aléatoire, seules les valeurs dans la limite sont sélectionnées.
Types D'Essais Dynamiques -
test basé sur les spécifications
A. Partitionnement De L'Équivalence
A1. Boundary value analysis A2. Decision Tables A3. Use case Testing A4. State Transition testing
Structurelle Basée sur les tests
A. La Couverture De Test
B. couverture du Code
C. déclaration couverture
D. couverture des décisions
Test Basé Sur L'Expérience
A. test D'erreur
B. Exploratoire Test
partitionnement de L'équivalence-il s'agit d'une technique où le testeur divise les conditions d'essai en groupes et ensembles. Système devrait les traiter de manière équivalente donc appelé classes d'équivalence. Tester une condition de chaque partition fonctionnera à supposer que toutes les conditions fonctionneront dans cette partition.
EX > > vérifier l'addition des valeurs à un chiffre. c'est à dire des valeurs entre 0 et 9.
les Valeurs inférieures à -9, c'est à dire -10,-11, .... (Partition non valide)
la valeur est inférieure à 0, c'est à dire -1,-2, .... jusqu'à -9 (Partition Valide)
valeurs comprises entre 0 et 9, c'est-à-dire 0,1 .... jusqu'à 9 (de Partition Valide)
valeurs supérieures à 9, i.e. 10,11 (partition non valide)
tester l'addition pour deux valeurs de chaque partition est suffisant.
test des valeurs limites-il est basé sur des tests aux limites entre partition.
EX >> Examiner ci-dessous combinaison.
Ajout de -9 et -10,
Ajout de -10 et -11
Addition de 0 et -1
Addition de 0 et 1
ajout de 9 et 10
ajout de 11 et 10
L'analyse des Valeurs Limites permet de surmonter l'inconvénient du partitionnement de la classe D'équivalence. Si une longueur fixe est g9iven for eg. Numéro Mobile (10 chiffres.)
à La limite inférieure dans ce cas est - chiffres - 1 (ie. 10 - 1 =9) La limite supérieure dans ce cas est - chiffres +1 (c'est à dire 10 + 1 =11)
maintenant nous pouvons effectuer le test pour les 9 et 11