Comment Faire un “Corrompu” Fichier

Supposons que, pendant l'essai, vous souhaitez tester la façon dont le logiciel gère un "corrompu" fichier.

J'ai deux questions:

1. En général, comment définissez-vous un "corrompu" fichier? En d'autres termes, ce qui constitue un fichier corrompu?

Comme un exemple:

Supposons que vous avez besoin de tester un "corrompu" .fichier pdf.

Une suggestion est tout simplement de faire un .zip fichier, de modifier l'extension, et de tester avec qui. Cependant, je dirais que vous n'êtes pas tester la façon dont le programme gère un "corrompu .fichier pdf", mais plutôt, la façon dont il traite .fichier zip.

Une autre suggestion consiste à ouvrir le fichier et insérer/supprimer des octets aléatoires. Cette suggestion est d'accord, mais il y a quelques problèmes:

  • Il est possible (mais peu probable) que les sections qui sont modifiés ou supprimés sont sans conséquence. Par exemple, vous pouvez simplement supprimer une section d'une énorme chaîne de caractères, ce qui permettrait de modifier les données, mais pas nécessairement corrompu le fichier.
  • Il est possible que le fichier peut être modifié de manière à ce que le programme refusera de lire le fichier. Par exemple, si la .pdf-tête est supprimé, alors peut-être que l'API (ou ce que vous utilisez) n'iront pas plus loin que le point et le fichier ne peut pas être testées.
  • Semblable à la première balle: Si le fichier est modifié de façon spectaculaire, alors il y a un argument que le fichier résultant n'est plus le même format que l'original. Donc, encore une fois, si vous supprimez le .pdf-tête, alors peut-être que le fichier n'est plus un .fichier pdf. Afin de procéder au test, il ne teste pas un corrompu .un fichier pdf, mais à la place des tests de drôles de variation de un .fichier pdf.

2. Une fois un fichier corrompu est défini, comment allez-vous en créer un?


Voici ce que j'ai pensé jusqu'à présent:

Un "fichier corrompu" est un fichier correctement répond aux spécifications de format de fichier, mais qui contient des données/octets qui sont par nature imparfait.

Le seul exemple que je pouvais penser était, si vous avez changé l'encodage du fichier en quelque sorte.
Vous pouvez ensuite appliquer cette méthode à des fichiers arbitraires format.

Merci pour la lecture.

La réponse à ces questions dépend du format de fichier particulier, et sur les types de corruption que vous prévoyez d'avoir votre logiciel de poignée. Il n'y a pas de point de tests avec les vecteurs en entrée que vous n'avez pas l'intention de manipulation.

OriginalL'auteur user807566 | 2012-05-02