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.

Un nuovo mondo ad oggetti

(articolo pubblicato sulla rivista Bancamatica n.12, Dicembre 1995)

In questi ultimi anni, nel mondo dell’informatica sta emergendo sempre più prepotentemente un nuovo modo di fare software che mette in discussione quello finora adottato.

Ci riferiamo all’O.O. sigla che sta per Object Oriented e che indica le metodologie, le tecnologie e gli strumenti che realizzano questo nuovo modo di fare software.

Le motivazioni del continuo affermarsi dell’O.O. non sono banali e alla fine si possono ricondurre ai problemi e ai costi cui si va incontro nella produzione e manutenzione del software.

L’Object Oriented oggi è il frutto degli studi effettuati nei due decenni precedenti.

Studi che, attraverso selezioni evolutive, hanno conquistato un numero sempre più grande di individui e aziende e che oggi concretamente si materializzano sul mercato con un numero crescente di prodotti O.O.

Le aspettative riposte nell’Object Oriented sono, sinteticamente, la riduzione dei tempi di produzione del software, l’industrializzazione del suo ciclo produttivo, una maggiore qualità ed efficienza del software così prodotto, una sua maggiore scalabilità e facilità di manutenzione e di conseguenza la riduzione dei costi di gestione e innovazione dei sistemi informativi e, laddove è opportuno, la salvaguardia di quelli esistenti grazie alla proprietà di incapsulamento insita e presente nelle metodologie e tecnologie O.O..

Il principale mito messo in crisi dall’O.O. è la metodologia cosiddetta “waterfall” – a cascata – secondo la quale le varie fasi di realizzazione di un progetto – analisi, sviluppo, test – vanno affrontate nella maniera più esaustiva possibile e tenendole disgiunte le une dalle altre; secondo l’O.O. il modello waterfall va sostituito dal modello prototipale che si basa sulla realizzazione di prototipi sempre più evoluti e nella realizzazione dei quali è previsto un forte coinvolgimento dell’utente finale allo scopo di verificare continuamente l’aderenza del progetto agli obiettivi da raggiungere, mettendosi al riparo da costosi e difficilmente rimediabili errori d’analisi.

Le eperienze condotte con le metodologie e le tecnologie O.O. sono anch’esse sempre più numerose per cui non si può pensare di essere ancora in una fase esclusivamente sperimentale.

La sperimentazione, se così vogliamo definirla, è piuttosto il continuo avvicinarsi a questi temi per conoscerli e il cominciare ad usare gli strumenti che ad essi si riconducono da parte di un crescente numero di aziende, comprese quelle bancarie.

Si possono citare pertanto situazioni in cui l’O.O. è stata ormai tranquillamente adottata e altre in cui si è avviato il processo di avvicinamento attraverso la lettura delle riviste specializzate o dei testi canonici, la frequenza di seminari e corsi, la sperimentazione diretta di alcune metodologie d’analisi, la conoscenza degli strumenti disponibili sul mercato, la realizzazione di qualche prototipo.

Nel mondo si trovano progetti O.O. avviati e conclusi sia nell’industria che nei servizi; in Italia, limitatamente al settore bancario, la Sicilcassa ha concluso da poco, e in poco tempo, un’esperienza molto interessante che ha visto la realizzazione di un prototipo di sportello O.O. che nel momento in cui sarà deciso il passaggio ad un nuovo tp di sportello concepito per i nuovi ambienti grafici (Windows, OS/2), potrà tranquillamente costituirne il punto di partenza.

Nello scorso aprile, l’ing. Roberto Dadda, responsabile Ricerca e Tecnologie del Banco Ambrosiano Veneto, in una conferenza sull’O.O., tenutasi a Milano, ha descritto il progetto di tp di sportello basato su metodologie e tecnologie O.O. e denominato Bravo che la sua azienda è in procinto di realizzare.

Sulla scia di quanto avviene in Germania presso l’azienda madre, anche in Italia la Deutsche Bank sta conducendo esperienze analoghe a quelle della Sicilcassa e dell’Ambrosiano Veneto.

L’interesse crescente per l’O.O. ha portato anche alla nascita di un organismo internazionale no profits, l’Object Management Group (OMG), finanziato dai maggiori produttori di software a livello mondiale, che promuove lo sviluppo delle metodologie e tecnologie O.O. e la loro standardizzazione attraverso la definizione delle specifiche CORBA (Common Object Request Broker) verso cui la stessa Microsoft ha recentemente deciso di mostrare più attenzione.

In Italia, a Bologna, all’inizio di quest’anno è nata anche l’Associazione Italiana Tecnologie Avanzate Basate su concetti Orientati ad Oggetti (TABOO), che ha lo scopo di promuovere e diffondere l’O.O. .

La Harmon Associates nel 1994 ha condotto un’indagine dalla quale è stato desunto che le vendite mondiali dei produttori e distributori nordamericani di prodotti O.O. effettuate nel 1993 ammontavano a 680 milioni di dollari.

