Gennadii_M 17 marzo 2016 alle 14:52

Test. teoria fondamentale

  • Test dei sistemi informatici
  • tutorial

Di recente ho avuto un colloquio per Middle QA per un progetto che supera chiaramente le mie capacità. Ho speso molto tempo su ciò che non sapevo affatto e poco tempo sulla ripetizione di una semplice teoria, ma invano.

Di seguito le basi delle basi da ripassare prima del colloquio per Trainee e Junior: definizione di testing, qualità, verifica/convalida, obiettivi, fasi, piano di test, elementi del piano di test, progettazione del test, tecniche di progettazione del test, matrice di tracciabilità, caso di test, lista di controllo, difetto, errore/difetto/guasto, segnalazione bug, gravità vs priorità, livelli di test, tipi/tipi, approcci ai test di integrazione, principi di test, test statici e dinamici, test esplorativi/ad-hoc, requisiti, ciclo di vita dei bug, fasi di sviluppo del software, tabella decisionale, ingegnere qa/qc/test, diagramma di collegamento.

Tutti i commenti, le correzioni e le aggiunte sono ben accetti.

Test del software- verifica della corrispondenza tra comportamento effettivo e atteso del programma, effettuata sul set finale di test, selezionato in un certo modo. In più senso ampio, il testing è una delle tecniche di controllo della qualità, che comprende le attività di pianificazione del lavoro (Test Management), progettazione del test (Test Design), esecuzione del test (Test Execution) e analisi dei risultati (Test Analysis).

Qualità softwareè un insieme di caratteristiche del software relative alla sua capacità di soddisfare bisogni dichiarati e impliciti.

Verifica- è il processo di valutazione di un sistema o dei suoi componenti per determinare se i risultati dell'attuale fase di sviluppo soddisfano le condizioni formate all'inizio di questa fase. Quelli. se i nostri obiettivi, scadenze, compiti di sviluppo del progetto, definiti all'inizio della fase attuale, vengono raggiunti.
Convalida- questa è la definizione di conformità del software sviluppato con le aspettative e le esigenze dell'utente, i requisiti di sistema.
Puoi anche trovare un'altra interpretazione:
Il processo di valutazione della conformità di un prodotto a requisiti espliciti (specifiche) è la verifica, mentre allo stesso tempo valutare se un prodotto soddisfa le aspettative e i requisiti dell'utente è la convalida. Spesso puoi anche trovare la seguente definizione di questi concetti:
Convalida - 'è questa la specifica giusta?'.
Verifica - 'il sistema è corretto secondo le specifiche?'.

Obiettivi di prova
Aumentare la probabilità che un'applicazione destinata ai test funzioni correttamente in tutte le circostanze.
Aumentare la probabilità che l'applicazione destinata al test soddisfi tutti i requisiti descritti.
Fornire informazioni aggiornate sullo stato del prodotto al momento.

Fasi di prova:
1. Analisi del prodotto
2. Affrontare i requisiti
3. Sviluppo di una strategia di test
e pianificazione delle procedure di controllo della qualità
4. Creazione della documentazione di prova
5. Test del prototipo
6. Test di base
7. Stabilizzazione
8. Funzionamento

Piano di provaè un documento che descrive l'intero ambito del lavoro di test, a partire da una descrizione dell'oggetto, strategia, programma, criteri per l'inizio e la fine del test, fino all'attrezzatura richiesta nel processo, conoscenze speciali, nonché valutazione del rischio con opzioni per risolvendoli.
Rispondi alle domande:
Cosa dovrebbe essere testato?
Cosa testerai?
Come testerai?
Quando farai il test?
Criteri per iniziare i test.
Criteri per la fine del test.

I punti principali del piano di test
Lo standard IEEE 829 elenca gli elementi in cui dovrebbe consistere un piano di test (lascia che sia):
a) identificatore del piano di test;
b) introduzione;
c) elementi di prova;
d) Caratteristiche da testare;
e) Caratteristiche da non testare;
f) approccio;
g) criteri di superamento/fallimento degli elementi;
h) Criteri di sospensione e requisiti di ripresa;
i) risultati di test;
j) Compiti di test;
k) esigenze ambientali;
l) Responsabilità;
m) fabbisogno di personale e formazione;
n) Programma;
o) rischi e contingenze;
p) Approvazioni.

disegno di prova- questa è la fase del processo di test del software, in cui gli scenari di test (casi di test) vengono progettati e creati in conformità con i criteri di qualità e gli obiettivi di test precedentemente definiti.
Ruoli responsabili della progettazione dei test:
Analista di test - definisce "COSA testare?"
Test designer - definisce "COME testare?"

Tecniche di test di progettazione

Partizionamento di equivalenza (EP). Ad esempio, se hai un intervallo di valori validi da 1 a 10, devi scegliere un valore corretto all'interno dell'intervallo, ad esempio 5, e un valore errato al di fuori dell'intervallo, 0.

Analisi del valore al contorno (BVA). Se prendiamo l'esempio sopra, come valori per il test positivo, sceglieremo i limiti minimo e massimo (1 e 10) e i valori per più e meno dei limiti (0 e 11). L'analisi del valore limite può essere applicata a campi, record, file o qualsiasi tipo di entità vincolata.

Causa/Effetto (Causa/Effetto - CE). Questo è, di norma, l'input di combinazioni di condizioni (cause) per ricevere una risposta dal sistema (Conseguenza). Ad esempio, stai testando la possibilità di aggiungere un cliente utilizzando un particolare display. Per fare ciò, dovrai inserire diversi campi, come "Nome", "Indirizzo", "Numero di telefono" e quindi fare clic sul pulsante "Aggiungi" - questo è "Motivo". Dopo aver premuto il pulsante "Aggiungi", il sistema aggiunge il cliente al database e visualizza il suo numero sullo schermo: questa è la "Conseguenza".

Indovinare gli errori - AD ESEMPIO. Questo è quando il tester usa la sua conoscenza del sistema e la capacità di interpretare le specifiche per "prevedere" in quali condizioni di input il sistema può dare un errore. Ad esempio, la specifica dice "l'utente deve inserire un codice". Il tester penserà: “E se non inserisco il codice?”, “E se inserisco un codice sbagliato? ", e così via. Questa è la previsione degli errori.

