Come testare funzionalità che crea solo input per una dipendenza da middleware di grandi dimensioni

-1

Sono un nuovo lead developer che ha iniziato da poco in una nuova azienda, mi è stato assegnato un progetto che sta tentando di consolidare funzionalità da molte applicazioni diverse già in uso diffuso nel settore.

Il problema è che lo sviluppo del software / la gestione del progetto sono nel Medioevo. Mi sono impegnato a cercare di migliorare le cose, iniziando con build automatizzati, che sono quasi di installazione.

La prossima cosa che vorrei aggiungere è il test automatico. Il problema che sto affrontando è che mentre il progetto è tecnicamente "nuovo" per l'azienda, il codice che è già stato scritto ha molte dipendenze ed è considerato (non da me) non verificabile.

Ho una certa esperienza nell'usare il framework fakes per scrivere test di unità per il codice con molte dipendenze e penso che potremmo usarlo per superare i problemi che affrontiamo, tuttavia il progetto si sta costruendo attorno a un grosso pezzo di media ware che contiene la stragrande maggioranza della logica aziendale e controlla l'accesso ai dati. In molti casi, stiamo solo producendo input per questo sistema.

Quindi sono confuso su ciò che dovrebbe essere effettivamente testato in questo scenario o anche su come potrebbe essere fatto. È una dipendenza molto grande che IMO è troppo grande per simulare o falsificare, quindi non riesco a vedere un modo per convalidare l'input creato a quello che sarebbe un output valido.

    
posta user1450877 02.05.2017 - 10:54
fonte

2 risposte

0

A large piece of middle-ware that contains the vast majority of the business logic and controls the data access

Se conosci la fonte dei dati, puoi iniziare da lì. Se fondamentalmente si eseguono operazioni CRUD dietro le quinte, è possibile testarle eseguendo una query sul database, eseguendo i test, quindi interrogando nuovamente il database per confrontare i risultati prima di eseguire i test sui risultati dopo aver eseguito i test.

Riferimenti

risposta data 17.08.2018 - 01:14
fonte
0

Che esattamente vuoi testare?

How to test functionality that only creates input to a large middle-ware dependency

Se conosci il comportamento del middleware, potresti codificare il comportamento in unit test:

  • Se inserisco questi dati, sarà accettato.

  • Se inserisco quei dati, il middleware si spegnerà su di esso

Questo è fondamentalmente testing : valutare se i risultati corrispondono alle aspettative.

Se non conosci il comportamento del middleware, studialo:

  • Guarda cosa succede tipicamente sul filo e prendi appunti su cosa succede

  • Modifica i dati, inseriscili nel middleware e prendi nota di ciò che accade

Crea ipotesi e prova a falsificarle .

Questo è il nocciolo del metodo scientifico: sperimentazione .

Ogni risultato può essere trasformato in test per la tua applicazione. E passo dopo passo migliori.

Inoltre: si raccomanda di leggere il libro @Doc Brown menzionato.

    
risposta data 17.08.2018 - 09:40
fonte

Leggi altre domande sui tag