Mentre sono un programmatore professionista, non sono mai stato addestrato formalmente in ingegneria del software. Dato che visito spesso qui e SO, ho notato una tendenza a scrivere unit test quando possibile e, man mano che il mio software diventa più complesso e sofisticato, vedo i test automatizzati come una buona idea nell'aiutare il debugging.
Tuttavia, la maggior parte del mio lavoro prevede la scrittura di SQL complessi e l'elaborazione dell'output in qualche modo. Come scriveresti un test per assicurarti che il tuo SQL restituisse i dati corretti, per esempio? Quindi, dire se i dati non erano sotto il tuo controllo (ad es. Quello di un sistema di terze parti), come puoi testare in modo efficiente le tue routine di elaborazione senza dover scrivere a mano risme di dati fittizi?
La migliore soluzione a cui riesco a pensare è quella di visualizzare i dati che, insieme, coprono la maggior parte dei casi. Posso quindi unire quelle viste con il mio SQL per vedere se restituisce i record corretti ed elaborare manualmente le viste per vedere se le mie funzioni, ecc. Stanno facendo quello che dovrebbero. Tuttavia, sembra eccessivo e debole; in particolare la ricerca di dati per testare contro ...