L’articolo che segue vuol dare un’idea dell’attuale segmentazione del mercato dei prodotti/strumenti O.O. ed è stato redatto adottando la classificazione proposta dal prof.Roberto Zicari della LogOn Technology Transfer, società che rappresenta l’OMG in Europa; l’elenco dei prodotti che in esso compaiono non è esaustivo ma solo indicativo, vista la frequenza con cui nuovi prodotti arrivano sul mercato.

Mercato e tendenze per i prodotti di sviluppo software OO

Il mercato per i prodotti di sviluppo Object Oriented (OO) è piuttosto complesso. Una classificazione dei prodotti di sviluppo OO disponibili sul mercato potrebbe essere la seguente:

  1. Linguaggi e ambienti di programmazione OO.
  2. Strumenti CASE basati su metodologia OO.
  3. Lower CASE OO.
  4. Databases OO.
  5. Librerie di classi e frameworks OO.
  6. Ambienti di sviluppo OO per applicazioni distribuite.

1) Linguaggi e ambienti di programmazione OO

Questo è il segmento di mercato maggiormente rappresentativo di tutta l’Object Technology (309 milioni di dollari; Harmon Associates 1994).

Attualmente vi è un crescente numero di produttori con offerta sia per PC che per Workstation; la suddivisione operata vede:

1.1) Linguaggi Puri: Smalltalk, Eiffel, Simula, ecc..
1.2) Linguaggi Ibridi: C++, Objective C, Modula, Object Cobol, Prolog, ecc..

La tendenza da parte dei produttori è quella di dotare questi ambienti di risorse proprie o di terze parti che li rendano più che semplici ambienti di tipo 4GL.

Essi tendono ad essere e vengono definiti sempre più frequentemente come Ambienti di Sviluppo Avanzati (ADE – advanced development environment).

2) Strumenti CASE: basati su metodologia OO

Tali strumenti forniscono un ambiente di modellazione grafica basato su una metodologia OO.

Le metodologie utilizzate da tali strumenti possono essere proprietarie e pertanto impiegate solo da un particolare produttore di tali strumenti o essere pubbliche e impiegabili da qualsiasi produttore.

Questi strumenti si possono ulteriormente suddividere in:

2.1) Strumenti per l’analisi e la progettazione OO.

2.2) Strumenti CASE OO.

3) Lower CASE OO

Questo rappresenta il secondo segmento di mercato dell’Object Technology (216 milioni di dollari; Harmon Associates 1994).

Non tutti questi strumenti utilizzano un approccio basato su una vera e propria metodologia OO. La suddivisione che potremmo operare è la seguente:

3.1) Strumenti OO per la costruzione di GUI. Alcuni sempi:

3.2) Strumenti 4GL/ADE OO.
Questi strumenti, per la varietà di funzionalità da cui sono contraddistinti, possono essere ulteriormente suddivisi a seconda del grado di Object Technology che offrono:

3.2.1) Strumenti 4GL potenziati (basso grado di Object Technology). Alcuni esempi:

3.2.2) Strumenti moderatamente OO e di facile utilizzo (medio grado di Object Technology).
Alcuni esempi:

3.2.3) Strumenti veramente OO (altissimo grado di Object Technology).
Supportano C++ e/o Smalltalk. Alcuni esempi:

3.2.4) Strumenti che uniscono OOP e programmazione a regole.
Questi strumenti in molti casi si posizionavano precedentemente come sistemi esperti o ambienti di sviluppo basati sulla conoscenza. Alcuni esempi:

4) Databases OO

Questi sistemi (73 milioni di dollari; Harmon Associates 1994) si possono suddividere in:

4.1) Sistemi che integrano gli ambienti OOP (principalmente C++ e Smalltalk).
Attualmente
 questa è la categoria dominante nel segmento di mercato degli ODBMS (67,5 milioni di dollari; Harmon Associates 1994). Alcuni esempi:

4.2) Sistemi che supportano gli ambienti OO con databases relazionali (detti anche Sistemi Ibridi).
Alcuni esempi:

5) Librerie di classi e frameworks OO

Attualmente questo è il più piccolo segmento di mercato dell’Object Technology (14 milioni di dollari; Harmon Associates 1994).

La maggior parte di questi prodotti è stata progettata per supportare i lavori più ripetitivi nella programmazione, assistere lo sviluppo d’interfacce e la registrazione e ricerca di oggetti nei databases relazionali. Alcuni esempi:

6) Ambienti di sviluppo OO per applicazioni distribuite

Questo rappresenta un nuovo segmento di mercato dell’Object Technology.

Questi prodotti si basano sul rispetto degli standard CORBA (Common Object Request Broker) prodotti dall’ OMG (Object Management Group). Alcuni esempi:

Gli innovativi software della Telebit Consulting (Presentazione dell’Azienda)

(recensione pubblicata sulla rivista Bancamatica n.11, Novembre 1995 – pagg. 88, 90, 91)

