13: Il test del software. 13Test.1

Размер: px
Начинать показ со страницы:

Download "13: Il test del software. 13Test.1"

Транскрипт

1 13: Il test del software 13Test.1

2 Concetti fondamentali Costo estremamente elevato Filosofia distruttiva Eseguire un programma con l intento di trovare degli errori; Un caso di test e ben studiato se ha un alta probabilita di scoprire un errore Un test ha successo se scopre un errore rimasto sino a quel momento nascosto Un test non prova l assenza di difetti ma mostra (eventualmente) qualcuno di quelli presenti Principi generali I test vanno condotti tenendo in considerazione i requisiti utente La fase di test va progettata e pianificata in anticipo Le attivita di test partono dall analisi delle singole funzioni per coinvolgere l intera struttura del progetto Un attivita di test esaustiva e impossibile in molti casi (tipicamente esponenziale) Le attivita di test dovrebbero essere condotte da terzi 13Test.2

3 Progettare il SW pensando alla fase di test SW: Praticabile (pochi bug, non bloccanti, decomposizione) Osservabile (stati interni e variabili, funzioni semplici tra I e O) Controllabile (codice raggiungibile, accesso alle variabili) Decomponibile (moduli indipendenti tra loro) Semplice (funzioni, codice, struttura) Stabile (pochi cambiamenti, controllati ed indipendenti dai test) Comprensibile(progetto, relazioni tra moduli, documentazione) 13Test.3

4 Difetti, errori e malfunzionamenti Il difetto e' una caratteristca fisica di una porzione di codice o di una sezione di un testo di documentazione L'errore e' l'azione umana che ha generato il difetto Il malfunzionamento e' la conseguenza di un difetto che si manifesta durante l'utilizzo del prodotto software 13Test.4

5 CLASSIFICAZIONE DEI MALFUNZIONAMENTI I malfunzionamenti si possono suddividere in quattro categorie: Funzionali Strutturali Relativi alla interfaccia Mancato rispetto dei requisiti non funzionali 13Test.5

6 Tecniche di progettazione dei casi di test Evidenziare un numero prefissato di difetti minimizzando il costo Utilizzare al meglio un budget prefissato Cercare il minimo della funzione globale del costo costo CNC Costo della non conformità CNC+COC Punto di costo minimo COC Costo della conformità Basso impegno in attività di prevenzione e verifica Alto 13Test.6

7 ARTICOLAZIONE DEL PROCESSO DI TEST Progettazione dei casi di test Progettazione delle condizioni di test: individuare, tra tutte le possibili situazioni che si possono presentare durante l'utilizzo del prodotto, le sole che si intende riprodurre nel test; Individuazione dei casi di test: individuare, per ogni condizione di test e per ciascun dato di input, l'insieme dei valori di tale dato (classe di equivalenza) che rendono vera la condizione; Scelta dei valori di input: scegliere per ciascun caso di test (o classe di casi di test equivalenti) uno specifico valore per ciascun dato di input. Esecuzione del software per ciascun caso di test e registrazione del comportamento del prodotto Confronto tra il comportamento atteso e quello reale 13Test.7

8 TECNICHE STRUTTURALI (WHITE BOX) Tecniche di copertura dei cammini Tecniche di integrazione Completano il quadro le tecniche di controllo dei requisiti non funzionali 13Test.8

9 TECNICHE FUNZIONALI (BLACK BOX) Vengono utilizzate per: Determinare il manifestarsi dei malfunzionamenti funzionali Evidenziare il mancato rispetto di qualche requisito non funzionale 13Test.9

10 UN BREVE CENNO VA COMUNQUE DEDICATO AD ALCUNE TECNICHE DI ANALISI STATICA (CHE RIENTRANO PIÙ PROPRIAMENTE NELLE ATTIVITÀ DI CONTROLLO QUALITÀ) HANNO LO SCOPO DI INDIVIDUARE DIFETTI MEDIANTE UN ESAME DEL PRODOTTO, SENZA ESECUZIONE DEL SOFTWARE LE PIÙ NOTE TRA QUESTE TECNICHE SONO: DESK-CHECKING WALKTROUGH TEMPORALMENTE LA LORO APPLICAZIONE PRECEDE L ESECUZIONE DEI VERI E PROPRI CASI DI TEST 13Test.10

11 DESK-CHECKING IL PRODOTTO OGGETTO DEL TEST VIENE ESAMINATO DA UNA SOLA PERSONA L ESAME VIENE EFFETTUATO: RICERCANDO LA PRESENZA DEI DIFETTI CONTENUTI IN UN' APPOSITA LISTA SIMULANDO LE ESECUZIONI A CUI DAREBBERO LUOGO SPECIFICI VALORI DI INPUT 13Test.11

12 WALKTROUGH IL PRODOTTO OGGETTO DI CONTROLLO VIENE ESAMINATO DA UN GRUPPO DI PERSONE LE SINGOLE PERSONE HANNO VISIONATO IL PRODOTTO PRIMA DI INCONTRARSI IN GRUPPO VENGONO INDIVIDUATI ALCUNI INSIEMI SIGNIFICATIVI DI VALORI DI INPUT AL PRODOTTO A FRONTE DI CIASCUN INSIEME VIENE SIMULATA L' ESECUZIONE DEL PRODOTTO PUÒ ESSERE VISTO COME UN PARTICOLARE TIPO DI SEDUTA DI REVISIONE 13Test.12

13 TESTING DI TIPO WHITE BOX Copertura delle istruzioni Copertura delle decisioni Copertura delle condizioni Copertura delle decisioni/condizioni Copertura di una base di cammini indipendenti 13Test.13

14 Copertura delle istruzioni Occorre individuare un insieme di casi di test sufficiente a far eseguire almeno una volta tutte le istruzioni E un criterio necessario ma non sufficiente per un test "ragionevole" Es.... float x,y; A scanf( %f %f,&x, &y); B if (x! = 0 ) C x=x+10; D y=y/x; E printf( %f %f, x, y)... x == 0 A B C x!= 0 Il caso di test {x!=0 ; y=qualsiasi} copre le istruzioni D E 13Test.14

15 COPERTURA DELLE DECISIONI Occorre individuare un insieme di casi di test sufficiente a garantire che ciascuna decisione assuma i valori vero e falso almeno una volta. Include propriamente la copertura delle istruzioni (ma non e vero il viceversa) Es.... float x,y; A scanf( %f %f,&x, &y); B if (x! = 0 ) C x=x+10; D y=y/x; E printf( %f %f, x, y)... Il caso di test {x=20 ; y=30} {x=0 ; y=30} copre le decisioni (e quindi le istruzioni) e scopre l errore di divisione per 0 in D x == 0 A B D E C x!= 0 13Test.15

