La compréhension de ce que Faute, Erreur et Défaillance de la moyenne
Considérer la classe suivante:
class Xyz {
public int count;
public void numZero (int[] x) {
//Effects: if x == null throw NullPointerException
//else return the number of occurrences of 0 in x
int count = 0;
for (int i = 1; i < x.length; i++) //we have a bug here
{
if (x[i] == 0)
{
count++;
}
}
this.count = count;
}
}
Je suis en train de me faire une tête sur ce que Fault
, Error
et Failure
signifient vraiment.
Faute
De ce que j'ai compris, un Fault
dans ce contexte serait une faille dans le code écrit de la logique.
Donc dans ce cas la Fault
serait le fait que le code indique à l'ordinateur pour commencer à parcourir tous les éléments de v
avec un indice du début de la 1 à la place de l'0.
Erreur
Lors de l'exécution de la méthode ci-dessus, nous obtenons toujours un Error
mais une fois de temps (lorsque la v.length == 0
), comme ce que nous voulons vraiment, c'est pour itérer sur tous les éléments de x
, mais comme nous sommes en commençant par i = 1
, qui n'est pas vraiment passe.
Avec un vecteur vide en entrée, car nous ne pouvons pas entrer dans le for loop
, de sorte que notre code incorrect n'est pas exécuté, ce qui signifie que l'Erreur ne se produit pas, et tout se passe comme devrait en théorie.
Échec
Depuis notre code a un Fault
que, dans des temps d'exécution sera presque toujours manifeste dans un Error
, nous n'avons qu'un Failure
quand nous sommes à la sortie incorrecte.
En supposant qu'une Error
effectivement arrivé dans mon programme, nous n'avons qu'un Échec si elle est d'une certaine manière visible pour le monde extérieur. C'est, si j'en private int count
; au lieu de public int count;
je n'avais jamais jamais une Erreur dans ma classe (bien sûr, il serait le plus inutile de classe jamais!). Est-ce vrai?
Est tout ce que j'ai dit de corriger ou suis-je égaré dans quelque chose?
Grâce
...ou sqa.stackexchange.com :))
qui doit certainement être une blague, non?
OriginalL'auteur devoured elysium | 2011-06-12
Vous devez vous connecter pour publier un commentaire.
vous observez.
Un exemple de l'échec, de la faute et de l'erreur.
• Un appel à la chambre double(3) renvoie 9, mais la post-condition dit qu'il doit retourner 6.
• Résultat 9 représente un échec.
• L'échec est dû à la faute à la ligne 3, ( "* param" est utilisé à la place de "* 2")
• La erreur est une faute de frappe, ( quelqu'un a tapé "* param" au lieu de "* 2" par erreur).
Pourquoi donner trois étiquettes différentes pour un "Bug"?
Ils aident à communiquer avec quelle précision vous savez quel est le problème.
En disant "non" signifie que vous savez que quelque chose est mauvais, mais ne savent pas la cause.
En disant "faute" signifie que vous connaissez la cause, mais je ne sais pas pourquoi l'erreur s'est produite.
En disant "Erreur" signifie que vous savez pourquoi l'erreur s'est produite.
Vous pourriez demander, "Mais pourquoi la personne de faire une faute de frappe?" Mais qui obtient sur les facteurs humains et hors de la portée de la question.
Source: Zhen Ming (Jack) Jiang - SIGE 4413, Tests de Logiciels, de l'Université York.
OriginalL'auteur kiwicomb123
Tout d'abord, un échec se produit chaque fois que le service délivré par un système s'écarte de sa durée de service. Notez que puisque même les spécifications peuvent mal se passer, la définition ne repose pas sur eux.
Deuxième, un erreur est la partie de l'état du système qui peut conduire à un échec. L'état du système peut mal se passer mais ne jamais atteindre la sortie, donc pas conduire à un échec.
Troisième, un faute est la cause de l'erreur. Il peut être une conception de faille, les rayons cosmiques ou quoi que ce soit. Si, comme vous le soulignez, la faute n'est pas activée, aucune erreur ne s'est produite.
Prendre un coup d'oeil à la concepts de base et terminologie de la fiabilité pour plus d'informations.
OriginalL'auteur mouviciel
Erreur est un écart par rapport au réel et le résultat attendu. Il représente les erreurs commises par le peuple.
Défauts sont le résultat d'une erreur. C'est l'étape incorrect ou d'un processus en raison de laquelle le programme ou le logiciel se comporte d'une manière involontaire
Bug est une preuve d'une Faute dans un programme en raison de laquelle le programme ne se comporte pas dans une manière
Échec est une incapacité du système ou des composants pour accomplir sa fonction requise. L'erreur se produit lorsque les Défauts exécute
Défaut est dit être détecté quand la Panne se produit.
OriginalL'auteur Unnati Mistry
L'Erreur dans l'Erreur/Faute/Erreur fait référence à une erreur humaine qui a introduit le problème. L'erreur humaine est la mauvaise pensée qui a causé à l'utilisateur de créer un incorrect pour l'instruction dans votre exemple.
Erreurs sont difficiles à mesurer ou à comprendre. Il est difficile dans de nombreux cas, de savoir ce que le développeur pense que lorsque le fait de l'erreur qui a introduit la faute. C'est pourquoi ils aiment à se différencier entre l'erreur et la faute. Nous pouvons voir qu'il ya une erreur dans le code, mais il est difficile de savoir pourquoi l'erreur a été créé. Il se pourrait que le code est correct, et puis, lors d'une modification ultérieure, la boucle a été changé.
Je me souviens toujours qu'une Erreur par un programmeur conduit à une erreur dans le code qui en résulte un échec pour l'utilisateur. Pas toutes les erreurs suite à une faute. Pas tous les défauts suite à des échecs.
OriginalL'auteur Bill Kidwell
Le logiciel Faute se réfère à un bug dans le code. Et c'est PENDANT l'activité du logiciel.
Alors que le logiciel Échec, c'est quand le système dysfonctionne. Ceci est observé plus TARD que d'une faute.
Faute peut être la cause d'un Échec. La faute est "CE" et l'Échec est "QUAND".
Ceux qui ne sont fondamentaux, mais encore j'espère qu'il jette une certaine lumière sur la question.
OriginalL'auteur dim8
Il existe une pluralité de définitions différentes, l'un personnellement, je préfère est la suivante:
Fault -> Error -> Failure
Faute: vérifiées, ou de l'hypothèse d'une erreur (dysfonctionnements, les interférences externes, les erreurs de conception).
Erreur: La manifestation d'un défaut à l'intérieur d'un programme ou d'une structure de données (différence entre la production réelle et la production prévue).
Échec: L'événement qui se produit lorsqu'une erreur atteint l'interface de service, modifier le service lui-même (qui conduit à l'incapacité d'un système ou d'un composant à effectuer la fonction requise d'après ses spécifications).
OriginalL'auteur ilMagnifico