Come posso testare automaticamente un foglio di calcolo grande e complesso?

2

Quindi, ho ereditato uno di quei fogli di calcolo "Specialità dell'ingegnere" - il tipo sviluppato da Mort the Engineer, con molti VBA e WTF pelosi, calcoli complicati e nessuna documentazione.

Fortunatamente, la maggior parte degli input e degli output primari si trovano su una singola pagina. Forse non abbastanza per una copertura completa del test, ma un inizio.

Mi piacerebbe creare una struttura di test di regressione rapida e povera per Excel, ma non ho ancora capito il metodo migliore.

Il mio istinto mi dice di creare un codice che:

  1. Ha una macro che "salva" i valori del foglio di calcolo I / O "principale" su un'altra cartella di lavoro, creando fondamentalmente una copia di solo valore con nome utente del foglio di input principale. Questa cartella di lavoro "scenario" avrebbe, come prima scheda, un elenco di tutti i fogli salvati, con i metadati.

  2. Ha una macro separata che "carica" un determinato set di input da detti fogli, ma non sovrascrive le celle utilizzate per l'output, le intestazioni, le istruzioni, ecc.

  3. Ha una terza macro che viene eseguita dalla tabella di riepilogo dello scenario. A sua volta, carica gli input di ogni scenario nella cartella di lavoro principale, confronta ogni output salvato con l'output corrente e registra se tutto corrisponde o meno. Dovrebbe essere eseguito automaticamente fino a quando non ha raggiunto un errore di corrispondenza, quindi interrompere così l'utente può andare a guardare le differenze (che sarebbero evidenziate).

I due avvertimenti: (1) questo richiede la sincronizzazione manuale del foglio master e dei fogli di scenario quando il design del master cambia abbastanza da riposizionare / aggiungere / rimuovere input o output, e (2) questo non scala bene se ogni scenario include input / output per testare una moltitudine di cartelle di lavoro. Salvare / caricare intervalli nominati per ogni cella I / O piuttosto che interi fogli può aiutare in entrambe le situazioni, ma ha i suoi svantaggi.

Qualcuno ha escogitato un altro modo nuovo di sottoporre efficacemente i fogli di calcolo arbitrari ai test di regressione?

    
posta richardtallent 11.01.2014 - 10:59
fonte

1 risposta

2

To (1): il layout del tuo foglio di scenario dovrebbe essere indipendente dal layout del foglio master. Le routine di salvataggio e caricamento dovrebbero eseguire la mappatura tra di esse. Pertanto, quando le aree di immissione nel foglio principale cambiano, non è necessario modificare tutti i fogli degli scenari, è sufficiente modificare il salvataggio e caricare le routine.

Lo stesso può essere ottenuto per le aree di output lasciando che la mappa di comparazione tra i fogli master e i "valori attesi".

Potrebbe essere anche una buona idea aggiungere alcuni controlli di sicurezza in particolare alla tua routine di "caricamento" che si assicura che nulla nel tuo foglio master venga accidentalmente sovrascritto quando copia i dati dello scenario nel master e che tutti i dati siano posizionati nel celle corrette.

(2): Devo ammettere che non capisco esattamente quale problema si vede qui, ma immagino che l'esecuzione di tali test sarà automaticamente in scala molto meglio rispetto a fare i test manualmente. Quindi, prima è meglio testare le tue prestazioni e ottimizzare quando vedi problemi di prestazioni reali, non il contrario.

    
risposta data 11.01.2014 - 14:53
fonte

Leggi altre domande sui tag