Generazione di file fittizi
Genera nel solo navigatore file fittizi della dimensione esatta richiesta: immagini, audio, filmati, PDF, testi. Comodo per collaudare i limiti di dimensione dei moduli di caricamento. I file non sono mai trasmessi ad alcun servente.
Formato
| Formato | Estensione | Tipo di supporto | Limite della specifica | Note |
|---|---|---|---|---|
| Testo (TXT) | .txt |
text/plain |
Praticamente illimitato | Riempito con testo leggibile ripetuto |
| CSV | .csv |
text/csv |
Praticamente illimitato | Dati tabellari fittizi con riga d'intestazione |
| JSON | .json |
application/json |
Praticamente illimitato | Riempito in un unico campo di testo |
| Binario (BIN) | .bin |
application/octet-stream |
Praticamente illimitato | Sequenza arbitraria che ripete i valori da 0x00 a 0xFF |
| Immagine (PNG) | .png |
image/png |
Praticamente illimitato | Immagine valida di un pixel più blocchi di riempimento |
| Audio (WAV) | .wav |
audio/wav |
4 GiB | Dati PCM silenziosi, realmente riproducibili |
| Filmato (MP4) | .mp4 |
video/mp4 |
Praticamente illimitato | Registrazione reale nei navigatori compatibili, altrimenti un segnaposto valido nella sola struttura |
| Filmato (WebM) | .webm |
video/webm |
Praticamente illimitato | Alcuni secondi di animazione realmente registrati, soltanto nei navigatori compatibili |
.pdf |
application/pdf |
Praticamente illimitato | PDF valido di una pagina bianca | |
| ZIP | .zip |
application/zip |
4 GiB | Archivio con una sola voce non compressa |
Che cos'è un generatore di file fittizi
Quando si sviluppa una funzione di caricamento, occorre verificare che i limiti di dimensione e i controlli sull'estensione funzionino davvero come previsto. Per farlo serve un file «esattamente di un certo numero di byte, ma comunque valido per il proprio formato», e non è affatto scontato averne uno a portata di mano. Questo strumento genera testo, immagini, audio, video, PDF, archivi ZIP e altro ancora, ciascuno esattamente nella dimensione richiesta.
Ogni file generato è composto da dati validi secondo la specifica del proprio formato. Molti formati riservano aree che un analizzatore può tranquillamente ignorare, e lo strumento le usa proprio per riempire fino alla dimensione voluta, così l'apertura non genera mai errori. L'intera elaborazione avviene nel browser e nulla viene mai inviato a un server. WAV e ZIP restano comunque limitati a 4 GiB dalla rispettiva specifica di formato.
Come generare un file fittizio
- Scegliere il formato Selezionate il formato accettato dal sistema che volete collaudare. Per verificare i controlli su estensione o tipo di supporto, scegliete esattamente quel formato.
- Indicare la dimensione Inserite un numero e un'unità di misura. Con un limite «di 10 MB», il confine cambia a seconda che si interpreti come 10.000.000 o 10.485.760 byte.
- Impostare il nome del file Potete includere l'estensione nel nome scelto. Modificatelo se volete collaudare regole di rifiuto basate sul nome del file.
- Generare e scaricare Premendo «Genera» il file viene creato. Con dimensioni elevate l'operazione richiede più tempo e può essere annullata in qualsiasi momento.
Consigli per sfruttarlo al meglio
- La logica di convalida dei moduli di caricamento verifica spesso separatamente tre cose: estensione, tipo di supporto e dimensione. Poiché questo strumento genera valori conformi alla specifica in tutti e tre, potrete collaudare mirando al solo limite di dimensione.
- Un limite «di 10 MB» corrisponde, secondo le realizzazioni, a 10.000.000 di byte oppure a 10.485.760 byte. Poiché l'elenco delle unità permette entrambi i criteri, potrete provare tanto il valore esatto del confine quanto quello che lo supera di un byte.
- In Chrome ed Edge la scrittura avviene direttamente in flusso sull'unità di destinazione e si possono quindi generare file di decine di gigabyte senza gravare sulla memoria. In Firefox e Safari il file si compone in memoria e la dimensione ha un limite pratico.
- Per i filmati, nei navigatori compatibili si registrano davvero alcuni secondi di animazione con il codificatore incorporato: aprendoli si vedranno riprodurre. Il resto, cioè il riempimento che occupa la maggior parte del file, e il contenuto degli altri formati di immagine e audio sono fittizi: lo scopo resta la verifica di dimensione, estensione e tipo di supporto.
Impieghi dei file fittizi
Collaudo dei valori limite di caricamento
Create un file esattamente al limite e uno che lo supera di un byte, poi provateli entrambi: così verificate se il messaggio di errore compare esattamente dove previsto dalla specifica.
Verifica dei controlli su estensione e tipo di supporto
Generate un formato consentito e uno vietato e inviateli entrambi, per capire quale dei due criteri sta effettivamente causando il rifiuto.
Controllo del comportamento nei trasferimenti di grandi dimensioni
Con file di diversi gigabyte potete verificare che l'indicatore di avanzamento, i tempi massimi e la ripresa dopo un'interruzione funzionino correttamente, senza dover procurarvi dati reali.
Stima dello spazio di archiviazione e della banda
Collocando davvero un file della dimensione prevista, potete misurare in modo concreto il consumo di spazio e il tempo di trasferimento.
Termini legati alla convalida dei file
- Tipo di supporto (MIME)
- Una stringa che indica il genere di un file, scritta ad esempio come
image/png, usata comunemente per decidere se un caricamento è ammesso. - Collaudo dei valori limite
- Un metodo di verifica che controlla il punto esatto di un limite insieme ai valori appena prima e appena dopo, perché è lì che si concentrano più spesso i difetti.
- Riempimento
- Dati privi di significato aggiunti solo per raggiungere la dimensione desiderata. Vengono collocati in aree che il formato consente di ignorare, così il file resta integro.
- GiB e GB
- Un GiB corrisponde a 1.073.741.824 byte, mentre un GB corrisponde a 1.000.000.000 byte. Questa differenza è una causa frequente di interpretazioni discordanti dei limiti di dimensione.
- Scrittura in flusso
- Un metodo che scrive i dati verso la destinazione un po' alla volta, così anche i file molto grandi possono essere generati senza doverli caricare interamente in memoria.
- Valore limite (boundary)
- Il punto esatto in cui un limite passa da accettato a rifiutato: è la zona più utile da collaudare perché rivela con precisione dove scatta il controllo.
Domande frequenti
A proposito — il confine fra un file valido e un file corrotto
Quasi tutti i formati prevedono aree che l'analizzatore può legittimamente saltare: i blocchi sconosciuti del PNG, le scatole libere dell'MP4, gli elementi vuoti del WebM, l'area dei commenti dello ZIP. Erano nate come spazi riservati a future estensioni, che gli analizzatori dell'epoca dovevano ignorare, e riempirle non corrompe il file.
Per i filmati, collocando prima del riempimento un video autentico si ottiene un file realmente riproducibile. Poiché scrivere di proprio pugno la codifica bit per bit di un codec video renderebbe difficile garantirne l'esattezza, si preferisce far registrare alcuni secondi di animazione al codificatore incorporato nel navigatore e accodarvi il riempimento: un accorgimento che concilia il principio di restituire sempre un file certamente valido con il desiderio di un filmato davvero visibile.
È curioso che un archivio ZIP sia progettato in modo da rivelare l'elenco del proprio contenuto leggendone soltanto la parte finale, il cosiddetto indice centrale. Si dice che sia un retaggio dell'epoca dei nastri magnetici, in cui si procedeva a ritroso dalla fine, ed è ancora oggi la ragione per cui da un archivio voluminoso si può estrarre rapidamente un solo file.