top 25 functional testing interview questions
Domande e risposte al colloquio sui test funzionali più frequenti:
Come definisce il nome stesso, il test funzionale è il processo di test di un'applicazione rispetto alle specifiche del documento dei requisiti.
Il test funzionale può essere eseguito manualmente o tramite automazione, ma ogni processo include il test dell'applicazione fornendo una serie di input e determinando o verificando il risultato / output confrontando il risultato effettivo con i risultati attesi.
Il test funzionale ha varie fasi che devono essere considerate durante il test. In questo articolo, vedremo più domande e risposte dell'intervista che ti aiuteranno a prepararti bene.
Domande di intervista sui test funzionali più popolari
D # 1) Cosa intendi con il termine 'Test funzionale'?
Risposta: Una tecnica di test della scatola nera, in cui viene testata la funzionalità di un'applicazione per generare l'output desiderato fornendo determinati input, è chiamata 'Test funzionale'.
Il ruolo del test funzionale non è solo quello di convalidare il comportamento dell'applicazione secondo le specifiche del documento dei requisiti, ma anche di verificare se l'applicazione è pronta per essere rilasciata nell'ambiente live o meno.
Di seguito sono riportate alcune tecniche di test funzionale comunemente utilizzate:
- Test di unità
- Test del fumo
- Test d'integrazione
- Test di sistema
- Test di usabilità
- Test di regressione
- Test di accettazione dell'utente
D # 2) Quali sono i passaggi importanti trattati nel test funzionale?
Risposta: Di seguito sono riportati i passaggi che dovrebbero essere coperti come parte del test funzionale:
- Comprendere le specifiche del documento Requisito e chiarire dubbi e domande sotto forma di commenti di revisione.
- Scrivere i casi di test rispetto alla specifica dei requisiti tenendo presente tutti gli scenari che dovrebbero essere considerati per tutti i casi.
- Identificazione degli input di test e richiesta dei dati di test necessari per eseguire i casi di test e per verificare la funzionalità dell'applicazione.
- Determinare i risultati effettivi in base ai valori di input da testare.
- Eseguire i casi di test che determinano se il comportamento dell'applicazione è come previsto o se si è verificato un difetto.
- Confronta il risultato effettivo e il risultato calcolato per scoprire il risultato effettivo.
D # 3) Spiegare la differenza tra test funzionali e test non funzionali.
Risposta: La differenza tra test funzionali e test non funzionali può essere spiegata come di seguito:
Test funzionali | Test non funzionali |
---|---|
Il test funzionale viene eseguito per determinare il comportamento del sistema secondo i requisiti funzionali del cliente. | Il test non funzionale è il processo per determinare le prestazioni del sistema secondo le aspettative del cliente |
Il test funzionale viene eseguito prima con l'aiuto di strumenti di test manuali e di automazione. | Il test non funzionale viene eseguito dopo il test funzionale con gli strumenti efficaci richiesti. |
È facile eseguire test manuali poiché i requisiti del cliente sono l'input nel test funzionale. | È difficile eseguire test manuali poiché scalabilità, affidabilità, velocità e altri parametri di prestazione sono inseriti nei test non funzionali. |
I test funzionali sono dei seguenti tipi: • Test unitario • Test del fumo • Test di sanità mentale • Test d'integrazione • Test di accettazione dell'utente • Test di regressione | I test non funzionali sono dei seguenti tipi: • Test delle prestazioni • Test di carico, stress, volume • Test di sicurezza • Test di compatibilità |
D # 4) In che modo 'Build' è diverso da 'Release'?
Risposta: Build è un file eseguibile che fa riferimento a quella parte di un'applicazione che viene consegnata a un tester per testare la funzionalità implementata dell'applicazione insieme ad alcune correzioni di bug. La build può essere rifiutata dal team di test se non supera l'elenco di controllo critico che contiene le principali funzionalità dell'applicazione.
Possono esserci più build nel ciclo di test di un'applicazione.
pubblicazione si riferisce all'applicazione software che non è più in fase di test e dopo il completamento del test e dello sviluppo, l'applicazione viene consegnata al cliente. A una versione sono associate diverse build.
D # 5) Spiega il ciclo dei bug.
Risposta: Si dice che un bug sia un errore indesiderato, un difetto, un errore, ecc. Che si è verificato all'interno dell'applicazione e che impedisce di fornire l'output desiderato. Quando viene rilevato un difetto o un bug in un'applicazione durante il test, quindi dalla registrazione di un difetto fino alla sua risoluzione, un bug si muove attraverso un ciclo di vita definito noto come Bug Lifecycle.
La figura seguente ti darà un'idea del ciclo di vita dei bug:
(Immagine fonte )
L'intero processo procede come e quando viene rilevato un problema o un bug. Viene segnalato / registrato nello strumento di tracciamento dei bug seguendo un formato considerevole. Questi bug vengono assegnati allo sviluppatore e il suo stato è 'Aperto'. Lo sviluppatore può ora rivedere il bug, riprodurlo alla sua fine e iniziare a lavorarci.
Se il bug viene corretto, lo sviluppatore cambia il suo stato in 'Risolto' oppure lo stato può essere spostato in 'necessita di ulteriori informazioni', 'non risolverà', 'non può riprodurre' ecc., In altri casi. Il controllo qualità esegue quindi la regressione, ovvero verifica nuovamente i bug con un'azione specifica e risponde di conseguenza.
Se il problema / bug ora si comporta come previsto, il suo stato viene modificato in Verificato / Chiuso altrimenti Riapri.
D # 6) Elenca alcuni stati di bug insieme alla sua descrizione.
testare domande e risposte dell'intervista per esperti
Risposta: Di seguito sono elencati alcuni stati di bug insieme alle loro descrizioni:
- Nuovo: Quando il difetto o il bug viene registrato per la prima volta, viene indicato come Nuovo.
- Assegnato: Dopo che il tester ha registrato un bug, il suo bug viene esaminato dal responsabile del tester e quindi assegnato al team di sviluppatori corrispondente.
- Aperto: Il tester registra un bug nello stato Open e rimane nello stato aperto fino a quando lo sviluppatore non ha eseguito alcune attività su quel bug.
- Risolto / Risolto: Quando uno sviluppatore ha risolto il bug, ovvero ora l'applicazione sta producendo l'output desiderato per un particolare problema, lo sviluppatore cambia il proprio stato in Risolto / Risolto.
- Verificato / Chiuso: Quando uno sviluppatore ha modificato lo stato in risolto / risolto, il tester ora verifica il problema alla fine e, se è stato risolto, modifica lo stato del bug in 'Verificato / Chiudi'.
- Riaprire: Se un tester è in grado di riprodurre nuovamente il bug, ovvero il bug esiste ancora anche dopo la correzione da parte dello sviluppatore, lo stato viene contrassegnato come Riaperto.
- Non è un bug / non valido: Un bug può essere contrassegnato come non valido o non come bug dallo sviluppatore quando il problema segnalato è conforme alla funzionalità ma viene registrato a causa di un'errata interpretazione.
- Differito: Di solito quando il bug ha una priorità minima per il rilascio e se manca il tempo, in quel caso, quei bug con priorità minima vengono rimandati al rilascio successivo.
- Impossibile riprodurre: Se lo sviluppatore non è in grado di riprodurre il bug alla fine, seguendo i passaggi menzionati nel problema.
D # 7) Cosa è noto come test basato sui dati?
Risposta: Il test basato sui dati è la metodologia in cui una serie di script di test contenenti casi di test viene eseguita ripetutamente utilizzando origini dati come foglio di calcolo Excel, file XML, file CSV, database SQL per i valori di input e l'output effettivo viene confrontato con quello previsto nella verifica processi.
Per esempio, uno studio di test viene utilizzato per i test basati sui dati.
Alcuni vantaggi del test basato sui dati sono:
- Riusabilità.
- Ripetibilità.
- Separazione dei dati di test dalla logica di test.
- Il numero di casi di test è ridotto.
D # 8) Quali sono i punti importanti che dovrebbero essere considerati durante la scrittura di casi di test?
Risposta: Si dice che la scrittura di un test case sia l'attività più importante del processo di esecuzione del test che richiede capacità di scrittura e una conoscenza approfondita dell'applicazione per rendere i test case efficaci e riutilizzabili.
Alcuni punti importanti che dovrebbero essere considerati durante la scrittura di casi di test includono:
- Ci dovrebbe essere una chiara comprensione dei requisiti del cliente prima di iniziare a scrivere i casi di test. Non si deve dare per scontato e ogni dubbio sui requisiti deve essere chiarito.
- Ogni requisito dovrebbe essere incluso sotto forma di casi di test e nulla dovrebbe essere tralasciato. Di solito la matrice di tracciabilità viene mantenuta per mantenere un controllo sull'implementazione di ogni requisito e il completamento del test.
- Secondo le specifiche del documento dei requisiti, ogni requisito funzionale e non funzionale, inclusa l'interfaccia UI, dovrebbe essere coperto dalla compatibilità.
- I casi di test dovrebbero essere controllati di volta in volta per evitare ripetizioni o ridondanze.
- La priorità è un fattore importante che dovrebbe essere impostato per i casi di test durante la scrittura. Questa priorità aiuta il tester a testare l'applicazione prima con i casi di test ad alta priorità che includono funzionalità di base, poi i casi di test a priorità media e successivamente a bassa priorità.
- Per una particolare versione, i casi di test possono anche essere costruiti in modo Sprint in modo che il tester, così come lo sviluppatore, possano analizzare la qualità del prodotto in base all'esecuzione del caso di test.
- La struttura dei casi di test dovrebbe essere facilmente comprensibile e deve essere in un linguaggio semplice. I valori dei dati di input per i casi di test dovrebbero essere validi così come in un ampio intervallo.
D # 9) Che cosa sono i test di automazione?
Risposta: Il test di automazione è una metodologia di test in cui uno strumento di automazione viene utilizzato per eseguire la suite di casi di test al fine di aumentare la copertura dei test e la velocità di esecuzione dei test. I test di automazione non richiedono alcun intervento umano in quanto eseguono test predefiniti ed è in grado di riportare e confrontare i risultati con le precedenti esecuzioni di test.
Ripetibilità, facilità d'uso, accuratezza e maggiore coerenza sono alcuni dei vantaggi dei test di automazione.
Di seguito sono elencati alcuni strumenti di test dell'automazione:
- Selenio
- Tellurio
- acqua
- SAPONE
D # 10) Spiega il termine Stress Testing e Load test.
Risposta:
Stress Testing è una forma di test delle prestazioni in cui l'applicazione è destinata a subire uno sforzo o uno stress, ovvero l'esecuzione dell'applicazione al di sopra della soglia dell'interruzione per determinare il punto in cui l'applicazione si blocca. Questa condizione di solito si verifica quando ci sono troppi utenti e troppi dati.
Lo stress test verifica anche il ripristino dell'applicazione quando il carico di lavoro viene ridotto.
Test di carico è una forma di test delle prestazioni in cui l'applicazione viene eseguita al di sopra di vari livelli di carico per monitorare le prestazioni di picco del server, il tempo di risposta, il throughput del server, ecc. .
D # 11) Cosa intendi per test di volume?
Risposta: Il test del volume è una forma di test delle prestazioni che determina i livelli di prestazioni del throughput del server e il tempo di risposta quando gli utenti simultanei, così come il grande carico di dati dal database, vengono inseriti nel sistema / applicazione sotto test.
D # 12) Quali sono le diverse tecniche di test utilizzate nei test funzionali?
Risposta: Esistono due diverse tecniche di test utilizzate nei test funzionali.
Possono essere definiti come di seguito:
- Test basato sui requisiti: Questa forma di test funzionale viene eseguita dando priorità ai requisiti sulla base di criteri di rischio. Ciò garantisce anche che tutti i percorsi di test critici siano stati inclusi nel processo di test.
- Test basati sui processi aziendali: Questa forma di test funzionale viene eseguita dalla prospettiva del processo aziendale. Gli scenari includono la conoscenza dei processi aziendali per l'esecuzione dei test.
D # 13) Cosa si intende per test esplorativo? Quando viene eseguita?
Risposta: Test esplorativo significa testare o esplorare l'applicazione senza seguire alcuna pianificazione o procedura. Durante l'esecuzione di test esplorativi, i tester non seguono alcun modello e usano il loro pensiero fuori dagli schemi e idee diverse per vedere come funziona l'applicazione.
Seguire questo processo copre anche la parte più piccola dell'applicazione e aiuta a trovare più problemi / bug rispetto al normale processo di test del caso di test.
Il test esplorativo viene solitamente eseguito nei casi in cui:
- C'è un tester esperto nel team di test che può utilizzare la propria esperienza di test per applicare tutti i migliori scenari possibili.
- Tutti i percorsi critici sono stati coperti e i principali casi di test sono preparati secondo le specifiche dei requisiti che sono state eseguite.
- C'è un'applicazione critica e nessun caso possibile può essere perso in ogni caso.
- Il nuovo tester è entrato nel team, esplorare l'applicazione li aiuterà a capire meglio così come seguiranno la propria mente durante l'esecuzione di qualsiasi scenario piuttosto che seguire il percorso menzionato nel documento dei requisiti.
D # 14) Per qualsiasi applicazione Web, quali sono le possibili funzionalità di accesso che dovrebbero essere testate?
Risposta: Di seguito sono elencati i possibili scenari che possono essere eseguiti per testare completamente la funzionalità di accesso di qualsiasi applicazione:
- Controllare i campi di input, ad esempio nome utente e password, con valori validi e non validi.
- Prova a inserire un ID email valido con una password errata e inserisci anche un indirizzo email non valido e una password valida. Verificare che venga visualizzato il messaggio di errore corretto.
- Inserisci credenziali valide e accedi all'applicazione. Chiudi e riapri il browser per verificare se sei ancora loggato.
- Accedere all'applicazione dopo aver effettuato l'accesso, quindi tornare nuovamente alla pagina di accesso per verificare se all'utente viene chiesto di nuovo di accedere o meno.
- Accedi da un browser e apri l'applicazione da un altro browser per verificare se hai effettuato l'accesso anche a un altro browser o meno.
- Modificare la password dopo aver effettuato l'accesso all'applicazione e quindi provare ad accedere con la vecchia password.
Ci sono anche pochi altri possibili scenari che possono essere testati.
D # 15) Spiegare i test di accessibilità e la loro importanza nello scenario attuale.
Risposta: Il test di accessibilità è una forma di test di usabilità in cui viene eseguito il test per garantire che l'applicazione possa essere facilmente gestita da persone con disabilità come udito, daltonismo, scarsa visibilità ecc. Nello scenario odierno, il web ha acquisito il posto principale nella nostra vita in sotto forma di siti di e-commerce, e-learning, pagamenti elettronici, ecc.
Quindi, per crescere meglio nella vita, tutti dovrebbero essere in grado di far parte della tecnologia, specialmente le persone con qualche disabilità.
Di seguito sono elencati alcuni tipi di software che aiutano e assistono le persone con disabilità nell'uso della tecnologia:
- Software di riconoscimento vocale
- Software di lettura dello schermo
- Software di ingrandimento dello schermo
- Tastiera speciale
D # 16) Che cos'è il test Adhoc?
Risposta: Il test ad hoc, generalmente noto come test casuale, è una forma di test che non segue alcun caso di test o requisito dell'applicazione. Il test ad hoc è fondamentalmente un'attività non pianificata in cui qualsiasi parte dell'applicazione viene controllata casualmente per trovare difetti.
In questi casi, i difetti riscontrati sono molto difficili da riprodurre poiché non vengono seguiti casi di test pianificati. Il test ad hoc viene solitamente eseguito quando c'è un tempo limitato per eseguire test elaborativi.
D # 17) Che cos'è il partizionamento di equivalenza?
Risposta: Il partizionamento di equivalenza noto anche come partizionamento di classi di equivalenza è una forma di test black-box in cui i dati di input vengono suddivisi in classi di dati. Questo processo viene eseguito per ridurre il numero di casi di test, ma coprendo comunque il requisito massimo.
La tecnica di partizionamento dell'equivalenza viene applicata in cui i valori dei dati di input possono essere suddivisi in intervalli. L'intervallo dei valori di input è definito in modo tale che solo una condizione da ciascuna partizione dell'intervallo deve essere testata assumendo che tutte le altre condizioni della stessa partizione si comportino allo stesso modo per il software.
Per esempio: Per identificare il tasso di interesse in base al saldo nel conto, possiamo identificare l'intervallo dell'importo del saldo nel conto che guadagna un diverso tasso di interesse.
D # 18) Spiegare l'analisi del valore limite.
Risposta: Il metodo di analisi del valore limite controlla i valori limite delle partizioni della classe di equivalenza. L'analisi del valore limite è fondamentalmente una tecnica di test che identifica gli errori ai confini piuttosto che all'interno dei valori dell'intervallo.
Per esempio , Un campo di input può consentire un minimo di 8 caratteri e un massimo di 12 caratteri, quindi 8-12 viene considerato come intervallo valido e 13 come intervallo non valido. Di conseguenza, i casi di test vengono scritti per un valore di partizione valido, un valore limite esatto e un valore di partizione non valido.
D # 19) Spiegare la differenza tra gravità e priorità.
Risposta: Gravità del difetto è definito dal livello o dal grado di impatto del difetto sull'applicazione in prova. Maggiore è la gravità del difetto, maggiore è l'impatto sull'applicazione.
qual è la chiave di sicurezza per la rete wireless
Di seguito sono riportate le 4 classi in cui viene classificata la gravità di un difetto:
- Critico
- Maggiore
- medio
- Basso
Priorità dei difetti definisce l'ordine in cui il difetto deve essere risolto per primo, ovvero maggiore è la priorità del difetto implica che l'applicazione è inutilizzabile o bloccata a un certo punto e il difetto deve essere risolto il prima possibile.
Di seguito sono riportate le 3 classi in cui viene definita una priorità di difetto:
- Alto
- medio
- Basso
Q # 20) Quando eseguiamo il test del fumo?
Risposta: Il test del fumo viene eseguito sull'applicazione dopo aver ricevuto la build. Il tester di solito verifica il percorso critico e non la funzionalità in profondità per assicurarsi che la build debba essere accettata per ulteriori test o rifiutata in caso di applicazione non funzionante.
Una lista di controllo del fumo di solito contiene il percorso critico dell'applicazione senza il quale un'applicazione viene bloccata.
D # 21) Cosa intendi per test di sanità mentale?
Risposta: Il test di integrità viene eseguito dopo aver ricevuto la build per verificare la nuova funzionalità / i difetti da correggere. In questa forma di test, l'obiettivo è controllare la funzionalità più o meno come previsto e determinare se il bug è stato corretto e anche l'effetto del bug corretto sull'applicazione sotto test.
Non ha senso accettare la build da parte del tester e perdere tempo se il test di Sanity fallisce.
D # 22) Cosa intendi per matrice di tracciabilità dei requisiti?
Risposta: Requirement Traceability Matrix (RTM) è uno strumento per tenere traccia della copertura dei requisiti durante il processo di test.
In RTM, tutti i requisiti sono classificati come il loro sviluppo nel corso dello sprint e i rispettivi ID (implementazione / miglioramento di nuove funzionalità / problemi precedenti, ecc.) Vengono mantenuti per tenere traccia che tutto ciò che è menzionato nel documento dei requisiti è stato implementato prima del rilascio di il prodotto.
RTM viene creato non appena viene ricevuto il documento del requisito e viene mantenuto fino al rilascio del prodotto.
D # 23) Quali sono i fattori da considerare nei test basati sul rischio?
Risposta: Mediante il test basato sul rischio di un progetto, non si tratta solo di fornire un progetto privo di rischi, ma l'obiettivo principale del test basato sul rischio è quello di raggiungere il risultato del progetto applicando le migliori pratiche di gestione del rischio.
I principali fattori da considerare nei test basati sul rischio sono i seguenti:
- Identificare quando e come implementare test basati sul rischio su un'applicazione appropriata.
- Identificare le misure che agiscono bene nel rilevare e gestire i rischi nelle aree critiche dell'applicazione.
- Per ottenere il risultato del progetto che bilancia il rischio con la qualità e la funzionalità dell'applicazione.
D # 24) Distinguere tra test di regressione e nuovo test.
Risposta: La differenza tra il test di regressione e il nuovo test può essere spiegata come segue:
Test di regressione | Nuovo test |
---|---|
Il test di regressione è la forma di test che viene eseguita per assicurarsi che l'implementazione di qualsiasi nuova funzionalità o correzione non influisca su altre parti o funzionalità dell'applicazione. | Il nuovo test è la forma di test dell'applicazione dopo la correzione dei difetti per quei casi di test che non erano riusciti nell'ultima esecuzione. |
Come parte del test di regressione, le nuove modifiche nell'applicazione non dovrebbero influire sulle funzionalità esistenti. | Come parte della ripetizione del test, viene eseguita la verifica dei difetti. |
In base ai requisiti del progetto, il test di regressione può essere eseguito parallelamente al nuovo test. | Il nuovo test viene eseguito prima del test di regressione a causa della sua alta priorità. |
Noto anche come test generico e viene eseguito per casi di test superati. | Noto anche come test pianificato e viene eseguito solo per casi di test non riusciti. |
Poiché i test manuali possono richiedere tempo e denaro, è possibile eseguire l'automazione per i test di regressione. | Non è possibile eseguire l'automazione per ripetere il test. |
D # 25) Spiegare i test di accettazione dell'utente.
Risposta: Il test di accettazione dell'utente viene solitamente eseguito dopo che il prodotto è stato accuratamente testato. In questa forma di test, gli utenti del software o, ad esempio, il cliente, utilizzano l'applicazione stessa per assicurarsi che tutto funzioni secondo i requisiti e perfettamente nello scenario del mondo reale.
UAT è anche noto come test dell'utente finale.
Conclusione
Attraverso questo articolo, ho cercato di spiegare ogni singolo argomento del test funzionale, in modo che chiunque si stia preparando per l'intervista possa facilmente capire l'argomento e ricordarlo anche lui.
Queste domande e risposte dell'intervista sul test funzionale ti guideranno a completare con successo qualsiasi intervista con piena fiducia.
Vi auguriamo tutto il successo.
Spero che queste domande e risposte al colloquio sul test funzionale ti aiuteranno ad un certo punto della tua carriera.
Lettura consigliata
- Test funzionale vs test non funzionale
- 16 Nuove funzionalità dello strumento Micro Focus UFT (Unified Functional Testing) - QTP vs UFT
- I 5 migliori strumenti alternativi per HP Unified Functional Testing (UFT)
- Una guida completa ai test non funzionali per principianti
- Una guida passo passo a Jubula, lo strumento di test funzionale automatizzato open source
- Test funzionale vs test delle prestazioni: dovrebbe essere fatto contemporaneamente?
- Guida completa ai test funzionali con i suoi tipi ed esempi
- Tutorial QA Parrot: revisione dello strumento di test funzionale su più browser
- Spock per integrazione e test funzionali con selenio
- Le differenze tra test unitari, test di integrazione e test funzionali
- Top 25 domande e risposte al colloquio sui test funzionali
- I 30 migliori strumenti di test funzionale nel 2021