test: quali livelli di codice dovrei mirare a testare?

0

Dire che ho questo codice:

Design
{
    public function load()
    {
        $this->loadProduct();
        $this->loadService();
        ...
    }

    public function loadProduct()
    {
        try
        {
            $this->product = new Product();
            $this->product->spec = $this->product->loadSpecs($this->a, $this->b, $this->c);
        }
        catch (\BadFunctionCallException $e)
        {
            $this->error = true;
            $this->emsg = $e->getMessage();
        }
    }
}

Domande:

  1. controllo solo loadProduct ?
  2. Verifico solo Product class
  3. Sposto il codice di loadProduct in load (rimuovendo quindi la funzione loadProduct dall'esistenza e testando la funzione load più grande (come parte della classe Design )? Dire che potrei voler fare questo come parte della pulizia / riorganizzazione del codice legacy.
  4. Qualcos'altro?
posta Dennis 02.04.2014 - 17:43
fonte

1 risposta

2

Dovresti testare sufficientemente per fornire una copertura del codice adeguata. Sufficientemente (e adeguato) variano il rischio associato a un problema non rilevato nel codice. Il costo per risolvere un problema dopo lo sviluppo (presupponendo un SDLC classico) è significativamente più alto del costo da correggere durante lo sviluppo, ma il rischio potrebbe essere minimo. Quindi, questo è un altro modo per dire che dipende dal tuo contesto. Un altro punto da ricordare è che i test non "dimostrano" la correttezza, né "dimostrano" che il software sia privo di errori - tutto ciò che può fare è fornire informazioni. Per altro, consiglio il libro "Software perfetto: e altre illusioni sui test" di G. Weinberg.

    
risposta data 02.04.2014 - 19:54
fonte

Leggi altre domande sui tag