Considerando i problemi del software di test durante la progettazione del software [chiuso]

-2

Quando progettiamo il software, dobbiamo considerare quanto questo codice potrebbe essere testabile? per esempio, se abbiamo usato X tecnologia / Classe / Interfaccia invece di Y, basandomi su quella X può essere testato più facilmente di Y, è un buon design?

Caso d'uso: ho affrontato un problema durante la scrittura del test di integrazione del nostro software basato sulla tecnologia Spring Boot, intendiamo testare le operazioni del database inserendo i dati di test nel database e test il software basato su di essi, i problemi era che non possiamo modificare i dati in quel database, quindi ogni transazione deve essere ripristinata e JpaRepository non può leggere le transazioni senza commit, quindi la soluzione era JpaDialect . Supponendo che non ci siano "ovvi" inconvenienti possono derivare dall'uso di JpaDialect .

Quanto questo sarà corretto se adottiamo JpaDialect piuttosto che JpaRespository perché il primo è più facile da test rispetto al secondo?

    
posta hbak 18.02.2016 - 18:53
fonte

1 risposta

0

La testabilità di un sistema è qualcosa che dovrebbe essere considerato durante l'architettura e il design, ma è solo un aspetto del sistema. Probabilmente considererai anche le prestazioni, la sicurezza, l'usabilità (dal punto di vista sia degli utenti che degli sviluppatori), la disponibilità e altri attributi di qualità.

Quando progetti il tuo software, dovresti fare un certo sforzo per semplificare il controllo e l'osservazione dello stato del sistema e per limitare la complessità. Entrambi portano a sistemi più testabili. Tuttavia, è necessario bilanciare la testabilità con gli altri attributi del sistema.

Non penso che nessuno qui possa dirti se dovresti usare JpaDialect o JpaRepository senza una comprensione molto più profonda del tuo sistema e dei tuoi obiettivi. È una chiamata molto soggettiva per dire quale design è migliore senza limitare le tue soluzioni. Ma è qualcosa che dovresti prendere in considerazione e il team di sviluppo dovrebbe parlare.

    
risposta data 18.02.2016 - 19:36
fonte

Leggi altre domande sui tag