Testing Files Generator
Français

Générez de vrais fichiers de test à la taille exacte

PDF, PNG, DOCX, ZIP - 26 formats au total, et chacun est un vrai fichier qui s'ouvre dans le logiciel qui lui correspond, à la taille exacte que vous avez demandée. Chaque exécution note aussi ce que votre application doit faire de chaque fichier. Ligne de commande et fenêtre de bureau, gratuit et open source, entièrement sur votre machine.

Gratuit et open source, GPL-3.0. Aucune inscription. Les téléchargements Windows et macOS sont signés et démarrent sans avertissement.

La fenêtre de bureau de Testing Files Generator, prête à écrire un lot de fichiers de test
La fenêtre de bureau, prête à écrire un lot de fichiers. Le même moteur fonctionne derrière la ligne de commande.

Le problème

Fabriquer un fichier de test est facile. Fabriquer les mille bons est la partie fastidieuse

Vous testez un logiciel qui reçoit des fichiers de la part de personnes. Tôt ou tard, il vous faut :

C'est ce que cela remplace. C'est conçu pour les ingénieurs QA, l'automatisation de tests et tous ceux dont le code a derrière lui un formulaire d'envoi, une routine d'import, un analyseur ou un quota de stockage.

Ce qui le distingue

Les autres générateurs s'arrêtent aux octets. Celui-ci répond à ce que votre test demande vraiment

Un dossier de fichiers vous laisse encore décider ce que chacun est censé prouver. Chaque exécution écrit ici un manifest.json à côté des fichiers - une simple liste de tout ce qui a été produit et, pour chaque entrée, une attente déclarée.

Admettons que votre point d'envoi accepte 1 Mo. Demandez les trois fichiers situés sur cette ligne :

tfg generate --preset size-boundaries --limit 1mb --spread 1B --format pdf --out ./edges
FichierOctetsVotre système doitParce que
1mb_under_1b.pdf1048575accepteril est dans la limite
1mb_at_limit.pdf1048576accepterla limite elle-même est permise
1mb_over_1b.pdf1048577refusersize_limit

Trois fichiers, trois réponses différentes, sous forme lisible par machine. Votre test lit le manifeste au lieu que vous écriviez les assertions à la main :

import json, os

directory = "edges"
manifest = json.load(open(os.path.join(directory, "manifest.json")))

for entry in manifest["files"]:
    response = upload(os.path.join(directory, entry["path"]))
    outcome = entry["expected"]["outcome"]
    if outcome == "accept":
        assert response.ok, entry["path"]
    elif outcome == "reject":
        assert not response.ok, entry["path"]

Quand la réponse dépend de votre propre politique, le manifeste le dit

Il consigne unspecified plutôt que d'inventer une attente. Un générateur qui devine produit de faux échecs, et une suite qui crie au loup finit par être désactivée.

Préréglages

Choisissez la question, obtenez tout le jeu

Un préréglage est un jeu de fichiers de test conçu autour d'une question de test, pour que vous n'ayez pas à chercher quels fichiers prouvent quoi. Chacun a une page qui dit ce qu'il trouve d'habitude, ce que contient le jeu et chaque réglage qu'il accepte.

Tous les préréglages, et leur rapport avec les recettes

Démarrage rapide

Trois commandes pour le voir fonctionner

  1. Créer un fichier

    Un PNG, exactement deux mégaoctets :

    tfg generate --format png --size 2mb --out ./fixtures
  2. Créer beaucoup de fichiers

    Dix mille fichiers journaux, chacun entre un et huit kilooctets, avec des tailles tirées de la graine pour que demain donne le même jeu. Donnez à chaque exécution son propre répertoire - le manifeste est la seule trace de ce qu'une exécution a écrit, donc l'outil refuse d'en écrire un second par-dessus :

    tfg generate --format log --size-range 1kb-8kb --count 10000 --out ./logs
  3. Les vérifier, puis les supprimer

    verify vous dit que rien n'a bougé. cleanup supprime exactement ce qui a été écrit et rien d'autre :

    tfg verify ./logs/manifest.json
    tfg cleanup ./logs/manifest.json --yes

Les tailles se comptent par 1024, comme le fait votre gestionnaire de fichiers, donc 2mb signifie 2097152 octets. Un nombre d'octets brut fonctionne aussi. La documentation couvre les recettes, le manifeste et les codes de sortie.

Ce que vous obtenez

Conçu pour une suite qui tourne sans surveillance

Téléchargement

Choisissez la version pour votre système

Décompressez l'archive et lancez-la. tfg est la ligne de commande et tfg-gui est la fenêtre de bureau. Il n'y a pas d'installateur et rien à ajouter à votre machine.

Système Ligne de commande Fenêtre de bureau
Windows amd64, arm64 amd64
Linux amd64, arm64 amd64
macOS arm64 arm64

Ce qui est signé, et ce qui ne l'est pas

Les téléchargements Windows et macOS sont signés, ils démarrent donc sans avertissement sur un développeur inconnu. Ceux de Linux ne le sont pas, car Linux de bureau n'a pas d'équivalent pour les signer. Chaque archive est listée dans verify-SHA256SUMS.txt sur la page des versions, pour que vous puissiez vérifier ce que vous avez téléchargé.

Gratuit et open source, GPL-3.0. Aucune inscription. Les téléchargements Windows et macOS sont signés et démarrent sans avertissement.