Test delle applicazioni web: come testare un sito web? Tipologie
⚡ Riepilogo intelligente
Il test delle applicazioni web verifica un sito web in termini di funzionalità, usabilità, interfaccia, database, compatibilità, prestazioni, sicurezza e test con utenti paganti prima del rilascio, in modo che i difetti emergano nell'ambiente di staging anziché di fronte agli utenti paganti.
Prima di approfondire i tipi di test web, definiamo brevemente cosa si intende per test web e vediamo dove si colloca nel ciclo di sviluppo.
Che cos'è il test delle applicazioni web?
Test delle applicazioni webIl test di un'applicazione web, o test del sito web, consiste nel verificare la presenza di potenziali bug prima che venga pubblicato e reso accessibile al pubblico. Il test di un'applicazione web controlla la funzionalità, l'usabilità, la sicurezza, la compatibilità e le prestazioni dell'applicazione o del sito web.
Durante questa fase vengono verificati aspetti quali la sicurezza dell'applicazione web, il funzionamento del sito, l'accessibilità sia per gli utenti disabili che per quelli normodotati e la sua capacità di gestire il traffico.
Un sito web non è un singolo programma. È uno stack: HTML, CSS e JavaScript nel browser, più API e database sul server. Un livello che funziona correttamente da solo può comunque fallire una volta che comunica con il livello adiacente, quindi i test web necessitano di tecniche complementari.
Tipologie di applicazioni web da testare
Prima di scegliere le tecniche, identifica l'architettura che hai di fronte. La struttura determina dove si concentrano i difetti e come viene suddiviso il lavoro tra client e server.
| Architettura | Come si comporta | Cosa significa questo per i test |
|---|---|---|
| Applicazione a pagina singola (SPA) | Carica i dati una sola volta, quindi aggiorna la visualizzazione senza ricaricare l'intera pagina. Gmail funziona in questo modo. | La maggior parte della logica viene inviata al browser: concentrarsi su JavaStato dello script, rendering dinamico e sessioni lato client. |
| Applicazione multipagina (MPA) | Molte pagine sono raggiungibili tramite percorsi separati URLs, renderizzato lato server. Comune per siti di e-commerce e di notizie. | I percorsi di navigazione si moltiplicano: testa ogni percorso, modulo e reindirizzamento dall'inizio alla fine. |
| App Web progressiva (PWA) | Funziona come un'app nativa utilizzando i service worker, un manifest e un'app shell. | Aggiungi funzionalità offline, gestione della cache non aggiornata, notifiche push e richieste di installazione. |
La maggior parte dei prodotti combina questi schemi. Individua quello che ti riguarda, quindi applica le otto tecniche descritte di seguito.
Come testare un'applicazione Web o un sito Web
Nell'ingegneria del software, a seconda dei requisiti di test web, possono essere eseguiti i seguenti tipi/tecniche di test.
Ciascuna tecnica può essere eseguita manualmente o tramite script, e questa scelta incide maggiormente sui costi piuttosto che sulla copertura.
| Aspetto | Test manuale | Test automatizzato |
|---|---|---|
| più adatto a | Usabilità e esplorativa controlli | Regressione, cross-browser, test di carico |
| Velocità nelle corse ripetute | Lento; lo sforzo si ripete ad ogni ciclo | Veloce; la serie viene riproposta su richiesta. |
| Profilo dei costi | Basso all'inizio, cresce ad ogni rilascio | Costo iniziale più elevato, poi manutenzione dello script. |
1. Test di funzionalità di un sito web
Test di funzionalità di un sito web è un processo che include diversi parametri di test come interfaccia utente, API, test del database, test di sicurezza, test di client e server e funzionalità di base del sito Web. Il test funzionale è molto conveniente e consente agli utenti di eseguire test sia manuali che automatizzati. Viene eseguito per testare le funzionalità di ciascuna funzionalità del sito web.
Le attività di test web includono:
Test contro tutti i Collegamento nelle tue pagine web funzionino correttamente e assicurati che non vi siano collegamenti interrotti. I collegamenti da controllare includeranno:
- Collegamenti in uscita
- I collegamenti interni
- Anchor Link e Collegamenti
- MailAi collegamenti
Moduli di prova funzionano come previsto. Ciò includerà-
- I controlli di script sul modulo funzionano come previsto. Ad esempio, se un utente non compila un campo obbligatorio in un modulo viene visualizzato un messaggio di errore.
- Verificare che i valori predefiniti vengano popolati
- Una volta inviati, i dati nei moduli vengono inviati a un database attivo o sono collegati a un indirizzo e-mail funzionante
- I moduli sono formattati in modo ottimale per una migliore leggibilità
Prova i cookie funzionano come previsto. I cookie sono piccoli file utilizzati dai siti Web principalmente per ricordare le sessioni utente attive in modo da non dover effettuare l'accesso ogni volta che si visita un sito Web. Il test dei cookie includerà
- I cookie di test (sessioni) vengono eliminati quando la cache viene svuotata o quando raggiungono la scadenza.
- Elimina i cookie (sessioni) e verifica che le credenziali di accesso vengano richieste la prossima volta che visiti il sito.
Prova HTML e CSS per garantire che i motori di ricerca possano eseguire facilmente la scansione del tuo sito. Ciò includerà
- Controllo degli errori di sintassi
- Readable Schemi di colore
- Conformità agli standard. Garantire che vengano seguiti standard quali W3C, OASIS, IETF, ISO, ECMA o WS-I.
Testare il flusso di lavoro aziendale– Ciò includerà
- Testare il flusso di lavoro/scenari aziendali end-to-end che guida l'utente attraverso una serie di pagine Web da completare.
- Testa anche scenari negativi, ad esempio quando un utente esegue un passaggio imprevisto, nella tua applicazione web viene visualizzato un messaggio di errore o una guida appropriata.
Strumenti che possono essere utilizzati: QTP , IBM Razionale, Selenium
2. Test di usabilità
Test di usabilità è ormai diventato una parte vitale di qualsiasi progetto basato sul web. Può essere effettuato dai tester come te o un piccolo focus group simile al pubblico target dell'applicazione web.
Test il sito Navigazione:
- Menu, pulsanti o collegamenti a diverse pagine del tuo sito dovrebbero essere facilmente visibili e coerenti su tutte le pagine web
Test , il Contenuti:
- Il contenuto deve essere leggibile senza errori di ortografia o grammaticali.
- Le immagini se presenti dovrebbero contenere un testo "alt".
Strumenti che possono essere utilizzati: Segno di gesso, Contentsquaree Clixpy
3. Test dell'interfaccia
Una volta verificata la funzionalità e l'usabilità, bisogna accertarsi che i livelli sottostanti comunichino tra loro. Tre aree da testare sono: Applicazione, Web e Server di database.
- Applicazione: Le richieste di test vengono inviate correttamente al database e l'output sul lato client viene visualizzato correttamente. Eventuali errori devono essere rilevati dall'applicazione e devono essere mostrati solo all'amministratore e non all'utente finale.
- web Server: Il server Web di prova gestisce tutte le richieste dell'applicazione senza alcun rifiuto del servizio.
- Server database: Assicurarsi che le query inviate al database forniscano i risultati previsti.
Testare la risposta del sistema quando collegamento tra i tre strati (Applicazione, Web e Database) non può essere stabilito e il messaggio appropriato viene mostrato all'utente finale.
Strumenti che possono essere utilizzati: Ranorex
4. Test del database
Il database è un componente critico della tua applicazione web ed è necessario testarlo a fondo. Le attività di test includeranno-
- Verifica se vengono visualizzati errori durante l'esecuzione delle query
- Dati Integrity viene mantenuto durante la creazione, l'aggiornamento o l'eliminazione dei dati nel database.
- Controlla i tempi di risposta delle domande e, se necessario, ottimizzale.
- I dati di test recuperati dal tuo database vengono mostrati accuratamente nella tua applicazione web
Strumenti che possono essere utilizzati: QTP, Selenium
5. Test di compatibilità
I test di compatibilità garantiscono che la tua applicazione web venga visualizzata e si comporti correttamente su diversi dispositivi. Ciò include:
Test di compatibilità del browser: Lo stesso sito web in diversi browser verrà visualizzato in modo diverso. Devi verificare se la tua applicazione web viene visualizzata correttamente nei vari browser, JavaScript, AJAX e autenticazione funzionano correttamente. Puoi anche controllare Mobile Compatibilità del browser.
Il rendering degli elementi web come pulsanti, campi di testo ecc. cambia con il cambiamento Operasistema di ting. Assicurati che il tuo sito web funzioni correttamente per varie combinazioni di Operasistemi di ting come Windows, Linux, Mac e browser come Firefox, Internet Explorer, Safari ecc.
Strumenti che possono essere utilizzati: Dynatrace
6. Test delle prestazioni
Ciò garantirà che il tuo sito funzioni correttamente sotto tutti i carichi. Le attività di test includeranno, a titolo esemplificativo ma non esaustivo:
- Tempi di risposta dell'applicazione del sito Web a diverse velocità di connessione
- Testa il carico della tua applicazione web per determinarne il comportamento in condizioni di carico normale e di picco
- Sottoponi a stress test il tuo sito web per determinare il suo punto di rottura quando viene spinto oltre i carichi normali nelle ore di punta.
- Verifica se si verifica un arresto anomalo a causa del picco di carico, come si riprende il sito da un tale evento
- Assicurati che le tecniche di ottimizzazione come la compressione gzip, il browser e la cache lato server siano abilitate per ridurre i tempi di caricamento
Strumenti che possono essere utilizzati: Loadrunner, JMeter
7. Test di sicurezza
Test di sicurezza è vitale per i siti Web di e-commerce che memorizzano informazioni sensibili sui clienti come le carte di credito. Le attività di test includeranno:
- Non dovrebbe essere consentito testare l'accesso non autorizzato alle pagine protette
- I file con restrizioni non dovrebbero essere scaricabili senza un accesso appropriato
- Le sessioni di controllo vengono automaticamente interrotte dopo una prolungata inattività dell'utente
- Quando si utilizzano i certificati SSL, il sito Web dovrebbe reindirizzare a pagine SSL crittografate.
Intruder
Intruder è un potente scanner di vulnerabilità che ti aiuterà a scoprire i numerosi punti deboli nascosti nelle tue applicazioni web e nell'infrastruttura sottostante. Offrendo controlli di sicurezza leader del settore, monitoraggio continuo e una piattaforma facile da usare, Intruder mantiene le aziende di tutte le dimensioni al sicuro dagli hacker.
Caratteristiche
- copertura delle minacce migliore della categoria con oltre 10,000 controlli di sicurezza
- Verifica i punti deboli della configurazione, le patch mancanti, i punti deboli delle applicazioni (come SQL injection e cross-site scripting) e altro ancora
- Analisi automatica e definizione delle priorità dei risultati della scansione
- Interfaccia intuitiva, veloce da configurare ed eseguire le prime scansioni
- Monitoraggio proattivo della sicurezza per le vulnerabilità più recenti
- AWS, Azuree Google Cloud connettori
- Integrazione API con la tua pipeline CI/CD
8. Test sulla folla
Selezionerai un gran numero di persone (crowdsourcing) per eseguire test che altrimenti sarebbero stati effettuati da un piccolo team interno. Il crowdsourcing dei test è un concetto interessante e in rapida evoluzione che aiuta a individuare molti difetti non rilevati.
Strumenti che possono essere utilizzati: Piattaforma di test di massa
Processo di test delle applicazioni web: passo dopo passo
Le otto tecniche indicano cosa controllare. La procedura descritta di seguito spiega quando eseguirle.
- Raccogliere e chiarire i requisiti. Elenca cosa deve fare l'applicazione e come dovrebbe comportarsi. Requisiti ambigui generano aspettative non verificabili, quindi risolvili prima. Questo passaggio ancora il test web nel contesto più ampio Ciclo di vita del test del software.
- Scrivi il piano di test. Decidete quali tecniche applicare, chi le gestirà, quali strumenti sono necessari e con quale tempistica. Il piano è la vostra tabella di marcia e la vostra stima.
- Sviluppare casi di test. Trasforma ogni requisito in passaggi concreti con i risultati attesi, considerando sia il caso ideale che gli scenari negativi che gli utenti potrebbero innescare accidentalmente.
- Configurare l'ambiente di test. Riprodurre la produzione nel modo più fedele possibile, compatibilmente con il budget a disposizione: stessi browser e sistemi operativi, volumi di dati comparabili, velocità di rete realistiche.
- Eseguire i test. Esegui i casi, registra i risultati effettivi confrontandoli con quelli attesi e acquisisci screenshot, output della console e log del server finché l'errore è ancora riproducibile.
- Rapporto e track difetti. Registra ciascun problema con i passaggi per riprodurlo e una priorità, quindi esegui nuovamente il test dopo la correzione e verifica che non si siano verificati problemi nelle vicinanze.
- Chiudere il ciclo. Redigere un riepilogo dei test che illustri cosa è stato testato, cosa è stato riscontrato, cosa resta da fare e cosa si può migliorare, quindi firmare per il rilascio.
⚠️ Pianifica l'orario, non solo gli esami: Il testing web è arduo e la pressione delle scadenze è il primo ostacolo che si incontra, seguito dalle continue modifiche al codice che invalidano il lavoro già svolto. Definisci ogni attività al passaggio 2 e crea un diagramma di flusso a partire da essa.