16 COPERTURA DELLE DECISIONI (2) Se le condizioni sono composte (AND, OR) la copertura delle decisioni puo rivelarsi insufficiente Es.... float x,y; A scanf( %f %f,&x, &y); B if (x = = 0 y>0) C y=y/x; D else y=y+2/x; E printf( %f %f, x, y)... False D E A B True C Il caso di test {x= 5 ; y= 5} {x= 5 ; y= -5} copre le decisioni ma non scopre il rischio di divisione per 0 in C. 13Test.16

17 COPERTURA DELLE CONDIZIONI Far assumere ad ogni singola variabile che appare nelle condizioni i valori T e F Es.... float x,y; A scanf( %f %f,&x, &y); B if (x == 0 y>0) C y=y/x; D else x=y+2/x; E printf( %f %f, x, y)... False D E A B True C Il caso di test {x= 0 ; y= 5} {x= 5 ; y= -5} copre le condizioni e scopre la divisione per 0 in C ma non percorre D (non copre le decisioni) 13Test.17

18 Copertura decisioni e condizioni Far assumere ad ogni singola variabile che appare nelle condizioni i valori T e F Far assumere ad ogni decisione i valori T e F Es.... float x,y; A scanf( %f %f,&x, &y); B if (x= = 0 y>0) C y=y/x; D else x=y+2/x; E printf( %f %f, x, y)... False D E A B True C Il caso di test {x= 0 ; y= -5} {x= 5 ; y= 5} {x= 5 ; y= -5} copre le decisioni e condizioni 13Test.18

19 WhiteBox: Basis Path Testing Test che implica la copertura delle condizioni e delle decisioni introdotto da McCabe nel 76. Utilizza la complessita ciclomatica per individuare un upperbound della complessita. Si individuano i cammini di base e li si testano tutti numero ciclomatico V = E - N + 2 (E=numero di archi, N=numero di nodi) oppure V = R (R=numero di regioni) oppure V = P+1 (P=numero nodi predicato) until sequenza istruzioni if semplice while case 13Test.19

20 If composto if (a b) x; else y; if (a && b) x; else y; a==f a a==t a==t a a==f b==f b b==t x b==t b b==f y y x x y Test.20

21 nodo predicato nodo Cammini e regioni D E A B C arco while ( ) { if ( ) { } else { } } F regione V= = 3 Cammini A-F A-B-D-E-A-F A-B-C-E-A-F 13Test.21

22 Esempio Es.... float x,y; A scanf( %f %f,&x, &y); B if (x= = 0 y>0) C y=y/x; D else x=y+2/x; E printf( %f %f, x, y)... x!= 0 A B x == 0 y>0 B y<=0 C D E C Il caso di test {x=0 ; y=-5} {x=5 ; y=5} {x=5 ; y=-5} copre tutti i cammini base (e quindi le decisioni e condizioni) V=8-7+2=3 A-B-C-E A-B-B -D-E A-B-B -C-E 13Test.22

23 Alcune considerazioni Se prevediamo iterazioni nei cammini il problema diventa intrattabile Occorre quindi restringere il tiro limitare il numero delle iterazioni dei cicli ad n (n-copertura dei cicli) eseguire solo alcuni cicli limitare il numero dei cammini da esplorare tramite pesi sugli archi e funzioni da massimizzare probabilita di esecuzione occupazione di risorse (memoria/tempo) limitare il numero dei cammini individuando i cammini che definiscono ed usano le variabili del programma (Data Flow Testing) definizione del valore di una variabile uso di tale valore in un test 13Test.23

24 Data Flow Testing B... A int x,y,a,b; B scanf( %d %d,&x, &y); C a=x; D b=y E while (a!=b) F if(a>b) G a=a-b; H else b=b-a; I printf( %d,a);... a!=b F a>b G C D E a<=b H a==b I Per x ed y non occorre eseguire il ciclo (0-copertura) per la definizione di a e b occorre eseguire 1 volta il ciclo (1-copertura) per la definizione ed uso di a e b occorre eseguire 2 volte il ciclo (2-copertura) 13Test.24

25 TECNICHE FUNZIONALI (BLACK BOX) La progettazzione dei casi di test avviene prescindendo dalla conoscenza della struttura interna del prodotto ed operando solo sulle specifiche. Sono impiegate nella fase finale delle attivita di test a complemento di quelle white box FANNO PARTE DI TALI TECNICHE: TECNICA DI COPERTURA DELLE FUNZIONALITA TECNICA DI COPERTURA DELLE CLASSI DI EQUIVALENZA TECNICA DI ANALISI DEI VALORI ESTREMI 13Test.25

26 TECNICA DI COPERTURA DELLE FUNZIONALITA Lo scopo della fase di test e verificare che un prodotto sw: faccia cio' che si supponeva dovesse fare; non faccia cio' che si supponeva non dovesse fare. Per sapere quello che un prodotto SW dovrebbe o non dovrebbe fare occorre riferirsi alle sue specifiche: specifiche formali specifiche informali 13Test.26

27 ...TECNICA DI COPERTURA DELLE FUNZIONALITA Occorre analizzare e dividere le specifiche in modo da definire con esattezza: Quali sono le funzioni elementari che il prodotto deve svolgere e per ciascuna di esse se la funzionalita' e' testabile; se non lo e' quale e' la causa. Le funzionalita' individuate devono avere le seguenti due caratteristiche: Indipendenza: non esiste nessun altra funzionalita che sia sempre esercitata o non esercitata contemporaneamente alla funzionalita in questione Elementarita : non e divisibile in sottofunzionalita esercitabili indipendentemente 13Test.27

28 ...TECNICA DI COPERTURA DELLE FUNZIONALITA Quindi: - Identificare ogni funzionalita nelle specifiche - Identificare le combinazioni di funzionalita presenti nelle specifiche - Rendere ciascuna funzionalita (o combinazione) accessibile ad un test indipendente - Assegnare un identificativo univoco a ciascuna funzionalita - Collegare ciascuna funzionalita ad un caso di test finale - Identificare i requisiti non funzionali da verificare con il test - Procedere rispetto a tali requisiti in modo analogo a quanto definito per le funzionalita. 13Test.28

29 Tecniche basate sull utilizzo di grafi Per la copertura delle specifiche si utilizzano, tipicamente, formalismi basati su grafi Uno tra i piu usati e detto grafo causa-effetto: le specifiche di ingresso vengono ridotte a condizioni booleane, rappresentanti fatti (dati) di ingresso e uscita (e.g., cliente e di riguardo, puo pagare con assegno) fatti elementari corrispondenti a dati di ingresso possono corrispondere a fatti di uscita (cliente di riguardo=si implica paga con assegno=si) nel disegnare un grafo si utilizzano i connettivi logici AND, OR, NOT e possibile ridurre tali grafi in forma matriciale, utile per generare le opportune sequenze di ingresso ad esempio se i fatti A, B, C verificandosi congiuntamente causano l effetto D il grafo corrispondente sara del tipo: A B C AND D A=conto <X B=in possesso di un documento C=l assegno non risulta rubato D=puo pagare con assegno A B C D Test.29