Test esaustivo (ET)- questo è un caso estremo. All'interno di questa tecnica, devi testare tutte le possibili combinazioni di valori di input e, in linea di principio, questo dovrebbe trovare tutti i problemi. In pratica, l'uso di questo metodo non è possibile a causa dell'enorme numero di valori di input.

Test a coppieè una tecnica per generare set di dati di test. L'essenza può essere formulata, ad esempio, in questo modo: la formazione di tali set di dati in cui ogni valore testato di ciascuno dei parametri testati è combinato almeno una volta con ogni valore testato di tutti gli altri parametri testati.

Supponiamo che un valore (imposta) per una persona sia calcolato in base al suo sesso, età e presenza di bambini: otteniamo tre parametri di input, per ciascuno dei quali in qualche modo selezioniamo valori per i test. Ad esempio: genere - maschio o femmina; età - fino a 25 anni, da 25 a 60 anni, oltre i 60 anni; avere figli - sì o no. Per verificare la correttezza dei calcoli, puoi, ovviamente, enumerare tutte le combinazioni di valori di tutti i parametri:

pavimento età bambini
1 Uomo fino a 25 non avere figli
2 donna fino a 25 non avere figli
3 Uomo 25-60 non avere figli
4 donna 25-60 non avere figli
5 Uomo oltre i 60 non avere figli
6 donna oltre i 60 non avere figli
7 Uomo fino a 25 Hai figli
8 donna fino a 25 Hai figli
9 Uomo 25-60 Hai figli
10 donna 25-60 Hai figli
11 Uomo oltre i 60 Hai figli
12 donna oltre i 60 Hai figli

E puoi decidere che non abbiamo bisogno di combinazioni di tutti i valori dei parametri con tutti, ma vogliamo solo assicurarci di controllare tutte le coppie univoche di valori dei parametri. Cioè, ad esempio, in termini di parametri di genere ed età, vogliamo assicurarci di controllare accuratamente un uomo sotto i 25 anni, un uomo tra i 25 e i 60 anni, un uomo dopo i 60 anni e una donna sotto i 25 anni, una donna tra i 25 e 60, beh, una donna dopo i 60. E allo stesso modo per tutte le altre coppie di parametri. E quindi, possiamo ottenere molti meno insiemi di valori (hanno tutte coppie di valori, anche se alcuni sono doppi):

pavimento età bambini
1 Uomo fino a 25 non avere figli
2 donna fino a 25 Hai figli
3 Uomo 25-60 Hai figli
4 donna 25-60 non avere figli
5 Uomo oltre i 60 non avere figli
6 donna oltre i 60 Hai figli

Questo approccio è approssimativamente l'essenza della tecnica del test a coppie: non controlliamo tutte le combinazioni di tutti i valori, ma controlliamo tutte le coppie di valori.

Matrice di tracciabilità - Matrice di conformità ai requisitiè una tabella bidimensionale contenente la corrispondenza tra i requisiti funzionali del prodotto e gli scenari di test predisposti (test case). I requisiti si trovano nelle intestazioni di colonna della tabella e gli scenari di test sono inseriti nelle intestazioni di riga. All'intersezione, un segno di spunta che indica che il requisito della colonna corrente è coperto dal test case della riga corrente.
La matrice di conformità ai requisiti viene utilizzata dagli ingegneri QA per convalidare la copertura del prodotto con i test. L'MCT è parte integrante del piano di test.

Caso di provaè un artefatto che descrive un insieme di passaggi, condizioni specifiche e parametri necessari per verificare l'implementazione della funzione sottoposta a test o parte di essa.
Esempio:
Azione Risultato previsto Risultato del test
(superato/fallito/bloccato)
Apri pagina "login" La pagina di login è aperta Superato

Ogni test case dovrebbe avere 3 parti:
Precondizioni Un elenco di azioni che portano il sistema in uno stato adatto per un controllo di base. Oppure un elenco di condizioni, il cui adempimento indica che il sistema è in uno stato idoneo a condurre il test principale.
Test Case Description Un elenco di azioni che trasferiscono il sistema da uno stato a un altro, per ottenere un risultato, in base al quale si può concludere che l'implementazione soddisfa i requisiti
PostConditions Lista delle azioni che portano il sistema al suo stato iniziale (lo stato prima che il test sia fatto - stato iniziale)
Tipi di script di test:
I casi di test sono divisi in base al risultato atteso in positivi e negativi:
Un caso di test positivo utilizza solo dati validi e verifica che l'applicazione abbia eseguito correttamente la funzione chiamata.
prova negativa il caso opera sia su dati validi che su dati non validi (minimo 1 parametro non valido) e mira a verificare la presenza di eccezioni (i validatori si attivano) e controlla anche che la funzione chiamata dall'applicazione non venga eseguita quando il validatore si attiva.

Lista di controlloè un documento che descrive ciò che deve essere testato. In questo caso, la checklist può essere di livelli di dettaglio assolutamente diversi. Quanto sarà dettagliata la lista di controllo dipende dai requisiti di segnalazione, dal livello di conoscenza del prodotto da parte dei dipendenti e dalla complessità del prodotto.
Di norma, l'elenco di controllo contiene solo azioni (passi), senza il risultato atteso. La lista di controllo è meno formalizzata rispetto allo script di test. È opportuno utilizzarlo quando gli script di test sono ridondanti. Inoltre, la lista di controllo è associata ad approcci flessibili ai test.

Difetto (noto anche come bug)- questa è una discrepanza tra il risultato effettivo dell'esecuzione del programma e il risultato atteso. I difetti vengono rilevati nella fase di test del software (software), quando il tester confronta i risultati del programma (componente o progetto) con il risultato atteso descritto nella specifica dei requisiti.

errore- errore dell'utente, ovvero cerca di utilizzare il programma in modo diverso.
Esempio: inserisce lettere nei campi in cui sono richiesti numeri (età, quantità di merce, ecc.).
In un programma di qualità, tali situazioni vengono fornite e viene emesso un messaggio di errore, con una croce rossa che.
Insetto (difetto)- un errore di un programmatore (o di un designer o di qualcun altro che prende parte allo sviluppo), cioè quando qualcosa nel programma non va come previsto e il programma va fuori controllo. Ad esempio, quando l'input dell'utente non è controllato in alcun modo, di conseguenza dati errati provocano arresti anomali o altre "gioie" nel programma. Oppure all'interno del programma è costruito in modo tale che inizialmente non corrisponda a quanto ci si aspetta da esso.
Fallimento- guasto (e non necessariamente hardware) nel funzionamento di un componente, dell'intero programma o sistema. Cioè, ci sono tali difetti che portano a fallimenti (Un difetto ha causato il fallimento) e ci sono quelli che non lo fanno. Difetti dell'interfaccia utente per esempio. Ma anche un errore hardware che non ha nulla a che fare con il software è un errore.

