Tipi di test a scatola nera
Il black box testing è una metodologia di esecuzione dei test. Questi test possono essere progettati per raggiungere alcuni obiettivi diversi, tra cui:
- Test funzionali: Il test funzionale ha lo scopo di convalidare che un'applicazione faccia ciò che deve fare. Ad esempio, i test funzionali possono verificare il meccanismo di autenticazione di un'applicazione per controllare che gli utenti legittimi possano autenticarsi con successo, mentre i tentativi di accesso non validi vengono respinti. I tipi più comuni di test funzionali includono i controlli di sanità mentale, i test di integrazione e i test di sistema.
- Test non funzionali: I test non funzionali valutano la capacità di un'applicazione di svolgere le sue funzioni principali. Esempi di test sono le prestazioni, l'usabilità, la scalabilità e i test di sicurezza.
- Test di regressione: Il test di regressione è progettato per garantire che una modifica a un'applicazione non interrompa la funzionalità. Per esempio, il test di regressione deve essere eseguito dopo la patch di una vulnerabilità in un'applicazione, per garantire che la patch non abbia causato il fallimento dei test funzionali o non funzionali dell'applicazione.
Tecniche di test a scatola nera
Senza la conoscenza interna di un'applicazione, la struttura è importante per garantire che il test copra tutti i casi necessari. Alcune tecniche comuni per eseguire una valutazione a scatola nera includono:
- Test di classe di equivalenza: Un'applicazione può seguire lo stesso flusso di controllo per alcuni tipi di input. Ad esempio, un'applicazione che dovrebbe essere accessibile solo agli adulti potrebbe interrompersi se un utente inserisce un'età inferiore ai 18 anni, oppure uno strumento con un'area di servizio limitata potrebbe interrompersi per i codici di paese o postali al di fuori di tale area. Con il test delle classi di equivalenza, i tester identificano queste classi che producono gli stessi risultati e testano solo un valore all'interno di quella classe.
- Valutazione del valore limite: I valori limite sono ingressi in cui un'applicazione passa da un flusso di controllo a un altro. Ad esempio, i 17 e i 18 anni sono valori limite per l'età adulta, poiché un 17enne potrebbe essere rifiutato da un'applicazione, mentre un 18enne verrebbe accettato. La valutazione dei valori limite verifica questi input per assicurare che il sistema gestisca correttamente questi casi limite.
- Test della tabella decisionale: Un'applicazione può essere progettata per prendere decisioni basate su una combinazione di input. Ad esempio, gli utenti di età superiore ai 18 anni e che vivono in una determinata area possono essere in grado di accedere a un'applicazione. Il test della tabella decisionale comporta l'enumerazione di ogni combinazione di input e dei relativi risultati attesi e lo sviluppo di un caso di test per convalidare ogni combinazione.
- Valutazione della transizione di stato: Un'applicazione può essere progettata per cambiare stato in determinate condizioni, come ad esempio bloccare l'account di un utente dopo un certo numero di tentativi di autenticazione falliti. La valutazione della transizione di stato comporta l'identificazione di queste situazioni e lo sviluppo di casi di test per convalidarle.
- Controllo degli errori: Questa forma di valutazione verifica gli errori comuni che uno sviluppatore può aver commesso durante la creazione di un'applicazione. Questo spesso ruota intorno alla sanificazione degli input e alla garanzia che le ipotesi su un input siano rispettate. Per esempio, i tester possono verificare se gli sviluppatori gestiscono correttamente un input di zero in un campo numerico o se limitano la serie di caratteri per un nome alle lettere e ai simboli che possono comparire in un nome.
Black Box vs White Box Testing
Mentre il test black box prende il nome dal fatto che il tester non ha una conoscenza interna dell'applicazione (cioè, il tester non ha una conoscenza interna dell'applicazione). è una "scatola nera"), una valutazione a scatola bianca adotta l'approccio opposto. Alcune delle differenze principali tra i test a scatola nera e quelli a scatola bianca includono:
- Test a scatola nera: Il tester interagisce con l'applicazione e cerca di convalidare che un'applicazione soddisfi i requisiti e le specifiche funzionali e non funzionali. La mancanza di conoscenze interne può rendere questi test più lunghi e può far sì che le vulnerabilità nei percorsi di codice non visitati non vengano individuate. Tuttavia, ha il vantaggio di essere indipendente dalla lingua e dalla piattaforma.
- Test White Box: A differenza dei test black box, le valutazioni white box vengono eseguite con una conoscenza completa degli interni di un'applicazione, compreso l'accesso al codice sorgente. I test white box offrono una migliore copertura dei test rispetto ai test black box, poiché tutto il codice può essere valutato. Tuttavia, richiede un'esperienza con il linguaggio in cui è stato sviluppato il codice.
I test a scatola nera e a scatola bianca rappresentano due estremi nel modo in cui i test possono essere eseguiti. I test in scatola grigia sono una via di mezzo. In una valutazione gray box, il tester ha una conoscenza parziale degli interni del sistema, che può aiutare a guidare la valutazione. Autoprotezione dell'applicazione in fase di esecuzione (RASP) è uno strumento di sicurezza che rientra nella categoria dei test gray box.
Test di sicurezza Black Box con Check Point
Check Point Professional Services offre una serie di servizi di Cybersecurity Resilience/Penetration Testing. Questo include valutazioni di sicurezza black box, gray box e whitebox.
Per saperne di più I servizi di test professionali di Check Point. È anche il benvenuto a Contattaci per scoprire come possiamo aiutarla a identificare e correggere i problemi di sicurezza all'interno della sua organizzazione.