30 ...Tecniche basate sull utilizzo di grafi Altri formalismi sono utilizzati per: modellare transazioni modellare automi a stati finiti flusso di dati (Data Flow) temporizzazioni La tecnica utilizzata e sempre del tipo: verificare che le relazioni tra nodi siano soddisfatte (copertura dei cammini) 13Test.30

31 TECNICA DI COPERTURA DELLE CLASSI DI EQUIVALENZA ESSENDO IMPOSSIBILE IL TESTING ESAUSTIVO DOBBIAMO INDIVIDUARE IL SOTTOINSIEME DEI DATI DI INGRESSO CON LA MAGGIORE PROBABILITÀ DI SCOPRIRE ERRORI. UN BUON CASO DI TEST, OLTRE AD AVERE UNA RAGIONEVOLE PROBABILITÀ DI TROVARE UN ERRORE, DOVREBBE: RIDURRE IL NUMERO DI ALTRI CASI DI TEST DA SVILUPPARE RAPPRESENTARE UN INTERO INSIEME DI CASI DI TEST, AL DI LÀ DEGLI EFFETTIVI VALORI DI INGRESSO 13Test.31

32 TECNICA DI COPERTURA DELLE CLASSI DI EQUIVALENZA LE DUE PROPRIETÀ SI RIFERISCONO AD OBBIETTIVI DIVERSI: MINIMIZZARE IL NUMERO TOTALE DI CASI DI TEST CERCARE CASI DI TEST SIGNIFICATIVI ED AFFIDABILI A QUESTO SCOPO, IL DOMINIO DI INGRESSO VA RIPARTITO IN UN NUMERO FINITO DI CLASSI DI EQUIVALENZA: SOTTOINSIEME DEI DATI DI INPUT TALE CHE IL TEST DI UN SUO ELEMENTO SIA EQUIVALENTE AL TEST DI OGNI ALTRO ELEMENTO DELLA STESSA CLASSE (STESSO COMPORTAMENTO DEL PRODOTTO SOFTWARE). 13Test.32

33 TECNICA DI COPERTURA DELLE CLASSI DI EQUIVALENZA 1. IDENTIFICARE UN INSIEME DI CONDIZIONI INTERESSANTI DA SOTTOPORRE A TEST (CONSEGUIMENTO DEL SECONDO DEI DUE PRECEDENTI OBBIETTIVI). IN QUESTO MODO SI INDIVIDUANO LE CLASSI DI EQUIVALENZA. 2. DEFINIRE IL MINIMO INSIEME DI CASI DI TEST IN GRADO DI COPRIRE TALI CONDIZIONI (CONSEGUIMENTO DEL PRIMO OBBIETTIVO) ESEMPIO UN PROGRAMMA RICEVE COME INPUT ESTERNO TRE VALORI, CHE RAPPRESENTANO LA LUNGHEZZA DEI LATI DI UN TRIANGOLO. IL PROGRAMMA DEVE INVIARE UN MESSAGGIO CHE INDIVIDUI IL TIPO DI TRIANGOLO (EQUILATERO, ISOSCELE O SCALENO) 13Test.33

34 TECNICA DI COPERTURA DELLE CLASSI DI EQUIVALENZA ESEMPIO A.CLASSI DI EQUIVALENZA ESTRATTE DALLE SPECIFICHE DEL PROGRAMMA TRIANGOLO : 1. TRE NUMERI INTERI MAGGIORI DI ZERO 2. TRE NUMERI INTERI TALI CHE LA SOMMA DI DUE DI ESSI SIA SEMPRE MAGGIORE DEL TERZO 3. TRE NUMERI UGUALI IL CASO DI TEST A = 2; B = 2; C = 2 COPRE LE TRE CLASSI 13Test.34

35 IDENTIFICAZIONE DELLE CLASSI LE CLASSI DI EQUIVALENZA SONO PARTIZIONI (NON MUTUAMENTE ESCLUSIVE) DEL DOMINIO DI INGRESSO A FRONTE DI CONDIZIONI SUI DATI DI INPUT. LE CLASSI POSSONE ESSERE: - VALIDE (QUANDO RAPPRESENTANO VALORI DI INPUT VALIDI) - NON VALIDE 13Test.35

36 IDENTIFICAZIONE DELLE CLASSI LE CLASSI VENGONO IDENTIFICATE CONSIDERANDO ATTENTAMENTE OGNI CONDIZIONE DI INGRESSO. DA UN PERIODO, O DA UNA FRASE, NELLE SPECIFICHE (QUANDO LE CONDIZIONI DI INGRESSO NON SONO ESSE STESSE FORMALIZZATE) DERIVANO UNA PIÙ CLASSI VALIDE, UNA O PIÙ CLASSI NON VALIDE. UNA VOLTA IDENTIFICATE LE CLASSI VANNO ELENCATE E A CIASCUNA VA ATTRIBUITO UN CODICE IDENTIFICATIVO. I CRITERI UTILI PER LA RICERCA POSSONO ESSERE LA CONSIDERAZIONE DI: INTERVALLI DI VALORI NUMERO DI VALORI INSIEMI DI VALORI CONDIZIONI VINCOLANTI 13Test.36

37 INTERVALLI DI VALORI SE UNA CONDIZIONE DI INGRESSO SPECIFICA UN INTERVALLO DI VALORI VANNO IDENTIFICATE: UNA CLASSE DI EQUIVALENZA VALIDA (PER I VALORI COMPRESI NELL INTERVALLO) DUE CLASSI DI EQUIVALENZA NON VALIDE (UNA PER I VALORI INFERIORI ALL ESTREMO DI VARIAZIONE MINIMO, L ALTRA PER I VALORI SUPERIORI ALL ESTREMO DI VARIAZIONE MASSIMO) CONDIZIONI ESTERNE VALIDE CLASSI DI EQUIVALENZA NON VALIDE VALORE DEL CODICE CLIENTE FRA 1 E Ø CODICE CLIENTE Ø 999 CODICE CLIENTE < CODICE CLIENTE > Test.37