Riportare un erroreè un documento che descrive la situazione o la sequenza di azioni che hanno portato al funzionamento non corretto dell'oggetto di prova, indicando le ragioni e il risultato atteso.
Un berretto
Breve descrizione (riepilogo) Una breve descrizione del problema, indicando esplicitamente la causa e il tipo di situazione di errore.
Progetto Nome del progetto in fase di test
Componente dell'applicazione (Componente) Il nome della parte o della funzione del prodotto in prova
Numero di versione (Versione) La versione in cui è stato rilevato l'errore
Gravità Il sistema a cinque livelli più comune per classificare la gravità di un difetto è:
Blocco S1
S2 Critico
S3 Maggiore
S4 minore
S5 banale
Priorità Priorità dei difetti:
P1 Alto
P2 Medio
P3 Basso
Stato Lo stato del bug. Dipende dalla procedura utilizzata e dal flusso di lavoro e dal ciclo di vita del bug

Autore (Autore) Creatore della segnalazione di bug
Assegnato a Il nome della persona incaricata di risolvere il problema
Ambiente
Sistema operativo/Service Pack, ecc. / Browser + versione /... Informazioni sull'ambiente in cui è stato rilevato il bug: sistema operativo, service pack, per test WEB - nome e versione del browser, ecc.

Descrizione
Passaggi da riprodurre Passaggi con i quali è possibile riprodurre facilmente la situazione che ha causato l'errore.
Risultato effettivo (Risultato) Il risultato ottenuto dopo aver eseguito i passaggi per giocare
Risultato previsto Risultato corretto previsto
Componenti aggiuntivi
Allegato Un file di registro, uno screenshot o qualsiasi altro documento che possa aiutare a chiarire la causa dell'errore o indicare un modo per risolvere il problema.

Gravità vs priorità
La gravità è un attributo che caratterizza l'impatto di un difetto sulle prestazioni di un'applicazione.
La priorità è un attributo che indica l'ordine in cui un'attività o un difetto deve essere completato. Possiamo dire che questo è uno strumento per un responsabile della pianificazione del lavoro. Maggiore è la priorità, più velocemente deve essere risolto il difetto.
La gravità è esposta dal tester
Priorità: manager, capogruppo o cliente

Classificazione della gravità dei difetti (Gravità)

Blocco S1
Un errore di blocco che porta l'applicazione a uno stato non funzionante, a seguito del quale diventa impossibile lavorare ulteriormente con il sistema in prova o le sue funzioni chiave. La risoluzione del problema è necessaria per l'ulteriore funzionamento del sistema.

S2 Critico
Un bug critico, una logica aziendale chiave che non funziona correttamente, una falla di sicurezza, un problema che blocca temporaneamente il server o rende inutilizzabile una parte del sistema, senza alcun modo per risolvere il problema utilizzando altri punti di ingresso. La risoluzione dei problemi è necessaria per ulteriori lavori con le caratteristiche principali del sistema in prova.

S3 Maggiore
Bug significativo, parte della logica aziendale principale non funziona correttamente. L'errore non è critico oppure è possibile lavorare con la funzione sottoposta a test utilizzando altri punti di ingresso.

S4 minore
Un errore minore che non viola la logica di business della parte dell'applicazione in prova, un evidente problema di interfaccia utente.

S5 banale
Un errore banale che non riguarda la logica di business dell'applicazione, un problema scarsamente riproducibile e difficilmente percettibile attraverso l'interfaccia utente, un problema di librerie o servizi di terze parti, un problema che non ha alcun impatto sulla qualità complessiva di il prodotto.

Grado di priorità dei difetti
P1 Alto
L'errore deve essere corretto il prima possibile, come la sua presenza è fondamentale per il progetto.
P2 Medio
L'errore deve essere corretto, la sua presenza non è critica, ma richiede una soluzione obbligatoria.
P3 Basso
L'errore deve essere corretto, la sua presenza non è critica e non richiede una soluzione urgente.

Livelli di prova

1. Test unitario
Il test dei componenti (unità) controlla la funzionalità e cerca i difetti nelle parti dell'applicazione che sono disponibili e possono essere testate separatamente (moduli del programma, oggetti, classi, funzioni, ecc.).

2. Test di integrazione
L'interazione tra i componenti del sistema viene verificata dopo il test dei componenti.

3. Test di sistema
Il compito principale del test di sistema è quello di testare sia i requisiti funzionali che quelli non funzionali nel sistema nel suo complesso. Questo rileva difetti come l'uso errato delle risorse di sistema, combinazioni indesiderate di dati a livello di utente, incompatibilità con l'ambiente, casi d'uso non previsti, funzionalità mancanti o errate, inconvenienti d'uso, ecc.

4. Test operativo (test di rilascio).
Anche se il sistema soddisfa tutti i requisiti, è importante assicurarsi che soddisfi le esigenze dell'utente e svolga il proprio ruolo nell'ambiente in cui opera, come definito nel modello di business del sistema. Va notato che il modello di business può contenere errori. Questo è il motivo per cui è così importante condurre test operativi come fase finale della convalida. Inoltre, il test nell'ambiente operativo consente di identificare problemi non funzionali, quali: conflitto con altri sistemi relativi al business o agli ambienti software ed elettronici; prestazioni insufficienti del sistema nell'ambiente operativo, ecc. È ovvio che trovare tali cose nella fase di implementazione è un problema critico e costoso. Pertanto, è così importante eseguire non solo la verifica, ma anche la convalida, fin dall'inizio fasi iniziali sviluppo software.

5. Test di accettazione
Un processo di test formale che verifica che un sistema soddisfi i requisiti ed è condotto per:
determinare se il sistema soddisfa i criteri di accettazione;
decisione da parte del cliente o di altra persona autorizzata se la domanda è accettata o meno.

Tipi / tipi di test

Tipi di test funzionali

Collaudo funzionale
Test dell'interfaccia utente (test della GUI)
Test di sicurezza e controllo degli accessi
Test di interoperabilità

Tipi di test non funzionali

