BDD. Oggetti, modi di linguaggio
Francesco Aprile

Martedì tre febbraio 2021 il software analyst e tester automation John Ferguson argomentava su Linkedin la propria idea attorno al fenomeno del BDD, ovvero sviluppo orientato al comportamento, e lo faceva a partire dall’esperienza di automazione del processo di test attraverso le features di Cucumber e il linguaggio Gherkin. Cucumber, in sostanza, permette ai tester del software di automatizzare il processo di ricerca delle anomalie in un progetto spostando l’attenzione sul comportamento, che altro non rappresenterebbe se non i requisiti alla base del software. Come giustamente notava Ferguson, la vera bellezza di questo linguaggio strutturato in “Scenari” sarebbe quella di scomporre il tutto permettendo di “to cleanly split the WHAT from the HOW, at multiple levels”, andando oltre il semplice test della UI, dell’interfaccia utente, ma, si spingeva ancora oltre, “to go beyond automating test cases”. Ciò che viene, allora, davvero automatizzato, secondo Ferguson, sono i requisiti. Da qui proseguiamo, invece, notando come i registri fondamentali siano due: uno è direzionale, vettoriale, istruttivo, esamina e, allora, indica e distribuisce gli orizzonti di senso lungo linee programmatiche; l’altro è lo schema di una struttura orientata non più al paradigma degli oggetti – la programmazione object oriented – ma a quello del linguaggio (circa nel 2005 Martin Fowler, coniando il concetto di “language workbench”, contribuiva allo spostamento del paradigma della programmazione da un orientamento rivolto agli oggetti ad uno indirizzato al linguaggio). In questo ambito, assistiamo all’assorbimento del primo registro nel secondo a partire dal fatto  che, in un tale orizzonte di senso, il comportamento in quanto requisito appare un modo stesso del linguaggio. In sostanza, un comportamento-requisito nasce come esperienza di linguaggio, campo di azione di una relazione che può essere al contempo ipotetica-pensata e agita-proposta: la raccolta dei requisiti in questo caso è espressione di una relazione-utente che ha la sua funzione-campo sul piano primigenio della lingua. Il requisito, come modo del linguaggio, si presenta come attributo di un concetto le cui maglie sono ampie e reticolari, espresse né più né meno che in una rete di salti e rimandi semiotici (sull’asse Peirce-Heidegger: caratteristica di un segno è quella di rimandare “a”). Il requisito, in quanto raccolto in un ambito-rete esperienziale e inter-soggettivo è, di tutto questo, un modo, un attributo, derivando, proprio da questo ambito-rete-esperienziale le proprie peculiarità, ma questo ambito inter-soggettivo è tale in quanto rete, rete di linguaggio. Dall’oggetto DADA all’oggetto-requisito il salto passa attraverso il fatto che da uno spiazzamento ludico-ironico-polemico ci si colloca, nel BDD, invece, in un contesto in cui raccogliere un requisito significa costruirlo attraverso un dialogo, una rete inter-soggettiva di lingue che si incontrano. Avviene così che nel digitale ogni produzione di oggetti (digitali, interattivi, fluidi, flussi: tutti gli oggetti “smart”) sia una produzione e costruzione linguistica. La scrittura, allora, è ovunque. Google impone la predominanza semantico-linguistica alle pagine web oltre che nei contenuti anche nella loro impalcatura. I <tag> html si spostano sempre più verso il dominio della lingua (strong, main, section, footer ecc.). I framework, backend e frontend, basati su concezioni moderne (Laravel, Tailwind ecc.) risultano sempre più semantizzati e semantizzanti. Il linguaggio diventa “ubiquitous” (Bill Evans) e i processi di manipolazione di oggetti digitali diventano scrittura.

Print Friendly, PDF & Email