• Passa alla navigazione primaria
  • Passa al contenuto principale
  • Passa alla barra laterale primaria
  • Passa al piè di pagina
Glue Labs

Glue Labs

Trasformiamo le tue idee in prodotti digitali di successo!

  • HOME
  • SOLUZIONI
  • NEWS
  • PRODOTTI
  • CONTATTI
  • CASE STUDY

Test-Driven Development(TDD) vs Behaviour-Driven Development(BDD)

Perchè il comportamento e le User Story vanno integrate nello sviluppo test-driven

Lo sviluppo dei software parte dai requisiti del cliente e degli utenti del software stesso. Il metodo Agile ha lasciato spazio a questi requisiti per permettere una maggiore adattabilità, anche durante il periodo di sviluppo, a possibili modifiche legate a nuovi requisiti ed esigenze.

Nelle prime fasi di sviluppo, il Product Manager o più in generale il Cliente, anche insieme alla consulenza del team di sviluppo, traduce le proprie necessità e quelle dell’utilizzatore finale dell’applicazione in requisiti operativi. Ciò comporta che il collaudo del software sia acquisito attraverso dei test che esplicitano che la funzionalità lavora nella maniera indicata nei requisiti. Contattaci subito e senza impegno per garantire la qualità delle tue applicazioni.

Test-Driven Development(TDD)

Il concetto di TDD nasce 20 anni fa, nell’era dei mainframe e di complesse applicazioni, servizi ed infrastrutture, quando in pratica gli sviluppatori avevano necessità di comparare i risultati di quanto fatto con quanto si aspettavano.

I test erano creati prima di scrivere il codice, nel TDD i test case sono sviluppati basandosi esclusivamente sui requisiti. Il processo del TDD può essere sintetizzato come segue:

  1. Realizzare un test: basandosi sui Use Case, i test vengono scritti affinchè vengano superati se e sole se la funzionalità rispetti un determinato requisito.
  2. Far girare il test ed osservare eventuali fallimenti: il test fallisce solo se la funzionalità non rispetta il requisito.
  3. Correggere l’errore in modo immediato e per far si che il test venga superato.
  4. Iterare i punti 2 e 3 fino a quando tutti i test vengono superati.
  5. Ristrutturare il codice per il migliorare l’eventuale compliance a standard o requisiti di sviluppo come modularità, astrazione, lettura documentale del codice.

Dovendo eseguire il processo suindicato per ogni requisito, appare chiaro che le funzionalità che devono essere testate debbano essere “piccole” e nel caso siano “grandi” occorre dividerle in più piccole in modo che sia semplice farne il debug.

Contattaci subito e senza impegno per integrare i test nei tuoi processi di sviluppo.

L’evoluzione del TDD: il Behaviour-Driven Development(BDD)

Seppur BDD si basi sui medesimi principi del TDD di creare i test prima dello sviluppo e di iterare in maniera continua i test per garantire le funzionalità, i test di tipo BDD si basano sui termini di comportamento desiderato di una determinata funzionalità e non sul mero corretto funzionamento.

BDD affina il TDD allineandolo ai requisiti di business più che ai requisiti tecnici in modo da adattare i test ai specifici stakeholder del progetto di sviluppo. In buona sostanza adatta i test a ciò che Agile chiama User Story.

Una User Story è l’espressione di una determinata funzionalità del prodotto software dalla prospettiva dell’utilizzatore. La User Story dettaglia come la funzionalità fornisca valore all’utente e così facendo si assicura che i requisiti di business dell’end user siano portati all’attenzione principale del team di sviluppo.

Utilizzando le User Story, BDD sintetizza nei test le idee ed i propositi frutto della collaborazione tra Product Manager, cliente o end user e sviluppatori. Inoltre mettendo in campo il linguggio del business nella costruzione dei test, riduce notevolmente e spesso elimina gli effetti dovuti alla conversione di requisiti in funzionalità, quello che viene chiamato “lost-in-translation”.

Contattaci subito e senza impegno per realizzare la tua applicazione integrando le User Story.

Conclusioni

Il BDD aiuta sia lo sviluppo sia il cliente ad avere una struttura di test che sono orientati ad ambedue e che quindi riducono possibili perdite di informazioni nei vari passaggi dal “documento dei requisiti” alla realizzazione del software. Per un approfondimento puoi leggere il precedente articolo “I 4 modi per accelerare il processo dal Design allo Sviluppo“.

Testare l’usabilità anche coinvolgendo il Cliente e formalizzando, ove necessario in base al progetto, la User Experience(UX), si traduce in minori modifiche durante l’esecuzione del progetto e quindi in migliore produttività e qualità complessiva.

Attraverso figure come l’Analista Funzionale è possibile creare applicazioni perfette per i tuoi clienti e garantire il successo di tutto il ciclo di sviluppo.

Contattaci subito e senza impegno per consulenza e assistenza nello sviluppo software.

Glue Labs, TDD e BDD

Attraverso l’adozione di processi che coinvolgono Project Manager, Analisti Funzionali, Designer e Sviluppatori e l’implementazione di piattaforme uniche e documentazione standardizzata realizziamo la tua Web Application, PWA e Mobile App garantendola 12 mesi da qualsiasi bug. Contattaci subito e senza impegno per maggiori informazioni.

Grazie all’esperienza maturata in tantissimi settori, con numerosi Clienti e con un solido gruppo aziendale ti forniamo formazione avanzata e assistenza e supporto per qualsiasi progetto di sviluppo. Contattaci subito e senza impegno per maggiori informazioni.

Continua la lettura

  1. Corso Prompt Engineering per l’Artificial Intelligence(AI)

Categoria: Articoli Tags: Agile, analista funzionale, BDD, Behaviour Driven Development, TDD, Test-Driven Development, Use Case, User Experience(UX), User Story