Tutti i tipi di test delle prestazioni:
o Test di carico (prestazioni e test di carico)
o Test da sforzo
o test di stabilità o affidabilità (Stability / Reliability Testing)
o Test del volume
Test di installazione
Test di usabilità
Test di failover e ripristino
Test di configurazione

Tipi di test associati alle modifiche

Test del fumo
Test di regressione
Nuovo test
Test di verifica della compilazione
Test sanitari o test di coerenza/salute (test di sanità mentale)

Collaudo funzionale considera il comportamento pre-specificato e si basa su un'analisi delle specifiche della funzionalità del componente o del sistema nel suo complesso.

Test dell'interfaccia utente (test della GUI)- controllo funzionale dell'interfaccia per la conformità ai requisiti - dimensione, carattere, colore, comportamento coerente.

Test di sicurezzaè una strategia di test utilizzata per testare la sicurezza di un sistema, nonché per analizzare i rischi associati alla fornitura di un approccio olistico alla protezione di un'applicazione, attacchi di hacker, virus, accesso non autorizzato a dati riservati.

Test di interoperabilitàè un test funzionale che verifica la capacità di un'applicazione di interagire con uno o più componenti o sistemi e include test di compatibilità e test di integrazione

Test di stress- si tratta di un test automatizzato che simula il lavoro di un certo numero di utenti aziendali su una risorsa comune (condivisa da loro).

Test di stress consente di verificare come l'applicazione e il sistema nel suo complesso sono operativi sotto stress e valutare anche la capacità del sistema di rigenerarsi, ovvero tornare alla normalità dopo la cessazione dell'esposizione allo stress. Lo stress in questo contesto può essere un aumento dell'intensità delle operazioni a valori molto elevati o un cambiamento di emergenza nella configurazione del server. Inoltre, uno dei compiti nello stress test può essere quello di valutare il degrado delle prestazioni, quindi gli obiettivi dello stress test possono sovrapporsi agli obiettivi del test delle prestazioni.

Test del volume (test del volume). L'obiettivo del test del volume è ottenere una misura delle prestazioni man mano che aumenta la quantità di dati nel database dell'applicazione.

Testare la stabilità o l'affidabilità (Stability / Reliability Testing). Il compito dei test di stabilità (affidabilità) è verificare le prestazioni dell'applicazione durante i test a lungo termine (molte ore) con un livello di carico medio.

Test di installazione ha lo scopo di verificare l'avvenuta installazione e configurazione, nonché di aggiornare o disinstallare il software.

Test di usabilità- questo è un metodo di test volto a stabilire il grado di usabilità, apprendibilità, comprensibilità e attrattiva per gli utenti del prodotto sviluppato nel contesto di determinate condizioni. Questo include anche:
La User eXperience (UX) è la sensazione provata dall'utente durante l'utilizzo di un prodotto digitale, mentre la User interface è uno strumento che permette l'interazione tra l'utente e la risorsa web.

Test di failover e ripristino convalida il prodotto in prova per la sua capacità di resistere e recuperare con successo da potenziali guasti dovuti a bug del software, guasti hardware o problemi di comunicazione (come un errore di rete). Lo scopo di questo tipo di test è controllare i sistemi di ripristino (o duplicare la funzionalità principale dei sistemi) che, in caso di guasto, garantiranno la sicurezza e l'integrità dei dati del prodotto testato.

Test di configurazione- un tipo speciale di test volto a verificare il funzionamento del software in varie configurazioni di sistema (piattaforme dichiarate, driver supportati, varie configurazioni del computer, ecc.)

Fumo testing è considerato come un breve ciclo di test eseguiti per confermare che dopo aver costruito il codice (nuovo o corretto), l'applicazione che viene installata si avvii ed esegua le funzioni principali.

Test di regressione- si tratta di una tipologia di test volta a verificare le modifiche apportate all'applicazione o ambiente(correzione di un difetto, unione del codice, migrazione a un altro sistema operativo, database, server Web o server delle applicazioni), per confermare che la funzionalità preesistente funzioni come prima. I test di regressione possono essere test sia funzionali che non funzionali.

Nuovo test- test, durante il quale vengono eseguiti gli script di test che hanno rilevato errori durante l'ultima esecuzione per confermare il successo della correzione di questi errori.
Qual è la differenza tra test di regressione e test ripetuti?
Nuovo test: vengono verificate le correzioni dei bug
Test di regressione: viene verificato che le correzioni di bug, nonché eventuali modifiche al codice dell'applicazione, non hanno influito su altri moduli software e non hanno causato nuovi bug.

Build Test o Build Verification Test- testing finalizzato a determinare la rispondenza della versione rilasciata ai criteri di qualità per l'avvio del testing. Secondo i suoi obiettivi, è un analogo del Smoke Test finalizzato all'accettazione nuova versione per ulteriori test o operazioni. Può penetrare ulteriormente nelle profondità, a seconda dei requisiti di qualità della versione rilasciata.

Test sanitari- si tratta di un test ristretto sufficiente a dimostrare che una particolare funzione funziona secondo i requisiti indicati nella specifica. È un sottoinsieme dei test di regressione. Utilizzato per determinare l'integrità di una particolare parte dell'applicazione dopo che sono state apportate modifiche a essa o all'ambiente. Di solito fatto manualmente.

Approcci di test di integrazione:
Dal basso verso l'alto (integrazione dal basso verso l'alto)
Tutti i moduli, le procedure o le funzioni di basso livello vengono assemblati e quindi testati. Successivamente, viene assemblato il livello successivo di moduli per il test di integrazione. Questo approccio è considerato utile se tutti o quasi tutti i moduli del livello sviluppato sono pronti. Inoltre, questo approccio consente di determinare il livello di preparazione dell'applicazione in base ai risultati dei test.
Integrazione dall'alto verso il basso
Innanzitutto, vengono testati tutti i moduli di alto livello e gradualmente, uno per uno, vengono aggiunti i moduli di basso livello. Tutti i moduli di livello inferiore sono simulati da stub con funzionalità simili, quindi, quando sono pronti, vengono sostituiti da componenti attivi reali. Quindi testiamo dall'alto verso il basso.
Big Bang (integrazione "Big Bang")
Tutti o quasi tutti i moduli sviluppati vengono assemblati come un sistema completo o la sua parte principale, quindi vengono eseguiti i test di integrazione. Questo approccio è molto buono per risparmiare tempo. Tuttavia, se i casi di test e i relativi risultati non vengono registrati correttamente, il processo di integrazione stesso sarà notevolmente complicato, il che diventerà un ostacolo per il team di test nel raggiungimento dell'obiettivo principale del test di integrazione.