38 NUMERO DI VALORI SE UNA CONDIZIONE DI INGRESSO SPECIFICA IL NUMERO DI VALORI VANNO IDENTIFICATE: UNA CLASSE DI EQUIVALENZA VALIDA (PER UN NUMERO COMPRESO FRA IL MINIMO ED IL MASSIMO SPECIFICATI) DUE CLASSI DI EQUIVALENZA NON VALIDE (UNA PER I NUMERI INFERIORI AL MINIMO, L ALTRA PER I NUMERI SUPERIORI AL MASSIMO) CONDIZIONI ESTERNE VALIDE CLASSI DI EQUIVALENZA NON VALIDE NUMERO DI PRODOTTI IN UN SINGOLO ORDINE NON PUO ESSERE SUPERIORE A 6 1 Ø N.RO PRODOTTI Ø 6 N.RO PRODOTTI < N.RO PRODOTTI > Test.38

39 INSIEMI DI VALORI SE UNA CONDIZIONE DI INGRESSO SPECIFICA UN INSIEME DI VALORI VANNO IDENTIFICATE: TANTE CLASSI DI EQUIVALENZA VALIDE QUANTI SONO GLI ELEMENTI DELL INSIEME (SE C È MOTIVO DI RITENERE CHE CIASCUNO DEGLI ELEMENTI È TRATTATO DIVERSAMENTE, ALTRIMENTI CONVIENE RAGGRUPPARE GLI ELEMENTI) UNA CLASSE DI EQUIVALENZA NON VALIDA (PER UN ELEMENTO NON APPARTENENTE ALL INSIEME) CONDIZIONI ESTERNE VALIDE CLASSI DI EQUIVALENZA NON VALIDE TIPO DI CLIENTE: TIPO CL. = PRIVILEGIATO TIPO CL. = DIFFICILE PRIVILEGIATO, NORMALE O 1 POTENZIALE 4 TIPO CL. = NORMALE 2 TIPO CL. = POTENZIALE 3 13Test.39

40 CONDIZIONI VINCOLANTI SE UNA CONDIZIONE DI INGRESSO SPECIFICA UNA SITUAZIONE DEL TIPO DEVE ESSERE, VANNO IDENTIFICATE: UNA CLASSE DI EQUIVALENZA VALIDA (PER GLI ELEMENTI CHE VERIFICANO LA CONDIZIONE) UNA CLASSE DI EQUIVALENZA NON VALIDA (PER GLI ELEMENTI CHE NON VERIFICANO LA CONDIZIONE). CONDIZIONI ESTERNE VALIDE CLASSI DI EQUIVALENZA NON VALIDE IL TIPO DI PRODOTTO DEVE ESSERE FABBRICATO TIPO PRODOTTO = FABBRICATO TIPO PRODOTTO = 1 ACQUISTATO 2 13Test.40

41 PROGETTAZIONE DEI CASI DI TEST OBBIETTIVI: MINIMIZZARE IL NUMERO COMPLESSIVO DI CASI DI TEST OTTENERE CASI DI TEST SIGNIFICATIVI (AFFIDABILI) I DUE OBBIETTIVI POSSONO ESSERE CONTRASTANTI 13Test.41

42 PROGETTAZIONE DEI CASI DI TEST CLASSI VALIDE PROGETTARE TANTI CASI DI TEST DA COPRIRE TUTTE LE CLASSI DI EQUIVALENZA VALIDE, CON IL VINCOLO CHE CIASCUN CASO DI TEST INCLUDA IL MAGGIOR NUMERO POSSIBILE DI CLASSI. TALVOLTA QUESTO CRITERIO PUÒ CONTRASTARE LA FACILITÀ DI LOCALIZZAZIONE DEGLI ERRORI 13Test.42

43 CLASSI VALIDE CONDIZIONI ESTERNE 1. VALORE DEL CODICE CLIENTE FRA 1 E NUMERO DI PRODOTTI NON SUPERIORE A 6 3. IL TIPO PRODOTTO DEVE ESSERE FABBRICATO VALIDE ESEMPIO: 1 Ø CODICE CLIENTE Ø Ø N. RO PROD. Ø 6 (4) TIPO PRODOTTO = FABBRICATO CLASSI DI EQUIVALENZA (7) (1) NON VALIDE COD. CL. < 1 (2) COD. CL. > 999 (3) N.RO PROD. < 1 (5) N.RO PROD. > 6 (6) TIPO PROD. = ACQUISTATO (8) IL CASO DI TEST: COD. CLIENTE = 5 N.RO DI PROD. = 4 TIPO PROD. = FABBRICATO COPRE LE CLASSI (1), (4), (7). 13Test.43

44 PROGETTAZIONE DEI CASI DI TEST CLASSI NON VALIDE PROGETTARE TANTI CASI DI TEST DA COPRIRE TUTTE LE CLASSI DI EQUIVALENZA NON VALIDE, CON IL VINCOLO CHE CIASCUN CASO DI TEST COPRA UNA ED UNA SOLA DELLE CLASSI NON VALIDE. LE CLASSI NON VALIDE VANNO COPERTE INDIVIDUALMENTE PER EVITARE MASCHERAMENTI FRA ERRORI 13Test.44

45 CLASSI NON VALIDE CONDIZIONI ESTERNE 1. VALORE DEL CODICE CLIENTE FRA 1 E 999 VALIDE 1 Ø CODICE CLIENTE Ø 999 CLASSI DI EQUIVALENZA NON VALIDE COD. CL. < 1 (2) (1) COD. CL. > 999 (3) 2. NUMERO DI PRODOTTI NON SUPERIORE A 6 3. IL TIPO PRODOTTO DEVE ESSERE FABBRICATO 1 Ø N. RO PROD. Ø 6 (4) TIPO PRODOTTO = FABBRICATO (7) N.RO PROD. < 1 (5) N.RO PROD. > 6 (6) TIPO PROD. = ACQUISTATO (8) I CASI DI TEST E LE CLASSI COPERTE SONO: (2) (3) (5) (6) (8) COD. CLIENTE = N.RO DI PROD. = TIPO PROD. = (1) (1) (1) (1) (2) DOVE (1) = FABBRICATO, (2) = ACQUISTATO 13Test.45

46 TECNICA DI ANALISI DEI VALORI ESTREMI L ESPERIENZA MOSTRA CHE I CASI DI TEST CHE ESPLORANO CONDIZIONI ESTREME SONO MOLTO PRODUTTIVI LE CONDIZIONI ESTREME (O LIMITE) SONO QUELLE SITUAZIONI DIRETTAMENTE SUGLI ESTREMI IMMEDIATAMENTE AL DI SOPRA IMMEDIATAMENTE AL DI SOTTO DEGLI ESTREMI DI CLASSI DI EQUIVALENZA D INGRESSO E DI USCITA 13Test.46

