Archivio mensile:gennaio 1996

L’Automatizzazione del Controllo Qualità del Software

Uno dei problemi principali della messa in produzione e/o funzionamento delle procedure software realizzate, o modificate per sopravvenute esigenze, e’ quello del controllo qualita’ di tali procedure.

Prendendo ad esempio la realta’ bancaria, le procedure di sportello andrebbero testate prima di essere rilasciate alle agenzie al fine di prevenire quanto piu’ possibile errori nell’effettuazione delle transazioni.

L’attivita’ di controllo qualita’ del software va’ fatta secondo schemi prestabiliti, e a seconda dei casi cio’ puo’ richiedere tempi lunghi, anche diversi mesi uomo di attivita’.

Come spesso accade, per problemi di tempo, i test non vengono eseguiti, o si preferisce sacrificarne l’accuratezza; gli schemi di controllo non vengono predisposti o seppure esistenti, non vengono seguiti; il test in tali casi risulta approssimativo e pericolosamente inaffidabile.

Le conseguenze di tali comportamenti possono essere il mancato funzionamento delle procedure non testate o testate malamente, e nei casi peggiori il blocco piu’ o meno prolungato dell’agenzia o dell’intero istituto.

E’ pertanto necessario disporre di una struttura di controllo qualita’ del software estranea all’ambiente dei progettisti e degli sviluppatori che adotti ed esegua schemi di controllo (check-list) che testino le diverse funzionalita’ del software al fine di verificare il loro corretto funzionamento; tali schemi una volta predisposti potranno essere facilmente modificati a seconda del mutare delle funzionalita’ delle singole procedure in test.

Una volta dotati di una struttura di controllo qualita’ del software che non esegua test improvvisati ma che si attenga a schemi di controllo ben definiti, e’ ancora possibile migliorare l’attivita’ di controllo, riducendone spesso drasticamente i tempi di esecuzione da mesi uomo a poche ore uomo, automatizzando tale attivita’; facendola cioe’ eseguire automaticamente ad un sistema hardware-software appositamente istruito che si sostituisce all’operatore umano.

Esistono sul mercato sistemi anche abbastanza semplici che senza interferire con le procedure da testare, sono in grado di apprendere le sequenze di test da eseguire e che successivamente eseguono sempre allo stesso modo segnalando le eventuali difformita’ di comportamento riscontrate.

Man mano che il sistema apprende, memorizzando in un apposito database, sempre piu’ sequenze di test da eseguire, il sistema di controllo qualita’ cresce e si velocizza.

Le sequenze memorizzate potranno essere successivamente adattate in maniera semplice e veloce a nuove eventuali esigenze, incorporando nuove funzionalita’ da testare e eliminando quelle obsolete.

Questi sistemi posseggono anche delle funzionalita’ di auto-apprendimento utili soprattutto di fronte ad una migrazione delle funzionalita’ da testare in un nuovo ambiente; in tal caso, normalmente, si rende necessario l’adattamento globale al nuovo ambiente dell’intero sistema automatizzato di controllo qualita’ del software.

Il controllo qualita’ del software evidenzia i suoi vantaggi oltre che nel caso citato delle procedure di sportello bancario, anche in altri contesti.

Ad esempio, una software house che introduce sul mercato un suo nuovo prodotto e che debba aggiornarlo o modificarlo continuamente per adeguarlo alle mutate esigenze della clientela, potra’ automatizzare il controllo qualita’ di un tale prodotto.

Lo stesso dicasi nel caso del software che presiede al controllo di processi industriali, cosi’ come in generale per qualsiasi tipo di software destinato ad una distribuzione significativa interna o esterna all’organizzazione che lo ha prodotto.

Cosa offre la nostra azienda per il controllo qualita’ del software

La Telebit Consulting propone a banche, software house, grandi organizzazioni, a tutti coloro che, in genere, gestiscono sistemi informativi e che hanno la necessita’ di manutenere o innovare le loro procedure, la possibilita’ di progettare e realizzare una struttura di controllo qualita’ del software automatizzata, mettendo a loro disposizione strumenti e consulenti adeguati al raggiungimento di un tale obiettivo.