E 'più vantaggioso scrivere un programma per testare il tuo codice (es. un client) o semplicemente usare la parte principale del tuo programma?

4

Per esempio se avessi un programma con un sacco di metodi.

        public class Dog{


            public boolean ishappy{..}

            public int weight{...}


        public static void main{
        Dog Max = new Dog
        Max.ishappy}}

È meglio usare la parte principale del codice per testare, o scrivere un programma completamente separato, che sarebbe un client della classe canina, per testare il mio codice?

    
posta ironcyclone 05.04.2012 - 22:50
fonte

3 risposte

12

Idealmente, dovresti utilizzare un framework di test . Un framework di test agirà come un client separato, ma gestirà automaticamente molte cose per te.

In genere si desidera ridurre al minimo la quantità di codice (in particolare la logica) coinvolta nel codice di test, in quanto si aumenta la possibilità che il test abbia un bug. Le strutture di prova aiutano a ridurre il codice della piastra della caldaia necessario per eseguire i test da terra.

    
risposta data 05.04.2012 - 22:55
fonte
3

Preferisco sempre usare un programma separato per testare. In .NET, c'è il concetto di progetti di test che fornisce un framework per i test unitari, e in Perl ci sono dei moduli che forniscono lo stesso tipo di framework per i test. Quasi tutte le lingue avranno qualcosa di simile.

Mantenere separato il codice di prova offre una migliore distinzione tra il codice effettivo e i test. Ad esempio, quando si distribuisce il codice in produzione, cosa succede se si dimentica di rimuovere un test? Quando rimuovi i test, cosa succede quando vuoi eseguirli di nuovo? Un programma / progetto di test separato ovvierà molte di queste preoccupazioni.

    
risposta data 05.04.2012 - 22:57
fonte
2

In qualsiasi altra cosa che non sia una banale applicazione per i compiti a casa, i test robusti sono fondamentali per arrivare ovunque vicino a un'applicazione corretta.

Ecco un articolo da una prospettiva .NET che descrive un framework di test che aiuta a garantire che la tua applicazione si comporta come ti aspetti.

Cerca anche altre risposte qui riguardo ai test.

Come collaudi il tuo software?

    
risposta data 05.04.2012 - 22:58
fonte

Leggi altre domande sui tag