47 TECNICA DI ANALISI DEI VALORI ESTREMI L ANALISI DEI VALORI ESTREMI DIFFERISCE DALLA PARTIZIONE IN CLASSI DI EQUIVALENZA PER DUE ASPETTI 1. VENGONO SCELTI COME RAPPRESENTATIVI DELLA CLASSE DI EQUIVALENZA UNO O PIÙ VALORI IN UN INTORNO DI CIASCUN ESTREMO 2. I CASI DI TEST SONO DERIVATI CONSIDERANDO ANCHE LO SPAZIO DEI RISULTATI (CLASSI DI EQUIVALENZA DI USCITA) LA TECNICA RICHIEDE UNA BUONA CONOSCENZA DEL TEMA APPLICATIVO ED UNA BUONA DOSE DI CREATIVITÀ 13Test.47

48 TECNICA DI ANALISI DEI VALORI ESTREMI ALCUNE LINEE GUIDA 1. INTERVALLO DI VALORI SPECIFICATO DA UNA CONDIZIONE D INGRESSO: SCRIVERE CASI DI TEST VALIDI, PER I VALORI SUGLI ESTREMI DELL INTERVALLO NON VALIDI, PER VALORI IMMEDIATAMENTE SOTTO IL MINIMO O SOPRA IL MASSIMO 2. NUMERO DI VALORI SPECIFICATO DA UNA CONDIZIONE D INGRESSO: SCRIVERE CASI DI TEST: VALIDI, PER IL NUMERO MINIMO E PER IL MASSIMO NON VALIDI, PER I NUMERI IMMEDIATAMENTE SOTTO IL MINIMO O SOPRA IL MASSIMO 13Test.48

49 TECNICA DI ANALISI DEI VALORI ESTREMI 3. RIPETERE IL PROCESSO DI CUI AL PUNTO 1 PER CIASCUNA CONDIZIONE ANALOGA IN USCITA 4. RIPETERE IL PROCESSO DI CUI AL PUNTO 2. PER CIASCUNA CONDIZIONE ANALOGA IN USCITA 5. SE IN INGRESSO O IN USCITA AL PRODOTTO SOFTWARE C È UN INSIEME ORDINATO DI ELEMENTI OCCORRE PREVEDERE CASI DI TEST PER IL PRIMO E L ULTIMO ELEMENTO DELL INSIEME 6. USARE LA PROPRIA ABILITÀ PER RICERCARE ALTRE CONDIZIONI ESTREME 13Test.49

50 TECNICA DI ANALISI DEI VALORI ESTREMI LO SPAZIO DEI RISULTATI OCCORRE EFFETTUARE UN ANALISI ACCURATA DELLO SPAZIO DEI RISULTATI, CONSIDERANDO CHE: NON SEMPRE GLI ESTREMI DEL DOMINIO DI INGRESSO CORRISPONDONO AGLI ESTREMI DEL DOMINIO DI USCITA IN QUANTO NON SONO DETERMINATI DALLO STESSO INSIEME DI CIRCOSTANZE NON È SEMPRE POSSIBILE GENERARE UN RISULTATO AL DI FUORI DEGLI ESTREMI DEL DOMINIO VALIDO DI USCITA 13Test.50

51 TECNICA DI ANALISI DEI VALORI ESTREMI UN ESEMPIO CONDIZIONI ESTERNE VALIDE CLASSI DI EQUIVALENZA NON VALIDE LA SOMMA DI DUE LATI MAGGIORE DEL TERZO A + B > C A + B Ø C DUE POSSIBILI CASI DI TEST A = 3 B = 4 C = 5 A = 1 B = 2 C = 4 13Test.51

52 TECNICA DI ANALISI DEI VALORI ESTREMI SE NEL PRODOTTO SOFTWARE FOSSE PRESENTE L ISTRUZIONE A + B C ALLORA I CASI DI TEST PRECEDENTI NON RILEVEREBBERO L ERRORE, I DATI DI INGRESSO ERRATI A = 1 B = 2 C = 3 SAREBBERO CONSIDERATI UN TRIANGOLO SCALENO VALIDO. L ANALISI DEI VALORI ESTREMI ESPLORA LE SITUAZIONI SUGLI ESTREMI ED INTORNO AGLI ESTREMI STESSI DELLE CLASSI DI EQUIVALENZA 13Test.52

53 TECNICA DI ANALISI DEI VALORI ESTREMI CONCLUSIONI I CASI DI TEST OTTENUTI CON L ANALISI DEI VALORI ESTREMI RAPPRESENTANO ERRORI MOLTO COMUNI. UNA GENERAZIONE CASUALE DEI CASI DI TEST NON INDIVIDUA QUESTI ERRORI. L ANALISI DEI VALORI ESTREMI È UNA DELLE TECNICHE PIÙ UTILI NEL DISEGNO DEI CASI DI TEST. MALGRADO L APPARENTE SEMPLICITÀ LA TECNICA NON È BANALE, IN QUANTO LE CONDIZIONI ESTREME POSSONO ESSERE MOLTO SOTTILI. 13Test.53

54 Test di comparazione Software ridondante (situazioni estremamante critiche) Produzione di differenti versioni sulla base delle stesse specifiche Confronto delle varie versioni sugli stessi casi di test Facilmente automatizzabili Ovviamente se le specifiche sono errate... 13Test.54

55 Test di interfacce grafiche Notevole sovrapposizione di funzionalita (ambienti a finestra/menu/mouse) Possibilita di sviluppare delle checklist esaustive del tipo le funzionalita di movimento scrolling e ridimensionamento funzionano? il mouse permette di raggiungere tutti gli elementi presenti nella finestra? lo stato della barra dei menu e consistente? sono previsti dei comanti da tastiera per le funzionalita piu frequentemente usate? il formato dei dati di ingresso e corretto? (date, numeri, ecc.) i meccanismi grafici per l input dei dati funzionano correttamente? 13Test.55

56 Test di Integrazione Una volta testati i singoli moduli (blak&white) occorre integrarli tra di loro Il 75% degli errori nel progetto Apollo furono errori di interfaccia Il problema della integrazione va preso in considerazione fin dalle fasi iniziali del progetto Questo implica, tra l'altro, la pianificazione di opportuni livelli di test quali, ad eempio: ispezione a mano -> white -> black -> integrazione 13Test.56

57 Tecniche di integrazione A B C D E Albero delle chiamate F G H DRIVER A B Driver: sostituisce una parte chiamante trasmettendo i parametri (corretti!) STUB 1 STUB 2 STUB 3 Stub: sostituisce una parte chiamata restituendo i valori di ritorno (corretti!) 13Test.57

58 STRATEGIA NON INCREMENTALE STRATEGIE DI INTEGRAZIONE BIG-BANG Integrazione simultanea di tutte le parti STRATEGIA INCREMENTALE TOP-DOWN Integrazione effettuata procedendo dall'alto, procedendo verso le procedure piu' annidate BOTTOM-UP Integrazione effettuata dal basso, partendo dalle foglie 13Test.58

