Concludiamo questo primo ciclo di articoli con delle riflessioni su alcuni argomenti trasversali che hanno attinenza con il lavoro quotidiano della figura del collaudatore di software. Questi spunti si possono applicare a qualsiasi contesto professionale e a qualsiasi realtà aziendale, da quella più piccola ai settori più critici, trasversalmente al grado di granularità del test.
Il bagaglio tecnico
Il primo argomento che andremo a trattare, seppur brevemente, è quello della possibilità/necessità di affinare il proprio bagaglio tecnico in un contesto di analisi o approccio pseudo-funzionale. Per decenni, infatti, la figura del tester del software, nella sua accezione più classica almeno, è stata ricondotta a un soggetto che in modo asettico, legge specifiche ed effettua controlli sulla base di un’analisi.
Nella pratica, spesso un’analisi fatta in modo rigoroso manca, oppure c’è ma è lacunosa e non chiara, oppure ci si trova a operare in team che applicano principi agili in modo rigido e in cui la componente analitica in forma scritta è azzerata. Qui viene in aiuto l’attitudine del tester a essere duttile. La duttilità molto di frequente passa anche per l’aggiornamento e questo vuol dire oggi giorno accostarsi ai concetti tecnici oltre che funzionali o concettuali.
Il tester è infatti una figura trasversale, oramai anche di supporto ai colleghi nel definire le specifiche tecniche di realizzazione. Pertanto, deve avere all’interno del proprio bagaglio di conoscenze professionali anche skill tecniche. Ovviamente non parliamo di conoscenza approfondita del codice di programmazione volta alla sua stesura (non saremmo tester altrimenti!), ma parliamo di:
- lettura e interpretazione del codice di programmazione, in modo da comprendere se quanto realizzato da altri enti aziendali è calzante rispetto alle specifiche richieste dal cliente, formalizzate dall’analisi funzionale, tecnica o espresse dall’area commerciale;
- conoscenza dei fondamenti di Sql Server, compresa la stesura di query più o meno complesse per estrarre i dati e verificare che essi siano corretti;
- conoscenza degli strumenti di profiling, in modo da poter estrarre e interpretare le query attraverso cui i programmi in fase di verifica estraggono dati che vengono visualizzati o manipolati attraverso calcoli;
- conoscenza dei tool di automatizzazione del test, attraverso cui modellizzare casi o scenari di test ripetitivi da utilizzare per controlli di non regressione periodici o sistematici.
Tenendo conto di questi elementi possiamo affermare con sicurezza come la figura del tester esclusivamente funzionale che effettua test manuali o esplorativi sia oramai desueta e lasci la ribalta a una figura più versatile che, pur avendo una solida base teorica, abbia anche una ragionevole componente tecnica nel senso più ampio del termine.
Possedere un buon bagaglio tecnico ha anche un altro vantaggio pratico: nei confronti quotidiani con le aree di sviluppo o con le aree che afferiscono al mercato, o con lo stesso utilizzatore finale, le considerazioni e le idee apportate possono essere più mirate e calzanti (meglio dare una risposta breve, ma circostanziata, che mille parole prive di sostanza). Al contrario, potranno essere contestualizzati meglio suggerimenti tecnici provenienti dagli enti dedicati che potranno essere tradotti in requisiti funzionali o descrizioni migliori dei bug che si andranno a individuare. Quindi se si vuole lavorare nell’ambito del testing o lo si frequenta già, ma si vogliono potenziare le proprie capacità professionali, raccomando a tutti di seguire queste linee guida.
Il ragionamento
Un altro elemento fondamentale, forse il più elementare, è quello di applicare, anche se siamo oramai tutti nativi o derivati digitali, l’arma più preziosa: il ragionamento. Buttare le idee su carta o ragionare schematicamente non è mai sbagliato o sorpassato, anzi…
Nella pratica professionale quotidiana, si incontrano non di rado professionisti che utilizzano presentazioni, fogli Excel o altro e che di fronte a una domanda più dettagliata sui dati o sui contenuti si inalberano o non riescono a dare una spiegazione esatta. Preparare una riunione, un test, una sessione di controlli, una demo con un approfondimento preliminare è sempre cosa buona, mai errata, ma molto spesso questo non è possibile per i motivi più svariati e quindi si improvvisa.
Questa non è assolutamente una critica, si badi, ai tanti colleghi del mondo IT, ma piuttosto un’esortazione ad ampliare i propri orizzonti e a non fossilizzarsi in un ruolo definito. Improvvisare, lo si legga tra virgolette, a volte aiuta e risolve, ma anche qui occorre saperlo fare in modo sapiente. I ruoli cambiano, le responsabilità cambiano e un professionista IT deve poter sempre dare il consiglio giusto al momento giusto e nel modo giusto!
Proprio come fa (e dovrebbe fare sempre) un tester?
Grazie a tutti e alla prossima sessione di articoli di approfondimento!
Articoli correlati
Leggi il nostro primo articolo sul test del software.