I molti tipi di metodi di test del software
Nayt & Saint - Tutto quello che c'è (Prod. by 3D) VIDEOCLIP UFFICIALE
Sommario:
Prima che il software diventi pubblico, i programmatori passano ore a cercare di appianare ogni piccolo bug. Fino a quando il prodotto soddisfa tutte le parti interessate, non sarà disponibile per uso commerciale.
Enormi società di software, come Google, riescono nonostante i bug a bassa priorità nei loro software perché hanno investitori pazienti e utenti fedeli. Le aziende più piccole e le start-up, tuttavia, non hanno quel lusso. I clienti si aspettano che i prodotti facciano ciò che rivendicano sulla pagina di vendita o nella documentazione. Con così tante opzioni là fuori, non ci penseranno due volte a saltare la nave se il prodotto sprecherà tempo e denaro. Pertanto, il software viene sottoposto a test rigorosi prima del rilascio al fine di:
- evidenzia le differenze tra il concetto originale e il risultato finale
- verificare che il software funzioni come pianificato dai progettisti
- convalidare che il prodotto finale soddisfi i requisiti del cliente
- valutare caratteristiche e qualità
I test seguono uno schema rigoroso per ottimizzare le competenze, i tempi e i costi del personale e allo stesso tempo fornire agli stakeholder informazioni essenziali per portare avanti il prodotto. L'obiettivo è quello di facilitare una buona esperienza dell'utente finale attraverso un forte programma di garanzia della qualità.Con la posta in gioco così alta, i responsabili della QA sono tra i maggiori guadagni nel settore tecnologico. Il test di solito segue questi passaggi:
- Analisi dei requisiti in cui i manager delineano un piano per mettere in atto una strategia di test adeguata.
- I test iniziano e i risultati vengono analizzati.
- Eventuali difetti vengono corretti e il software passa attraverso i test di regressione, un sistema per verificare che il programma funzioni ancora dopo le modifiche.
- Un rapporto di chiusura del test quindi descrive l'intero processo e i risultati.
Gli individui possono diventare tester software certificati attraverso organizzazioni come BCS, The Chartered Institute for IT, ISTQB® (International Software Testing Qualifications Board) e ASQ (ex American Society for Quality).
Metodi di test del software
I test della scatola nera e della scatola bianca sono i due metodi fondamentali per giudicare il comportamento e le prestazioni del prodotto, ma ci sono anche altri metodi.
- Test della scatola nera: Chiamato anche test funzionale o basato su specifiche, questo metodo si concentra sull'output. I tester non sono interessati ai meccanismi interni. Controllano solo che il software faccia ciò che deve fare. La conoscenza della codifica non è necessaria ei tester lavorano a livello di interfaccia utente.
- Test della scatola bianca: Questo metodo utilizza il know-how di codifica come parte della procedura di test. Quando un prodotto non funziona, i tester entrano nel codice quanto necessario per trovare la causa. Gli sviluppatori di software lo fanno da soli poiché determinano come dovrebbe funzionare il prodotto. Il test della struttura e della scatola di vetro sono altri nomi per questo metodo.
- Test statici: I tester esaminano il codice e la documentazione del software ma non eseguono il programma. I test statici iniziano all'inizio dello sviluppo del prodotto durante il processo di verifica.
- Test dinamici: Il software viene eseguito con vari input ei tester confrontano gli output con il comportamento previsto con questo metodo.
- Test dell'interfaccia utente grafica: Verifica le caratteristiche della GUI come la formattazione del testo, caselle di testo, pulsanti, elenchi, layout, colori, caratteri, dimensioni dei caratteri e così via. I test dell'interfaccia grafica richiedono molto tempo e le aziende di terze parti assumono spesso l'incarico anziché gli sviluppatori.
Livelli di prova
Diversi livelli di test vengono utilizzati per identificare aree di debolezza e sovrapposizione in ciascuna fase del ciclo di vita dello sviluppo del software.
- Test unitario: Gli sviluppatori testano le parti più elementari del codice come classi, interfacce e funzioni / procedure. Sanno come dovrebbe rispondere il loro codice e possono apportare modifiche a seconda dell'output.
- Test dei componenti: Altri nomi sono test del modulo o del programma. È simile al test delle unità ma contiene un livello più alto di integrazione. I moduli del software sono testati per i difetti per verificare la loro funzione individuale.
- Test d'integrazione: Questo identifica gli errori quando i moduli sono integrati. Diversi test di integrazione sono bottom-up, top-down e incrementali funzionali.
- Test di sistema: I componenti di un progetto sono testati nel loro complesso in diversi ambienti con questo metodo. Cade sotto il metodo della scatola nera ed è uno dei test finali del processo. Determina se il sistema funziona come dovrebbe per soddisfare le esigenze aziendali e degli utenti.
- Test alfa: Il personale interno testa il software sul sito dello sviluppatore in un ambiente simulato o reale. Successivamente, gli sviluppatori correggono bug e altri problemi.
- Beta test: Conosciuto anche come test sul campo, i clienti testano il prodotto sui propri siti in condizioni reali. I clienti possono offrire a un gruppo di utenti finali l'opportunità di testare il software tramite versioni prerelease o beta. Il feedback sui possibili miglioramenti viene quindi inviato allo sviluppatore.
- Test di accettazione: Sempre nell'ambito del testing black box, i client testano il software per scoprire se lo sviluppatore ha creato il programma secondo le specifiche desiderate.
Tipi di test
Diversi tipi di test del software sono progettati per concentrarsi su obiettivi specifici.
- Test di installazione: Il tecnico di test del software e il responsabile della configurazione eseguono questo test per garantire che l'utente finale possa installare ed eseguire il programma. Copre aree come file di installazione, posizioni di installazione e privilegi amministrativi.
- Test di sviluppo: Questo implementa una serie di strategie sincronizzate per rilevare e prevenire i difetti. Include analisi del codice statico, recensioni di peer code, tracciabilità e analisi delle metriche. L'obiettivo è ridurre i rischi e risparmiare sui costi.
- Test di usabilità: L'esperienza dell'utente è sotto i riflettori con questo test. Misura la bontà della GUI e la sua facilità d'uso. Il test verifica l'accuratezza e l'efficienza delle funzioni e le risposte emotive dei soggetti del test.
- Test di sanità mentale: Questo indica se il software vale il tempo e il costo per continuare ulteriori test. Se ci sono troppi difetti, i test più aggressivi non seguiranno.
- Test del fumo: I test sui fumi rivelano guasti di base che sono abbastanza gravi da impedire il rilascio. Quando viene eseguito su una nuova build, viene chiamato test di verifica della build.
- Test di regressione: Quando il sistema subisce delle modifiche, i test di regressione monitorano il comportamento imprevisto. Indica effetti negativi su moduli o componenti.
- Test distruttivo: I tester inseriscono voci anomale e discernono la capacità del software di gestire input inattesi. Questo mostra agli sviluppatori quanto è robusto il programma nella gestione degli errori.
- Test di recupero: Quando l'hardware o altre funzioni falliscono, questo test mostra quanto bene il software può recuperare e continuare a funzionare.
- Test automatizzati: Questo esegue funzioni difficili da implementare manualmente. Utilizza software specifico per eseguire i test e fornire dati sui risultati effettivi rispetto a quelli attesi.
- Test di compatibilità: Il software deve essere eseguito in diversi ambienti di elaborazione, pertanto verifica la compatibilità con diversi sistemi. Ad esempio, il software funziona con vari sistemi operativi e browser Web?
- Test delle prestazioni: Questo è un test approfondito che esamina le prestazioni del software in diversi scenari. Vengono raccolte informazioni su reattività, stabilità, allocazione delle risorse e velocità. Inoltre, subtest come volume, capacità e spike testing svolgono un ruolo in questo processo.
- Test di sicurezza: Questo misura la capacità del software di proteggere la sicurezza degli utenti. Ciò significa funzioni di autorizzazione, autenticazione, riservatezza, integrità, disponibilità e non ripudio.
- Test di accessibilità: Questo non è lo stesso del test di usabilità. Ciò determina la misura in cui gli utenti di abilità diverse, comprese le difficoltà di apprendimento e fisiche, possono utilizzare il software.
- Test di internazionalizzazione e localizzazione: I risultati mostrano come il software può adattarsi alle diverse lingue e alle richieste regionali. Ciò include l'aggiunta di componenti per posizioni specifiche e la traduzione di testo.
Programmi di benefici per i dipendenti futuri Spostamento per molti pensionati
Grandi cambiamenti stanno arrivando per i benefici dei pensionati, secondo un sondaggio condotto da Towers Watson. Scopri come potrebbe influenzarti.
I molti tipi di lavori di vendita
Per elencare tutti i diversi tipi e variazioni delle carriere di vendita sarebbe quasi impossibile. Tuttavia, eccone alcuni da considerare.
Tipi di test pre-assunzione
I test pre-assunzione e le procedure di selezione includono test cognitivi, test della personalità, esami medici, controlli del merito di credito e verifiche di background.