59 I L TESTING INCREMENTALE Vantaggi Gli errori vengono individuati prima e piu' facilmente E' piu' accurato Svantaggi Puo' richiedere la scrittura di un numero considerevole di driver e stub E' richiesto piu' tempo macchina per l'esecuzione Riduce il parallelismo 13Test.59

60 APPROCCIO TOP-DOWN APPROCCIO BOTTOM-UP A DRIVER A B C D DRIVER B C DRIVER D STUB E STUB F G E F G STUB H H Integrare prima possibile i componenti piu critici e di I/O 13Test.60

61 APPROCCIO TOP-DOWN Vantaggi Utile quando i difetti o la complessita' sono nella parte alta della struttura Si ottiene rapidamente uno "scheletro" del prodotto semifunzionante Approccio piu' naturale Svantaggi Gli stub da produrre sono tipicamente complessi Puo' ritardare il completamento del test di alcuni componenti Piu' difficile osservare i risultati 13Test.61

62 Approccio Bottom-UP Vantaggi Utile quando i difetti o la complessita' sono nella parte bassa della struttura Piu' facile da realizzarsi Piu' facile osservare i risultati del test Svantaggi La produzione di drivers e' meno "naturale" Il prodotto non e' completo sino a quando non vengono aggiunti i componenti "alti" 13Test.62

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice.

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice. Convalida: attività volta ad assicurare che il SW sia conforme ai requisiti dell utente. Verifica: attività volta ad assicurare che il SW sia conforme alle specifiche dell analista. Goal: determinare malfunzionamenti/anomalie/errori

Подробнее

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza

Подробнее

Test del Software. Definizione SCOPO LIMITI DEL TEST

Test del Software. Definizione SCOPO LIMITI DEL TEST Definizione! Verifica dinamica del comportamento del software rispetto a quello atteso, utilizzando un insieme finito di casi di test, appropriatamente selezionati nel dominio di tutti i casi possibili

Подробнее

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Подробнее

Esercizi su. Funzioni

Esercizi su. Funzioni Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità

Подробнее

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio Test (o analisi dinamica) Verifica parte IIA Rif. Ghezzi et al. 6.3-6.3.3 Consiste nell osservare il comportamento del sistema in un certo numero di condizioni significative Non può (in generale) essere

Подробнее

CALCOLO COMBINATORIO

CALCOLO COMBINATORIO CALCOLO COMBINATORIO 1 Modi di formare gruppi di k oggetti presi da n dati 11 disposizioni semplici, permutazioni Dati n oggetti distinti a 1,, a n si chiamano disposizioni semplici di questi oggetti,

Подробнее

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1 Ernesto Cappelletti (ErnestoCappelletti) IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 6 April 2012 1. Requisiti per la scrittura del software secondo la norma UNI EN ISO 13849-1:2008

Подробнее

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Подробнее

Gestione parte IIC. Diagrammi di Gantt. Esempio. Schemi di scomposizione delle attività

Gestione parte IIC. Diagrammi di Gantt. Esempio. Schemi di scomposizione delle attività Schemi di scomposizione delle attività Gestione parte IIC Work Breakdown Structures (WBS) Struttura ad albero: radice: attività principale i nodi figli rappresentano la scomposizione del nodo padre le

Подробнее

Automazione Industriale (scheduling+mms) scheduling+mms. [email protected]

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms [email protected] Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Подробнее

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

Подробнее

L ANALISI ABC PER LA GESTIONE DEL MAGAZZINO

L ANALISI ABC PER LA GESTIONE DEL MAGAZZINO L ANALISI ABC PER LA GESTIONE DEL MAGAZZINO È noto che la gestione del magazzino è uno dei costi nascosti più difficili da analizzare e, soprattutto, da contenere. Le nuove tecniche hanno, però, permesso

Подробнее

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Подробнее

LA REVISIONE LEGALE DEI CONTI La comprensione

LA REVISIONE LEGALE DEI CONTI La comprensione LA REVISIONE LEGALE DEI CONTI La comprensione dell impresa e del suo contesto e la valutazione dei rischi di errori significativi Ottobre 2013 Indice 1. La comprensione dell impresa e del suo contesto

Подробнее

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Подробнее

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Подробнее

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

CONCETTO DI LIMITE DI UNA FUNZIONE REALE CONCETTO DI LIMITE DI UNA FUNZIONE REALE Il limite di una funzione è uno dei concetti fondamentali dell'analisi matematica. Tramite questo concetto viene formalizzata la nozione di funzione continua e

Подробнее

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Подробнее

RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL

RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL 1 RAPPRESENTAZIONE GRAFICA Per l analisi dati con Excel si fa riferimento alla versione 2007 di Office, le versioni successive non differiscono

Подробнее

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Подробнее

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Подробнее

Determinare la grandezza della sottorete

Determinare la grandezza della sottorete Determinare la grandezza della sottorete Ogni rete IP possiede due indirizzi non assegnabili direttamente agli host l indirizzo della rete a cui appartiene e l'indirizzo di broadcast. Quando si creano

Подробнее

G3. Asintoti e continuità

G3. Asintoti e continuità G3 Asintoti e continuità Un asintoto è una retta a cui la funzione si avvicina sempre di più senza mai toccarla Non è la definizione formale, ma sicuramente serve per capire il concetto di asintoto Nei

Подробнее

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Подробнее

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Подробнее

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente. Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito

Подробнее

Parte 1. Vettori di bit - AA. 2012/13 1.1

Parte 1. Vettori di bit - AA. 2012/13 1.1 1.1 Parte 1 Vettori di bit 1.2 Notazione posizionale Ogni cifra assume un significato diverso a seconda della posizione in cui si trova Rappresentazione di un numero su n cifre in base b: Posizioni a n

Подробнее

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base: LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto

Подробнее

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti La manutenzione come elemento di garanzia della sicurezza di macchine e impianti Alessandro Mazzeranghi, Rossano Rossetti MECQ S.r.l. Quanto è importante la manutenzione negli ambienti di lavoro? E cosa

Подробнее

Calcolatori: Algebra Booleana e Reti Logiche

Calcolatori: Algebra Booleana e Reti Logiche Calcolatori: Algebra Booleana e Reti Logiche 1 Algebra Booleana e Variabili Logiche I fondamenti dell Algebra Booleana (o Algebra di Boole) furono delineati dal matematico George Boole, in un lavoro pubblicato

Подробнее

GESTIONE AVANZATA DEI MATERIALI