Principi di prova

Principio 1– I test mostrano la presenza di difetti
I test possono dimostrare che i difetti sono presenti, ma non possono provare che non lo siano. I test riducono la probabilità di difetti nel software, ma anche se non vengono rilevati difetti, ciò non ne dimostra la correttezza.

Principio 2– I test esaustivi sono impossibili
Il test completo utilizzando tutte le combinazioni di input e precondizioni non è fisicamente fattibile se non in casi banali. Invece di test esaustivi, l'analisi dei rischi e la definizione delle priorità dovrebbero essere utilizzate per concentrare più accuratamente gli sforzi di test.

Principio 3– Primi test
Per trovare i difetti il ​​prima possibile, le attività di test dovrebbero iniziare il prima possibile nel ciclo di vita dello sviluppo del software o del sistema e dovrebbero essere focalizzate su obiettivi specifici.

Principio 4– Raggruppamento dei difetti
Gli sforzi di test dovrebbero essere concentrati in proporzione alla densità prevista e successivamente all'effettiva densità di difetti per modulo. Di norma, la maggior parte dei difetti rilevati durante i test o che hanno causato la maggior parte dei guasti del sistema sono contenuti in un numero ridotto di moduli.

Principio 5– Paradosso dei pesticidi
Se gli stessi test vengono eseguiti molte volte, alla fine questo insieme di casi di test non troverà più nuovi difetti. Per superare questo "paradosso dei pesticidi", gli script di test devono essere regolarmente rivisti e adattati, i nuovi test devono essere diversificati per coprire tutti i componenti del software,
o sistema e trovare il maggior numero di difetti possibile.

Principio 6– Il test dipende dal concetto
I test vengono eseguiti in modo diverso a seconda del contesto. Ad esempio, il software critico per la sicurezza viene testato in modo diverso rispetto a un sito di e-commerce.
Principio 7– Fallacia dell'assenza di errori
Trovare e correggere i difetti non aiuterà se il sistema creato non è adatto all'utente e non soddisfa le sue aspettative e necessità.

Prove statiche e dinamiche
Il test statico differisce dal test dinamico in quanto viene eseguito senza eseguire il codice del prodotto. Il test viene eseguito analizzando il codice del programma (revisione del codice) o il codice compilato. L'analisi può essere eseguita sia manualmente che con l'ausilio di strumenti speciali. Lo scopo dell'analisi è identificare tempestivamente errori e potenziali problemi nel prodotto. I test statici includono anche specifiche di test e altra documentazione.

Test esplorativi/ad-hoc
La definizione più semplice di test esplorativo è lo sviluppo e l'esecuzione di test contemporaneamente. Che è l'opposto dell'approccio per scenari (con le sue procedure di test predefinite, manuali o automatizzate). I test esplorativi, a differenza dei test di scenario, non sono predeterminati e non vengono eseguiti esattamente secondo il piano.

La differenza tra test ad hoc ed esplorativi è che, in teoria, chiunque può condurre test ad hoc, mentre i test esplorativi richiedono abilità e possesso di determinate tecniche. Si noti che alcune tecniche non sono solo tecniche di test.

Requisitiè una specifica (descrizione) di ciò che deve essere implementato.
I requisiti descrivono ciò che deve essere implementato, senza dettagli lato tecnico soluzioni. Cosa, non come.

Requisiti per i requisiti:
Correttezza
univocità
Completezza del set di requisiti
I requisiti stabiliscono la coerenza
Testabilità (testabilità)
tracciabilità
Comprensibilità

Ciclo di vita dell'insetto

Fasi di sviluppo del software- queste sono le fasi che attraversano i team di sviluppo software prima che il programma diventi disponibile per una vasta gamma di utenti. Lo sviluppo del software inizia con la fase di sviluppo iniziale (la fase "pre-alpha") e continua attraverso le fasi in cui il prodotto viene finalizzato e modernizzato. La fase finale di questo processo è il rilascio sul mercato della versione finale del software ("rilascio pubblico").

Il prodotto software attraversa le seguenti fasi:
analisi dei requisiti di progetto;
progetto;
implementazione;
collaudo del prodotto;
implementazione e supporto.

Ad ogni fase dello sviluppo del software viene assegnato uno specifico numero di serie. Inoltre, ogni fase ha il proprio nome, che caratterizza la prontezza del prodotto in questa fase.

Ciclo di vita dello sviluppo software:
pre-alfa
Alfa
Beta
Candidato al rilascio
Pubblicazione
post-rilascio

tavolo decisionaleè un ottimo strumento per semplificare i requisiti aziendali complessi che devono essere implementati in un prodotto. Le tabelle decisionali rappresentano un insieme di condizioni che, se soddisfatte contemporaneamente, devono portare a un'azione specifica.

Extra - introversione, nevroticismo e psicotismo nella struttura della personalità.

1) Estroversione - introversione. Descrivendo un tipico estroverso, l'autore nota la sua socievolezza e l'orientamento esteriore dell'individuo, un'ampia cerchia di conoscenti, la necessità di contatti. Un tipico estroverso agisce sull'impulso del momento, impulsivo, irascibile. È spensierato, ottimista, bonario, allegro. Preferisce il movimento e l'azione, tende ad essere aggressivo. I sentimenti e le emozioni non hanno uno stretto controllo, inclini ad azioni rischiose. Non puoi sempre fare affidamento su di lui.

Il tipico introverso è una persona calma, timida, incline all'introspezione. Trattenuto e distante da tutti tranne che dagli amici intimi. Pianifica e considera le sue azioni in anticipo, diffida degli impulsi improvvisi, prende le decisioni seriamente, ama tutto in ordine. Controlla i suoi sentimenti, non si incazza facilmente. Possiede il pessimismo, apprezza molto le norme morali.

2) Nevroticismo: stabilità emotiva. Caratterizza la stabilità o l'instabilità emotiva (stabilità o instabilità emotiva). Secondo alcuni dati, il nevroticismo è associato a indicatori della labilità del sistema nervoso.

La stabilità emotiva è un tratto che esprime la conservazione del comportamento organizzato, l'attenzione situazionale in situazioni normali e stressanti. Una persona emotivamente stabile è caratterizzata da maturità, eccellente adattamento, mancanza di grande tensione, ansia, nonché tendenza alla leadership, socievolezza.

