A parte situazioni particolari nelle aziende meno strutturate, chi si occupa dell’Application Testing è una figura distinta dal programmatore e dall’utente. Una situazione a tutto vantaggio dell’affidabilità delle operazioni e della maggiore capacità di calarsi nei panni di un utente all’oscuro di cosa avvenga a livello di sistemi IT, dietro la schermata del monitor.
Come spesso accade, però, la separazione delle mansioni rappresenta anche una potenziale fonte di problemi, visto che un confronto regolare con tutte le parti in causa non sempre è facile o, semplicemente, non è tenuto nella dovuta considerazione. Lavorare su livelli diversi, a volte anche in luoghi diversi, rischia di mettere in discussione la visibilità necessaria a valutare le prestazioni delle applicazioni aziendali.
Funzionalità ed efficienza, aspetti diversi di uno stesso problema
Per fare un esempio di quanto abbiamo sostenuto nel paragrafo precedente, un codice scritto esclusivamente secondo le abitudini dei programmatori non è necessariamente un vantaggio in termini di funzionalità. Soprattutto nelle prime fasi, a volte si punta a raggiungere semplicemente il corretto funzionamento delle applicazioni. Aspetti come l’ottimizzazione e la facilità d’uso anche dal punto di vista di un utente non necessariamente esperto in materia di tecnologia, non sempre vengono tenuti nella dovuta considerazione.
Si tratta quindi di un discorso diverso dall’efficienza vera e propria, intesa come possibilità di eseguire un compito. Qui entriamo nel campo di capire facilmente come riuscirci, in quanto tempo e il più possibile in modo autonomo. In sintesi, parliamo di dedicare il tempo necessario a realizzare software user friendly.
D’altra parte, anche gli stessi responsabili dei test sono chiamati a organizzare a dovere il proprio lavoro. Test chiari per obiettivi, procedure e valutazione dei risultati, vanno a tutto vantaggio di chi li dovrà eseguire e interpretare. Ogni dubbio invece, si trasforma facilmente in un calo di affidabilità. Da una parte la certezza, per esempio, sulla programmazione dei test e le procedure di intervento. Dall’altra, anche una certa flessibilità su quali moduli testare e quando, pronti a intervenire di fronte a improvvise disfunzioni.
Application Testing: l’importanza nella scelta degli strumenti
Fondamentale è inoltre scegliere gli strumenti adatti. Non tanto per un’attività di Application Testing in generale, quanto perché siano in grado di adattarsi alla propria realtà. Più di chiedere a colleghi del settore, è ancora più utile affidarsi a consulenti esperti in materia. Professionisti che abbiano una visione a tutto campo sui tanti possibili scenari, in grado inoltre di mettere a fuoco la propria realtà e consigliare quindi la soluzione con la giusta componente personalizzata. In questo caso, pensare di risparmiare affidandosi a pacchetti standard predefiniti rischia di trasformarsi presto in un mancato ritorno dell’investimento.
Una volta eseguiti i test, bisogna poi essere in grado di interpretarli guardando oltre i semplici numeri. Se per quanto riguarda gli errori di funzionamento veri e propri la valutazione è fuori discussione, quando si passa a esaminare aspetti come efficienza o semplicità d’uso va tenuto in considerazione anche il tipo di utente. Un professionista pratico nell’uso di un PC avrà meno bisogno di un’interfaccia semplice e guidata rispetto invece a un commesso o all’addetto di uno sportello. Utili in questa fase, dove possibile, anche più riscontri diretti possibili da parte dei diretti interessati. Più in generale, tanto più l’addetto all’Application Testing riesce a immedesimarsi nell’utente finale, tanto più i risultati saranno affidabili e vicini.
Il discorso cambia però, quando un software non prevede un’interfaccia utente. Applicazioni cioè destinate a gestire i vari sistemi e servizi nel backoffice. In questo caso è fondamentale il contributo dei progettisti sin dalle prime fasi. Documentazione, dialogo e inserimento di commenti nel codice, contribuiscono tutti in misura importante alla manutenzione e ad allungare il ciclo di vita, testing compreso.
Quando si parla di Application Testing, a questo punto dovrebbe emergere l’importanza strategica della comunicazione tra i rispettivi gruppi di lavoro. Ascoltare le esigenze dei tester prima di iniziare a scrivere un codice aiuta la comprensione nelle fasi successive e permette, a sua volta, di fornire indicazioni più precise su dove e come intervenire. Sull’altro fronte, è importante ascoltare chi il software lo usa tutti giorni, per individuare i punti critici al di là di aspetti come la velocità, la grafica o l’affidabilità. Metterli in condizione prima di tutto di capire dove e cosa può essere un problema, come descriverlo e come comunicarlo. Disponibilità e comunicazione si trasformano così, rapidamente, in efficienza.