"Comment all code and start by uncommenting a line at a time. Iteratively running the code"
Lo faccio anche oggi. Beh qualcosa di simile. Esprimo il mio commento su tutto il codice. Correre. Decifra la metà del codice. Correre. Scopri da dove proviene la metà degli affari divertenti. Taglia quello a metà. Rince e ripeti. Lo chiamo facendo una ricerca binaria dai bug. È un po 'più veloce di una linea alla volta. È molto utile quando ti trovi in lunghi procedimenti. Forse smettere di scrivere quelli.
Begin to Think that the issue that I am expecting is not the problem. Something else is!
Quando il debugging è sempre disposto a imparare qualcosa. Mi sorprendo a perdere tempo a insistere affinché l'universo funzioni nel modo in cui penso che dovrebbe.
It's time to talk to someone.
A volte è solo il momento di parlare. Inizia con anatra di gomma . Sono bravi ascoltatori.
It's probably a data issue.
Non mi fido mai di nulla funziona finché non ho un modo per visualizzare i dati. Perché pensi che tutti siano così ossessionati dal vedere "ciao mondo"?
integration testing
Of recent my experience has been when I started integration testing as a part of a new development. The test fixture setup was the thing taking most time than actual test case or the development itself. It was like I spent more than 2 days fighting with test setup for a single test class.
Would really help to know how can I reduce the stress involved in such situations. Or have you faced such situations? Or any other thoughts from the Masters ? Does facing this issue frequently suggest inefficiency ?
I test di integrazione dovrebbero essere automatizzati. Periodo.
Questo è tristemente seguito raramente. Per questo motivo è senza dubbio l'esperienza più misera che ho avuto in tutto l'IT (nemmeno lo sviluppo).
I test di integrazione richiedono ripetibilità automatica. Raggiungere questo può metterti alla prova dal momento che a volte il tuo programma di programmazione non può farlo. Potrebbe essere necessario imparare effettivamente come gettare il peso nel tuo sistema operativo.
In realtà ho imparato a scrivere iDSL perché ero stufo dei test di integrazione manuale. Ho scritto un mini linguaggio che mi consente di configurare tutto ciò di cui avevo bisogno per eseguire il mio codice esattamente come sarebbe stato nella produzione. Quando ho finito potevo facilmente abbandonare le mie nuove cose in alcune espressioni che hanno dato vita al sistema. Certo, avrei potuto seguire la sceneggiatura, avrei potuto farlo a mano. Ma dannazione, io sono un programmatore, non un operatore. Ho fatto questo a un sistema che non è stato nemmeno progettato per questo tipo di test.
Sinceramente quello che avevo era un test end-to-end. Questo non ha toccato la gui e stava accadendo nel mio ambiente di sviluppo. Ma c'erano così tanti bug di configurazione perché il test manuale era un incubo che dovevo fare. L'allestimento ha richiesto tempo. Ma l'uomo ha pagato.
Ora puoi ottenere strumenti di terze parti che si vantano di poter fare questa merda per te, ma nessuno conosce il tuo sistema meglio di te. Se stai pensando che ci deve essere un modo migliore, c'è. Devi solo preoccuparti di farlo.