GESTIONE AVANZATA DEI MATERIALI GESTIONE AVANZATA DEI MATERIALI Divulgazione Implementazione/Modifica Software SW0003784 Creazione 23/01/2014 Revisione del 27/06/2014 Numero 1 Una gestione avanzata dei materiali strategici e delle materie

Подробнее

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Подробнее

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Подробнее

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Подробнее

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Testing - Tecniche di Collaudo del Software Collaudabilità Un attributo di qualità del software E il grado di semplicità con cui il software può essere collaudato Si compone di

Подробнее

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Подробнее

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Подробнее

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Подробнее

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test Software e difetti Il software con difetti è un grande problema I difetti nel software sono comuni Come sappiamo che il software ha qualche difetto? Conosciamo tramite qualcosa, che non è il codice, cosa

Подробнее

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Подробнее

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, >

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, > Algoritmo del banchiere Permette di gestire istanze multiple di una risorsa (a differenza dell algoritmo con grafo di allocazione risorse). Ciascun processo deve dichiarare a priori il massimo impiego

Подробнее

Tavola riepilogativa degli insiemi numerici

Tavola riepilogativa degli insiemi numerici N : insieme dei numeri naturali Z : insieme dei numeri interi Q : insieme dei numeri razionali I : insieme dei numeri irrazionali R : insieme dei numeri reali Tavola riepilogativa degli insiemi numerici

Подробнее

1. PRIME PROPRIETÀ 2

1. PRIME PROPRIETÀ 2 RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,

Подробнее

( x) ( x) 0. Equazioni irrazionali

( x) ( x) 0. Equazioni irrazionali Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza

Подробнее

La selezione binaria

La selezione binaria Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per

Подробнее

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi Capitolo 6 - Alberi binari di ricerca Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile

Подробнее

SPC e distribuzione normale con Access

SPC e distribuzione normale con Access SPC e distribuzione normale con Access In questo articolo esamineremo una applicazione Access per il calcolo e la rappresentazione grafica della distribuzione normale, collegata con tabelle di Clienti,

Подробнее

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Подробнее

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente Funzioni In matematica, una funzione f da X in Y consiste in: 1. un insieme X detto dominio di f 2. un insieme Y detto codominio di f 3. una legge che ad ogni elemento x in X associa uno ed un solo elemento

Подробнее

Gestione Turni. Introduzione

Gestione Turni. Introduzione Gestione Turni Introduzione La gestione dei turni di lavoro si rende necessaria quando, per garantire la continuità del servizio di una determinata struttura, è necessario che tutto il personale afferente

Подробнее

ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 2004

ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 2004 ESAME DI STAT DI LICE SCIENTIFIC CRS SPERIMENTALE P.N.I. 004 Il candidato risolva uno dei due problemi e 5 dei 0 quesiti in cui si articola il questionario. PRBLEMA Sia la curva d equazione: ke ove k e

Подробнее

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato

Подробнее

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione

Подробнее

Sistema Qualità UNI EN ISO 9001 ED 2008

Sistema Qualità UNI EN ISO 9001 ED 2008 1 SCOPO Questa procedura stabilisce le modalità per la conduzione e per la gestione degli audit condotte presso ITCS G. Zappa al fine di verificare la corretta attuazione e l'adeguatezza delle disposizioni

Подробнее

MService La soluzione per ottimizzare le prestazioni dell impianto

MService La soluzione per ottimizzare le prestazioni dell impianto MService La soluzione per ottimizzare le prestazioni dell impianto Il segreto del successo di un azienda sta nel tenere sotto controllo lo stato di salute delle apparecchiature degli impianti. Dati industriali

Подробнее

GESTIONE AVANZATA DEI MATERIALI

GESTIONE AVANZATA DEI MATERIALI GESTIONE AVANZATA DEI MATERIALI Divulgazione Implementazione/Modifica Software SW0003784 Creazione 23/01/2014 Revisione del 25/06/2014 Numero 1 Una gestione avanzata dei materiali strategici e delle materie

Подробнее

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Подробнее

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Подробнее

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico Stimare il WCET Metodo classico e applicazione di un algoritmo genetico Sommario Introduzione Definizione di WCET Importanza del WCET Panoramica dei classici metodi per calcolare il WCET [1] Utilizzo di

Подробнее

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 5.2.1 RELAZIONI TRA TABELLE 1 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 Il grado di un verso di un associazione indica quanti record della tabella di partenza si associano ad un

Подробнее

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Подробнее

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Подробнее

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme G Pareschi Principio di induzione Il Principio di Induzione (che dovreste anche avere incontrato nel Corso di Analisi I) consente di dimostrare Proposizioni il cui enunciato è in funzione di un numero

Подробнее

CONTINUITÀ E DERIVABILITÀ Esercizi proposti. 1. Determinare lim M(sinx) (M(t) denota la mantissa di t)

CONTINUITÀ E DERIVABILITÀ Esercizi proposti. 1. Determinare lim M(sinx) (M(t) denota la mantissa di t) CONTINUITÀ E DERIVABILITÀ Esercizi proposti 1. Determinare lim M(sin) (M(t) denota la mantissa di t) kπ/ al variare di k in Z. Ove tale limite non esista, discutere l esistenza dei limiti laterali. Identificare

Подробнее

Pianificazione e progettazione

Pianificazione e progettazione Pianificazione e progettazione L analisi preventiva degli eventi e delle loro implicazioni rappresenta una necessità sempre più forte all interno di tutte le organizzazioni variamente complesse. L osservazione

Подробнее

GESTIONE CONTRATTI. Contratti clienti e contratti fornitori

GESTIONE CONTRATTI. Contratti clienti e contratti fornitori SPRING - CONTRATTI La Gestione Contratti di SPRING, in un'azienda, risolve le esigenze relative alla rilevazione dei contratti e delle relative condizioni. In particolare è possibile definire i servizi

Подробнее

Introduzione ai Metodi Formali

Introduzione ai Metodi Formali Intruzione ai Meti Formali Sistemi software anche molto complessi regolano la vita quotidiana, anche in situazioni life-critical (e.g. avionica) e business-critical (e.g. operazioni bancarie). Esempi di

Подробнее

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni CONVEGNO FACILITY MANAGEMENT: LA GESTIONE INTEGRATA DEI PATRIMONI PUBBLICI GENOVA FACOLTA DI ARCHITETTURA 06.07.2010 Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei

Подробнее

Governare il processo della sicurezza

Governare il processo della sicurezza Governare il processo della sicurezza Michele Marchini PIACENZA 20 febbraio 2014 SOMMARIO Argomenti trattati Governo del processo gestione della sicurezza I processi aziendali Il processo della sicurezza

Подробнее

Base di dati e sistemi informativi

Base di dati e sistemi informativi Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per

Подробнее

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Подробнее

