Nella maggior parte dei casi questo non ha senso, un test se i dati sono corretti può finire nel confrontare il file A1 con una copia del file stesso A2. Diciamo che hai bisogno di una nuova versione di A1 perché il formato dei tuoi dati si è evoluto nella versione 2.0 del tuo software, lo avresti modificato in A1_V2, e ora il tuo test ti dice che A2 è diverso da A1_V2 - quindi copia A1_V2 in A2_V2 (o modificarlo fino a quando entrambi i file sono uguali di nuovo). Ma se hai commesso un errore nella prima transizione da A1 a A1_V2, ora hai introdotto lo stesso errore in A2_V2 - e il test non lo impedisce. L'unica forma di garanzia della qualità relativa al contenuto di A1 che funzionerà (specialmente se A1 è parte dei requisiti, come hai scritto), è di lasciare una seconda persona a correggere le bozze A1.
Tuttavia, se A1 è in un formato di dati che può essere controllato per coerenza (ad esempio, un file XML, magari con uno schema), allora ha senso avere un test per A1 che sia coerente con quel formato di file. Naturalmente, probabilmente hai già un test di questo tipo, perché se A1 è già parte di un test automatico di un certo codice di produzione, allora questo codice legge A1. E se la routine di lettura è progettata per essere robusta e sicura da errori, come dovrebbe essere qualsiasi codice di lettura, allora questo tipo di controllo di coerenza e mostrerà un errore è A1 è rotto. Pertanto, nella maggior parte dei casi, ciò significa che non è necessario alcun test extra , in particolare per i dati. Ma attenzione: un tale test non garantisce che il contenuto di A1 sia corretto, ti dà solo un controllo formale.
Non c'è, tuttavia, nessuna regola senza eccezioni. Ci possono essere casi speciali (che mi aspetto essere rari) in cui è possibile verificare i dati specifici dei test per contenere alcuni contenuti, magari in forma non ovvia, per accertarsi che il test funzioni come previsto. Ad esempio, potresti avere un database di test complesso e assicurarti che le modifiche manuali successive di quel database non distruggano il set di dieci casi di test ben progettati e non ovvi contenuti in quel database. Quindi avrebbe senso scrivere un test automatico per verificarlo.
Inoltre, se i tuoi dati sono di per sé una sorta di "codice" (ad esempio, alcuni script o funzioni scritti in una sorta di DSL), allora è ovvio che i test automatici hanno senso qui.
Vorrei menzionare che non fa alcuna differenza se non pensiamo che dati o dati di test debbano essere rilasciati alla produzione come parte del tuo prodotto (poiché tali dati possono sempre essere utilizzati come dati di test).
Riassumendo: nella maggior parte dei casi reali suppongo che non abbia senso, ma più i dati sono complessi e le ridondanze implicite o i vincoli formali dei tuoi dati, più test possono essere una buona idea. Quindi pensa al tuo caso reale e applica un po 'di buon senso - che sicuramente ti aiuterà ;-)