test del software e approccio alla progettazione orientata agli oggetti

1

Sto leggendo un libro "Black-Box Testing di Boris Beizer". In questo libro, c'è una frase come segue,

Object-oriented programming and improved operating systems promise to eliminate many currently common inter-component interaction bugs.

Comprendo il concetto di progettazione orientato agli oggetti (come nel linguaggio di programmazione Java), in cui tutto è correlato agli oggetti, limitato alle classi e alla relazione consolidata tra le classi. Ma, non sono in grado di giustificare la dichiarazione di cui sopra in relazione al test del software.

In che modo la progettazione orientata agli oggetti può eliminare i bug? Per favore aiutami a capire la dichiarazione precedente.

    
posta threeA's 07.04.2017 - 13:51
fonte

2 risposte

1

Una delle principali fonti di bug è rappresentata dalle variabili del programma che entrano in uno stato non valido. Questo potrebbe essere: -

  • Dove una variabile non è inizializzata o è fuori intervallo.
  • Dove due variabili strettamente correlate sono fuori fase tra loro (ad esempio una è modificata, ma l'altra non lo è).

In un programma procedurale tradizionale con variabili globali, è difficile garantire che tutte le variabili siano sempre valide. L'eliminazione delle variabili globali tende a far passare le variabili di stato dalla procedura alla procedura alla procedura, che comunque non aiuta.

Nei programmi orientati agli oggetti, le variabili di stato sono incapsulate all'interno degli oggetti. Lo stato può essere modificato solo dai metodi propri dell'oggetto e l'oggetto può garantire che tutte le variabili di stato correlate vengano tutte aggiornate insieme.

È possibile scrivere una serie di test unitari per garantire che i metodi di ciascun oggetto lascino sempre quell'oggetto in uno stato valido.

    
risposta data 07.06.2017 - 13:29
fonte
0
    I compilatori
  • riducono "errori di sintassi-a-runtime",
  • L'incapsulamento
  • può ridurre i bug di interazione tra i componenti .
  • Ci sono ancora molti altri tipi di bug che sono più dominanti oggi.

Traduci la frase sopra

Object-oriented programming and improved operating systems 
promise to eliminate many currently common inter-component 
interaction bugs.

a

 Objectorientation reduce the need for global variables which can cause many errors
    
risposta data 08.04.2017 - 10:42
fonte

Leggi altre domande sui tag