Barra laterale primaria

Cosa facciamo

  • Catalogo dei servizi di CyberSecurity
  • Content Strategy
  • E-Commerce
  • Formazione avanzata Web, Mobile & Cloud
  • IoT – Sviluppo e Integrazione
  • Micro Live Learning(MLL) Web, Mobile & Cloud
  • Project Management Prince2
  • Pupau.ai
  • PushAPE
  • Software Aziendali
  • Sviluppo Mobile App
  • Sviluppo, Supporto, Assistenza Tecnica e Hosting Google Cloud
  • System Integration
  • Termini e condizioni
  • Web Application
  • Web Design

Contatti

Scrivici dal form di contatto

Tel +39 06 56549766
Fax +39 06 21122581
Mail: info@glue-labs.com
Pec: gluelabs@legalmail.it

Dove siamo

Roma: Piazza Don Sturzo 15
Milano: Via Lazzaretto 19
Torino: Via San Domenico 28
Altamura: Via Maggio 1648 24

"*" indica i campi obbligatori

Nome*
Questo sito è protetto da reCAPTCHA e si applicano le Normative sulla Privacy e i Termini di Servizio di Google.
Inviando i tuoi dati accetti le condizioni sulla Privacy. Li useremo per rispondere alle tue domande e richieste.
Consenso*
Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Siamo parte di

La nostra Agenzia di Marketing

Footer

Partnership



Rimaniamo in contatto

Iscriviti alla nostra newsletter

Nome
Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Soluzioni

  • Fractional Chief Information Security Officer(fCISO): la tua sicurezza informatica di livello executive, on demand
  • AI On Premise: la tua Intelligenza Artificiale privata e sicura
  • AI Discovery – Consulenza e Supporto
  • Alfabetizzazione in materia di Artificial Intelligence(AI) ai sensi art.4 dell’AI ACT
  • Audit di Configurazione Cloud: proteggi la tua infrastruttura da errori critici
  • Simulazione avanzata di Attacchi di Social Engineering: un approccio reale e basato sull’intelligence
  • Corso Apache JMeter Base ed Avanzato
  • Corso di Aggiornamento Front-End: Angular, React e Vue – Formazione Avanzata per Sviluppatori
  • Hosting, Consulenza, Assistenza e Supporto Tecnico su Large Language Model(LLM) e Artificial Intelligence(AI)
  • Corso AI nel lavoro quotidiano: come ottimizzare i processi aziendali con l’Intelligenza Artificiale

Articoli

  • Evolutionary Architecture: la chiave per superare i limiti dei sistemi legacy nelle aziende
  • I vantaggi dell’AI sovrana ed agentica: le parole dei nostri Clienti
  • Platform Engineering e Internal Developer Portal: dalla moda del Vibe Coding alla solidità dello sviluppo organizzato
  • API Gateway vs Load Balancer: differenze, scenari e soluzioni di integrazione
  • OpenClaw – L’Agente AI di nuova generazione
  • End-to-end testing con Playwright: Sicurezza, Affidabilità e Automazione per le tue Applicazioni
  • Keycloack: la gestione evoluta dell’identità digitale aziendale
  • Fractional Chief Information Security Officer(fCISO): la tua sicurezza informatica di livello executive, on demand
  • Data Mesh Organization: l’architettura per governare e valorizzare i dati aziendali
  • AI On Premise: la tua Intelligenza Artificiale privata e sicura

Le nostre sedi

  • Roma, Piazza Don Sturzo 15
  • Milano, Via Lazzaretto 19
  • Torino, Via San Domenico 28
  • Altamura, Via Maggio 1648 24

Contatti

  • Tel. +39 06 56549766
  • Fax +39 06 99335373
  • glue-labs@legalmail.it
  • info@glue-labs.com
  • Facebook
  • LinkedIn
  • Twitter

Scarica app da App StoreScarica app da Play Store


Glue Labs © 2011–2025 | Copyright | Privacy Policy | Codice Etico | Company Info | Cookie Policy

Gestisci Consenso
Per fornire le migliori esperienze, utilizziamo tecnologie come i cookie per memorizzare e/o accedere alle informazioni del dispositivo. Il consenso a queste tecnologie ci permetterà di elaborare dati come il comportamento di navigazione o ID unici su questo sito. Non acconsentire o ritirare il consenso può influire negativamente su alcune caratteristiche e funzioni.
Funzionale Sempre attivo
L'archiviazione tecnica o l'accesso sono strettamente necessari al fine legittimo di consentire l'uso di un servizio specifico esplicitamente richiesto dall'abbonato o dall'utente, o al solo scopo di effettuare la trasmissione di una comunicazione su una rete di comunicazione elettronica.
Preferenze
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistiche
L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente a fini statistici anonimi. Senza un mandato di comparizione, il rispetto volontario da parte del tuo provider di servizi Internet o registrazioni aggiuntive da parte di terzi, le informazioni archiviate o recuperate solo per questo scopo non possono essere generalmente utilizzate per identificarti. L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici anonimi. Senza un mandato di comparizione, una conformità volontaria da parte del vostro Fornitore di Servizi Internet, o ulteriori registrazioni da parte di terzi, le informazioni memorizzate o recuperate per questo scopo da sole non possono di solito essere utilizzate per l'identificazione.
Marketing
L'archiviazione tecnica o l'accesso sono necessari per creare profili di utenti per inviare pubblicità, o per tracciare l'utente su un sito web o su diversi siti web per scopi di marketing simili.
  • Gestisci opzioni
  • Gestisci servizi
  • Gestisci {vendor_count} fornitori
  • Per saperne di più su questi scopi
Visualizza preferenze
  • {title}
  • {title}
  • {title}