Cum se scrie specificații de castraveți în mod corect: de la descrierea aplicației la scenarii

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

(Acest articol a fost publicat pentru prima dată pe Jakub :: Sobolewskiși a contribuit cu drag la R-Bloggers). (Puteți raporta problema despre conținutul de pe această pagină aici)


Doriți să vă împărtășiți conținutul pe R-Bloggers? Faceți clic aici dacă aveți un blog sau aici dacă nu.

Când scrieți specificații, este ușor să fiți prinși în detaliile implementării, mai ales atunci când adăugați specificații după construirea software -ului.

Să vedem cum putem adăuga specificații pentru codul existent și să obținem specificații de castraveți care reflectă conceptele de afaceri, mai degrabă decât specificul UI care facilitează extensia și întreținerea.

Configurarea

Să ne imaginăm o aplicație cu un flux de lucru după cum urmează:

  • Aplicația se deschide pe o pagină „date”, cu un pas pentru: încărcare → filtrare → mapare → previzualizare.
  • Utilizatorii încărcă sau selectează un set de date implicit, apoi procedează pas cu pas.
  • După trimiterea mapării variabile, apare o previzualizare a datelor.
  • Odată ce acest lucru este complet, o caracteristică „vizualizare” devine disponibilă pentru vizualizarea parcelelor.

Acest flux de lucru este destul de simplu, dar și destul de complex.

Scrierea de specificații robuste și executabile pentru aceasta cere să ne exprimăm logica fără a expune detaliile UI care stau la baza.

1. Definiți comportamentul, nu implementarea

Deplasați-vă de UI sau de limbajul specific implementării. De exemplu:

  • Evita: Given the user starts on the Data page
  • Prefera: Given the user begins a new data preparation session

Această abstractizare asigură că scenariile rămân stabile indiferent de modificările aduse UI sau Stack Technology. Scenariul ar trebui să se aplice la fel de bine dacă sistemul este o aplicație web, o interfață de linie de comandă sau altceva în întregime.

2. Capturați fluxul în Gherkin

Descompuneți curgerea utilizatorului în pași de afaceri de bază:

  • Începeți o nouă sesiune de pregătire a datelor
  • Furnizați un set de date (personalizat sau implicit)
  • Aplicațional aplicați filtre
  • Trimiteți mapări variabile
  • Vizualizați o previzualizare a datelor
  • Obțineți acces la vizualizare
  • Vizualizați un complot

Proiecte de scenarii folosind Dat – când – atunci Cadența să se concentreze pe rezultate și intenții utilizatorilor, mai degrabă decât pe pași tehnici specifici. Această cadență este cea mai bună practică BDD fundamentală, îmbunătățind claritatea și întreținerea.

Exemplu

Feature: Data visualization

  This feature describes the core user flow for preparing a dataset
  and accessing visualizations. The workflow includes optional and
  required steps before plots can be viewed.

  Background:
    Given the user begins a new data preparation session

  Scenario: User completes the workflow using a custom dataset
    Given the user provides a dataset
    When the user proceeds to the Filtering step
    And the user skips filtering
    And the user proceeds to the Mapping step
    And the user accepts the default variable mapping
    When the user submits the mapping
    Then the user reaches the Preview step
    And the dataset is available for inspection
    And the Visualization feature becomes available

  Scenario: User completes the workflow using a default dataset
    Given the user chooses to use a default dataset
    When the user proceeds through the Filtering step without applying filters
    And the user accepts the default variable mapping
    And the user submits the mapping
    Then the user reaches the Preview step
    And the dataset is available for inspection
    And the Visualization feature becomes available

  Scenario: Visualization is not available before data preparation
    Given the Visualization feature is not accessible
    When the user provides a dataset
    And the user skips filtering
    And the user accepts the default variable mapping
    And the user submits the mapping
    Then the Visualization feature becomes accessible

  Scenario: User views a plot after completing data preparation
    Given the user has completed the data preparation workflow
    When the user accesses the Visualization section
    And the user chooses to inspect Individual Plots
    Then the user sees a visualization of the dataset

3. Examinați -vă specificațiile

  • Evitați exprimarea tehnică sau UI: Scrieți pași ca acțiuni de afaceri, nu Faceți clicuri sau Navigare UI. De exemplu, utilizați „Trimiteți maparea” în loc de „Faceți clic pe trimitere”.
  • Utilizați structura corectă a scenariului: Reduceți întotdeauna la Dat – când – atunci Cadența pentru claritate și consecvență. Nu amestecați comanda. Pentru a menține scenariile lizibile, puteți utiliza fraze alternative de pași precum „și” sau „dar”.
  • Favorizează pași reutilizabili, la nivel înalt: Pași ca the user provides a dataset sau the user submits the mapping sunt platforme-agnostice și extensibile. Acest lucru face ca fișierele de caracteristici să fie mai ușor de citit, actualizat și automatizat.

Iterați cu AI

Folosiți acest prompt pentru a vă ajuta să scrieți scenarii Gherkin:

I'm adding Cucumber tests to an app. You're a BDD expert helping me discover business concepts and user flows.

I will provide a description of how I interact with the app. Your task is to help me write executable specifications for given description. When writing specifications:

- Don't reveal implementation details (like UI elements).
- Imagine at least 3 different ways this system could be implemented, e.g. CLI, API, mind control. Those specifications need to be true no matter how the system is implemented.
- Always use the Given–When–Then cadence.

If something is not clear, ask me questions.

Începând cu acest prompt, puteți urma procesul:

  1. Oferiți descrierea a ceea ce puteți face cu aplicația.
  2. AI va sugera pașii lui Gherkin.
  3. Examinați pașii și cereți AI să construiască scenarii.
  4. Examinați scenariile și iterați -vă după cum este necesar.

Acest lucru vă poate ajuta să vă perfecționați specificațiile și să vă asigurați că captează cu exactitate comportamentul dorit al utilizatorului.


Când lucrați cu AI, acordați atenție pentru a nu dezvălui în mod accidental informații confidențiale. Scrieți -vă cu atenție descrierea aplicației.


Rezumarea de la detaliile de implementare, mai ales dacă există deja, este dificilă.

Dar este crucial pentru scrierea specificațiilor de întreținere și extensibile. Concentrându -vă pe comportamentul și rezultatele utilizatorului, puteți crea specificații care rămân relevante chiar și pe măsură ce tehnologia de bază evoluează.

Și cu ajutorul AI, obțineți o perspectivă nouă asupra aplicației dvs., ceea ce poate duce la crearea de specificații mai bune.

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.