Vai al contenuto
SDETRole
SDETRole

Glossario · Automazione della UI

Gherkin

Detto anche: sintassi Gherkin, Given-When-Then, Given/When/Then, file feature

Definizione

La sintassi Given-When-Then in testo semplice con cui si scrivono gli scenari BDD nei file .feature, che strumenti come Cucumber eseguono come test automatizzati.

Gherkin è un piccolo linguaggio strutturato per descrivere il comportamento del software sotto forma di esempi. Ogni file ha estensione .feature e contiene una Feature composta da Scenario; ogni scenario è un elenco di step che iniziano con Given (contesto), When (azione) e Then (risultato atteso). Strumenti come Cucumber associano ogni step a una step definition nel codice, così che lo stesso testo sia insieme documentazione e test automatizzato.

Esempio

Feature: Password reset

  Background:
    Given a registered user "ada@example.com"

  Scenario: Reset link is sent for a known email
    When she requests a password reset for "ada@example.com"
    Then a reset email is sent to "ada@example.com"
    And the link expires after 30 minutes

  Scenario Outline: Weak passwords are rejected
    When she sets her new password to "<password>"
    Then she sees the error "<message>"

    Examples:
      | password | message                       |
      | abc      | Use at least 12 characters    |
      | password | This password is too common   |

E una step definition corrispondente in Java con Cucumber:

@When("she sets her new password to {string}")
public void setNewPassword(String password) {
    resetPage.setPassword(password);
}

Parole chiave da conoscere

  • And / But proseguono il tipo di step precedente, per leggibilità.
  • Background viene eseguito prima di ogni scenario del file. Tienilo breve.
  • Scenario Outline con Examples esegue lo scenario una volta per ogni riga della tabella: è il data-driven testing in forma Gherkin.
  • I tag come @smoke o @wip sopra uno scenario permettono di selezionare sottoinsiemi da eseguire.
  • Rule (da Gherkin 6 in poi) raggruppa gli scenari sotto la regola di business che illustrano.

Scrivere buoni scenari

  • Un comportamento per scenario. Più coppie When/Then di solito indicano due scenari.
  • Dichiarativi, non imperativi. “When she requests a password reset” è meglio di tre step che parlano di scrivere nei campi e cliccare pulsanti.
  • Valori concreti. Esempi reali (“120.00”, “Gold”) fanno emergere incomprensioni che le frasi vaghe (“un ordine grande”) nascondono.
  • Terza persona o personaggio coerente. Mescolare “I”, “the user” e personaggi con un nome fa crescere a dismisura la libreria degli step.

Scrivi per cercare in tutto SDETRole.

Ricerca full-text con Pagefind · funziona nel tuo browser Apri la pagina di ricerca →