Il nevroticismo si esprime in estremo nervosismo, instabilità, scarso adattamento, tendenza a cambiare rapidamente umore (labilità), sensi di colpa e ansia, preoccupazione, reazioni depressive, distrazione, instabilità in situazioni stressanti. Il nevroticismo corrisponde all'emotività, all'impulsività; irregolarità nei contatti con le persone, variabilità degli interessi, insicurezza, spiccata sensibilità, impressionabilità, tendenza all'irritabilità. La personalità nevrotica è caratterizzata da reazioni inadeguatamente forti agli stimoli che le provocano. Gli individui con punteggi elevati nella scala del nevroticismo in situazioni stressanti avverse possono sviluppare nevrosi.



3) Psicoticismo. Questa scala indica una tendenza al comportamento antisociale, pretenziosità, inadeguatezza delle reazioni emotive, alta

conflitto, non contatto, egocentrismo, egoismo, indifferenza.

Secondo Eysenck, punteggi elevati di estroversione e nevroticismo sono coerenti con una diagnosi psichiatrica di isteria, e punteggi elevati di introversione e nevroticismo sono coerenti con ansia o depressione reattiva.

Il nevroticismo e lo psicotismo nel caso della gravità di questi indicatori sono intesi come una "predisposizione" ai corrispondenti tipi di patologia.

Il concetto di test. Opportunità e limiti.

I test sono metodi standardizzati di psicodiagnostica che consentono di ottenere indicatori quantitativi e qualitativi comparabili del grado di sviluppo delle proprietà studiate.

Test di intelligenza. Progettato per la ricerca e la misurazione del livello sviluppo intellettuale persona. Sono le tecniche psicodiagnostiche più comuni.

L'intelligenza come oggetto di misurazione non significa alcuna manifestazione di individualità, ma principalmente quelle a cui sono correlate processo cognitivo e funzioni (al pensiero, alla memoria, all'attenzione, alla percezione). Nella forma, i test di intelligenza possono essere di gruppo e individuali, orali e scritti, in bianco, soggetti e computer.

Prove di abilità. Questo è un tipo di metodologia progettata per valutare la capacità di un individuo di acquisire le conoscenze, le abilità e le abilità necessarie per una o più attività.

È consuetudine individuare generale e abilità speciali. Le abilità generali forniscono la padronanza di molte attività. Le abilità generali sono identificate con l'intelletto e quindi sono spesso chiamate abilità intellettuali (mentali) generali.

A differenza del generale, le abilità speciali sono considerate in relazione ai singoli tipi di attività. In accordo con questa divisione, vengono sviluppati test di abilità generali e speciali.

Nella loro forma, le prove di abilità sono di diversa natura (individuali e di gruppo, orali e scritte, in bianco, disciplinari, strumentali, ecc.).

I test di rendimento o, come possono essere chiamati in altro modo, i test di controllo oggettivo del successo (scuola, professionale, sportivo) sono progettati per valutare il grado di avanzamento di abilità, conoscenze, abilità e abilità dopo che una persona ha completato la formazione , formazione professionale e di altro tipo. Pertanto, i test di rendimento misurano principalmente l'impatto che un insieme relativamente standard di influenze ha sullo sviluppo di un individuo. Sono ampiamente utilizzati per valutare la scuola, l'istruzione e anche successi professionali. Questo spiega il loro gran numero e varietà.

I test sui risultati scolastici sono principalmente di gruppo e in bianco, ma possono anche essere presentati in una versione per computer.

I test di rendimento professionale di solito assumono tre diverse forme: strumentali (test di performance o di azione), scritti e orali.

Test di personalità. Si tratta di tecniche psicodiagnostiche volte a valutare le componenti emotivo-volitive dell'attività mentale: motivazione, interessi, emozioni, relazioni (anche interpersonali), nonché la capacità di un individuo di comportarsi in determinate situazioni. Pertanto, i test della personalità diagnosticano manifestazioni non intellettuali.

Possibilità.

1. Questo brevi test- il lettore dedica pochissimo tempo e sforzi mentali alla loro implementazione. Riceve immediatamente una risposta semplice: una valutazione di se stesso su una scala, di regola, di un test popolare.

2. Si tratta di test "acuti": vengono discusse le relazioni soggettive personali e interpersonali che sono particolarmente attraenti per il lettore. Come non ricordare qui "Test per un vero uomo" o "Test per vera donna". Sono molto coerenti con i bisogni psicologici dell'età degli adolescenti o dei giovani.

3. Questi test sono progettati in modo tale da non richiedere lunghi commenti e non richiedono spiegazioni di esperti. Sono destinati ad un uso "assente". Qualsiasi test scientifico in psicologia è destinato a uno specialista che, di norma, condivide con il cliente le informazioni ottenute attraverso il test in modo molto dosato e confidenziale. Qui non c'è nessun problema di dosaggio delle informazioni, e anzi nessun problema di riservatezza. È vero, c'è la riservatezza stessa: dopotutto, una persona compila un test così popolare uno contro uno con il testo in una rivista.

4. I test popolari, in generale, preparano i potenziali clienti dai lettori, dividendo la loro coscienza e differenziando le autovalutazioni.

5. I test popolari vengono prodotti rapidamente. Compilare un test del genere che sia abbastanza adatto per la pubblicazione nelle riviste pertinenti è abbastanza semplice. La cosa più difficile in tali test è fornire scale per valutare le risposte e principi per riassumere i punti ricevuti.

6. L'interpretazione di tali test è solitamente molto delicata per i lettori. Anche l'assegnazione a un'opzione meno favorevole in tali test è fornita di riserve per non ferire l'orgoglio del lettore.

7. I test popolari di solito esistono "in set", ad es. “cadere” sull'utente a manciate, smembrando immediatamente (influenzando) interi spazi della coscienza del cliente. Inoltre, il lettore sceglie lui stesso i compiti. Le prove non gli sono imposte, non prescritte, ma scelte da lui.

8. Il lettore comprende chiaramente il livello di "domanda" di tali metodi diagnostici. Capisce che questo è più intrattenimento che una seria valutazione della sua vita familiare.

Restrizioni.

1. I test popolari hanno spesso aree tematiche molto vaghe o addirittura deliberatamente complesse.

2. Tali test non devono mai essere convalidati o semplicemente confrontati con altri test. Si ritiene che ciò che misurano sia intuitivamente ovvio per il lettore.