Esempi di errori/difetti. algoritmi sintassi calcolo e precisione documento stress capacità ricovery sistema hardware e software standard e procedure

Esempi di errori/difetti. algoritmi sintassi calcolo e precisione documento stress capacità ricovery sistema hardware e software standard e procedure COLLAUDO Esempi di errori/difetti algoritmi sintassi calcolo e precisione documento stress capacità ricovery sistema hardware e software standard e procedure Verifica e Validazione Validazione Requisiti

Подробнее

MATEMATICA 2001. p = 4/6 = 2/3; q = 1-2/3 = 1/3. La risposta corretta è quindi la E).

MATEMATICA 2001. p = 4/6 = 2/3; q = 1-2/3 = 1/3. La risposta corretta è quindi la E). MATEMATICA 2001 66. Quale fra le seguenti affermazioni è sbagliata? A) Tutte le funzioni ammettono la funzione inversa B) Una funzione dispari è simmetrica rispetto all origine C) Una funzione pari è simmetrica

Подробнее

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Подробнее

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Подробнее

Dispositivi di rete. Ripetitori. Hub

Dispositivi di rete. Ripetitori. Hub Ripetitori Dispositivi di rete I ripetitori aumentano la distanza che può essere ragginta dai dispositivi Ethernet per trasmettere dati l'uno rispetto all'altro. Le distanze coperte dai cavi sono limitate

Подробнее

Appunti di Sistemi Elettronici

Appunti di Sistemi Elettronici Prof.ssa Maria Rosa Malizia 1 LA PROGRAMMAZIONE La programmazione costituisce una parte fondamentale dell informatica. Infatti solo attraverso di essa si apprende la logica che ci permette di comunicare

Подробнее

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Rappresentazione di numeri Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Un numero e un entità teorica,

Подробнее

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Подробнее

Laboratorio di Pedagogia Sperimentale. Indice

Laboratorio di Pedagogia Sperimentale. Indice INSEGNAMENTO DI LABORATORIO DI PEDAGOGIA SPERIMENTALE LEZIONE III INTRODUZIONE ALLA RICERCA SPERIMENTALE (PARTE III) PROF. VINCENZO BONAZZA Indice 1 L ipotesi -----------------------------------------------------------

Подробнее

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono

Подробнее

Aris TimeSheet. che guardano oltre. enti e aziende. Soluzioni per

Aris TimeSheet. che guardano oltre. enti e aziende. Soluzioni per Aris TimeSheet Soluzioni per enti e aziende che guardano oltre L applicativo ARIS TIMESHEET è stato progettato e sviluppato per supportare i project manager nel monitoraggio dello stato di avanzamento

Подробнее

Collaudo e qualità del software Quali test eseguire

Collaudo e qualità del software Quali test eseguire Collaudo e qualità del software Relatore Ercole Colonese Roma, Tipologie di test Temi trattati nel libro Modello a V Livelli di testing Tipi di test Test funzionali Test delle funzionalità Test di gestione

Подробнее

2 Argomenti introduttivi e generali

2 Argomenti introduttivi e generali 1 Note Oltre agli esercizi di questa lista si consiglia di svolgere quelli segnalati o assegnati sul registro e genericamente quelli presentati dal libro come esercizio o come esempio sugli argomenti svolti

Подробнее

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Подробнее

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Подробнее

Calcolo delle probabilità

Calcolo delle probabilità Calcolo delle probabilità Laboratorio di Bioinformatica Corso A aa 2005-2006 Statistica Dai risultati di un esperimento si determinano alcune caratteristiche della popolazione Calcolo delle probabilità

Подробнее

SISTEMA di GESTIONE QUALITÀ Non Conformità ed Efficacia delle Azioni Correttive Preventive

SISTEMA di GESTIONE QUALITÀ Non Conformità ed Efficacia delle Azioni Correttive Preventive SISTEMA di GESTIONE QUALITÀ Non Conformità ed Efficacia delle Azioni Correttive Preventive Il sistema di gestione della qualità a cui mi riferisco è quello relativo alla norma ISO-9001:2000. Prima di entrare

Подробнее

Testing. Definizioni. incomprensione umana nel tentativo di comprendere o risolvere un problema, o nell uso di strumenti

Testing. Definizioni. incomprensione umana nel tentativo di comprendere o risolvere un problema, o nell uso di strumenti Definizioni Problemi del testing:criterio di selezione dei casi di test Test Funzionale: suddivisione in classi di equivalenza e analisi dei valori limite Test Strutturale: basato sul flusso di controllo

Подробнее

business solutions Tutte le voci della procedura sono accessibili tramite un sotto menu aggiunto al Menu principale di SBO.

business solutions Tutte le voci della procedura sono accessibili tramite un sotto menu aggiunto al Menu principale di SBO. AddON CESPITI La procedura Cespiti è un AddON totalmente integrato in SAP Business One, pensato per risolvere tutte le problematiche della gestione dei cespiti e dei relativi calcoli degli ammortamenti

Подробнее

GESTIONE INTERESSI DI MORA. Impostazioni su Gestione Condominio. Addebito interessi su codice spesa 22. Immissione/gestione versamenti

GESTIONE INTERESSI DI MORA. Impostazioni su Gestione Condominio. Addebito interessi su codice spesa 22. Immissione/gestione versamenti GESTIONE INTERESSI DI MORA Partendo dal presupposto che i versamenti vengano effettuati quasi sempre (salvo casi sporadici) tramite banca (e non in contanti presso l ufficio dell amministratore), l analisi

Подробнее

La gestione manageriale dei progetti

La gestione manageriale dei progetti PROGETTAZIONE Pianificazione, programmazione temporale, gestione delle risorse umane: l organizzazione generale del progetto Dimitri Grigoriadis La gestione manageriale dei progetti Per organizzare il

Подробнее

Algebra Booleana ed Espressioni Booleane

Algebra Booleana ed Espressioni Booleane Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale

Подробнее

Verifica di ipotesi e intervalli di confidenza nella regressione multipla

Verifica di ipotesi e intervalli di confidenza nella regressione multipla Verifica di ipotesi e intervalli di confidenza nella regressione multipla Eduardo Rossi 2 2 Università di Pavia (Italy) Maggio 2014 Rossi MRLM Econometria - 2014 1 / 23 Sommario Variabili di controllo

Подробнее

Elementi di Psicometria con Laboratorio di SPSS 1

Elementi di Psicometria con Laboratorio di SPSS 1 Elementi di Psicometria con Laboratorio di SPSS 1 12-Il t-test per campioni appaiati vers. 1.2 (7 novembre 2014) Germano Rossi 1 [email protected] 1 Dipartimento di Psicologia, Università di Milano-Bicocca

Подробнее

Variabili e tipi di dato

Variabili e tipi di dato Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per

Подробнее