• 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. Gli 8 passi del ciclo di vita delle API
  2. Ingegneria dei requisiti di sistema ed applicativi
  3. Come garantire la qualità del software: code review, stress test, fuzzing ed analisi funzionale

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

  • Content Strategy
  • E-Commerce
  • Formazione avanzata Web, Mobile & Cloud
  • IoT – Sviluppo e Integrazione
  • Micro Live Learning(MLL) Web, Mobile & Cloud
  • Project Management Prince2
  • PushAPE
  • Sicurezza ICT
  • Software Aziendali
  • Sviluppo Mobile App
  • Sviluppo, Supporto, Assistenza Tecnica e Hosting Google Cloud
  • System Integration
  • 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

  • Supporto ed Integrazione di SPID e CIE con OpenID Connect
  • Consulenza e Assessment pre-formazione
  • Integrazione con le API di OpenAI e ChatGPT
  • Corso Cucumber per Javascript
  • Supporto ed Assistenza nell’implementazione ed utilizzo dei Kit di Designers Italia
  • Realizzazione di Tour Virtuali 3D
  • Conferenza/Seminario – Google Cloud Hands On
  • Corso Cacti
  • Backup-as-a-Service in Cloud: come archiviare i dati in maniera sicura ed affidabile
  • Corso Angular 14

Articoli

  • L’impatto dei bug sul consumo di energia di un software
  • Software report del 2022 e trend per il 2023
  • Come gestire il backup di architetture complesse in maniera sicura ed efficiente
  • Perchè avere un Contact Center as a Service(CCaaS)
  • Come modernizzare applicazioni legacy
  • Cos’è Github Flow
  • Come avere una Data Quality Platform come Twitter
  • Cos’è la Dead letter queue e perchè è importante
  • Jinja: un template engine multiuso per Python
  • Cos’è l’Application Level Encryption(ALE): vantaggi e svantaggi

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 87811067
  • 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–2023 | Copyright | Privacy Policy | Company Info | Cookie Policy | Gestione Cookies

Gestisci Consenso Cookie
Usiamo cookie per ottimizzare il nostro sito web ed i nostri servizi.
Funzionale Sempre attivo
La conservazione tecnica o l'accesso sono strettamente necessari al fine legittimo di consentire la fruizione di uno specifico servizio esplicitamente richiesto dall'abbonato o dall'utente, o al solo fine 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. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
L'archiviazione tecnica o l'accesso è necessario per creare profili utente per inviare pubblicità o per tracciare l'utente su un sito Web o su più siti Web per scopi di marketing simili.
Gestisci opzioni Gestisci servizi Gestisci fornitori Per saperne di più su questi scopi
Gestisci preferenze
{title} {title} {title}