3. Di conseguenza, tali metodi non vengono mai testati per l'affidabilità: il fatto che oggi il cliente abbia risposto al test in questo modo, e domani in un altro, non è un difetto del test.

4. Poiché l'oggetto del test in tali metodi non è mai nascosto (non mascherato), il ricercatore può spesso ottenere l'effetto di "desiderabilità sociale", dimostratività.

5. Poiché tali metodi non sono mai testati per i loro meriti psicometrici (se dividono sufficientemente il campione) e, inoltre, non hanno mai standard (dati normativi, standard del metodo), coloro che li hanno eseguiti non sapranno mai quanto simili o diversi siano i loro i risultati sono secondo il metodo ai risultati di altri utenti. Certo, a meno che due o tre lettori non completino il test contemporaneamente!

6. In alcuni casi, in generale, tali tecniche, in assenza di contatto con uno psicologo consulente, possono portare a iatrogenesi. Almeno, tali tecniche non sono testate per la iatrogenicità.

7. Infine, tali metodi quasi mai (salvo rare eccezioni) non sono corredati di indicazioni sui limiti di applicabilità per età e rilevanza di genere. Queste sono spesso tecniche asessuate e senza età. (Purtroppo, lo stesso si può dire di gran parte dei test scientifici nel campo della psicologia familiare.)

Ti diremo cosa sono i test SHL e mostreremo con esempi come aiutano nel lavoro delle risorse umane. Diamo esempi di tutti i tipi di test SHL con risposte.

Da questo articolo imparerai

Test psicometrici:

Cosa sono i test SHL

I test psicometrici SHL sono uno strumento di reclutamento che consente di eliminare i candidati non idonei prima del colloquio. I test SHL non testano la conoscenza dei candidati, ma valutano le loro capacità intellettuali. Secondo le statistiche, dopo aver superato i test SHL, il 70-80% dei candidati raggiunge il colloquio.

3 tipi di test SHL

1. Test SHL verbali

Un test verbale è un frammento di testo su un argomento, solitamente correlato alle attività future del richiedente. Il testo può contenere strutture complesse, termini ed espressioni speciali.

2-3 affermazioni sono date al testo. Devi valutarli sulla seguente scala: "Vero", "Falso" e "Poche informazioni".

2. Test SHL matematici (numerici).

Tali test comportano la risoluzione di problemi matematici di diversi livelli di complessità. Non specificano integrali, derivate e sistemi di equazioni, ma, tuttavia, il problema richiede un'analisi un largo numero dati in un lasso di tempo limitato.

3. Test logici SHL

Sono anche chiamati test per il pensiero astratto, test di induzione o diagrammi. I compiti dei test logici sono dati sotto forma di dichiarazioni, un insieme di figure astratte, sequenze numeriche o diagrammi. Il candidato deve trovare uno schema e rispondere alla domanda o scegliere l'opzione corretta.

A cosa servono i test SHL?

I test SHL controllano quanto velocemente un candidato può pensare, analizzare le informazioni, concentrarsi, se può pensare in modo logico.

Cosa può essere verificato con i test SHL

Utilizzando i test SHL, puoi valutare il livello di sviluppo delle abilità tipo diverso: capacità di pensiero astratto, elaborazione di informazioni numeriche e verbali, comprensione dei principi della meccanica e molti altri.

  1. Test SHL verbali

Consentono di determinare quanto velocemente il candidato percepisce il testo, comprende le connessioni logiche e valuta le affermazioni proposte. C'è un "trucco" in questi test: la risposta è " Informazioni insufficienti" viene spesso confuso con la risposta " Falso". Solo uno specialista veramente competente può apprezzare la differenza.

  1. Test SHL numerici

Con il loro aiuto, controllano la capacità del candidato di "vedere" i numeri: risolvono rapidamente frazioni, cercano l'ignoto o determinano percentuali. I test numerici misurano la capacità del candidato di comprendere informazioni grafiche e tabellari.

  1. Test logici SHL

Consentono alle risorse umane di determinare la capacità del candidato di percepire informazioni non familiari e di prendere la decisione giusta. I candidati che superano con successo il test di logica di solito hanno un buon pensiero analitico e astratto e hanno un maggiore interesse per l'apprendimento.

  1. Usa test versatili in un set, questo ti permetterà di determinare Vari tipi pensiero umano.
  2. Fai attenzione se il richiedente nota delle iscrizioni sottili nell'incarico, usale per capovolgere l'intera soluzione.
  3. Valutare la capacità del candidato di percepire una grande quantità di informazioni, sovraccaricare intenzionalmente il testo con dati importanti da ricordare.
  4. Analizza quanto velocemente si accumula la fatica e si instaura uno stupore nel lavoro del candidato, per fare ciò, aumenta il numero di compiti.
  5. Il soggetto del test può filtrare con competenza i dati non necessari che interferiscono con la ricerca di una soluzione? Determina questo parametro utilizzando molti dati extra nella condizione iniziale dei problemi.
  6. Utilizzare problemi con connessioni logiche complesse quando una risposta corretta richiede la costruzione di una lunga catena logica.
  7. Determina la misura in cui il candidato ha un vocabolario specifico, componi i test in modo che senza conoscere la terminologia, molti compiti sarebbero incomprensibili.

Esempi di test SHL

Un esempio di test SHL verbale

Condizione iniziale:

Durante l'estate, quando i dipendenti a tempo pieno vanno in vacanza, alcune organizzazioni assumono un lavoro temporaneo dagli studenti. Nello stesso periodo dell'anno, in molte aziende, il carico di lavoro aumenta e c'è bisogno di personale aggiuntivo. Il lavoro temporaneo attira gli studenti con l'opportunità di acquisire competenze pratiche e ottenere un lavoro in questa azienda dopo la formazione. L'azienda è anche interessata all'afflusso di nuova forza lavoro. Cerca di interessare gli studenti e motivarli a continuare la cooperazione. Gli studenti non hanno diritto al congedo per malattia o al congedo retribuito, ma il loro lavoro è retribuito per intero.

Dichiarazione 1: Gli studenti accettati per lavoro temporaneo ricevono l'indennità di ferie sotto forma di pagamenti aggiuntivi rispetto allo stipendio.

Risposta corretta: Falso.

Dichiarazione 2: I dipendenti che sono in ferie possono essere svolti dagli studenti.

Risposta corretta: Giusto.