La Telebit Consulting è una giovane azienda, formata da professionisti esperti e motivati, che nasce nel 1991 in Sicilia per operare sul mercato dell’informatica bancaria.

L’azienda si occupa principalmente della realizzazione di software per lo sportello e il retrosportello bancario.

Sin dall’inizio dell’attività dispone di risorse la cui esperienza è maturata nel più evoluto mercato del Nord del Paese, in aziende fornitrici di primari istituti di credito.

Il patrimonio di competenze e professionalità ha permesso all’azienda di figurare, sin dalla sua nascita, tra i partner di Olivetti di cui è fornitore certificato.

Le esperienze affrontate hanno inoltre permesso alla Telebit Consulting di operare accanto ad alcuni dei nomi più prestigiosi del settore e in taluni casi di entrare direttamente in concorrenza con essi sia in termini di qualità e soddisfazione espressa dal cliente che per competitività di costi.

La Telebit Consulting in questi anni è cresciuta marcatamente in controtendenza nonostante il contesto fortemente recessivo del settore senza chiudere mai in perdita e creando nuovi posti di lavoro qualificati, attingendo tra le risorse locali e valorizzandole.

In un mercato del lavoro locale caratterizzato da un profondo gap culturale nei confronti del Nord del Paese, la Telebit Consulting ha messo a disposizione dei propri clienti professionalità e competenze qualificate del settore, difficilmente reperibili in Sicilia, consentendo loro di conseguire risparmi considerevoli e una maggiore disponibilità di consulenti a seconda delle esigenze in divenire.

L’impegno prevalente di questi anni della Telebit Consulting è stata la partecipazione alla realizzazione del nuovo Progetto Sportello Sicilcassa dove ha operato insieme ad Olivetti, Andersen Consulting (ora Accenture), Coriban e alle risorse più qualificate della stessa Sicilcassa.

Questa esperienza ha consentito di evidenziare le qualità già possedute dai professionisti più esperti della Telebit Consulting e, sotto la loro guida, ha favorito la crescita di quelli più giovani.

Perseguendo costantemente come obiettivo la soddisfazione dell’operatore di sportello, utente diretto degli strumenti software approntati, e della clientela della banca, la Telebit Consulting annovera, tra tutte le transazioni realizzate, alcune delle più significative e qualificanti per lo sportello e il retrosportello Sicilcassa: la transazione di versamento su conto corrente produce in automatico la distinta di versamento sollevando il cliente dello sportello, spesso lo stesso operatore, dall’odioso e dispersivo onere di doverla compilare manualmente, acquisisce i dati di input dal lettore di assegni, compreso lo stesso importo se presente sulla code-line, individua gli assegni per la check-truncation, alimenta su host l’archivio storico contenente le informazioni su tutti gli assegni scambiati; la transazione di emissione massiva di assegni circolari, utilizzata per servire le esigenze di significativi clienti della banca, recentemente ottimizzata al punto da ridurre i tempi di emissione su mille assegni da circa tre ore a solo un quarto d’ora.

L’azienda ha visto impegnati i propri consulenti anche presso altri primari istituti di credito siciliani, e annovera tra i propri clienti alcune banche di credito cooperativo sia per la fornitura di consulenza sulla scelta del sistema informativo aziendale sia per la fornitura di software già pacchettizzato.

In particolare alcune di queste esperienze, frutto degli investimenti effettuati dall’azienda nella formazione e crescita professionale delle risorse, hanno visto la Telebit Consulting impegnata, insieme a partner significativi, nella realizzazione di innovativi prototipi di software di sportello ispirati alle nuove metodologie object oriented.

Gli investimenti effettuati e in corso, la formazione delle sue risorse, l’esperienza conseguita sul campo, consentono alla Telebit Consulting di esibire familiarità con i più avanzati e innovativi strumenti e metodologie di progetto e sviluppo.

Attenzione particolare merita la presenza in azienda di competenze qualificate in grado di affrontare le problematiche connesse al controllo qualità del software realizzato, all’approntamento di test (regressivi e non) dello stesso e alla loro automatizzazione per ottimizzare l’attività di controllo qualità con considerevoli guadagni di tempo, di qualità ed efficienza.

La frequenza, delle principali manifestazioni fieristiche del settore e dei più qualificati seminari sulle specifiche tematiche della programmazione object oriented e della qualità del software hanno ulteriormente qualificato ed ampliato lo spettro delle competenze in house e favorito la richiesta di consulenze sul settore da parte di prestigiosi clienti al di fuori dell’ambito siciliano.

Obiettivo della Telebit Consulting è oggi quello di affermarsi sempre di più sul mercato regionale ed extra regionale diffondendo la propria immagine di qualità e competenza.

In questa prospettiva, l’azienda, consapevole di poter supportare le Organizzazioni e i Sistemi Informativi delle imprese bancarie presenti sul territorio, soprattutto siciliano, ad essi si propone, certa di poter riscuotere il loro interesse e gradimento.