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:
-
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.
-
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.
-
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?