Cos'è uno script di test? Come scriverlo con un esempio
⚡ Riepilogo intelligente
Uno script di test nel testing del software è un insieme di istruzioni eseguibili riga per riga che guida un'applicazione e verifica ogni passaggio. Questa guida illustra i tre metodi di compilazione, un modello riutilizzabile e un ambiente di lavoro. Selenium esempio.
Cos'è uno script di test nel test del software?
A script di prova Si tratta di una descrizione dettagliata, riga per riga, delle transazioni di sistema che devono essere eseguite per convalidare l'applicazione in fase di test. Elenca ogni passaggio da effettuare insieme al risultato atteso per ciascuno di essi.
Essendo eseguibile, lo stesso script può essere riprodotto sistematicamente su diversi dispositivi e versioni. Uno script utilizzabile registra sempre sia l'input effettivo da inserire sia l'output previsto.
Come scrivere uno script di prova

Esistono tre modi diversi per creare uno script di test:
Registra e riproduci
Con questo metodo, il tester non ha bisogno di scrivere alcun codice, ma solo di registrare le azioni dell'utente. La programmazione sarà comunque necessaria in seguito per correggere eventuali problemi o per perfezionare il comportamento dell'automazione.
Questo metodo è più semplice che scrivere uno script di test completo da zero perché hai già il codice completo. Viene utilizzato principalmente in un linguaggio di programmazione semplificato come VBScript.
Scripting basato su parole chiave o dati
In questo metodo esiste una chiara separazione tra tester e sviluppatori. Nello scripting basato sui dati, il tester definisce il test utilizzando parole chiave senza conoscere il codice sottostante.
In questo caso, il compito degli sviluppatori è implementare il codice dello script di test per le parole chiave e aggiornare questo codice quando necessario. Quindi, con questo metodo, il tester non deve preoccuparsi del sistema. Tuttavia, faranno molto affidamento sulle risorse di sviluppo per qualsiasi nuova funzionalità che desideri testare automaticamente.
Scrivere codice in un linguaggio di programmazione
Se scegli questo metodo, di solito hai comunque a disposizione le funzioni di registrazione e riproduzione per generare una prima bozza della sceneggiatura.
Prima o poi, però, un tester deve andare oltre la registrazione e la riproduzione e imparare a scrivere script semplici a mano. È importante capire che puoi scegliere il tuo Linguaggio di programmazione anche se la tua domanda è scritta Java.
Tuttavia, ciò non significa che devi scrivere i tuoi script di test Java, che può essere difficile da imparare. Invece, puoi scrivere i tuoi script di test in un linguaggio più semplice come JavaCopione o Ruby (o qualsiasi linguaggio più semplice che desideri utilizzare).
Esempio di script di prova
Ad esempio, per verificare la funzione di accesso su un sito web, lo script di test potrebbe effettuare le seguenti operazioni:
- Specificare in che modo lo strumento di automazione può individuare i campi "Nome utente" e "Password" nella schermata di accesso. Diciamo, in base ai loro ID di elemento CSS.
- Carica la home page del sito Web, quindi fai clic sul collegamento "Accedi". Verifica che la schermata di accesso visualizzata e i campi “Nome utente” e “Password” siano visibili.
- Inserisci il nome utente "Charles" e la password "123456", quindi individua il pulsante "Conferma" e cliccaci sopra.
- Devono specificare come un utente può individuare il titolo della schermata di benvenuto che appare dopo il login, ad esempio tramite il suo ID elemento CSS.
- Verificare che il titolo della schermata di benvenuto sia visibile.
- Leggi il titolo della schermata di benvenuto.
- Affermare che il testo del titolo corrisponde a "Benvenuto Charles".
- Se il titolo corrisponde alle aspettative, registrare il test come superato. Altrimenti, registrarlo come non superato.
Esempio di script di test in Selenium con Java
L'elenco puntato sopra descrive un test di accesso in linguaggio semplice. Ecco lo stesso test scritto come script eseguibile, utilizzando Selenium WebDriver e JUnitOgni punto elenco corrisponde a una o due righe di codice.
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.junit.Assert; import org.junit.Test; public class LoginTestScript { @Test public void validLoginShowsWelcomeMessage() { // Step 1: start the browser and open the site WebDriver driver = new ChromeDriver(); driver.get("https://demo.guru99.com/test/login.html"); // Step 2: locate the fields by their element ids driver.findElement(By.id("email")).sendKeys("Charles"); driver.findElement(By.id("passwd")).sendKeys("123456"); // Step 3: submit the form driver.findElement(By.id("SubmitLogin")).click(); // Step 4: read the welcome title and assert the expected result String actual = driver.findElement(By.id("welcome")).getText(); Assert.assertEquals("Welcome Charles", actual); driver.quit(); } }
Tre dettagli distinguono una sceneggiatura reale da una registrata:
- I localizzatori sono espliciti. Gli elementi vengono individuati tramite ID anziché tramite posizione sullo schermo, pertanto lo script non si altera in caso di modifiche al layout.
- L'asserzione è la prova. Senza assertEquals, lo script si limita a fare clic; è l'asserzione che decide se il test ha successo o meno.
- La pulizia viene sempre eseguita. driver.quit() chiude il browser, altrimenti un'esecuzione fallita lascia dei processi attivi.
La stessa struttura si applica in qualsiasi lingua. In Python con Selenium le chiamate diventano driver.find_element(By.ID, “email”) e assert actual == “Welcome Charles”.
Suggerimenti per la creazione di uno script di prova
Ecco alcuni suggerimenti importanti per la creazione di uno script di test:
Mantienilo chiaro
Lo script di test dovrebbe essere sufficientemente chiaro da poter essere eseguito senza assistenza. Se un tester deve continuamente chiedere al responsabile del progetto dettagli sull'applicazione, si sprecano tempo e risorse.
Per evitare ciò, verifica che ogni passaggio dello script di test sia chiaro, conciso e coerente. Questo contribuisce a mantenere fluido il processo di test.
Keep it simple
Dovresti creare uno script di test che contenga solo un'azione specifica che i tester possono eseguire. Ciò garantisce che ciascuna funzione venga testata correttamente e che i tester non perdano passaggi nel processo di test del software.
Pensaci bene
Per scrivere lo script di test, devi metterti nei panni dell'utente per decidere quali percorsi testare. Dovresti essere abbastanza creativo da prevedere tutti i diversi percorsi che gli utenti utilizzerebbero durante l'esecuzione di un sistema o di un'applicazione.
Quando utilizzare l'approccio con script di test?
Ecco i motivi per utilizzare lo script di prova.
- Uno script di test è il metodo più affidabile per confermare che nessun passaggio venga saltato e che i risultati corrispondano al piano di test concordato.
- Uno script preparato in anticipo riduce notevolmente il rischio di errori durante l'esecuzione.
- Quando i tester esplorano un prodotto liberamente, possono facilmente tralasciare alcune funzionalità.
- Un tester può anche presumere che una funzione abbia prodotto il risultato atteso quando in realtà non lo ha fatto.
- È particolarmente utile quando la prestazione dell'utente è importante e specifica.
Cos'è un modello di script di test?
Un modello di script di test è un documento riutilizzabile e preformattato che contiene i campi che ogni script del progetto deve compilare. La standardizzazione determina il livello di dettaglio dei test e garantisce che nessun revisore debba indovinare il significato di un passaggio.
Un modello funzionale contiene i seguenti campi:
| Settore | Missione |
|---|---|
| ID script | Identificatore univoco utilizzato per traccapacità e collegamento dei difetti |
| Titolo | Una riga che indica cosa convalida lo script |
| Modulo o funzionalità | L'area dell'applicazione in fase di test |
| Presupposti | Indicare che il sistema deve essere attivo prima dell'esecuzione del primo passaggio. |
| Dati di test | Dati di input precisi, incluse credenziali e valori limite. |
| Passaggi | Azioni numerate, un'azione per ogni passaggio |
| Risultato atteso | Il risultato osservabile di ogni fase |
| Risultato attuale | Compilato al momento dell'esecuzione |
| Stato | Superato, non superato, bloccato o non eseguito |
| Autore e data | Proprietà e cronologia delle versioni |
Differenza tra caso di test e script di test
Ecco le principali differenze tra un caso di test e uno script di test:
| Test Case | Script di test |
|---|---|
| Caso di prova è una procedura passo passo utilizzata per testare un'applicazione. | Lo script di test è un insieme di istruzioni per testare automaticamente un'applicazione. |
| I casi di test vengono utilizzati per l'ambiente di test manuale. | Test Script viene utilizzato nell'ambiente di test di automazione. |
| Viene eseguito manualmente. | Viene eseguito in base al formato di scripting. |
| Il modello del test case include l'ID del test, i dati del test, la procedura del test, i risultati effettivi e attesi, ecc. | Nel Test Script possiamo utilizzare diversi comandi per sviluppare uno script. |
Vantaggi e svantaggi delle schede di test
La programmazione tramite script è un investimento. Sapere dove si ottiene un ritorno sull'investimento permette di individuare i test da automatizzare per primi.
Vantaggi
- Ripetibile: Gli stessi passaggi vengono eseguiti in modo identico su ogni build, ed è questo che rende pratico il test di regressione.
- Veloce su larga scala: Una suite che richiede a un tester un giorno può essere eseguita in pochi minuti e può essere eseguita durante la notte.
- Coerente: La sceneggiatura non si annoia mai, non salta mai un passaggio e non interpreta erroneamente un risultato.
- Cross-platform: Un singolo script può essere riprodotto su diversi browser, dispositivi e sistemi operativi.
- Pronto per la CI: Gli script si integrano in una pipeline di build in modo che ogni commit venga verificato automaticamente.
Svantaggi
- Costi di installazione elevati: Scrivere ed eseguire il debug di uno script richiede molto più tempo che eseguire il test manualmente una sola volta.
- Onere di manutenzione: La modifica dell'ID di un elemento o la riprogettazione della pagina causano errori negli script, che devono poi essere riparati.
- Requisiti di abilità: Oltre alla registrazione e alla riproduzione, il team necessita di competenze di programmazione.
- Ciechi di fronte all'imprevisto: Uno script controlla solo ciò che gli è stato indicato di controllare, quindi difetti visivi e di usabilità passano inosservati.
- Falsa fiducia: Una serie di script superficiali e poco incisivi può nascondere lacune reali nella copertura.
La regola pratica: predefinire i percorsi stabili, ripetitivi e ad alto rischio, e mantenere manuali le attività di esplorazione e usabilità.
Test di simulazione: punti chiave
- Per script di test si intende una descrizione riga per riga contenente le informazioni sulle transazioni di sistema che dovrebbero essere eseguite per convalidare l'applicazione o il sistema sottoposto a test.
- Il test case è una procedura passo passo utilizzata per testare un'applicazione mentre lo script di test è un insieme di istruzioni per testare automaticamente un'applicazione.
- Tre modi per creare uno script di test sono: 1) Registrazione/riproduzione 2) Scripting basato su parole chiave/dati, 3) Scrittura Code Utilizzo del linguaggio di programmazione.
- Lo script di test dovrebbe essere chiaro e dovresti creare uno script di test che dovrebbe contenere solo un'azione specifica che i tester possono eseguire.
- Uno script di test è il metodo più affidabile per confermare che nessun passaggio venga saltato e che i risultati corrispondano al piano di test concordato.
- Test Script Template è un documento formattato riutilizzabile che contiene informazioni preselezionate importanti per la creazione di uno script di test utilizzabile.

