I tester devono guardare il codice sorgente?

8

Quanto è necessario per i tester eseguire test white-box oltre ai test black-box? Come sviluppatore, vedo il valore di avere una persona con una mentalità orientata al QA che passa attraverso il mio codice e cerca punti deboli, ma sembra anche che se un tester non tecnico è abbastanza metodico, possono coprire bene l'applicazione.

I test della scatola bianca possono rivelare casi di test importanti che non sarebbero ovvi guardando solo all'applicazione dal punto di vista dell'utente, ma il testing esclusivamente in black-box potrebbe richiedere meno tempo e aumenta significativamente il numero di persone che sono in grado di facendo il lavoro. Inoltre, lo sviluppatore deve eseguire una quantità non banale di test white box prima che arrivi al tester, vero?

    
posta Mr. Jefferson 21.05.2011 - 00:19
fonte

4 risposte

15

Il test della scatola bianca e della scatola nera sono due abilità diverse: qualcuno con esperienza in una non è necessariamente esperto nell'altra.

Molto di ciò che farà il QA sarà il test della scatola nera - assicurandoti che il sistema funzioni "come pubblicizzato" e, a questo proposito, non hanno bisogno di sapere come funziona il sistema per fare un buon lavoro. Infatti la conoscenza del codice può portarli nelle stesse trappole che catturano lo sviluppatore incauto facendo i propri test. È molto meglio che non abbiano preconcetti su come lo sviluppatore pensa che il sistema dovrebbe funzionare.

Questo non vuol dire che non ci dovrebbe essere il test della scatola bianca - che è (in parte) ciò che è il test dell'unità di sviluppo. Una buona suite di test unitari dovrebbe testare input validi, input non validi e input caso limite. Tuttavia, non penso che sia sempre necessario che il controllo qualità faccia ciò, se non altro per la responsabilità dello sviluppatore.

Tuttavia, come sottolinea SnOfus nei suoi commenti, good può essere estremamente utile.

    
risposta data 21.05.2011 - 00:35
fonte
4

Ho avuto fortuna con il mio team con recensioni del codice del tester. I tester tendono a guardare il codice nello stesso modo in cui guardano le applicazioni - si chiedono "in che modo questo codice non funziona" e spesso trovano i problemi che i programmatori non trovano durante la revisione del codice.

Per una risposta più lunga, ho scritto questo documento .

    
risposta data 21.05.2011 - 02:18
fonte
3

Assolutamente

Come ho detto in risposta a @ChrisF: il QA è lì per assicurarti che il codice di produzione funzioni sempre . Senza essere esaustivi, questo significa sapere quali piattaforme sono previste, quale sarà lo stato della macchina distribuita, quali sono i requisiti di prestazione e essere certi che ogni linea avrà successo.

IME, un buon team di QA scriverà, leggerà e revisionerà più codice di quello che fa il team di sviluppo.

Se i team di caratteristiche e i (principali) team di bugfix non hanno uno sviluppatore di QA che lavora per progettare l'API, il flusso di lavoro, la sicurezza e tutti gli altri aspetti della funzione / correzione, allora ti stai davvero perdendo su un punto di forza che il tuo dipartimento QA può apportare al tuo prodotto mentre è in fase di sviluppo .

    
risposta data 21.05.2011 - 02:40
fonte
1

Non è affatto necessario. Piuttosto che avere una persona di mentalità orientata al QA passa attraverso il tuo codice, ti consiglio di far passare uno sviluppatore dal tuo codice. Inoltre, se stai scrivendo dei test unitari mentre sviluppi il tuo codice, avere una persona con la mentalità del QA che ti passa attraverso il tuo codice non è il miglior uso del tempo del QA.

La persona di QA non dovrebbe essere focalizzata su COME è stato scritto il codice, ma cosa fa il codice.

La persona addetta al controllo qualità dovrebbe concentrarsi su test funzionali e sfruttare i requisiti per eseguire tali test. Alla fine, i test unitari e un tester funzionale QA che eseguono test della scatola nera saranno il miglior uso di tutti i tempi.

    
risposta data 21.05.2011 - 01:19
fonte

Leggi altre domande sui tag