Dichiarazione 3: Il reclamo e il procedimento disciplinare si applicano agli studenti allo stesso modo dei membri del personale.

Risposta corretta: Informazioni insufficienti.

Esempio di test SHL numerico

Compito: “Lavorando insieme, Tom, Harry e Dick dipingeranno una recinzione di 100 m in 9 ore. Da solo, Tom dipingerà la recinzione in 18 ore e Harry in 36. Quanto tempo impiegherà Dick a dipingere la recinzione se Tom e Harry si prenderanno il giorno libero.

Risposta corretta- 36 ore.

Esempio di test SHL logico

Al candidato viene proposta una sequenza di disegni, uno dei quali viene omesso. Devi scegliere tra le seguenti opzioni:

Risposta corretta: secondo disegno

Ci sono una varietà di combinazioni e può essere difficile trovare una relazione, soprattutto in breve tempo. Spesso tali compiti vengono risolti in modo intuitivo da specialisti di alto livello, il che consente di determinare rapidamente il candidato di cui hai bisogno.

Come analizzare i risultati del test SHL

Quando si analizzano i risultati dei test SHL, è importante fare affidamento sulla qualità delle risposte e non sulla quantità delle risposte fornite. Ad esempio, il primo richiedente ha compilato le caselle di risposta per tutte le 50 domande, ma solo 25 di esse si sono rivelate corrette. E il secondo candidato ha risposto solo a 25 domande su 50 e ha dato la risposta corretta a tutte. Il risultato del secondo candidato sarà preferibile e più prezioso, poiché esclude la possibilità di indovinare accidentalmente la risposta corretta semplicemente spuntando il test.

Una domanda lasciata senza risposta in qualsiasi blocco di test dovrebbe essere considerata errata. Analizza i test dei futuri dipendenti in termini di punti di forza e di debolezza. Per fare ciò, uno specialista delle risorse umane deve sapere chiaramente quali qualità dovrebbe avere un candidato per una determinata posizione.

I test verbali offrono l'opportunità di valutare la velocità di assimilazione delle informazioni testuali e la capacità di pensare in modo logico. Quando passa prova verbale, oltre alla risposta corretta, vale la pena valutare il possesso della tecnica di lettura veloce e dare al candidato un ulteriore vantaggio per essa.

Quando si eseguono test di logica astratta, è necessario analizzare la capacità dei candidati di trarre conclusioni logiche basate su informazioni non verbali, solitamente presentate sotto forma di simboli astratti.

È facile scoprire cosa si chiama esattamente un test di informazioni numeriche, la rete è piena di tutti i tipi di spiegazioni ed esempi e, in breve, questi sono i compiti per i quali dovresti usare abilità matematiche. Non devi preoccuparti delle tue capacità: i compiti sono semplici, corrispondono approssimativamente al livello Scuola superiore.

Nelle attività che devi trovare:

  • interesse;
  • azioni;
  • relazione,

durante l'utilizzo di:

  • analisi dei dati;
  • interpretazione grafica.

Gli esempi includono grafici, tabelle o grafici a barre e tali condizioni diventano una sfida per alcuni candidati. Non sono presenti informazioni puramente testuali, come nel ns libri di testo scolastici: “il treno è partito da qualche parte, un altro treno lo incontrerà, quando si incontreranno?”. Il test di abilità numerica è costituito da dati grafici e devi prepararti solo per esempi simili.

Lo scopo del controllo con test verbali e numerici è capire quanto bene sfidante affrontare la logica problemi di matematica in condizioni di temporanea penuria. È chiaro che ogni persona istruita risolverà un semplice esempio con percentuali, dagli 10-15 minuti, ma quando il contatore esegue il conto alla rovescia di 60 secondi, e forse meno, il processo per trovare una soluzione è difficile.

I datori di lavoro utilizzano test di risposta numerica per valutare i candidati, testando la loro capacità di elaborare grandi quantità di informazioni numeriche in condizioni di stress. Con l'aiuto dei compiti, diventa possibile misurare il potenziale delle prestazioni, capire se il candidato è pronto a risolvere problemi complessi, analizzare rapidamente i dati già sul posto di lavoro.

Non sarà possibile superare un test numerico senza padroneggiare la disciplina matematica, tuttavia il livello di conoscenza non deve essere elevato, anzi, la conoscenza teorica della matematica superiore non aiuterà molto nella risoluzione dei problemi. Esempi sviluppati dalle aziende SHL O Talento Q, richiedono altre abilità, tra cui un'elevata velocità di lettura, evidenziando le informazioni principali. La maggior parte delle attività è più facile da risolvere nella tua testa, utilizzando una calcolatrice occasionale, e non funzionerà per raccogliere le risposte: gli sviluppatori si sono occupati di questo.

Certo, "tecnici", laureati università tecnicheè più facile prepararsi, risolvere problemi, ma anche le “umanistiche” riescono ad acquisire capacità risolutive, hanno solo bisogno di esercitarsi.

È conveniente sostenere test numerici online, puoi organizzare un'atmosfera adatta, rimuovere fonti di rumore dal tuo ufficio o sederti con un laptop nel tuo bar preferito, ma tutti questi momenti non garantiranno il completamento con successo. Solo centinaia di problemi risolti, l'uso di espressioni matematiche di questo tipo darà un'esperienza che diventerà una competenza nel tempo.

Non ha senso scegliere una risposta a mano, è necessario risolvere il problema, dopodiché sarà facile contrassegnare l'opzione corretta. Di solito, gli sviluppatori di compiti numerici danno risposte con un piccolo passo, cioè sono simili, differiscono di uno o un centesimo, il che non ti consente di contare sulla fortuna.

Il consiglio principale è la pratica, più lavori con test numerici di formazione, più veloce, più preciso e più sicuro risponderai alle domande. Semplici test numerici sono distribuiti gratuitamente in rete, sono facili da trovare, guardare, risolvere, ma tali esempi sono adatti solo per familiarizzare. Ci saranno compiti con risposte, ma il livello di questi compiti è basso e non sarà possibile ottenere un'abilità di soluzione sufficiente con il loro aiuto.

Contare su punteggio alto, è necessario rispondere a diverse centinaia di compiti, ed è meglio risolverlo nelle condizioni più difficili, ad esempio limitando il tempo non a un minuto, ma a 40-45 secondi. I test numerici in diverse aziende sono complessi e sarà utile avere un po' di tempo.