FACOLTA` DI SCIENZE MM.FF.NN CORSO DI LAUREA IN

Transcript

FACOLTA` DI SCIENZE MM.FF.NN CORSO DI LAUREA IN
UNIVERSITA’ DEGLI STUDI DI NAPOLI
FEDERICO II
FACOLTA’ DI SCIENZE MM.FF.NN
CORSO DI LAUREA IN INFORMATICA
TESI DI LAUREA
Catena USAGE : Il testing in ambiente Telecom Italia
RELATORE
CANDIDATO
Prof. Eliana Minicozzi
Antonino Rizzo
TUTOR AZIENDALE
MATRICOLA
Dott. Antonio Ferraro
566/1056
Anno Accademico 2006-2007
1
Un caloroso ringraziamento alla mia famiglia, e a
chi mi ha sostenuto durante questi anni cosi
impegnativi offrendomi comprensione e serenità:
grazie mamma grazie papà.
2
INTRODUZIONE ...................................................................................................................................... 5
ORGANIZZAZIONE DELLA TESI.......................................................................................................... 6
DEFINIZIONI ACRONIMI E ABBREVIAZIONI .................................................................................. 8
CAPITOLO 1 SVILUPPO DEL SOFTWARE .......................................................................................... 8
1.1 METODOLOGIE UTILIZZATE................................................................................................................... 8
1.2 IL COLLAUDO...................................................................................................................................... 9
1.3 MODELLO DI SVILUPPO ........................................................................................................................ 10
1.3.1 Sviluppo a cascata .........................................................................................10
1.3.2 Sviluppo guidato dal collaudo .......................................................................10
1.4 FASI DI RILASCIO ................................................................................................................................. 11
1.4.1 Il collaudo Alfa..............................................................................................11
1.4.2 Il collaudo Beta..............................................................................................12
1.5 AUTOMAZIONE DEL COLLAUDO ............................................................................................................ 12
1.6 GRANULARITÀ ...................................................................................................................................... 13
1.6.1 Il collaudo di modulo.....................................................................................14
1.6.2 Il collaudo di sistema.....................................................................................15
1.7 CONOSCENZA DELLE FUNZIONALITÀ INTERNE .................................................................................... 15
1.7.1 Il collaudo a scatola bianca............................................................................15
1.7.2 Il collaudo a scatola nera ...............................................................................16
1.8 COLLAUDO FORMALE E INFORMALE .................................................................................................... 17
1.8.1 Il collaudo informale .....................................................................................17
1.8.2 Il collaudo formale.........................................................................................18
1.9 TIPOLOGIE DI COLLAUDO ..................................................................................................................... 19
1.9.1 Collaudo Prestazionale (Performance Test) ..................................................19
1.9.2 Collaudo di Carico/Volume (Load/Volume Test) .........................................20
1.9.3 Collaudo di Stress (Stress Test).....................................................................22
1.10 IL COLLAUDO DI REGRESSIONE .......................................................................................................... 23
1.11 IL COLLAUDO IN TELECOM................................................................................................................. 23
CAPITOLO 2 AREA USAGENUOVI SERVIZI DI COLLAUDO BSS ............................................................. 24
2.1 INTRODUZIONE .................................................................................................................................... 24
2.2 TIPOLOGIE DI TEST .............................................................................................................................. 25
2.2.1 Test di sistema (System test) .........................................................................25
2.2.2 Test d’integrazione .......................................................................................25
2.2.3 Test prestazionale ..........................................................................................26
2.3 PASSI FONDAMENTALI ......................................................................................................................... 27
2.3.1 Pianificazione ................................................................................................27
2.3.2 Progettazione .................................................................................................27
2.3.3 Predisposizione ambienti di collaudo ............................................................28
2.3.4 Verifica e validazione del software ...............................................................28
2.3.5 Supporto collaudo utente ...............................................................................28
2.3.6 Rilascio ad esercizio ......................................................................................29
2.4 CONTESTO DI RIFERIMENTO ................................................................................................................ 30
2.4.1 Architetura Applicativa USAGE ...................................................................30
2.4.2 Il sistema PP ..................................................................................................31
2.4.3 Il sistema MVAL...........................................................................................33
2.4.4 Operazionale traffico (OT) / PLT..................................................................34
2.4.5 Sorveglianza e Controllo (SSC) ....................................................................36
3
CAPITOLO 3 IL SISTEMA INCONTRA ................................................................................................ 38
3.2 ARCHITETTURA DEL SISTEMA .............................................................................................................. 38
3.3 ADAPTER .............................................................................................................................................. 40
3.3.1
3.3.2
3.3.3
3.3.4
3.3.5
3.3.6
3.3.7
3.3.8
3.3.9
3.3.10
Attivazione su canale d’ascolto ..............................................................42
Validazione Envelope attraverso schema XSD fornito ..........................42
Verifica SO in ambito INCONTRA .......................................................42
Validazione CIM_SO .............................................................................42
Verifica SO duplicato .............................................................................42
Trasformazione CIM enterprise in CIM INCONTRA DATI.................43
Verifica RICHIESTA IN AMBITO .......................................................43
Verifica Controlli formali.......................................................................43
Invio corretti a QD..................................................................................44
Scrittura log riepilogativo.......................................................................44
3.4 QUALITÀ SAS....................................................................................................................................... 45
3.5 QUALITÀ JAVA.................................................................................................................................... 47
3.6 STORICO............................................................................................................................................ 50
3.7 STRATEGIA DI COLLAUDO ........................................................................................................... 53
3.7.1
3.7.2
ON-LINE ................................................................................................53
BATCH...................................................................................................55
CAPITOLO 4 STRUMENTI UTILIZZATI ............................................................................................. 56
4.1 INTRODUZIONE .................................................................................................................................... 56
4.2INFODELIVERY...................................................................................................................................... 57
4.2.1
4.2.2
4.2.3
4.2.4
Introduzione............................................................................................57
Profilo DM..............................................................................................58
Profilo Sviluppo......................................................................................59
Profilo Collaudo .....................................................................................60
4.3PVCS.................................................................................................................................................... 61
4.3.1
4.3.2
4.3.3
Introduzione............................................................................................61
RILASCI SOFTWARE (RIL) ................................................................63
Schede anomalia (SM)............................................................................65
CONCLUSIONI ...................................................................................................................................... 69
4
Introduzione
La presente tesi ha lo scopo di illustrare il lavoro svolto presso l’azienda Unlimited
Software, in collaborazione con Accenture e Telecom Italia.
Il mio lavoro di Tirocinio e attuale lavoro è quello di esplorare e presentare le
problematiche del collaudo in ambiente Telecom, riguardante software destinati alla
fatturazione del traffico fisso. In Telecom è stata predisposta una catena apposita per
tale collaudo, USAGE Collection, suddivisa a sua volta in varie piattaforme, ognuna
destinata a gestire un particolare ramo della catena stessa:
-
INCONTRA (Integrazione consistenza traffico)
-
PP (Post Processing)
-
OT/PLT (Operazionale traffico)
-
MVAL (Modulo di valorizzazione)
-
SSC (Sistema di sorveglianza e controllo)
La mia attenzione è stata circoscritta al collaudo della piattaforma INCONTRA.
Nell’esame del ciclo di vita di un software (analisi, design, sviluppo, collaudo ed
esercizio), il collaudo si trova al centro, avendo così in ambiente Telecom un ruolo
fondamentale su cui tutti fanno riferimento, a partire dagli analisti fino all’Esercizio.
L’obbiettivo è quello di cercare e trovare più anomalie possibili all’interno del
softaware e a volte anche di specifiche causate da una sbagliata analisi del problema.
5
Organizzazione della tesi
La tesi consta di quattro capitoli.
Il primo capitolo presenta ed introduce le metodologie per una buona progettazione
software secondo le linee guida affrontate nello studio dell’Ingegneria del software; col
fine di porre maggiore attenzione verso la fase del test, obiettivo principale del mio
percorso di tirocinio, conclude facendo un confronto tra il collaudo teorico e quello in
ambiente Telecom, cercando di capire che tipo di collaudo viene utilizzato in Telecom e
quali modifiche sono state effettuate a tale tipologia.
Il secondo capitolo presenta i problemi relativi al collaudo dei software di fatturazione
in ambiente postpagato fisso di Telecom Italia. Tale software è parte dell’area USAGE,
specifica Area all’interno del mondo Telecom. In particolare si analizzanotutti i sistemi
che compongono tale area, lasciando al capitolo tre la presentazione di INCONTRA,
area di mia competenza.
Nel terzo capitolo viene presentata e spiegata l’architettura del sistema INCONTRA.
INCONTRA è a monte della catena USAGE, acquisisce i dati anagrafici denominati
“consistenze”, e li passa al Post Processing per l’arricchimento del cartellino. Si
analizzano nel dettaglio le varie componenti hardware e software che compongono il
sistema e in fine si elencano tutti i passi necessari per portare a termine, con esito
positivo, un collaudo per INCONTRA.
Il quarto e ultimo capitolo presenta gli strumenti che gestiscono e monitorano il
collaudo in ambiente Telecom. Si elencano tutti i software utilizzati, e ci si sofferma in
particolare su i due software basilari per il collaudo: Infodelivery e PVCS.
La tesi termina con le considerazioni finali sulle difficoltà incontrate e superate.
6
Definizioni, Acronomi e Abbreviazioni
Termine
Descrizione
CRM
Customer Relationship Management
SO
Service Order
CIM
Common Information Model
CU
Collaudo Utente
Cdr
Call Detail Record (cartellino di traffico)
NP
Number Portability
CPS
Carrier Pre Selection
CED
Centro Elaborazione Dati
PI
Proposta Implementativa
7
Capitolo1 (1)
Sviluppo del Software
In questo capitolo sono descritte le fasi fondamentali di una progettazione software.
In particolare l’importanza di avere un tool di supporto di revisioni all’interno di
progetti di collaudo.
1.1 Metodologie Utilizzate
Nella realizzazione di un progetto software il primo passo da eseguire è la scelta di uno
tra i vari modelli di processo.
Un modello di processo è un insieme di fasi prevedibili volti alla realizzazione del
software. Il loro scopo è quello di introdurre stabilità, controllo ed organizzazione ad
un’attività tendenzialmente caotica.
Solitamente le fasi che sono affrontate in un modello di processo, sono le seguenti:
-
Analisi dei Requisiti:
La raccolta dei requisiti si intensifica e si concentra sul software. Al fine di
comprendere la natura dei programmi da costruire, l’ingegnere del software deve
comprendere il dominio delle informazioni del software. I requisiti sia del
sistema sia del software devono essere documentati e riveduti insieme al cliente.
-
Pianificazione:
Vengono rianalizzati i dati raccolti nella fase d’Analisi al fine di identificare e
risolvere eventuali carenze ed ambiguità.
-
Progettazione:
La progettazione è un processo composto di varie fasi che si focalizzano su
particolari attributi distinti di un programma: struttura dei dati, architetture del
software, possibili interfacce del prodotto software e di fondamentale
importanza i dettagli procedurali (gli algoritmi).
1: Tratto da http://en.wikipedia.org/wiki/Software_testing
8
-
Costruzione:
Anche chiamata fase di generazione del codice: il progetto deve essere tradotto in
qualche linguaggio di programmazione (scelto nelle fasi di Progettazione) per
renderlo leggibile da una macchina.
-
Il Collaudo
Prima di passare al rilascio del software, per verificare che il progetto soddisfi le
attese del cliente, bisogna affrontare il Collaudo.
1.2
Il COLLAUDO
Il "software testing" è un procedimento utilizzato per individuare le carenze di
correttezza, completezza e affidabilità delle componenti software in corso di sviluppo.
Consiste nell'eseguire il software da collaudare, da solo o in combinazione ad altro
software di servizio, e nel valutare se il comportamento del software rispetta i requisiti.
In prima analisi, occorre distinguere i "malfunzionamenti" del software, dai "difetti:
- Un malfunzionamento è un comportamento del software difforme dai requisiti
espliciti o impliciti. In pratica, si verifica quando, in assenza di
malfunzionamenti della piattaforma (hardware + software di base), il sistema
non fa quello che l'utente si aspetta.
- Un difetto è una sequenza di istruzioni, sorgenti o eseguibili, che, quando
eseguita con particolari dati in input, genera un malfunzionamento. In pratica, si
ha un malfunzionamento solo quando viene eseguito il codice che contiene il
difetto, e solo se i dati di input sono tali da evidenziare l'errore. Per esempio, se
invece di scrivere "a >= 0", il programmatore ha erroneamente scritto "a > 0" in
una istruzione, si può avere un malfunzionamento solo quando viene eseguita
quell'istruzione mentre la variabile "a" vale zero.
Lo scopo del collaudo è di rilevare i difetti tramite i malfunzionamenti, al fine di
minimizzare la probabilità che il software rilasciato abbia dei malfunzionamenti nella
normale operatività. Per rilevare il maggior numero possibile di difetti, nel collaudo si
sollecita il software in modo che sia eseguita la maggior quantità possibile di codice con
svariati dati di input.
9
Le tecniche di collaudo possono essere classificate in molti modi. I principali sono i
seguenti:
•
Per modello di sviluppo: a cascata, guidato dal collaudo.
•
Per appartenenza o meno dei collaudatori all'organizzazione che modifica i
sorgenti, nonché per fase di sviluppo: Alfa, Beta.
•
Per grado di automazione: manuale, semi-automatizzato, completamente
automatizzato.
•
Per granularità: collaudo di modulo, collaudo di sistema.
•
Per livello di conoscenza delle funzionalità interne: a scatola bianca, a scatola
nera.
•
Per grado di formalità: da informale a formale.
1.3 Modello di sviluppo
1.3.1 Sviluppo a cascata
Il procedimento tradizionale di sviluppo del software, detto "a cascata", prescrive di
iniziare il collaudo appena è completata la prima versione del prodotto. I risultati del
collaudo vengono utilizzati per rivedere i requisiti, o il progetto, o il codice, e produrre
così la versione successiva.
Questo procedimento è stato sottoposto a una severa critica in quanto ha i seguenti
svantaggi:
•
Se è giunta la data prevista per il completamento del prodotto, si tende a
consegnarlo anche se il collaudo non è stato completato o ha dato esito negativo, il
che significa che probabilmente si sta consegnando un prodotto scadente.
•
Più tempo passa tra l'introduzione di un errore in un sistema e la segnalazione di
un malfunzionamento dovuto a tale errore, più risulta difficile e costoso
rimediarvi.
10
1.3.2 Sviluppo guidato dal collaudo
Un procedimento più recente, detto "guidato dal collaudo, proposto a partire dall'inizio
degli anni 1990, consiste nel considerare il collaudo una parte integrante del prodotto:
•
Quando si analizzano i requisiti del software da produrre, si analizzano i
requisiti del collaudo.
•
Quando si progetta l'architettura del software da produrre, si progetta
l'architettura del collaudo.
•
Quando si scrive il codice del software da produrre, si scrive il codice delle
routine di collaudo automatizzato o si preparano i dati e si scrivono le istruzioni
per il collaudatore manuale.
•
Quando si costruiscono gli eseguibili compilando i sorgenti, se la compilazione
va a buon fine, vengono automaticamente eseguite le routine di collaudo
automatizzato. Le prove vere e proprie vengono tuttavia relegate a una
procedura parzialmente manuale.
•
Quando si archivia o si recupera una versione dei sorgenti, si archiviano o si
recuperano tutti i suddetti documenti relativi al collaudo. Anzi, tali documenti
devono essere intesi come parti integranti dei sorgenti.
1.4 Fasi di rilascio
1.4.1 Il collaudo Alfa
Appena un software è stato costruito, prima di rilasciarlo fuori dall'azienda, viene
normalmente sottoposto a un collaudo interno all'azienda. Tale procedura viene
chiamata "collaudo Alfa".
Il collaudo Alfa può essere eseguito dagli stessi programmatori o da altro personale
dell'azienda.
Spesso, il software prodotto per il collaudo Alfa viene arricchito di istruzioni di
controllo a run-time che facilitano il rilevamento degli errori. Esempi di tali istruzioni
sono:
•
il controllo che non si acceda a indici non validi di array;
11
•
il controllo che tutta la memoria allocata venga disallocata prima della
terminazione;
•
asserzioni dichiarative scritte dal programmatore.
In alcuni casi, in particolare per lo sviluppo di software di sistema o di software
embedded, si utilizza un ambiente hardware di esecuzione che supporta specificamente
il debugging e il collaudo.
1.4.2 Il collaudo Beta
Spesso, quando un prodotto ha superato il collaudo Alfa, viene rilasciato all'esterno
dell'azienda ad alcuni clienti selezionati o anche a tutti i clienti, avvertendo gli utenti
che il prodotto rilasciato potrebbe non essere di qualità elevata e probabilmente richiede
ulteriori correzioni. Tale versione viene detta "versione Beta".
Gli utenti della versione Beta possono simulare l'utilizzo del software in casi realistici, e
inviare al produttore resoconti dei malfunzionamenti riscontrati. Tale tipo di collaudo
eseguito gratuitamente dagli utenti viene detto "collaudo Beta".
Possono esserci più versioni Beta, man mano che vengono corretti gli errori. Quando la
frequenza delle segnalazioni d'errore diventa bassa, è il momento di rilasciare la
versione ufficiale.
Anche dopo che sono state rilasciate delle versioni Beta, e quindi si è in fase di collaudo
Beta, all'interno dell'azienda può continuare il collaudo Alfa.
1.5 Automazione del collaudo
Se il collaudo consiste nell'utilizzo del prodotto quasi come se fosse la normale
operatività, si parla di "collaudo manuale".
Se il collaudo consiste nello sviluppo di apposito software che interagisce con il
software da collaudare e fornisce un rapporto di qualità in assenza di personale, si parla
di "collaudo automatizzato".
12
Tra questi due estremi, si possono avere varie posizioni intermedie, in cui parte del
lavoro è automatizzato, ma è sempre richiesta la presenza del collaudatore. In tali casi,
si parla di "collaudo parzialmente automatizzato" o di "collaudo semi-automatizzato".
Nel collaudo manuale, tipico del software interattivo, il collaudatore utilizza il software
come farebbe l'utente, ma cercando di attivare il maggior numero possibile di k e le
configurazioni più variegate. Quando il collaudatore constata un comportamento
inatteso, ne prende nota e prosegue a collaudare altre funzionalità.
Nel collaudo automatico, il collaudatore può usare due tecniche di base:
1. Scrive a mano il software di collaudo.
2. Esegue il software da collaudare in un ambiente di collaudo che registra le
operazioni dell'utente.
La prima tecnica richiede che il collaudatore sia un programmatore che conosca
l'architettura interna del software da collaudare. Il software di collaudo, tipicamente
scritto in un linguaggio ad altissimo livello, può interagire con il software da collaudare
in vari modi:
•
chiamando direttamente le singole routine di tale software;
•
chiamando le routine esportate (ossia pubblicate) da un modulo;
•
inviando al programma da collaudare dei messaggi di comunicazione tra
processi;
•
lanciando il programma da collaudare in una modalità in cui riceve due file, uno
dal quale legge i dati di input, e l'altro nel quale scrive i dati di output.
Qualunque sia la tecnica di comunicazione adottata, quando il software da collaudare
risponde, il programma di collaudo confronta le risposte ottenute con i risultati attesi. In
caso di discrepanza, viene generato un resoconto.
La tecnica della registrazione delle operazioni dell'utente può essere attuata anche da un
collaudatore che non sa programmare o che non conosce l'architettura interna del
software da collaudare. Ha tuttavia due grossi inconvenienti:
•
C'è un'alta probabilità che, quando il software da collaudare viene modificato, le
registrazioni siano improprie, e quindi da rifare.
13
•
L'ambiente di collaudo non fornisce strumenti automatici per determinare se il
software ha il comportamento atteso.
Questa tecnica è indicata per collaudi solo parzialmente automatizzati, in quanto è
sempre necessario che il collaudatore verifichi visivamente se il software si comporta
come dovrebbe.
1.6 Granularità
1.6.1 Il collaudo di modulo
Quando si costruisce un'automobile, non si ci si limita a costruire e ad assemblare i
pezzi e alla fine girare la chiave per vedere se tutto funziona. Questo per tre motivi:
•
Alcuni difetti producono malfunzionamentii solo dopo un utilizzo prolungato,
ma sono facilmente identificabili esaminando i singoli pezzi prima
dell'assemblaggio.
•
Se dopo aver girato la chiave la macchina non si accende, risulta molto difficile
capire qual è il difetto.
•
Se dopo aver girato la chiave la macchina non si accende, risulta molto costoso
smontare la macchina, sostituire il pezzo difettoso e rimontarla.
Ragionamenti analoghi valgono per il software. Pertanto, come i singoli pezzi di un
macchina vengono sottoposti al controllo di qualità prima dell'assemblaggio, così è
opportuno collaudare separatamente le singole componenti di un sistema software.
Le componenti collaudabili di un sistema software prendono il nome di "moduli" o
"unità", per cui si parla di "collaudo di modulo".
Un modulo può avere una granularità variabile da una singola routine, a un insieme di
alcune decine di routine, a un sottosistema comprendente migliaia di routine. Nella
programmazione orientata agli oggetti la tipica componente da collaudare è la classe.
14
Siccome un modulo, per definizione, non è un programma completo, mentre il concetto
stesso di collaudo richiede l'esecuzione di un programma, per eseguire il collaudo di
modulo si deve costruire un apposito programma che contiene il modulo da collaudare.
In un programma completo, tutti i moduli, eccetto quelli di livello più basso, richiamano
routine di altri moduli, e tutti i moduli, eccetto quelli di livello più alto, contengono
routine a disposizione di altri moduli.
Per costruire un programma intorno a un modulo, è necessario fornire delle routine
banali che possano essere chiamate dal modulo, finché non saranno pronte le routine
complete. Tali routine banali sono dette “stub”.
Per mandare in esecuzione il codice contenuto nel modulo occorre invocarne le routine.
Viene pertanto scritto un apposito programma che richiama le routine del modulo,
passandole in sequenza vari parametri e verificando che le routine rendano i valori
attesi. Tale programma viene detto "driver".
Normalmente, per rendere più flessibile e modificabile il collaudo, il driver preleva da
un file di dati i parametri che dovrà passare alle routine del modulo da collaudare, e
confronta i risultati ottenuti con il contenuto di un altro file di dati. Per ogni discrepanza
riscontrata tra i dati ottenuti e quelli attesi, viene generato un messaggio d'errore in un
terzo file di resoconto.
Con tale architettura, se si vuole aggiungere una combinazione di valori a quelle
esistenti, basta modificare i file di dati.
1.6.2 Il collaudo di sistema
Anche se i singoli moduli sono corretti, il sistema ottenuto integrandoli potrebbe non
esserlo. Pertanto è sempre necessario collaudare il sistema completo.
Per collaudare un sistema completo si deve utilizzare il software in modo il più
possibile simile a come verrà utilizzato nella normale operatività, ma con le seguenti
differenze:
•
Per il software interattivo, la normale operatività consiste in una persona che
interagisce con il software. Questo si ottiene con il collaudo manuale, che è
15
sempre utile, ma ha vari svantaggi. Il collaudo automatizzato di un programma
interattivo è difficile da ottenere, se non rinunciando a parte del concetto di
normale operatività.
•
Nella normale operatività di un sistema software, per ogni singola installazione
del sistema, l'utilizzo segue un certo andamento ripetitivo. Siccome nel collaudo
si deve simulare il maggior numero possibile di situazioni, normalmente si
rinuncia alla ripetitività tipica delle situazioni reali, e invece si simulano utilizzi
molto variegati.
1.7 Conoscenza delle funzionalità interne
1.7.1 Il collaudo a scatola bianca
Il collaudo effettuato richiamando direttamente le routine del software da collaudare,
viene detto "collaudo a scatola bianca". Per poter eseguire il collaudo a scatola bianca, il
collaudatore deve poter leggere la documentazione delle routine esportate dai moduli, se
non addirittura il codice sorgente.
Si tratta di un collaudo automatizzato, e tipicamente è utilizzato per il collaudo di
modulo, in quanto i singoli moduli non sarebbero altrimenti singolarmente accessibili al
collaudatore.
Le routine di collaudo a scatola bianca possono essere scritte nello stesso linguaggio
con cui è stata scritta l'applicazione, oppure con un altro linguaggio in grado di
interfacciarsi con il primo.
Normalmente, le routine da collaudare e le routine di collaudo che le invocano
costituiscono un unico processo, cioè sono linkate insieme.
Il collaudo a scatola bianca, siccome richiede l'interfacciamento con le singole routine,
può essere effettuato solamente da un programmatore, anche se non necessariamente un
membro del gruppo che ha sviluppato il software da collaudare. Normalmente è
effettuato comunque da un membro dell'organizzazione che sviluppa il software.
Un vantaggio del collaudo a scatola bianca è che permette di sondare dettagliatamente
tutte le casistiche che possono presentarsi.
16
Un altro vantaggio è che l'automazione è più facile ed efficiente.
Un altro vantaggio è che è più facile il debugging, cioè passare dal malfunzionamento
alla correzione del difetto, in quanto la segnalazione del malfunzionamento
normalmente indica il punto del codice e i valori delle variabili per cui il
malfunzionamento si è manifestato.
1.7.2 Il collaudo a scatola nera
Il collaudo effettuato accedendo al software solamente tramite l'interfaccia utente,
oppure tramite interfacce di comunicazione tra processi, viene detto "collaudo a scatola
nera".
Può essere manuale oppure automatizzato, e tipicamente è utilizzato per il collaudo di
sistema, in quanto per collaudare l'intero sistema normalmente non è necessario
richiamare singole routine.
Se si tratta di un collaudo automatizzato, le routine di collaudo sono prevalentemente
scritte in un linguaggio di livello più alto del linguaggio con cui è stata scritta
l'applicazione, a volte in un linguaggio progettato appositamente per il collaudo.
Il software da collaudare e il software di collaudo costituiscono processi distinti
comunicanti.
Per il collaudo a scatola nera manuale non è richiesta l'opera di un programmatore, e per
quello automatizzato è sufficiente un programmatore con modeste competenze. Spesso
il collaudo a scatola nera è effettuato da persone che non fanno parte dell'organizzazione
che sviluppa il software; si tratta degli utilizzatori stessi che effettuano il collaudo Beta.
Un esempio di una tecnica di collaudo a scatola nera automatizzata consiste nel
registrare l'interazione dell'utente in un file, e poi ripetere la registrazone simulando il
comportamento dell'utente.
Un vantaggio del collaudo a scatola nera sta, nei casi in cui il codice sorgente e la
documentazione di progetto sono segreti industriali, nel fatto tale collaudo può essere
effettuato anche da persone esterne all'azienda.
17
Un altro vantaggio sta nel fatto che per tale tipo di collaudo non sono necessari
programmatori esperti e che conoscano gli aspetti interni del software da collaudare.
Pertanto, si possono trovare molti più collaudatori, senza dover investire
nell'addestramento.
1.8 Collaudo formale e informale
1.8.1 Il collaudo informale
Nelle piccole organizzazioni, o per prodotti software di poco valore, in collaudo è
normalmente informale, cioè non esiste a livello organizzativo una mansione
riconosciuta come "collaudo del software".
Il programmatore, appena dopo aver apportato una modifica al software, manda in
esecuzione il software modificato e verifica interattivamente se il funzionamento è
quello atteso. Se il comportamento è insoddisfacente, apporta altre modifiche e reitera il
procedimento.
Quando il programmatore è soddisfatto del comportamento del software, invia il
software al suo superiore, che effettua un ulteriore rapido collaudo manuale. A questo
punto, se non si tratta di modifiche che devono urgentemente essere rese operative, la
nuova versione viene inviata agli utenti e al personale di assistenza come versione Beta.
Gli utenti e il personale vengono addestrati alle nuove modifiche, e tale addestramento
costituisce l'occasione per la rilevazione di ulteriori malfunzionamenti.
In tale procedimento informale di collaudo, la segnalazione di malfunzionamenti e di
nuove versioni non segue un iter ben definito. Si usano comunicazioni di persona,
telefoniche, e-mail, e appunti su biglietti.
1.8.2 Il collaudo formale
Per eseguire un collaudo formale, cioè rigorosamente pianificato, si scrive un "piano di
collaudo", in cui si descrive dettagliatamente come deve essere svolto il collaudo.
18
Ci sono due strategie fondamentali per organizzare il collaudo: la "batteria di prove", e
lo "scenario di collaudo". Spesso si utilizzano in combinazione, cioè si pianificano una
o più batterie di prove e una serie di scenari di collaudo.
Una batteria di prove è un insieme di collaudi elementari, ognuno dei quali è detto
"prova". Ogni prova ha almeno i seguenti attributi:
•
Spesso, un identificatore o numero progressivo.
•
Talvolta, una descrizione dello scopo della prova.
•
Una sequenza di operazioni necessarie per portare il sistema nelle condizioni
iniziali per la prova.
•
Una sequenza di operazioni necessarie per riportare il sistema nelle condizioni di
base dopo la prova.
•
Le dipendenze, cioè gli identificatori dei casi di prova che devono aver avuto
successo affinché abbia senso effettuae questa prova. Per esempio, se se una
prova consiste nell'aprire un file e chiuderlo, e un'altra prova consiste nel leggere
lo stesso file, la seconda prova dipende dalla prima, in quanto non ha senso
tentare di leggere un file che non è stato possibile aprire.
•
Le operazioni che sollecitano il software da collaudare.
•
Il risultato atteso.
•
Talvolta, il tempo massimo ammissibile per ricevere il risultato.
Spesso vengono aggiunti altri attributi.
Nel caso di collaudo manuale, queste informazioni possono essere stampate e tenute
come linea guida per il collaudatore. Nel caso di collaudo automatizzato, queste
informazioni sono le specifiche per il programmatore che deve realizzare il software di
collaudo.
Quando una prova viene eseguita, si registrano altre informazioni, tra cui le seguenti:
•
Autore della prova.
•
Data e ora di esecuzione.
•
Identificatore della versione collaudata.
•
Esito (successo o fallimento).
•
In caso di fallimento, breve descrizione del tipo di fallimento.
19
Uno scenario di collaudo è un utilizzo realistico non banale del software da collaudare.
Mentre le prove di collaudo considerano le funzionalità elementari, ogni scenario
prende in considerazione una tipologia di utente e una situazione verosimile e
complessa in cui tale utente può trovarsi. Il collaudo di scenario percorre tutti i passi che
l'utente percorrerebbe in tale situazione. Il collaudo Beta è di fatto un collaudo di
scenario, sebbene informale. Il collaudo di scenario è necessariamente un collaudo di
sistema, e tipicamente è manuale o semiautomatico.
1.9 Tipologie di collaudo
1.9.1 Collaudo Prestazionale (Performance Test)
Lo scopo del “performance testing” non è di rilevare errori nell’applicazione, ma di
eliminare potenziali “colli di bottiglia” e stabilire un punto di partenza per i futuri test di
regressione. Per condurre un test di questo tipo è necessario eseguirlo in un processo
controllato di misurazione e analisi. Il software sottoposto a test dovrebbe essere
abbastanza stabile in modo che le operazioni di verifica possano procedere senza
intoppi. Un insieme chiaramente definito di “cosa ci si aspetta” è essenziale per un test
significativo. Ad esempio, per un’applicazione web sarebbe necessario conoscere
almeno le seguenti due cose:
•
“carico atteso” in termini di utenti concorrenti o connessioni http,
•
“tempi di risposta” considerati accettabili.
Restando all’esempio dell’applicazione web, i colli di bottiglia potrebbero esistere a
diversi livelli, e per identificarli si possono usare differenti tool:
•
a livello applicativo, gli sviluppatori possono usare strumenti di profilatura per
scoprire inefficenze del codice
•
a livello di database, gli sviluppatori e i DBA possono usare tool specifici del
database
•
a livello di sistema operativo, i system engineers possono usare utility quali top,
vmstat, iostat (su sistemi Unix-like) e PerfMon (su Windows) per verificare
l’uso delle risorse hardware quale la CPU, memoria, aree di swap, disk I/O.
20
•
a livello di rete, i network engineers possono usare i packet sniffer quail
tcpdump, o network protocol analyzers come ethereal, e altre utility varie come
netstat, MRTG, ntop, mii-tool.
Da un punto di vista di test, queste attività sono tutte del tipo white-box, dove il sistema
è ispezionato e controllato "dall’interno verso l’esterno" e da vari angoli. Una volta
raccolte le misure e analizzate, e come risultato, si effettua un tuning applicativo.
Tuttavia, a volte si usa anche un approccio black-box effettuando un test di carico sul
sistema. Per una applicazione web, ad esempio, si usano tool che simulano un certo
numero di utenti/connessioni http concorrenti e si misura il “response times”.
1.9.2 Collaudo di Carico/Volume (Load/Volume Test)
Questo tipo di test in genere è parte del performance testing e tuning. In tale contesto,
significa aumentare costantemente il carico sul sistema tramite strumenti automatici. Per
una applicazione web, ad esempio, il carico è il numero di utenti/connessioni HTTP
concorrenti.
In letteratura, il termine load testing è di solito definito come il processo di esercizio del
sistema sotto test alimentandolo in modo da fargli eseguire i task più grandi con cui esso
può operare. Il test di carico è talvolta chiamato anche volume testing, o
longevity/endurance testing.
Esempi di volume testing:
•
test di un word processor editando un documento molto grande;
•
test di una stampante inviandogli un job molto grande;
•
test di un mail server con migliaia di mailbox utente;
•
un caso specifico di volume testing è il cosidetto “zero-volume testing”, dove il
sistema viene alimentato con task “vuoti”.
Esempi di longevity/endurance testing:
21
•
test di una applicazione client-server eseguendo il client in un loop di accessi
alla componente per un periodo di tempo esteso.
Scopi del load testing:
•
scoprire bug non emersi in fase di test, quali errori del tipo “memory
management”, “memory leaks”, “buffer overflow”, ecc.;
•
assicurare che l’applicazione soddisfa le prestazioni di “baseline” stabilite
durante il “performance testing”. Questo viene fatto effettuando un test di
regressione sull’applicazione con un specifico carico massimo.
Nonostante il “performance testing” e il “load testing” possano sembrare similari, il loro
scopo è differente. Da un lato, il “performance testing” utilizza tecniche e strumenti di
“load testing” per la misurazione e allo scopo di effettuare misure di “benchmarking”
utilizzando vari livelli di carico. Dall’altro, il “load testing” opera ad un predefinito
livello di carico, di solito il massimo carico che il sistema può accettare continuando a
funzionare regolarmente. Lo scopo non è di “rompere” il sistema sovraccaricandolo, ma
invece provare a mantenere il sistema costantemente attivo come una “macchina ben
oliata”. E’ necessario enfatizzare l’importanza di questo tipo di test. L’esperienza ha
infatti mostrato che molti bug importanti non emergono fintanto che il sistema non ha a
che fare con una mole di dati veramente vasta, come ad esempio migliaia di utenti in
repository quali LDAP/NIS/Active Directory, migliaia di caselle di posta utente su
server-mail, tabelle multi-gigabyte nei database, lunghissime gerarchie di file/directory
sui file-system, ecc. In questi casi, quasi sempre c’è l’esigenza di utilizzare tool
automatizzati che generino una tale mole di dati, ma fortunatamente con un qualunque
buon linguaggio di scripting questo risulta un compito molto facile.
1.9.3 Collaudo di Stress (Stress Test)
Lo “stress test” ha lo scopo di provare a “rompere” il sistema sotto test sovraccaricando
le sue risorse o sottraendogli risorse (in tale caso viene anche chiamato “negative
testing”). Lo scopo principale di queste attività è verificare che il sistema va in “fault” e
successivamente (eventualmente) recupera in maniera “indolore” – questo aspetto
qualitativo è noto come recoverability (sistemi fault-tolerant).
22
Mentre il “performance test” richiede un ambiente controllato e misure ripetibili, lo
stress test provoca caos e impredicibilità. Per rifare ancora un esempio per una
applicazione web, alcuni modi in cui si può stressare il sistema sono i seguenti:
•
raddoppiare il numero di utenti/connessioni HTTP previste in baseline
•
in maniera casuale spegnere e riavviare porte dei switch/router di rete che
collegano i server (via comandi SNMP ad esempio)
•
mettere offline il database, e farlo ripartire
•
effettuare un rebuild di un array RAID mentre il sistema è funzionante
•
eseguire processi che consumano risorse (CPU, memoria, disco, rete) sui webserver sui database-server.
La lista può essere ovviamente arricchita. Comunque, lo stress test non è fatto al puro
scopo di far andare in crash il sistema, ma piuttosto deve servire per osservare come il
sistema reagisce alle failure. Riesce a salvare il suo stato o va in crash
nuovamente/continuamente? Si ferma improvvisamente, bloccandosi, o in maniera
controllata? Al riavvio, è in grado di recuperare dall’ultimo stato corretto? Visualizza
messaggi di errore comprensibili all’utente, o si limita a visualizzare incomprensibili
elenchi di codice esadecimale? La sicurezza del sistema è compromessa a causa di un
failure inatteso? E così via.
1.10 Il collaudo di regressione
Uno scopo del collaudo è verificare che i nuovi prodotti e le nuove funzionalità aggiunte
a vecchi prodotti siano di alta qualità. Tuttavia, nel software capita spesso che
l'introduzione di una nuove funzionalità a un vecchio prodotto comprometta la qualità di
funzionalità preesistenti del prodotto. Pertanto, per assicurarsi la qualità del prodotto
bisognerebbe ripetere l'intero collaudo ad ogni modifica. Il collaudo di funzionalità
preesistenti e già collaudate, eseguito per assicurare che modifiche al prodotto non ne
abbiano compromesso la qualità si chiama "collaudo di regressione", in quanto si vuole
verificare se la qualità è regredita.
Se erano stati predisposti dei collaudi automatizzati, il collaudo di regressione ha
normalmente un basso costo, in quanto si tratta solo di lanciare le procedure di collaudo
esistenti, eventualmente ritoccate. Un completo collaudo di regressione manuale
23
sarebbe invece enormemente costoso, e per tale motivo normalmente il collaudo di
regressione manuale è più sbrigativo del collaudo originale.
1.11 Il collaudo in Telecom
Dopo aver preso in considerazione le diverse strategie di collaudo, possiamo introdurre
il collaudo in ambiente Telecom, cercando di capire che tipologia di collaudo viene
utilizzata.
Dopo un analisi approfondita possiamo definire il collaudo Telecom come un collaudo a
cascata, infatti una volta che Analisi (2) completa i documenti di specifica, Sviluppo
inizia a sviluppare il software consegnando una prima versione al collaudo. Da questo
punto in poi è il collaudo a dare direttive sia a Sviluppo che ad Analisi, dando direttive
sulle modifiche da fare, in modo tale che vengano sviluppate nuove specifiche o nuove
versioni del software. Come visto in precedenza lo sviluppo a cascata ha degli
svantaggi, andiamo ad analizzare come Telecom li ha risolti:
Svantaggio:
•
“Se è giunta la data prevista per il completamento del prodotto, si tende a
consegnarlo anche se il collaudo non è stato completato o ha dato esito negativo,
il che significa che probabilmente si sta consegnando un prodotto scadente”.
In Telecom si è deciso di dare più importanza alla qualità, infatti se nasce un anomalia
il giorno stesso del rilascio, la stessa fa slittare il rilascio per permettere a Sviluppo di
risolvere il problema e, a fronte del nuovo rilascio, a Collaudo di effettuare i test.
Quindi fino a quando il Collaudo non termina i test con esito positivo non viene
effettuato alcun rilascio. In questo modo non si corre il rischio di rilasciare un
“prodotto scadente”.
2: ‘Analisi’ è il nome del gruppo di lavoro che si occupa dell’analisi del problema. E’ un esempio di come si nominano in ambiente
Telecom i gruppi di lavoro
24
Capitolo 2
(3)
Area USAGE
Nuovi Servizi di Collaudo BSS
2.1 Introduzione
Il processo denominato USAGE Collection è tipico ed esclusivo dell’ambito delle
telecomunicazioni, in quanto comprende l’insieme di procedure e sistemi che
consentono la raccolta del traffico, al fine di veicolarne il contenuto ai componenti
aziendali che ne fanno utilizzo.
L’area USAGE è una specifica area all’interno del mondo Telecom, che si occupa del
collaudo software di fatturazione in ambiente postpagato fisso. A livello di collaudo
vengono effettuati tre diversi tipi di test:
-
test di sistema
-
test d’integrazione
-
test prestazionale
Di seguito vengono riportati i Sottoprocessi/attività fondamentali a supporto del
Processo di Collaudo in ambito USAGE :
Test
di Sistema
Test
d’Integrazio
ne
Test
Prestazionale
Collaudo USAGE
Pianificazion
e
Progettazion
e
Predisposizio
ne ambienti di
collaudo
Verifica e
validazione
del SW
Supporto al
collaudo
utente
Rilascio in
esercizio
Figura 1 Sottoprocessi e attività fondamentali a supporto del Processo di Collaudo in ambito Usage
3: Tratto da USAGE - Processo collaudi BSS.ppt; http://USAGE.ve.telecomitalia.local
25
2.2 Tipologie di test
2.2.1 Test di sistema (System test)
Il Test di Sistema ha l’obiettivo di verificare che siano soddisfatti i requisiti funzionali
riportati nei documenti di Specifica elaborati dal gruppo di Design.
Le esigenze di sistematicità e metodicità della progettazione dei test ne suggeriscono
l’organizzazione secondo i seguenti criteri:
- individuazione dei requisiti che descrivono le nuove implementazioni oggetto di
release (tali documenti sono contenuto nel repository documentale);
- suddivisione dei requisiti in casi di test (ogni requisito può essere verificato da uno
o più casi
di test); organizzazione dei casi di test in catene, ossia in sequenze di
elaborazione tali da riprodurre l’operatività dell’utente o da ottimizzare l'esecuzione
del test.
- Si sottopone a test di sistema ogni singola componente di USAGE.
2.2.2 Test d’integrazione
Il Test d’Integrazione si pone l’obiettivo di verificare l’intero comportamento della
catena USAGE (Post Processing, MVAL, Operazionale Traffico e PLT) includendo
anche le interfacce con i sistemi esterni.
Ciascun sistema interfacciato è inserito nell’ambiente del Collaudo Integrato dopo
essere stato precedentemente sottoposto a Test di Sistema ed aver superato lo stesso con
esito positivo.
Il Collaudo Integrato raccoglie i suddetti sistemi e ne verifica l’operatività in un
ambiente che rappresenti nel modo più fedele possibile quello di Esercizio. Ciò implica
che, nell’ambiente di Collaudo Integrato, non sono presenti interfacce fittizie, simulatori
26
o altro software di supporto allo sviluppo e non destinato all’ambiente di Esercizio. A
questa regola fanno eccezione i simulatori di traffico proveniente dai sistemi di rete.
Il Collaudo Integrato deve far riferimento, preferibilmente, a dati prelevati
dall’ambiente di Esercizio per quanto concerne le informazioni relative al Cliente,
Prodotti e Servizi in consistenza, dati di traffico, ecc., codificati all’interno di scenari
che rappresentano i processi di business end-to-end della Commercializzazione.
La progettazione dei Casi di test del Test d’Integrazione, pone pertanto la necessità di
evidenziare le “aree di integrazione ” tra la Catena USAGE ed i Sistemi interfacciati.
Nell’ambito della catena USAGE, le attività di Test di Sistema e d’Integrazione
vengono svolte da Gruppi di Lavoro distinti e caratterizzati da una forte collaborazione.
A conclusione del Test d’Integrazione viene prodotto un Rapporto di Fine Esecuzione
dove sono riportati in maniera sintetica i risultati del collaudo (Casi di test prodotti,
Anomalie aperte, Anomalie chiuse, ...) .
2.2.3 Test prestazionale
Al termine del collaudo funzionale, quando la release software è consolidata, si passa
ove necessario alla fase di test prestazionale. Il test prestazionale si rende necessario
solo a fronte di nuove architetture software oppure variazioni alle componenti software
critiche sotto il profilo prestazionale.
Il collaudo prestazionale viene svolto in ambienti che rispettano per quanto possibile
l’ambiente di Esercizio del sistema stesso. I test prestazionali sono vincolati per il
rilascio in Esercizio del software.
27
2.3 Passi fondamentali
2.3.1 Pianificazione
Il sottoprocesso procede in parallelo alle attività in carico a Sviluppo e consiste nella
definizione della strategia di collaudo e nella relativa pianificazione.
La strategia di collaudo è definita in base alla struttura del Kit definito da DM e al
contenuto informativo delle PI (Proposta implementativa). La strategia di collaudo tiene
conto anche di eventuali specifiche richieste di Test Prestazionali - provenienti da
“Application Operation” o nate internamente al Collaudo – e di Test di Integrazione,
provenienti da Technology (Rete). Definita la strategia, Collaudo effettua la relativa
pianificazione delle attività anche sulla base del Piano Generale del Kit verificato da
“Cross Support”.
Il sottoprocesso produce i documenti: “Strategia di Collaudo” e “Piano di Collaudo” in
versione 1.0
2.3.2 Progettazione
La Progettazione consiste nella definizione dei casi di test, formalizzati nel Test Book. I
casi di test progettati in questa fase hanno l’obiettivo di verificare gli aspetti funzionali,
di integrazione, prestazionali, di esercibilità. Per la progettazione dei casi di test
Collaudo utilizza inizialmente le Proposte di Implementazione emesse da DM e
successivamente la documentazione resa disponibile da Sviluppo per il completamento
della progettazione stessa con gli aspetti di maggior dettaglio.
In particolare, nella fase di progettazione Collaudo individua le necessità di collaudi
prestazionali e di integrazione in base alla documentazione tecnica ricevuta ed alle
eventuali richieste provenienti da “Gestione Applicazione” (Test prestazionali) e/o da
“Gestione Rete” (Test di Integrazione).
Se necessario, richiede a “Application Operation” dati per la successiva fase di
esecuzione dei test progettati.
28
2.3.3 Predisposizione ambienti di collaudo
Il sottoprocesso consiste nella predisposizione degli Ambienti di Collaudo per la
esecuzione dei casi di test progettatti.
Collaudo configura le componenti hw e sw di base rese disponibili da ICT Operations.
Installa inoltre eventuali simulatori forniti da sviluppo e/o realizzati internamente e/o
prodotti software specifici forniti dallo stesso sviluppo. Procede quindi – ove necessario
- a mascherare i dati ricevuti da “Application Operation”.
Installa infine il sw applicativo da collaudare.
2.3.4 Verifica e validazione del software
Il sottoprocesso consiste nella esecuzione dei casi di test progettati nella fase di
progettazione. Collaudo esegue casi di test estratti a campione dal System Test Book
fornito da Sviluppo. Riporta il risultato di tale attività nel relativo “Rapporto di
Esecuzione del System Test”. Procede quindi al controllo di qualità del sw da
collaudare eseguendo i casi di test preventivamente progettati (test funzionali, test di
integrazione, test di esercibilità ed eventuali test prestazionali). Aggiorna il Test Book
con i risultati del controllo effettuato. Utilizza i tools a disposizione per tracciare
l’esecuzione dei casi di test (Infodelivery) ed aprire le relative anomalie (PVCS).
Formalizza infine il termine delle attività con il Rapporto di Fine Collaudo e con il
Rapporto di collaudo di performance (se effettuato). Nel corso del processo, aggiorna
costantemente lo stato avanzamento delle attività e, se è il caso, il Piano di Collaudo.
2.3.5 Supporto collaudo utente
Esaurita la verifica e validazione del kit e prima del rilascio in esercizio può esser
richiesto il supporto di Collaudo per i collaudi utente previsti dal Piano di Collaudo per
alcune applicazioni. A tal proposito, Collaudo completa la predisposizione dell’
ambiente per il Collaudo Utente (in termini di dati e accessi server e client) nel rispetto
delle scadenze indicate nel Piano di CU. Garantisce quindi, il funzionamento degli
ambienti di collaudo predisposti durante le varie sessioni di collaudo utente. Predispone
29
infine delle “Segnalazioni anomalie di CU ” - come traccia delle varie anomalie
segnalate nel corso dei collaudi stessi - che inoltra al Demand Management. Il Demand
Management esamina le segnalazioni pervenute al fine di individuare le effettive
anomalie di CU.
2.3.6 Rilascio ad esercizio
Al termine della fase di collaudo del KIT - formalizzata dal Rapporto di Fine Collaudo e
dalla Comunicazione di Fine Collaudo Utente - il software e la documentazione
necessaria viene consegnato (tramite PVCS) a “Application Operation” che, in base alla
pianificazione, provvede all’installazione in ambiente di esercizio. Laddove ritenuto
necessario sarà richiesto a Collaudo, un supporto alle fasi di installazione e
configurazione svolte presso i Centro Elaborazione Dati (CED). Al termine della fase di
collaudo di patch correttive - formalizzata da Rapporto Sintetico di Collaudo “Gestione Applicazioni” richiede – se del caso - a Collaudo un supporto per la messa in
esercizio delle patch stesse.
30
2.4 Contesto di riferimento
2.4.1 Architetura Applicativa USAGE
Figura 2 Catena Usage
Possiamo suddividere la catena USAGE in cinque sottosistemi:
-
Post Processing
-
INCONTRA
-
OT/PLT
-
MVAL
-
SSC
I quali saranno di seguito descritti nel dettaglio, analizzando più approfonditamente
INCONTRA, che come su scritto è il sistema di mia competenza.
31
2.4.2 Il sistema PP
Figura 3 Sistema Post Processing
Post Processing : Controlli di Qualità e Arricchimento del Cdr.
Il sistema PP (Post Processing) effettua l’acquisizione e il controllo delle diverse
tipologie di dati di traffico, in particolare acquisisce le informazioni di consistenza
all’inizio di ogni ciclo di elaborazione e, dopo aver terminato tale fase, acquisisce i file
inviati dai sistemi di Rete e non, effettuando poi le seguenti operazioni
-
Esegue controlli strutturali e di duplicazione a livello di file e di singolo
Call Detail Record (Cdr) nell’arco di un periodo determinato
-
Esegue controlli formali su alcuni campi del record
-
Esegue il controllo d’addebitabilità con eventuale ricostruzione del
numero di chiamante (nel caso di GNR)
-
Esegue caratterizzazione delle linee attestate ad impianti Alice Voice e
del traffico intercomunicante.
32
-
Esegue controllo di Carrier Pre Selection (CPS) e Number Portability
(NP)
-
Esegue il controllo sugli invarianti in fase di sincronizzazione
-
Arricchisce il contenuto informativo dei record di traffico
-
Identifica il codice cliente chiamato per consentire il marcaggio della
chiamata ON/OFF NET in ambito Arbor
-
Verifica numero portato per chiamate verso radiomobile
-
Verifica della number portability per NNG OLO con attribuzione
dell’effettivo gestore e descrizione della numerazione portata
-
Verifica della number portability per NG OLO con attribuzione
dell’effettivo gestore e descrizione della numerazione portata
-
Esegue la cifratura del numero chiamato, della destinazione e del campo
cifre selezionate.
Il PP riceve in input da mediation i cartellini di traffico, che sono delle vere e proprie
telefonate (Cdr) , e effettua controlli formali (lunghezza del record, domini errati, …) su
ogni record del cartellino, se il record non supera questi controlli viene scartato. Dopo i
controlli formali si procede con i controlli di addebitabilità che divideranno i cartellini
in corretti o sospesi. Si classificheranno sospesi quei cartellini che non sono in grado di
essere fatturati per errori tariffari o errori su date. Effettua operazioni di arricchimento
del contenuto informativo dei record di traffico con le consistenze che gli arrivano da
INCONTRA e da altri sistemi a monte. Tutti i cartellini che passano corretti vengono
immediatamente spediti ad ARBOR (piattaforma fatturante in TELECOM) per la
fatturazione. E nello stesso tempo vengono mandati ad MVAL tutti i cartellini divisi in
sospesi, scartati e corretti. E infine invia due flussi verso SSC, il primo all’inizio del
processo elaborativo e il secondo al termine del suddetto processo. Per i record sospesi
OT si occupa di effettuare operazioni di ricircolo con eventuali forzature e di rispedirli
in input al PP per risottometterli ai controlli di addebitabilità.
33
2.4.3 Il sistema MVAL
Figura 3 Sistema MVAL
Sistema/modulo di valorizzazione (MVAL) ha il compito di valorizzare la tipologia di
traffico dei dati nello stato corretto per le varie nature dati (DIA, DARI, VoIP, Easy IP
ADSL, Alice Prepagato e WiFi) e di fornire successivamente il traffico al sistema OT e
di altri sistemi a valle. Se il processo di valorizzazione non dovesse andare a buon fine, i
Cdr non vengono trattenuti in MVAL ma vengono direttamente inviati al sistema
cliente. Nel caso risulti impossibile valorizzare un Cdr in MVAL verrà forzato sempre
l’importo con valore a zero e verrà restituito un opportuno codice di errore. La
valorizzazione del traffico standard viene effettuata al netto di offerte, promozioni e
sconti. I parametri di riferimento per la valorizzazione del traffico sono:
•
direttrice di traffico;
•
data ed ora chiamata,
•
durata conversazione;
•
natura dati;
•
caratteristiche utenza
34
2.4.4 Operazionale traffico (OT) / PLT
Figura 4 Sistema OT
Il sistema Operazionale Traffico (OT) ha il compito di gestire il database del traffico
in termini di valorizzazione, svecchiamento e storicizzazione di tutte le tipologia di
traffico suddivise nei diversi stati: corretto, sospeso, scartato.
La Piattaforma Lavorazione del Traffico (PLT) è uno strumento web-oriented a
disposizione degli operatori Telecom – appartenenti a linee funzionali differenti – per
visualizzare e/o lavorare dati di traffico.
Il sistema OT acquisisce in input tutti i cartellini provenienti da MVAL e li distribuisce
in tre DB diversi, dividendoli in sospesi, scartati e corretti. . La differenza tra scarto e
sospensione è guidata dalla possibilità e dall’interesse di recupero del XDR. In altre
parole, alcune condizioni non permettono l’azione di recupero in quanto mancano dati
essenziali, oppure vengono raccolti records non di interesse ai fini dell’addebito o ai fini
35
statitici e quindi scartati. Una volta a settimana l’OT effettua il ricircolo dei sospesi, che
consiste di ridare in input al PP tutti i sospesi, se gli stessi ritornano sospesi, tramite la
Piattaforma di Lavorazione del Traffico si effettuano le forzature. Possiamo avere due
tipi di forzature: per linea d’addebito e per data. Una volta effettuata la forzatura si
passa al secondo ricircolo che dovrebbe permettere a PP di far passare tutti i cartellini
forzati come corretti. Per sospensioni del tipo: traffico precedente/successivo
all’attivazione/cessazione viene effettuata una forzatura su data, che consiste nello
slittare la data del cartellino nel periodo valido per la fatturazione.
2.4.5 Sorveglianza e Controllo (SSC)
Figura 5 Sistema SSC
Il Sistema di Sorveglianza e Controllo (SSC) ha come obiettivo il monitoraggio
dell’efficacia e dell’efficienza del Processo di Fatturazione circa il traffico Fonia/Dati di
ogni servizio di Telecom Italia. Le fasi che saranno monitorate nel Processo di
Fatturazione nell’ambito della nuova piattaforma Siebel/Arbor sono le seguenti:
36
Mediation-Post Processing: scopo di questo sottoprocesso è di preparare i record che
documentano la singola funzione del servizio per la loro valorizzazione. Le attività
necessarie sono: la memorizzazione delle informazioni di provisioning e contrattuali per
la validazione dei Cdr, la raccolta, marcaggio ed elaborazione dei record di
documentazione ai fini dell’accounting, il trasferimento al sistema di valorizzazione dei
soli Cdr fatturabili.
Rating: con questo termine si intende il processo che valorizza il singolo record di
traffico (Cdr) calcolando il prezzo da associare al record di utilizzo del servizio raccolto
e preparato nella fase di Mediation. Il prezzo è espresso in un’unità monetaria
appropriata attraverso l’applicazione, per ogni singolo Cliente, della tariffa appropriata.
Billing: il processo di fatturazione è quello che consente di trasferire l’insieme di
informazioni di rating memorizzate relative ad un’utente in una fattura con l’importo di
pagamento.
Il sistema SSC dovrà essere alimentato dai vari flussi che impattano in Input e Output i
processi sopra elencati. I dati contenuti nei flussi saranno utilizzati per fornire misure
base e indicatori sull’andamento sia della singola fase che di più fasi insieme: i valori
che SSC fornirà per ogni misura sono relativi al numero di Cdr (in valore assoluto ed in
percentuale) e al volume trasmesso/ricevuto o la durata per il servizio VOIP.
USAGE Collection fornisce a SSC le seguenti interfacce per tutti i servizi destinati a
fatturazione:
-
Chiavi degli XDR in input da parte di tutti i sistemi di USAGE
Collection, arricchiti con attributi di fase opportuni;
-
Chiavi degli XDR corretti, sospesi e scartati in output da parte di tutti i
sistemi di USAGE Collection, arricchiti con attribuiti di fase opportuni;
37
Capitolo 3
(4)
IL SISTEMA INCONTRA
3.2 Architettura del sistema
Figura 6 Architettura INCONTRA
4: Tratto da ICT_R2_AD_SFU_SpecificheFunzionali_v3_01_12.doc; ICT_R2_QD_SFU_ IncontraDati_v4_0.doc;
ICT_R2_QD_SFU_ALL_Incontra_v3_3.doc; ICT_R2_ST_SFU_SpecificheFunzionali_2007_v2_1.doc
38
INCONTRA può essere suddiviso in due grandi blocchi, Incontra e Incontra TDI
entrambi divisi a loro volta in Incontra dati e Incontra Fonia , e Incontra TDI Dati e
Incontra TDI Fonia. Dal punto di vista hardware sono formati da tre componenti, due
data base oracle, Adapter e Storico che sono condivisi da entrambi i blocchi; e Qualità
che è il nucleo del sistema, sviluppato in SAS per Incontra e in Java per Incontra TDI.
Adapter è formato da un bus di trasferimento (TIBCO) per comunicare con Customer
Relationship Management (CRM) e OM/Rete che è la piattaforma Telecom, gestita con
Sibel, che registra i dati anagrafici dei clienti. Il canale di comunicazione è
bidirezionale, per permettere lo scambio di messaggi durante l’esecuzione dei processi
Order to Delivery con i sistemi CRM e OM/Rete. In caso di valore non ammesso per
entrambi i domini verrà attivato un processo di Eccezione.
Adapter è un vero e proprio data base Oracle, costituito da diverse tabelle per la parte
Fonia e per la parte TDI. In più è presente un ulteriore schema, contenenti le “tabelle di
frontiera” ( Qualità_Adapter), nato per ovviare il problema dell’assenza di un DB per
Qualità. La struttura del DB è cosi suddivisa:
-
OKQLD sia per dati che per fonia
-
KOQLD sia per dati che per fonia
-
RICHIESTE sia per dati che per fonia
Sulle OK CRM pubblica gli SO, i quali vengono acquisiti da Qualità che effettua i
controlli e in caso di risultato positivo li va a scrivere sulle tabelle di staging (tabelle di
appoggio sulle quali qualità prepara i dati che verranno copiati nelle tabelle di storico)
sullo STORICO, in caso errato viene inserito il record sulla KO. Da qui parte una
richiesta (resync) verso CRM, pubblicando sulla RICHIESTE il record, in modo tale da
permettere a CRM di poter rispondere al resync, pubblicando nuovamente la
lavorazione ovviando agli errori.
Qualità è visto dal Collaudo come una scatola nera, infatti essendo sviluppata in SAS o
in Java non da la possibilità di effettuare i controlli come si potrebbe fare con
ADAPTER e STORICO mediante semplici query. QUALITA’ lavora tutte i SO
presenti nelle OK con stato a ‘P’, e in base a determinati controlli logici e referenziali (i
controlli sintattici/semantici vengono effettuati già dall’Adapter), li smista sulle varie
tabelle di staging o sulle KO.
39
Una volta pubblicate le lavorazioni sulle tabelle di staging è tutto pronto per
l’inserimento sullo Storico, che fa una vera e propria copia delle staging sulle sue
tabelle effettuando schiacciamenti, aggregazioni, scarti e sospensioni.
Storico è composto da un DB Oracle strutturato su uno schema, contenente varie tabelle
distinte per Incontra e Incontra TDI, e la componente che interagisce con i sistemi a
valle (PP,OT), in quanto è storico che effettua gli scarichi che poi vengono passati via
FTP verso i sistemi a valle.
3.3 Adapter
ADAPTER si occupa dello scambio di messaggi con CRM.
La pubblicazione delle consistenze avverrà su CIM differenti attraverso Service Order,
Eventi, Resync.
I Service Order/Eventi/Resync inviati dalle piattaforme di commercializzazione, CRMR
(piattaforma residenziale) e CRMB (piattaforma Business), verranno pubblicati su bus
TIBCO a più isole da BPM, la pubblicazione avviene in maniera differente per le
diverse nature dei dati e delle interfacce : FONIA e DATI.
Gli stati previsti sono di seguito riassunti :
•
EMESSO - Richiesta di attivazione di una nuova configurazione del Servizio
•
ESPLETATO TECNICAMENTE – Stato impostato a seguito della risposta di
attivazione tecnica da parte di Rete
•
ATTIVO – Stato impostato a seguito della risposta dalla procedura ARBOR
•
CESSATO
•
ANNULLATO - Annullamento della richiesta di attivazione della nuova
– Espletamento della emissione di cessazione
configurazione del Servizio
•
ESPLETATO PARZIALE - Richiesta di attivazione/variazione/cessazione di
una nuova configurazione del Servizio
L’ADAPTER di INCONTRA, intercetta i messaggi, filtra i messaggi che non risultano
di competenza dell’isola, effettua i controlli sintattici e formali sui dati precedentemente
40
identificati, filtra i dati non d’interesse dell’isola,modella i dati corretti in formato CIM
INCONTRA, passa i dati corretti alla procedura di QUALITA’ Dati che si occuperà di
verificare la corretta sequenza logica del SO/Evento inviato e la sua consistenza nella
base dati storico, invia richieste di correzione e rinvio Adjustment/Resync a CRM.
Qualità Dati, una volta validato e arricchito il Service Order con i dati Storici e con le
informazioni proveniente da altri sistemi (LIDO per ADSL, ACL/RC per CPS…),
inserirà i dati in tabelle Oracle di Staging; i dati considerati validi verranno presi in
incarico dallo STORICO INCONTRA e inseriti nelle relative tabelle storiche.
Solo a questo punto il sistema è pronto a inviare, tramite opportune shell, le consistenze ai
sistemi PP e OT.
Di seguito l’elenco delle tabelle utilizzate ADAPTER:
Nome fisico tabella
AD_DATI_EVENTI
Descrizione
Tabella degli eventi ricevuti ricevuti da BPM
AD_DATI_KOQLD
Tabella dei Resync inseriti da QD
AD_DATI_MESSAGGI
Tabella dei messaggi ricevuti da BPM
AD_DATI_RICHIESTE
Tabella delle richieste inoltrate a BPM
AD_DATI_SERVICE_ORDER
Tabella dei SO ricevuti da BPM
AD_DATI_OKQLD
Tabella degli OK inviati a QD
AD_DATI_SCARTI
Tabella degli scarti
AD_DATI_LOG
Tabella di log
AD_FONIA_EVENTI
Tabella degli eventi ricevuti ricevuti da BPM
AD_FONIA_KOQLD
Tabella dei Resync inseriti da QD
AD_FONIA_MESSAGGI
Tabella dei messaggi ricevuti da BPM
AD_FONIA_RICHIESTE
Tabella delle richieste inoltrate a BPM
AD_FONIA_SERVICE_ORDER
Tabella dei SO ricevuti da BPM
AD_FONIA_OKQLD
Tabella degli OK inviati a QD
AD_FONIA_SCARTI
Tabella degli scarti
AD_FONIA_LOG
Tabella di log
AD_DT_DATI_KOQLD
Tabella dei Resync inseriti da QD per TDI
AD_DT_DATI_OKQLD
Tabella degli OK inviati a QD per TDI
AD_DT_DATI_RICHIESTE
Tabella delle richieste inoltrate a BPM per TDI
AD_DT_FONIA_KOQLD
Tabella dei Resync inseriti da QD per TDI
AD_DT_ FONIA _OKQLD
Tabella degli OK inviati a QD per TDI
AD_DT_ FONIA _RICHIESTE
Tabella delle richieste inoltrate a BPM per TDI
Tabella 1 Tabelle di Adapter
Il processo di gestione degli SO può essere schematizzato nei seguenti passi:
Attivazione sul canale d’ascolto.
Validazione attraverso schema XSD fornito.
41
Verifica SO in ambito.
Validazione CIM_SO (SO_Semplice,SO_Complesso).
Verifica SO duplicato.
Trasformazione CIM enterprise in CIM INCONTRA DATI.
Verifica richiesta in ambito.
Verifica Controlli formali.
Invio a QD.
Scrittura log riepilogativo.
3.3.1
Attivazione su canale d’ascolto
Tale attività consiste nell’ avviare tramite console TIBCO il servizio inerente i SO.
3.3.2
Validazione Envelope attraverso schema XSD fornito
Tale attività consiste nel controllo sintattico semantico (ben formato , valido) del
messaggio in formato XML ricevuto attraverso un template XSD.
In caso di errore verrà attivato un processo di eccezione verso BPM,in tal caso non
verranno inviati ulteriori messaggi da BPM verso l’sola INCONTRA fino alla
risoluzione dell’ anomalia riscontrata.
3.3.3
Verifica SO in ambito INCONTRA
Tale attività consiste nel controllare che il SO sia di competenza dell’isola INCONTRA.
In caso di errore verrà attivato un processo di eccezione verso BPM.
3.3.4
Validazione CIM_SO
Tale attività consiste nel controllo sintattico semantico (ben formato , valido) del SO in
formato XML ricevuto attraverso un template XSD .
In caso di errore verrà attivato un processo di eccezione verso BPM.
3.3.5
Verifica SO duplicato
Tale attività consiste nel controllare che non siano stati inviati all’isola INCONTRA due
o più SO identici.
42
In caso di invio ripetuto del SO verrà attivato un processo di eccezione verso BPM.
3.3.6
Trasformazione CIM enterprise in CIM INCONTRA DATI
Tale attività consiste nel filtrare i campi enterprise del SO che non interessano l’isola
INCONTRA.
3.3.7
Verifica RICHIESTA IN AMBITO
Tale attività consiste nel controllare che il TIPO_RICHIESTA sia di competenza
dell’isola INCONTRA.
La tabella riassume i valori in ambito per ADSL.
NOME CAMPO
VALORE AMMESSO
TIPO_RICHIESTA
CESSAZIONE
CAMBIO NUMERO
ATTIVAZIONE
RIATTIVAZIONE
TRASFORMAZIONE SERVIZIO
TRASLOCO (TRASLOCO CON CAMBIO NUMERO)
La tabella riassume i valori in ambito per TDI.
NOME CAMPO
VALORE AMMESSO
TIPO_RICHIESTA
ATTIVAZIONE
VARIAZIONE
CESSAZIONE
SUBENTRO ONEROSO
VOLTURA
TRASLOCO
TRASLOCO INTERNO
TRASFORMAZIONE SERVIZIO
In caso di valore non ammesso verrà attivato un processo di Inserimento scarti
3.3.8
Verifica Controlli formali
Tale attività consiste nel controllo sintattico e di dominio dei campi del CIM
INCONTRA DATI.
43
In caso di errore nei controlli verrà attivato un processo di Richiesta Adjustment verso
BPM
Non si effettuano controlli per ServiceOrder di servizi TDI
3.3.9
Invio corretti a QD
Tale attività consiste nell’inserire i SO corretti nella tabella AD_DATI_OKQLD per
servizi ADSL e
AD_DT_DATI_OKQLD per servizi TDI.
Si considerano corretti per TDI anche i msg che hanno generato richieste di adjustment.
3.3.10 crittura log riepilogativo
Tale attività consiste nello scrivere 2 file di log,uno applicativo e uno di processo.
44
3.4
Qualità SAS
Di seguito viene presentata una schematizzazione dell’architettura del sistema.
SCHEMA ARCHITETTURALE INCONTRA SAS (AS-IS)
ADAPTER
QUALITA’ DATI
ACQUISIZIONE
Qualità
OKQLD
KOQLD
RICHIESTE
FLUSSI
BATCH
SUPPORTO
CONTROLLI
Temp
STORICO
FILTRO
Scarti
ST
SG
RICREA OLAP
Olap
Figura 7 Componente Qualità di INCONTRA
45
Nel sistema QUALITA’ INCONTRA possono essere individuate le seguenti
componenti fondamentali:
• Metadata layer: questa componente costituisce il repository in cui vengono
registrati tutti i metadati utilizzati dalle componenti dell’architettura e dai
pacchetti software inclusi nella piattaforma SAS. In particolare conterranno tutte
le informazioni per:
o la connessione al DB Oracle attraverso il quale l’ADAPTER gestisce
l’invio dei SO e le richieste di resync
o i flussi bach provenienti dai sistemi:
BDA
ATOM
CRM
GATC
GSRI
o il DB interno utilizzato per la gestione dei flussi acquisiti, dei risultati e
dei log generati dai processi di controllo
o le descrizioni e documentazioni di tutti i processi di elaborazione (di
acquisizione e di controllo)
o la gestione dei profili degli utenti
• Modulo di Acquisizione: è la componente che fornisce le funzionalità per la
gestione dell’acquisizione dei dati dai sistemi sorgente.
• Modulo Controlli: è il modulo in cui vengono definite e gestite le regole di
controllo della qualità dei dati.
• Modulo di Reporting: è il modulo web che fornisce le funzionalità sia per la
creazione che per la consultazione delle informazioni sull’esito delle
elaborazioni dei flussi.
46
• Modello Dati: nel sottosistema dati vengono gestite tutte le entità dati coinvolte
nei processi di controllo della qualità dei dati. In particolare contiene:
o un sottoinsieme delle tabelle del CIM
o le tabelle per la gestione dello storico degli scarti, dei sospesi, dei log e
dei resync
o le tabelle di destinazione dei flussi
3.5
Qualità JAVA
Di seguito viene presentata una schematizzazione dell’architettura del sistema.
ADAPTER
FLUSSI
BATCH
DI
RETE
OKQLD
QUALITA’ DATI
ACQUISITION
MODULE
XML EXTRACTOR
BATCH DATA
EXTRACTOR
KOQLD
DATA LOADING
APPLICATION
MODULE
CONTROLLER
SCARTI
RENDERING
STORICO
SG
PRESENTATION
MANAGER
DATA
COLLECTOR
ST
WEB LISTENER
SCARTI
SCARTI
QUALITA’
SCARTI
WEB
REPORT
VIEW
SOAP HTTP PROTOCOL
Figura 8 Componente Qualità di INCONTRA TDI
47
La tecnologia che verrà usata per sviluppare tale architettura è J2EE (Java 2 Enterprise
Edition).
Scopo l’architettura di QUALITA’ Dati sarà composta dai moduli di seguito descritti.
Acquisition Module
Sarà il modulo che si occuperà di estrarre i dati presenti sull’ADAPTER, in formato XML e di
applicare ad essi i controlli formali prima di renderli disponibili all’Application Module. Sarà
composto dai seguenti tre sotto moduli:
XML Extractor: questo modulo sarà in grado di rilevare, attraverso un listener,
l’inserimento di nuovi SO sull’ADAPTER e di acquisire gli XML, ad essi relativi, subito
dopo il loro inserimento in base dati, prendendo i dati necessari da passare al modulo
successivo;
XML Creation: sarà il modulo che si occuperà di creare il nuovo XML in base alle
regole dettate da un XSD progettato in maniera distinta per ogni macro famiglia (tipo
traffico), contenente i TAG di interesse. La costruzione del nuovo XML, verrà effettuata
mediante una istanza ad una classe java diversa a seconda del tipo traffico;
XML Parser: sarà il modulo che si occuperà di validare l’XML e fare i primi controlli
formali (obbligatorietà e di dominio) sui dati, per poi inviarli all’Application Module che
applicherà i restanti Controlli, facendo resync per invariante sulla catene di interesse, li
dove questi controlli fallissero.
Application Module
Sarà il modulo che si occuperà di fare i controlli semantici, sintattici e logici, e inserirà i dati
normalizzati nelle tabelle di Staging di STORICO. Sarà composto dai seguenti due moduli:
Controller: sarà il modulo che effettuerà tutti i controlli semantici, sintattici, di sequenza
e logici per garantire la qualità del dato nella base dati di destinazione;
Rendering: sarà il modulo che riceverà i dati controllati dal Controller e che attraverso
delle regole, inserirà gli stessi nelle tabelle di scarto, se il controllo non ha avuto esito
positivo, o di staging, se il controllo ha avuto esito positivo o nella tabella KOQLD
dell’ADAPTER, se il controllo ha causato la generazione di un resync.
48
Presentation Manager
Sarà il modulo che si occuperà di raccogliere i dati che saranno oggetto di scarto sui tre
moduli del sistema INCONTRA (ADAPTER, QUALITA’ DATI e STORICO) e li
assemblerà per il successivo passaggio degli stessi al modulo Web Report View. Sarà
composto dai seguenti sotto moduli:
Data Collector: sarà il modulo che, a seguito di una richiesta del Web Listener,
raccoglierà i dati, li elaborerà e li inserirà in un XML per permettere la lettura dei
dati al modulo web listener;
Web Listener: sarà il modulo che si occuperà di effettuare le richieste al Data
Collector e dopo aver ricevuto l’XML in risposta, contenente i dati richiesti, e
passerà l’XML così composto al modulo web report view.
Web Report View
Sarà il modulo che si occuperà della visualizzazione dei dati raccolti e assemblati dal
modulo Presentation Manager per la loro visualizzazione attraverso dei Report che
saranno pubblicati sul WEB.
49
3.6
STORICO
Di seguito viene presentata una schematizzazione dell’architettura del sistema.
CRM R /B
CIM/FONIA
CIM/DATI
E-FOUNDATION
Adapter
INCONTRA
CONTROLLO
QUALITA’ DATI
INCONTRA
STORICO
Figura 9 Componente Storico di INCONTRA
L’ADAPTER di INCONTRA, nel catturare i messaggi, effettua dei controlli sintattici e
semantici sui dati dando un primo livello di certificazione strutturale e formale del
50
Service Order inviato e passa i dati corretti alla procedura di QUALITA’ Dati che si
occuperà di verificare la corretta sequenza logica del SO inviato e la sua consistenza
nella base dati storico mentre per i dati scorretti richiede tramite E-Fondation
un’operazione di adjustement a CRM.
QUALITA’ Dati una volta validato e arricchito il Service Order con i dati Storici e con
le informazioni proveniente da altri sistemi (per ADSL, ACL/RC per CPS…) inserirà i
dati in tabelle Oracle di Staging, i dati considerati validi verranno presi in incarico dallo
STORICO INCONTRA e inseriti nelle relative tabelle storiche, di conseguenza nello
STORICO INCONTRA saranno presenti tabelle temporanee di Staging riconoscibili da
suffisso ‘SG_’, tabelle storiche con suffisso ‘ST_’ , tabelle anagrafiche con suffisso
‘ANA_’ e tabelle tecniche con suffisso ‘TC_’.
Di seguito l’elenco delle tabelle:
Tipologia
Nome fisico tabella
Descrizione
Staging
SG_CONS_INCONTRA_TP
Tabella di Staging per Consistenza Telefonia Pubblica
Staging
SG_CONS_CPSNP
Tabella di Staging per associazione commerciale e tecnica per Carrier Pre Selection e Number Portabilità
Staging
SG_CONS_INCONTRA
Tabella di Staging per Consistenza Cliente
Staging
SG_CONS_ADSL_COMM
Tabella di Staging per il caricamento giornaliero da Qualità Dati della parte ADSL commerciale
Staging
SG_CIM_FONIA
Tabella di Staging per CIM Fonia da E-Foundation
Staging
SG_CIM_FONIA_AGGIUNTIVI
Tabella di Staging per CIM Fonia da E-Foundation per la memorizzazione degli aggiuntivi della linea
Staging
SG_CIM_FONIA_CIC
Tabella di Staging per CIM Fonia da E-Foundation per la memorizzazione dei CIC della linea
Staging
SG_CIM_FONIA_FITTIZI
Tabella di Staging per CIM Fonia da E-Foundation per la memorizzazione dei fittizi della linea
SG_CIM_FONIA_SVZ_AGGIUNTIVO Tabella di Staging per CIM Fonia da E-Foundation per la memorizzazione delle forniture per l’identificazione
della tipologia di ADSL
Staging
Staging
SG_CIM_FONIA_LINEA
Tabella di Staging per CIM Fonia da E-Foundation per la memorizzazione della linea telefonica old e new
Staging
SG_CIM_DATI
Tabella di Staging per CIM Dati da E-Foundation
Staging
SG_CIM_ DATI _AGGIUNTIVI
Tabella di Staging per CIM Dati da E-Foundation per la memorizzazione degli aggiuntivi della linea
Staging
SG_CIM_ DATI _FITTIZI
Tabella di Staging per CIM Dati da E-Foundation per la memorizzazione dei fittizi della linea
Staging
SG_CIM_ DATI _LINEA
Tabella di Staging per CIM Dati da E-Foundation per la memorizzazione della linea telefonica old e new
SG_CIM_DATI_SVZ_AGGIUNTIVO
Staging
Tabella di Staging per CIM Fonia da E-Foundation per la memorizzazione delle forniture per l’identificazione
della tipologia di ADSL
Staging
SG_CIM_DATI_CIC
Tabella di Staging per CIM Dati da E-Foundation per la memorizzazione dei CIC della linea
Staging
SG_CIM_DATI_GUIDING
Tabella di Staging per Cim Dati da E-Foundation per la memorizzaione dei Guiding
Staging
SG_CLIENTE
Tabella di Staging per CIM Dati e CIM Fonia da E.Foundation per la memorizzazione dell’anagrafica Cliente.
SG_SEDE
Staging
Storico
ST_CONS_INCONTRA
Tabella Storico di INCONTRA per la consistenza cliente
ST_CONS_INCONTRA_DELETE
Tabella Storico di INCONTRA dove vengono spostate le occorrenze cancellate dalla tabella
ST_CONS_INCONTRA
Storico
Storico
Tabella di Staging per CIM Dati e Cim Fonia da E-Foundation per la memorizzazione dell’anagrafica della
Sede.
ST_CONS_CPSNP
Tabella Storico per associazione commerciale e tecnica per ADSL e WI-FI Alice Voice
51
Tipologia
Nome fisico tabella
Descrizione
Storico
ST_CONS_ADSL_COMM
Tabella storico per la memorizzazione della parte ADSL commerciale
Storico
ST_CONS_ADSL_COMM_DELETE
Tabella di Storico dove vengono spostate le cancellazioni dell’associativa ST_CONS_ADSL_COMM
Storico
ST_CONS_RESYNC
Storico
ST_CONS_EMESSI
Tabella Storico per la memorizzazione degli Emessi (Delivery Emessi)
Storico
ST_CONS_ESPLETATI
Tabella Storico per la memorizzazione degli Emessi Espletati (Delivery Emessi)
Storico
ST_GACT
Tabella Storico per GACT (Gestione Carte Telefoniche)
Storico
ST_GSRI_PIN
Tabella Storico per Sistemi di Rete Intelligenti per PIN
Storico
ST_GSRI_CLI
Tabella Storico per Sistemi di Rete Intelligenti per CLI
Storico
ST_GSRI_GNR
Tabella Storico per Sistemi di Rete Intelligenti per GNR
Storico
ST_CIM_DATI
Tabella di Storico per CIM Dati da E-Foundation
Storico
ST_CIM_DATI_AGGIUNTIVI
Tabella di Storico per CIM Dati da E-Foundation per la memorizzazione degli aggiuntivi della linea
Storico
ST_CIM_DATI_FITTIZI
Tabella di Storico per CIM Dati da E-Foundation per la memorizzazione dei fittizi della linea
Storico
ST_CIM_DATI_LINEA
Tabella Storico per CIM Dati da E-Foundation per la memorizzazione della linea telefonica old e new
ST_CIM_DATI_SVZ_AGGIUNTIVO
Tabella di Storico per CIM Dati da E-Foundation per la memorizzazione delle forniture per l’identificazione
Staging
della tipologia di ADSL
Staging
ST_CIM_DATI_CIC
Tabella di Storico per CIM Dati da E-Foundation per la memorizzazione dei CIC della linea
Staging
ST_CIM_DATI_GUIDING
Tabella di Storico per Cim Dati da E-Foundation per la memorizzaione dei Guidino
Storico
ST_CIM_FONIA
Tabella di Storico per CIM Fonia da E-Foundation
Storico
ST_CIM_FONIA_AGGIUNTIVI
Tabella di Storico per CIM Fonia da E-Foundation per la memorizzazione degli aggiuntivi della linea
Storico
ST_CIM_FONIA_CIC
Tabella di Storico per CIM Fonia da E-Foundation per la memorizzazione dei CIC della linea
Storico
ST_CIM_FONIA_FITTIZI
Tabella di Storico per CIM Fonia da E-Foundation per la memorizzazione dei fittizi della linea
Storico
ST_CIM_FONIA_LINEA
Tabella di Storico per CIM Fonia da E-Foundation per la memorizzazione della linea telefonica old e new
ST_CIM_FONIA_SVZ_AGGIUNTIVO Tabella di Staging per CIM Fonia da E-Foundation per la memorizzazione delle forniture per l’identificazione
Storico
della tipologia di ADSL
Anagrafiche
ANA_CLIENTE
Anagrafica Cliente
Anagrafiche
ANA_SEDE
Anagrafica Sede
Tecniche
TC_LOG_PROCESSI
Tabella tecnica per la gestione delle LOG delle procedure
Tecniche
TC_SCARTI
Tabella degli scarti
Tabella 2 Tabelle Storico
Possiamo distinguere due tipi di caricamento per lo STORICO di INCONTRA:
-
Caricamento iniziale
-
Caricamento giornaliero
La fase del caricamento iniziale (Start-up della procedura) delle basi dati prevede il
caricamento dal vecchio ambiente INCONTRA alimentato dall’interfaccia BDA per le
componenti Consistenza Cliente (XE_DOCAD), ADSL (XE_ASTCM) e Carrier Pre
Selection e Number portabilità (XE_CPSNP) e consistenza carte telefoniche (GACT).
52
Il caricamento giornaliero prevede l’esecuzione di una fase batch serale durante la quale
verranno estratte le diverse consistenze, da aree di appoggio, precedentemente infasate
dalla procedura di Qualità Dati.
3.7
STRATEGIA DI COLLAUDO
Elencherò passo per passo tutti gli step da seguire per portare a termine un collaudo
funzionale nell’ambiente USAGE per il sistema INCONTRA, differenziato per le
catene dati che scendono on-line tramite bus su ADAPTER, e quelle che arrivano bach
direttamente su STORICO.
3.7.1 ON-LINE
I passi da seguire per realizzare un collaudo nell’ambiente INCONTRA per la parte
ON-LINE
sono :
-- Scegliere dalle tabelle OKQLD di ADAPTER tutti gli invarianti avente
famiglia_servizio = famiglia servizio da collaudare, dando priorità all'acquisizione di
servizi che appartengono alla famiglia servizio in esame.
-- Acquisire anche i servizi appartenente alle altre famiglie servizio e verificare la loro
correttezza.
-- Acquisire anche le lavorazioni che appartengono a servizi diversi, per verificare la
corretta acquisizione.
-- Elaborare stato per stato tutte le lavorazioni nel seguente modo :
EMESSO
---> fino a STORICO
ESPLETATO ---> fino a STORICO
53
Questo vale per tutti i tipi di lavorazione, dove previsto l'emesso. Nel caso in cui ci sia
solo l'espletato, acquisire solo l'espletato.
Storicizzare sempre i dati e di verificare la completezza e la consistenza dei dati in tutte
le tabelle.
-- Prevedere l'estrazione per PP.
-- Per verificare quali sono le condizioni di valorizzazione della tabella far riferimento
alle specifiche.
-- Verificare anche il canale resync per le lavorazioni sia oggetto di collaudo e non.
-- Prevedere un regration test.
-- Prevedere anche un acquisizione massiva dei dati.
-- Provare tutte le shell di qualità ( Ripartenze ,resync, etc......).
54
3.7.2 BATCH
I passi da seguire per realizzare un collaudo nell’ambiente INCONTRA per la parte
BATCH sono :
-- Creazione dei flussi tramite un simulatore, in quanto per motivi di sicurezza non
possiamo accedere ai file reali.
-- Acquisire i file creati tramite simulatore allo step precedente.
-- Verificare la corretta valorizzazione dei campi delle tabelle, facendo riferimento alle
specifiche funzionali legate al rilascio software.
-- Prevedere uno scarico verso PP e dove opportuno per OT
-- Prevedere un regration test.
-- Prevedere anche un acquisizione massiva dei dati
-- Provare tutte le shell di qualità ( Ripartenze ,resync, etc......)
55
Capitolo 4
(5)
STRUMENTI UTILIZZATI
4.1 Introduzione
In ambiente Telecom il collaudo viene gestito e monitorato da particolari strumenti, che
sono entrati in uso da 1 gennaio 2007, cioè da quando è stata fatta l’aggregazione con
TIM, infatti tali strumenti sono stati importati dal collaudo TIM.
I più importanti sono :
-
Infodelivery
-
PVCS
Infodelivery è lo strumento in cui vengono pubblicate le documentazioni (proposte
implementative, specifiche funzionali, specifiche d’interfaccia), inoltre guida il collaudo
indicando date di rilascio e date di fine collaudo.
PVCS è lo strumento softaware che viene utilizzato per la comunicazione tra i vari
ambienti: sviluppo, collaudo esercizio. Infatti qui possiamo trovare rilasci software con
relativi manuali d’installazione (MIG), schede anomalia (SM), change requert (CR).
Putty, noto a tutti, è il software che ci permette di lavorare in remoto sulle macchine
telecom.
SQL navigator o TOAD sono interfacce per il client Oracle, sui quali possiamo
effettuare query e i vari controlli nelle tabelle.
FileZilla, utilizzato per il trasferimento via FTP dei File.
5: Tratto da Guida Infodelivery.doc; Metodologia SCM PVCS v30.pdf
56
Ultraedit, è un editor di scrittura, che grazie alle sue svariate funzioni, ci permette di
creare in maniera semplice e veloce traffico e di salvare direttamente via FTP sulle
macchine di collaudo.
3.8
Infodelivery
3.8.1 Introduzione
Infodelivery nasce dall’esigenza del settore TELECOM MD.BS.C di fornire uno
strumento che fosse di ausilio ai consulenti di Collaudo per standardizzare le operazioni,
ma al tempo stesso che fosse di supporto ai Program Manager di Collaudo per
monitorare lo stato di avanzamento delle Attività ( Errore. L'origine riferimento non
è stata trovata.).
Figura 10 Schematizzazione funzionale di Infodelivery
57
Come si può netare dalla figura, Infodelivery è composto da quattro profili:
-
DM
-
Sviluppo
-
Collaudo
-
PM VAS
Andiamo ora ad nalizzare singolarmente ognuno di essi, soffermandoci più
specificatamente sul Collaudo.
3.8.2
Profilo DM
Il ruolo DM può essere visto come quello dell’analisi, infatti dopo aver analizzato le
esigenze espresse, valutando se si tratta di nuove attività di sviluppo software o di
modifica di quelle preesistenti, inserisce in Infodelivery una nuova Attività, identificata
attraverso un codice univoco (codice AGESP) unitamente ad altre informazioni che
stabiliscono la priorità e i tempi di realizzazione dell’intervento. Periodicamente
Infodelivery, attraverso un meccanismo di acquisizione automatica, carica nel proprio
DB i dati di AGESP relativi alle Attività inserite e/o modificate rispetto all’ultimo
caricamento. La presenza in Infodelivery delle informazioni relative ad una nuova
Attività, dà il via al processo che vedrà coinvolti i DM, i team di Sviluppo, Collaudo ed
Esercizio che si tradurrà con la realizzazione e la messa in produzione di quanto
concordato. La pianificazione e le responsabilità di ogni fase del processo sono definite
nel Piano Centralizzato dei Rilasci di BSS che suddivide le Attività in fasi (Kit) a livello
annuale, ad esempio X1 relativo al mese di Gennaio, X2 a Febbraio e cosi via.
Il DM, una volta che l’Attività inserita su AGESP è visibile su Infodelivery, indica quali
Sistemi, tra quelli presenti, saranno coinvolti nella realizzazione.. Il DM effettua inoltre
l’upload dell’Agesp entro la data prevista dal Piano Centralizzato dei Rilasci di BSS.
Dopo l’associazione dell’Attività ai Sistemi coinvolti nel processo, ciascuno dei settori
di Sviluppo interessati inizierà le attività di propria competenza. I DM hanno completa
visibilità delle attività di Sviluppo potendone verificare l’avanzamento a livello di
coppia Attività/Sistema.
58
3.8.3
Profilo Sviluppo
Nel momento in cui il DM associa l’Attività ai Sistemi interessati, i settori di Sviluppo
avranno disponibile l’Attività nella loro “pending list” di Sistema: le attività preliminari
che dovranno svolgere riguardano la verifica dell’effettivo impatto dell’Attività sul
Sistema di cui sono referenti e la valutazione dei Requisiti. L’obiettivo sarà
principalmente quello di associare tutte le Attività all’interno di un Kit, tra quelli
disponibili, al fine di creare una lista “formale” da comunicare al settore di Collaudo.
Tale operazione dovrà essere fatta cercando di far conciliare la data prevista dal DM di
rilascio in esercizio dell’Attività con la data prevista di rilascio in esercizio dell’intero
Kit. Il processo prevede che venga inserita la documentazione prodotta dal settore di
Sviluppo, sia a livello di Kit che a livello di Attività per le categorie standard richieste
da Collaudo:
-
Requisiti
-
Specifiche
-
System Test
Dopo aver associato alla coppia Attività/Sistema un Kit scelto fra quelli disponibili, i
settori di Sviluppo potranno creare una scheda RU su PVCS.
Le altre informazioni che i settori di Sviluppo devono inserire in Infodelivery sono
relative alla Priorità e alla Complessità relativa alla coppia Attività/Sistema.
59
3.8.4
Profilo Collaudo
L’associazione di un’Attività ad un Kit, per un determinato Sistema rende disponibile
l’Attività al Collaudo per la lavorazione. Sulla base delle indicazioni presenti nella P.I.
del DM, il Collaudo dovrà rilasciare in Infodelivery la Strategia di Collaudo che
contiene le linee guida secondo cui sarà progettato il Collaudo ed il Piano di Collaudo
(prima versione) con il riferimento della pianificazione delle attività di collaudo.
Soltanto dopo la consegna della documentazione di Sviluppo (Requisiti, Specifiche,
System Test in Infodelivery), può iniziare la fase di progettazione del collaudo.
Le attività principali previste dal processo sono:
-
la redazione e rilascio in Infodelivery del Test Book contenente i CdT
(funzionali, integrati, prestazionali e di esercibilità). I CdT sono redatti dal
fornitore di Collaudo inizialmente secondo quanto indicato dalle P.I. dei DM e
quindi, per la definizione di dettaglio, in accordo con la documentazione
rilasciata da Sviluppo in Infodelivery; per la progettazione dei CdT integrati è
stato definito dal gruppo di “PMO”, interno al Collaudo (PMO), un documento
contenente le linee guida;
-
la predisposizione dell’ambiente di Collaudo (ove necessario);
-
il rilascio del Piano di Collaudo in Infodelivery in versione definitiva.
-
la verifica della copertura dei requisiti funzionali e delle specifiche tecniche da
parte dei System Test forniti da Sviluppo. Al termine di questa attività sarà
onere del Collaudo rilasciare in Infodelivery il Rapporto su copertura dei
System Test.
Il Test Book, perché si possa procedere all’esecuzione dei CdT che lo compongono,
deve essere validato dal responsabile TELECOM MD.BS.C che provvede prima alla
sua accettazione e quindi, previa verifica ed eventuale richiesta di
modifica/integrazione, alla sua validazione; Soltanto da questo momento può iniziare la
fase di collaudo vera e propria: i CdT, resi disponibili nella fase precedente con la
validazione del TB, devono essere approvati dal supervisore di Collaudo prima della
loro esecuzione. A valle di questa fase (transizione di stato dei CdT Progettati ->
Approvati) se sono disponibili il Software e la documentazione rilasciati da Sviluppo e
risultano terminate tutte le attività di predisposizione dell’ambiente, i collaudatori
60
possono eseguire i CdT del Test Book in conformità con quanto riportato nel Piano di
Collaudo (come attività preliminare, per la verifica della qualità del software
consegnato, vengono rieseguiti, a campione, una parte dei System Test consegnati da
Sviluppo, relativamente alle funzionalità principali da collaudare, e rilasciato in
Infodelivery il Rapporto di esecuzione a campione dei System Test). Il tracciamento
dell’attività di esecuzione dei CdT è gestito in Infodelivery attraverso lo storico dei
Lanci. Per ogni Lancio terminato con esito negativo, il Collaudo può segnalare
l’anomalia creando una scheda SM su PVCS. Alla fine del processo sarà cura degli
stessi collaudatori rilasciare in Infodelivery il Rapporto di Fine Collaudo e su PVCS il
software collaudato per l’installazione in Esercizio.
Per alcuni Sistemi è prevista una fase di Collaudo Utente. Le richieste di CU,
formalizzate in Infodelivery dai DM, vengono prese in carico dai PMO di Collaudo che,
dopo il consolidamento delle informazioni, notificano ai g.d.l. di Collaudo l’inizio delle
attività (Collaudo Utente nello stato In Corso). Le Segnalazioni create dal Cliente
durante la fase di esecuzione dei CdT di Cu sono prese in carico dai g.d.l di Collaudo
competenti che, coadiuvati da Sviluppo, devono analizzarne le motivazioni: nel caso si
tratti di un’anomalia, Collaudo aprirà una scheda SM su PVCS; se invece si tratta di un
nuovo requisito sarà Sviluppo ad aprire una scheda RU su PVCS.
3.9
PVCS
3.9.1 Introduzione
PVCS Dimensions è utilizzato per la gestione di tutto il ciclo degli interventi sul
software sia per malfunzionamenti segnalati dai gruppi di System Test, Esercizio o
Collaudo, sia per le nuove implementazioni segnalate dai gruppi di
Sviluppo/Design/Build in termini di:
-
tracciamento delle modifiche software assegnate ai fornitori o gruppi di
Sviluppo;
-
controllo delle operazioni di rilascio software da parte dei fornitori o
gruppi di Sviluppo sugli ambienti riservati a tale scopo;
61
-
inserimento nei repository di progetto degli oggetti software relazionati
alle schede di intervento;
-
prelievo degli oggetti software per l’installazione sugli ambienti di
System Test, Collaudo ed Esercizio;
-
In ambiente di Collaudo, qualora l’intervento sia ascrivibile a problemi
legati a componenti software, sarà possibile effettuare l’apertura di una
scheda di modifica (SM)
Mentre Infodelivery permette la comunicazione tra i diversi settori per quanto riguarda
documentazioni, specifiche e casi di test; PVCS permette di comunicare con gli altri
settori per i rilasci e le consegne software. I rilasci software vengono fatti tramite
particolari schede chiamate RIL, nelle quali è presente lo stato, la data di rilascio, il
nome della scheda, i pacchetti da installare nei vari ambienti e dove necessario anche un
MIG (manuale di installazione). Una volta installati i pacchetti si procede con il
collaudo vero e proprio, seguendo quanto pianificato in Infodelivery nei casi di test, nel
momento in cui un test non termina in maniera desiderata, Collaudo apre una scheda di
anomalia (SM), con la quale spiega a Sviluppo il problema riscontrato e rispedisce
indietro la RIL per un eventuale rilascio, con modifiche ai pacchetti per la risoluzione
del problema. Una volta terminato il test del software, entro le date previste su
Infodelivery, il Collaudo rilascia il software a Esercizio effettuando semplicemente un
cambio di stato (Passaggio in esercizio), il quale può provvedere all’installazione del
software.
62
3.9.2
RILASCI SOFTWARE (RIL)
Andiamo ad analizzare il ciclo di vita della scheda centrale di PVCS, con la quale
vengono effettuati i rilasci (RIL):
Figura 11 Ciclo di vita di una RIL
-
IN RILASCIO (stato iniziale)
Creazione ed apertura di una scheda (Change Document) per la formalizzazione
di un nuovo rilascio. Tale operazione viene effettuata dal gruppo di
Sviluppo/Design o dal Fornitore/Gruppo di Build cui è assegnato lo sviluppo del
software.
In questa fase, il FORN, effettua il rilascio del software creando i singoli file in
PVCS, aggiorna tutti gli attributi della scheda rilascio, evidenziando la
motivazione del rilascio ed inoltra la stessa nello stato successivo.
63
-
RILASCIATO
In questa fase, il Gruppo di Sviluppo/Design (SVI), effettua le dovute verifiche
formali sul contenuto del rilascio effettuato e inoltra la scheda nello stato
PASSAGGIO IN COLLAUDO per attivare le operazioni di allineamento
ambiente con il software rilasciato. La scheda può essere inoltrata nuovamente
nello stato IN RILASCIO nel caso in cui il rilascio non è conforme alle
aspettative oppure nello stato ANNULLATA nel caso in cui il rilascio non ha
più senso di esistere per varie motivazioni (sospensione delle attività).
-
PASSAGGIO IN COLLAUDO
Tale stato indica il termine di tutte le attività di verifica formale sul rilascio e la
richiesta da parte dello Sviluppo/Design di rendere disponibile al gruppo di
collaudo il software e la documentazione relativa.
In questa fase il Collaudo, effettuando l’azionamento della scheda nello stato
RILASCIATO A COLLAUDO, automaticamente effettua anche il passaggio
degli item relazionati alla scheda RIL nel workset COLL da cui potrà essere
prelevato per l’installazione degli ambienti del collaudo stesso.
-
RILASCIATO A COLLAUDO
Tale stato indica la disponibilità del rilascio per il gruppo di collaudo che può
prelevare il software per l’installazione degli ambienti runtime dal workset
COLL e dare inizio alle attività di validazione funzionale e/o prestazionale sui
componenti installati.
In questa fase, il Gruppo di Collaudo (GSC) provvederà ad inoltrare la scheda
rilascio nello stato COLLAUDO OK al termine delle attività di verifica
terminate con esito positivo o nello stato RICHIESTA REGRESSIONE nel caso
in cui si voglia annullare il rilascio effettuando una regressione del software ad
una diversa versione di quella installata (eseguibili corrotti, anomalie bloccanti,
ecc.); nello stato RESPINTA, nel caso in cui si voglia annullare il rilascio senza
effettuare una regressione sulle versioni software installate oppure nello stato
ANNULLATA nel caso in cui si voglia annullare il
rilascio.
64
-
COLLAUDO OK
Tale stato indica il termine delle attività di verifica sul rilascio relativo da parte
del gruppo di collaudo e che il software è pronto per essere rilasciato in
esercizio.
In questa fase, il Gruppo di Collaudo (GSC), dopo le opportune verifiche, inoltra
la scheda nello stato PASSAGGIO IN ESERCIZIO per notificare al gruppo di
Esercizio l’effettivo rilascio del software relativo. Nel caso in cui il rilascio
riguarda una release non ancora in esercizio, la scheda può essere azionata in
CHIUSA oppure rimanere in questo stato fino a
fine collaudo. La scheda sarà azionata dal gruppo GSC quando, a fine collaudo,
richiederà il passaggio in esercizio della nuova release. La scheda può essere
inoltrata anche nello stato ANNULLATA nel caso in cui si voglia annullare il
rilascio.
-
PASSAGGIO IN ESERCIZIO
Tale stato indica il termine di tutte le attività di verifica formale sul rilascio
effettuato e la volontà da parte del gruppo di supporto all’esercizio di consegnare
il software relativo.
In questa fase il gruppo di supporto all’Esercizio (GSE), effettuando
l’azionamento della scheda nello stato RILASCIATO A ESERCIZIO.
-
RILASCIATO A ESERCIZIO
Tale stato indica la disponibilità del rilascio per il gruppo di esercizio che può
prelevare il software per l’installazione degli ambienti runtime dal workset
CONS e dare inizio alle attività di installazione sul runtime relativo.
3.9.3
Schede anomalia (SM)
La scheda anomalia su PVCS Dimensions di tipo “SM” conterrà tutte le informazioni
utili prelevate dai malfunzionamenti rilevati negli ambienti di esercizio, necessari a
65
predisporre il tool PVCS Dimensions alla gestione dell’intervento di modifica da parte
delle linee di Sviluppo/Design
interessate, includendo il tracciamento degli eventuali interventi da parte del
fornitore/build e della linea di Collaudo che dovrà validare l’intervento prima della
installazione del software sugli ambienti di Esercizio. Lo stato della scheda SM viene
aggiornato in tempo reale sul Ticket Remedy di TSSC permettendo il tracciamento delle
fasi dell’intervento software anche alle linee di Esercizio.
Per i malfunzionamenti rilevati negli ambienti di collaudo, il gruppo relativo
formalizzerà una scheda PVCS di tipo “SM” direttamente con il client del tool oppure
tramite Infodelivery associando la stessa al caso di test gestito su quest’ultimo.
Dividiamo le schede SM per severità:
-
Bloccante di sistema
-
Bloccante di funzione
-
Media
-
Formale
Bloccante di sistema è la severità che viene assegnata ad una anomalia software che ha
generato un arresto di un processo; “processo terminato in errore”.
Bloccante di funzione viene assegnata ad un anomalia che ha causato un
malfunzionamento che impedisce di continuare i test; “processo terminato
correttamente, ma non compie le proprie funzionalità in maniera adeguata”.
Media, tale severità viene assegnata quando l’anomalia riscontrata riguarda un
malfunzionamento che non è bloccante per il proseguimento del collaudo; “processo
terminato senza errore, ma con qualche piccola imprecisione”.
Formale, si assegna tale severità quando ci sono incompatibilità lievi tra il software e le
specifiche, tipo errata valorizzazione di campi o domini errati: “processo terminato
correttamente, con piccole imperfezioni tra la funzionalità del software e quanto
indicato nelle specifiche” .
66
Analizzando nel particolare il ciclo di vita di una scheda SM:
Figura 12 Ciclo di vita di una SM
-
APERTA (STATO INIZIALE)
Creazione ed apertura di una scheda per la formalizzazione di un
malfunzionamento rilevato in fase di Collaudo o di Esercizio. Tale operazione
è effettuata dal Gruppo di Supporto Collaudo (GSC) nel primo caso o dal
Gruppo di Supporto all’Esercizio nel secondo. In questa fase la scheda è in
carico al gruppo SVI che effettua una analisi della modifica da effettuare e, nel
caso sia accettata, passa la scheda stessa nello stato ASSEGNATA per avviare le
operazioni di implementazione software.
Nel caso di malfunzionamenti di Collaudo, obbligatoriamente la scheda deve
essere associata ad un KIT, ad un’attività ed ad un Codice di Test messo
precedentemente in KO con la valorizzazione degli attributi “Codice KIT”,
“Codice Attività” (AGESP) e “Codice Test”.
67
-
ASSEGNATA
Tale stato indica l’inizio delle attività di modifica software da parte degli
sviluppatori del Fornitore o del gruppo di Codifica/Build interno. Al
completamento di tutte le attività di realizzazione e test unitario viene
formalizzato il rilascio del software attraverso l’apertura della scheda RIL alla
quale relazionare tutto il software rilasciato e tutte le schede SM oggetto del
rilascio. Infine la scheda SM deve essere posta nello stato RISOLTA.
-
RISOLTA
Tale stato indica che sono terminate le attività di rilascio e tutto il software
rilasciato è presente in PVCS Dimensions ed è disponibile per le operazioni
di installazione e verifica. In questa fase, il rilascio software correlato alla SM
viene verificato formalmente prima dal gruppo SVI e poi funzionalmente dal
gruppo di collaudo GSC, in entrambi i casi potrebbe essere rifiutato, in questo
caso la scheda SM sarà riportata allo stato precedente. Nel caso in cui la
risoluzione dell’anomalia non sia più utile, la scheda può essere azionata nello
stato ANNULLATA. Se invece il rilascio software supera le verifiche, il gruppo
di collaudo (GSC) inoltra la scheda nello stato CHIUSA.
-
CHIUSA
Tale stato indica la fine di tutte le attività di validazione funzionale in ambiente
di Collaudo per il malfunzionamento riscontrato.
68
Conclusioni
Il lavoro svolto in questi mesi, destinato alla clientela Telecom Italia, è stato frutto di
un’ intensa collaborazione fra i membri del gruppo di lavoro Accenture-Unlimited
Software.
La comprensione da parte mia della filosofia della fase di collaudo, mi ha permesso di
comprendere e condividere le ragioni su cui si basa la progettazione software all’interno
dell’azienda..
L’ ambiente di lavoro che mi ha visto impegnato durante il tirocinio, mi ha permesso di
affrontare le problematiche di gestione anomalie e di pianificazione dei test, con una
prospettiva diversa basata sull’ analisi e sullo studio di esse, cercando di trarre
conclusioni sulle loro possibili evoluzioni.
Nel corso del lavoro mi è diventato evidente, quanto sia di aiuto, per una realtà
aziendale di medio e grandi dimensioni, l’uso di strumenti software sviluppati per
facilitare le comunicazioni tra vari team che presiedono alle differenti fasi del ciclo di
rilascio software a favore del cliente Esercizio.
La crescita delle mie conoscenze tecniche mi pone, ora, in uno stato di maggiore
consapevolezza all’affrontare progetti di sviluppo di sistemi informatici complessi.
69
Un ringraziamento speciale al mio docente universitario
Eliana Minicozzi che mi ha offerto validissime direttive
nelle stesura della tesi. Inoltre ringrazio affettuosamente il
mio tutor aziendale e tutti i mie colleghi del team che mi
hanno seguito durante il tirocinio. Soprattutto un
caloroso grazie a tutti i colleghi di Mestre che mi hanno
accolto in maniera fantastica facendomi stare a mio
agio per tutta la durata della trasferta. Grazie
70