Mentre sono un programmatore professionista, non sono mai stato formalmente formato nell'ingegneria del software. Poiché visito spesso qui e SO, ho notato una tendenza a scrivere test delle unità quando possibile e, poiché il mio software diventa più complesso e sofisticato, ritengo che i test automatici siano una buona idea per facilitare il debugging.
Tuttavia, la maggior parte del mio lavoro riguarda la scrittura di SQL complessi e quindi l'elaborazione dell'output in qualche modo. Come scriveresti un test per garantire che il tuo SQL restituisse i dati corretti, ad esempio? Quindi, se i dati non fossero sotto il tuo controllo (ad es. Quello di un sistema di terze parti), come puoi testare in modo efficiente le routine di elaborazione senza dover scrivere risme di dati fittizi?
La soluzione migliore a cui riesco a pensare è quella di visualizzare i dati che, insieme, coprono la maggior parte dei casi. Posso quindi unirmi a queste visualizzazioni con il mio SQL per vedere se restituisce i record corretti e elaborare manualmente le viste per vedere se le mie funzioni, ecc. Stanno facendo ciò che dovrebbero. Tuttavia, sembra eccessivo e flakey; in particolare trovando dati da testare contro ...