Ciclo di vita del test del software (STLC): 6 fasi, criteri di ingresso e uscita, esempio

  1. Home
  2. Blog
  3. Test del software

Test del software

Ciclo di vita del test del software (STLC): 6 fasi, criteri di ingresso e uscita, esempio

Il test è molto più che eseguire casi di test alla fine di un progetto. Impara le sei fasi STLC, ciò di cui ciascuna ha bisogno e produce, come si applicano a una funzionalità reale e come i team Agile le adattano.

9 min di lettura
Ciclo di vita del test del software (STLC): sei fasi, criteri di ingresso e uscita e un esempio

Punti chiave

  • Il ciclo di vita del test del software è la sequenza di attività utilizzate per pianificare, progettare, eseguire e chiudere i test.
  • Il modello comune prevede sei fasi, dall’analisi dei requisiti alla chiusura del test.
  • Criteri di ingresso e di uscita definiscono quando una fase può iniziare e quando termina.
  • I team agili mantengono le stesse attività ma le ripetono in piccoli cicli ogni sprint.

Quando un bug arriva in produzione, la causa spesso non è che qualcuno si sia dimenticato di eseguire un test. Il fatto è che un requisito non è mai stato messo in discussione, che i dati del test erano sbagliati o che nessuno era d’accordo sul significato di “fatto”. Il ciclo di vita del test del software affronta questi problemi fornendo al test una struttura chiara dal primo requisito al rapporto finale.

Questa guida spiega ogni fase, quindi segue una caratteristica illustrativa attraverso tutte: una pagina di accesso che blocca un account dopo cinque tentativi falliti. Le fonti non sono completamente d’accordo sul numero di fasi. Vedrai modelli con sette o otto, ma per lo più dividono lo stesso lavoro in modo diverso. Usiamo la versione a sei fasi ampiamente insegnata.

Cos’è l’STLC?

L’STLC è una serie definita di attività di test svolte per confermare che il software soddisfi i suoi requisiti. Ogni fase ha un obiettivo, input e output, in modo che i test siano pianificati e tracciabili piuttosto che improvvisati alla fine.

I vantaggi sono pratici. I tester vengono coinvolti presto, quando i difetti sono più economici da correggere. Lo sforzo va incontro ai rischi più alti. E quando un manager chiede “siamo pronti a rilasciare?”, la squadra può rispondere con le prove.

Le sei fasi STLC in sintesi

Fase Obiettivo principale Uscita chiave
1. Analisi dei requisiti Capire cosa testare Domande, requisiti verificabili, RTM
2. Pianificazione delle prove Decidi come testare Piano di test, stime
3. Sviluppo di casi di test Progettare i test Casi di test, script, dati di test
4. Configurazione dell’ambiente Preparati dove effettuare il test Ambiente pronto, risultato test fumi
5. Esecuzione del test Esegui test e registra i difetti Risultati, segnalazioni di bug
6. Prova di chiusura Valutare e imparare Rapporto di chiusura, lezioni apprese

I criteri di ingresso sono le condizioni che devono essere vere prima dell’inizio di una fase. Criteri di uscita sono le condizioni che devono essere vere prima che finisca. Impediscono a un team, ad esempio, di eseguire test su una build danneggiata e di sprecare una giornata.

Fase 1: Analisi dei requisiti

I tester studiano i requisiti per scoprire cosa può essere testato e cosa non è chiaro. Questo è spesso il modo più economico per prevenire un bug, poiché una domanda costa molto meno di una correzione di produzione.

  • Voce: sono disponibili documenti sui requisiti o storie utente.
  • Attività: identificare le esigenze funzionali e non funzionali, porre domande, valutare i rischi e decidere cosa potrebbe essere automatizzato.
  • Uscita: viene data risposta alle domande aperte e viene avviata la matrice di tracciabilità dei requisiti (RTM).
  • Deliverable: un elenco di requisiti verificabili e l’RTM.

Esempio di accesso. La storia dice “blocca l’account dopo cinque tentativi falliti”. Un buon tester chiede: cinque in quale periodo? Come viene sbloccato? Un accesso riuscito azzera il conteggio? Quale messaggio viene visualizzato? Ogni risposta diventa qualcosa di verificabile.

Fase 2: pianificazione del test

Il team decide l’ambito, l’approccio, le persone, gli strumenti, il programma e i rischi. Il responsabile del test solitamente è responsabile di questa fase.

  • Voce: analisi dei requisiti e valutazione iniziale del rischio.
  • Attività: definire l’ambito, stimare l’impegno, selezionare gli strumenti, assegnare ruoli e impostare criteri di uscita per le fasi successive.
  • Uscita: il piano di test viene rivisto e approvato.
  • Risultati finali: il piano di test e le stime dell’impegno.

Esempio di accesso. Nell’ambito: regole di blocco, ripristino e messaggi di errore su web e dispositivi mobili. Fuori ambito: Single Sign-On, gestito da un altro team. Il rischio più grande è bloccare gli utenti autentici, in modo che ricevano la massima attenzione. Se non sei sicuro delle differenze tra un piano e una strategia, leggi piano di test e strategia di test.

Fase 3: sviluppo del caso di test

Qui è dove i tester scrivono i casi di test dettagliati, gli script di automazione e i dati di test.

  • Iscrizione: un piano di test approvato e requisiti stabili.
  • Attività: scrivere e rivedere casi di test, preparare dati, programmare controlli automatizzati e aggiornare l’RTM.
  • Uscita: i casi di test e i dati sono revisionati e pronti.
  • Deliverable: casi di test, script e dati di test.
ID Scenario Risultato atteso
TC-01 4 tentativi falliti, quindi la password corretta L’accesso ha esito positivo e il conteggio viene reimpostato
TC-02 5 tentativi falliti L’account viene bloccato e viene visualizzato un messaggio chiaro
TC-03 Password corretta su un account bloccato Accesso ancora rifiutato
TC-04 Tentativi falliti su due browser contemporaneamente Il conteggio è condiviso e rimane accurato
TC-05 Sbloccare con il collegamento di ripristino Il login funziona e il conteggio viene azzerato

Si noti che TC-01 e TC-02 testano entrambi i lati del limite, che deriva direttamente dall’analisi dei valori limite. Per ulteriori informazioni su come scriverli bene, vedere come scrivere casi di test.

Fase 4: configurazione dell’ambiente di test

I test necessitano di un luogo realistico in cui essere eseguiti: i server, i dati, gli account, i browser e l’accesso alla rete giusti. Questa fase viene spesso eseguita in parallelo con la fase 3 e può essere gestita dagli sviluppatori o da un team DevOps.

  • Voce: un piano di test, una panoramica dell’architettura e i requisiti dell’ambiente.
  • Attività: configura hardware o contenitori, carica dati, configura l’accesso e installa la build.
  • Esci: l’ambiente è pronto e il test del fumo viene superato.
  • Risultati finali: un ambiente di lavoro e il risultato di un test del fumo.

Esempio di accesso. La gestione temporanea ottiene account di prova in stati noti, insieme a un timer di blocco abbreviato in modo che i tester non debbano attendere. Un rapido test del fumo conferma che il login viene caricato prima che inizi l’esecuzione completa. I contenitori aiutano a mantenere gli ambienti coerenti, come mostrato nel nostro tutorial su Docker Compose.

Fase 5: esecuzione del test

I tester eseguono i test pianificati, confrontano i risultati effettivi e attesi e segnalano i difetti. I bug risolti vengono nuovamente testati e le aree correlate ricevono test di regressione.

  • Voce: i casi di test sono pronti, l’ambiente funziona e una build è stata consegnata.
  • Attività: eseguire test, registrare risultati, registrare difetti, ripetere il test delle correzioni e aggiornare l’RTM.
  • Uscita: vengono eseguiti i test pianificati e i difetti vengono corretti o accettati formalmente.
  • Risultati finali: risultati dei test e rapporti sui difetti.

Esempio di login. TC-04 fallisce: con due browser, il contatore arriva solo a quattro. Il tester registra il bug con passaggi e prove chiari, come descritto in come scrivere una segnalazione di bug. Una volta risolto il problema, TC-04 viene eseguito nuovamente e i relativi controlli di accesso passano attraverso la lista di controllo di regressione.

Suggerimento: Rendi misurabili i criteri di uscita e concordali in anticipo. “Tutti i test critici vengono superati e non sono presenti bug di elevata gravità” è difficile discuterne. “I test sembrano buoni” non è un criterio.

Fase 6: Chiusura del test

Questa fase viene comunemente saltata, il che è un peccato, perché è così che una squadra migliora. Il team valuta il ciclo, archivia il proprio lavoro e registra ciò che ha appreso.

  • Voce: l’esecuzione è completa e lo stato del difetto è noto.
  • Attività: verificare i criteri di uscita, analizzare le tendenze dei difetti, archiviare le risorse di test e tenere una retrospettiva.
  • Uscita: il rapporto di chiusura viene firmato.
  • Risultati finali: il rapporto di chiusura e le lezioni apprese.

Esempio di accesso. Il rapporto mostra che tutti e cinque i casi sono stati risolti dopo una correzione. La lezione è che la concorrenza è stata testata solo in ritardo, quindi le funzionalità future con i contatori ottengono lo scenario aggiunto durante la progettazione.

STLC contro SDLC

L’SDLC, o ciclo di vita dello sviluppo software, copre la costruzione dell’intero prodotto. L’STLC è la parte focalizzata sul testing e si affianca ad esso.

Aspetto SDLC STLC
Concentrarsi Costruire e fornire software Convalidare il software
Guidato da L’intero team del prodotto Principalmente QA e ingegneri di test
Fasi Requisiti, progettazione, costruzione, test, distribuzione, manutenzione Le sei fasi sopra
Uscita Un prodotto funzionante Prova della sua qualità

L’analisi dei requisiti nell’SDLC alimenta l’analisi dei requisiti nell’STLC e lo sviluppo fornisce build nell’esecuzione dei test. Il test non deve attendere fino al termine della codifica. Iniziare presto è ciò che la gente intende con “spostamento a sinistra”.

STLC in Agile e DevOps

Le fasi possono sembrare un lungo processo a senso unico, ma non è necessario che lo sia. In Agile, le stesse attività si riducono e si ripetono in ogni sprint, spesso in ore invece che in settimane:

  • L’analisi dei requisiti avviene nel perfezionamento del backlog, attraverso domande sulla user story.
  • La pianificazione avviene nella pianificazione dello sprint, con note leggere al posto di documenti lunghi.
  • La progettazione del test avviene insieme alla codifica, spesso come criteri di accettazione e test automatizzati.
  • La configurazione dell’ambiente è automatizzata tramite contenitori e infrastruttura come codice.
  • L’esecuzione viene eseguita continuamente in una pipeline CI/CD.
  • La chiusura diventa parte della revisione dello sprint e della retrospettiva.

Conserva ciò che è utile e ridimensiona le pratiche burocratiche in base al rischio. Un piccolo strumento interno potrebbe necessitare di una breve lista di controllo, mentre un sistema bancario potrebbe aver bisogno di approvazioni formali per motivi normativi.

Errori comuni

  • Portare i tester in ritardo. I bug rilevati nei requisiti sono molto più economici di quelli rilevati dopo il rilascio.
  • Criteri di uscita vaghi. Senza di essi, le scadenze prendono la decisione per te.
  • Test in un ambiente inadeguato. Gli errori causati da dati o configurazioni errati fanno perdere tempo e minano la fiducia.
  • Saltare la chiusura. La squadra poi ripete gli stessi errori nel ciclo successivo.
  • Seguirlo troppo rigidamente. La STLC è una guida. Documenti pesanti non significano automaticamente una qualità migliore.

Considerazioni finali

Il ciclo di vita del test del software è semplicemente una risposta disciplinata a sei domande: cosa testiamo, come, con quali casi, dove, cosa è successo e cosa abbiamo imparato? Guarda la tua prossima funzionalità e controlla quali di queste domande il tuo team solitamente salta. Risolvere quel divario probabilmente ti darà il guadagno maggiore.

Domande frequenti

Quali sono le 6 fasi del STLC?

Sono l’analisi dei requisiti, la pianificazione dei test, lo sviluppo dei test case, la configurazione dell’ambiente di test, l’esecuzione dei test e la chiusura dei test. Alcuni modelli li dividono in più passaggi.

Qual è la differenza tra STLC e SDLC?

L’SDLC copre la realizzazione dell’intero prodotto, dai requisiti alla manutenzione. L’STLC copre solo le attività di test e funziona parallelamente allo sviluppo.

Quali sono i criteri di entrata e di uscita?

I criteri di ingresso sono condizioni richieste prima che una fase possa iniziare, ad esempio una build stabile. I criteri di uscita sono le condizioni necessarie per completarlo, come il superamento di tutti i test critici.

Che cos’è un RTM nei test?

Una matrice di tracciabilità dei requisiti associa ciascun requisito ai relativi casi di test. Mostra se ogni requisito è coperto e ti aiuta a valutare l’impatto delle modifiche.

L’STLC è utilizzato in Agile?

SÌ. I team agili svolgono le stesse attività, ma in cicli più brevi e ripetuti all’interno di ogni sprint, con maggiore automazione e documentazione meno formale.

Continua a imparare

Lavora con Stack Quora

Hai bisogno di aiuto con test, WordPress o SEO?

Aiutiamo i team a fornire software migliore e a far crescere i loro siti. Raccontaci a cosa stai lavorando e ti suggeriremo chiaramente il prossimo passo.

Continua a leggere

Altre guide su test, intelligenza artificiale e sviluppo moderno

Ti è piaciuto questo articolo? Scegli un argomento e passa direttamente ai nostri tutorial più recenti.

Intelligenza artificiale

Spiegazione delle allucinazioni dell'intelligenza artificiale: perché i modelli linguistici inventano le cose e come ridurle

Spiegazione delle allucinazioni dell'intelligenza artificiale: cosa sono, perché i modelli linguistici le producono, tipi comuni, come ridurle con b…

Leggi l'articolo →
DevOps

Spiegazione delle variabili d'ambiente: file .env, segreti e configurazione eseguiti correttamente

Variabili d'ambiente spiegate con esempi Python che abbiamo eseguito: lettura e impostazione, perché ogni valore è una stringa, file .env, ereditari…

Leggi l'articolo →
Sviluppo software

Spiegazione della limitazione della velocità API: algoritmi, intestazioni e gestione degli errori 429

La limitazione della velocità dell'API spiegata con una simulazione che abbiamo eseguito: bucket di token, finestra fissa, finestra scorrevole, risp…

Leggi l'articolo →
Automazione dei test

Derisione in Python: unittest.mock, patch e gli errori che fanno mentire i test

Mocking in Python con unittest.mock, testato: Mock e return_value, side_effect, patch dove viene utilizzato un nome, specifiche e autospec, date moc…

Leggi l'articolo →
Test del software

Spiegazione della copertura del codice: copertura di linea o di filiale e cosa significa realmente il 100%.

Copertura del codice spiegata con una vera esecuzione di cover.py: copertura di linea, ramo e condizione, lettura di un rapporto, perché la copertur…

Leggi l'articolo →
Database e SQL

DELETE vs TRUNCATE vs DROP in SQL: differenze, rollback e quando utilizzarli

DELETE vs TRUNCATE vs DROP spiegato con SQL testato: cosa rimuove, rollback, trigger, reimpostazione dell'identità, velocità e come differiscono Pos…

Leggi l'articolo →
Database e SQL

Spiegazione delle visualizzazioni SQL: crea, utilizza ed evita le insidie, con esempi

Viste SQL spiegate con le query che abbiamo eseguito: creazione di una vista, risultati in tempo reale, nascondere colonne, prestazioni, viste aggio…

Leggi l'articolo →
Sviluppo software

Interfaccia TypeScript e tipo: differenze reali, testate con il compilatore

Interfaccia TypeScript vs tipo, verificata con il vero compilatore: cosa possono fare entrambi, cosa può fare solo uno, fusione delle dichiarazioni,…

Leggi l'articolo →
Sviluppo software

Spiegazione di Python *args e **kwargs: funzioni flessibili con esempi chiari

Python *args e **kwargs spiegati con il codice che abbiamo eseguito: compressione e decompressione, ordine dei parametri, argomenti solo per parole …

Leggi l'articolo →
Sviluppo software

Funzioni Lambda Python: sintassi, usi reali e quando non usarli

Funzioni lambda Python spiegate con il codice che abbiamo eseguito: sintassi, ordinamento con chiave, mappa e filtro, chiusure, trap dell'associazio…

Leggi l'articolo →
Intelligenza artificiale

Cosa sono gli agenti AI? Come funzionano, con un semplice ciclo di agenti che puoi eseguire

Cosa sono gli agenti IA? Una semplice guida al ciclo dell'agente, agli strumenti, alla memoria e ai guardrail, con un piccolo ciclo Python che abbia…

Leggi l'articolo →
DevOps

Monitoraggio vs osservabilità: la vera differenza, con log, metriche e tracce

Spiegazione del monitoraggio e dell'osservabilità: errori noti e sconosciuti, log, metriche e tracce, una procedura dettagliata sugli incidenti di p…

Leggi l'articolo →
DevOps

Volumi Docker e montaggi di associazione: mantenere i dati del contenitore nel modo giusto

Volumi Docker e montaggi di collegamento spiegati: perché i dati del contenitore scompaiono, volumi denominati, montaggi di collegamento, tmpfs, ese…

Leggi l'articolo →
Automazione dei test

TDD vs BDD: differenze chiave, una caratteristica costruita in entrambi i modi e quando utilizzarli ciascuno

TDD vs BDD spiegato con una funzione di sconto costruita in entrambi i modi: refactoring rosso-verde con il codice che abbiamo eseguito, scenari "Da…

Leggi l'articolo →
Test del software

Test di accettazione da parte dell'utente (UAT): processo, lista di controllo ed esempi reali

Spiegazione del test di accettazione dell'utente: chi lo esegue, in cosa differisce dal QA, un processo in sette fasi, un modello di test case UAT, …

Leggi l'articolo →
Database e SQL

Spiegazione dei valori SQL NULL: IS NULL, COALESCE, NULLIF e le trappole da evitare

Valori SQL NULL spiegati con le query che abbiamo eseguito: logica a tre valori, IS NULL, COALESCE, NULLIF, come aggregazioni, join e ordinamento tr…

Leggi l'articolo →
Database e SQL

Istruzione SQL CASE WHEN: sintassi, esempi reali ed errori comuni

SQL CASE WHEN spiegato con le query che abbiamo eseguito: moduli semplici e cercati, ordine delle condizioni, pivot con SUM, trucchi COUNT, ordiname…

Leggi l'articolo →
Sviluppo software

Cos'è il JWT? Token Web JSON spiegati con un esempio funzionante

Cos'è il JWT? Spiegazione dei token Web JSON: le tre parti, un token creato e manomesso nel codice che abbiamo eseguito, JWT e sessioni, archiviazio…

Leggi l'articolo →
Sviluppo software

Spiegazione del loop di eventi JavaScript: stack di chiamate, microtask e timer con esempi

Il ciclo di eventi JavaScript spiegato con il codice che abbiamo eseguito: stack di chiamate, code di attività e microtask, perché setTimeout 0 non …

Leggi l'articolo →
Sviluppo software

Spiegazione dei generatori Python e del rendimento: risparmia memoria con esempi reali

Generatori Python e rendimento spiegati con il codice che abbiamo eseguito: come vengono messi in pausa e ripresi, misurato il risparmio di memoria,…

Leggi l'articolo →
Intelligenza artificiale

Cosa sono gli incorporamenti? I vettori e la somiglianza del coseno spiegati semplicemente

Cosa sono gli incorporamenti? Una guida in linguaggio semplice ai vettori, alla similarità del coseno e alla ricerca semantica, con un piccolo esemp…

Leggi l'articolo →
DevOps

Distribuzione blu-verde rispetto a quella canaria: differenze, compromessi e come scegliere

Spiegazione della distribuzione blu-verde e canary: come funziona ciascuna, costi, rischi e rollback, bucket utente stabile che abbiamo testato, mig…

Leggi l'articolo →
Automazione dei test

Test instabili: quali sono le cause e come risolverli definitivamente

Test instabili spiegati con demo che abbiamo eseguito: le cause principali, come confermarne e diagnosticarne uno, soluzioni adeguate per tempistich…

Leggi l'articolo →
Test del software

Test di carico e test di stress: differenze, metriche ed esempi k6

Spiegazione del test di carico e dello stress test: cosa dimostra ciascuno, test di picco e di assorbimento, le metriche che contano, perché le medi…

Leggi l'articolo →
Test del software

Caso di test e scenario di test: differenze chiave, esempi e quando utilizzarli

Spiegazione del caso di test e dello scenario di test: definizioni chiare, una tabella affiancata, una funzione di reimpostazione della password pre…

Leggi l'articolo →
Database e SQL

Ottimizzazione delle query SQL: leggi i piani di esecuzione e correggi query lente, con tempistiche

Ottimizzazione delle query SQL testata su un milione di righe: leggi i piani di esecuzione, aggiungi gli indici corretti, correggi filtri non aggior…

Leggi l'articolo →
Database e SQL

SQL UNION vs UNION ALL: differenze, esempi e prestazioni testate

SQL UNION vs UNION ALL spiegati con le query che abbiamo eseguito: duplicati, regole seguite da entrambi, un vero bug di dati, prestazioni misurate,…

Leggi l'articolo →
Sviluppo software

Tutorial sull'API di recupero JavaScript: GET, POST, gestione degli errori e timeout

Un tutorial sull'API JavaScript Fetch testato su un server locale: GET e POST, perché 404 non genera eccezioni, un helper riutilizzabile, stringhe d…

Leggi l'articolo →
Sviluppo software

Gestione dei file Python: lettura, scrittura, CSV, JSON e pathlib con esempi

Gestione dei file Python spiegata con il codice che abbiamo eseguito: modalità aperte, con, lettura di file di grandi dimensioni, CSV, JSON, pathlib…

Leggi l'articolo →
Sviluppo software

Classi e oggetti Python: tutorial OOP con esempi reali

Classi e oggetti Python spiegati con il codice che abbiamo eseguito: __init__, metodi, attributi di classe e istanza, ereditarietà, proprietà, metod…

Leggi l'articolo →
Intelligenza artificiale

Che cos'è un modello linguistico di grandi dimensioni? Come funzionano i LLM, spiegato senza esagerazioni

Cos’è un modello linguistico ampio? LLM spiegati in un linguaggio semplice: token, incorporamenti, attenzione, formazione, finestre di temperatura e…

Leggi l'articolo →
DevOps

Comandi Linux per principianti: la guida essenziale del terminale con esempi

Comandi Linux per principianti, raggruppati per attività: navigazione, file, visualizzazione log, grep, pipe, permessi, processi e archivi, con un e…

Leggi l'articolo →
Automazione dei test

Selenio vs drammaturgo: differenze chiave, codice a confronto e quale scegliere

Selenium vs Playwright a confronto: architettura, attesa, supporto per browser e linguaggio, debug, lo stesso test in entrambi gli strumenti, consig…

Leggi l'articolo →
Test del software

Partizionamento di equivalenza: tecnica di progettazione dei test spiegata con esempi pratici

Spiegazione del partizionamento di equivalenza: come trovare partizioni valide e non valide, esempi funzionanti per età, password e coupon, test che…

Leggi l'articolo →
Test del software

Gravità vs priorità nel test del software: differenze, matrice ed esempi reali

Spiegazione della gravità e della priorità nei test del software: definizioni chiare, una matrice a quattro vie con esempi, scale di livello, chi im…

Leggi l'articolo →
Database e SQL

Esercitazione sulle sottoquery SQL: tipi, sottoquery correlate ed EXISTS con esempi

Un tutorial sulle sottoquery SQL con le query che abbiamo eseguito: sottoquery scalari, IN, FROM e SELECT, sottoquery correlate, EXISTS, trap NOT IN…

Leggi l'articolo →
Database e SQL

Spiegazione di transazioni SQL e ACID: COMMIT, ROLLBACK e livelli di isolamento

Transazioni SQL e ACID spiegate con un bonifico bancario eseguito: COMMIT, ROLLBACK, punti di salvataggio, blocchi, livelli di isolamento, letture s…

Leggi l'articolo →
Sviluppo software

Cheat sheet dei comandi Git: i comandi che usi effettivamente, con esempi

Un cheat sheet dei comandi Git raggruppato per attività: configurazione, staging, rami, telecomandi, stash, cronologia ed errori di annullamento, co…

Leggi l'articolo →
Sviluppo software

Spiegazione delle promesse JavaScript: quindi, cattura, Promise.all ed errori comuni

Promesse JavaScript spiegate con il codice che abbiamo eseguito: stati, catene then e catch, gestione degli errori, Promise.all, allSettled, race an…

Leggi l'articolo →
Sviluppo software

Tutorial sul dizionario Python: metodi, esempi e modelli comuni

Un tutorial sul dizionario Python con il codice che abbiamo eseguito: creazione, lettura e aggiornamento di dettami, metodi chiave, unione, comprens…

Leggi l'articolo →
Intelligenza artificiale

Cos'è il RAG? La generazione aumentata di recupero spiegata con un esempio funzionante

Cos'è il RAG? La generazione aumentata di recupero viene spiegata passo dopo passo: indicizzazione, suddivisione in blocchi, incorporamenti, recuper…

Leggi l'articolo →
DevOps

Tutorial Terraform per principianti: infrastruttura come codice dal primo file ai moduli

Un tutorial su Terraform per principianti: inizia senza account cloud, impara init, pianifica e applica, quindi variabili, output, stato, moduli e u…

Leggi l'articolo →
DevOps

Docker vs Kubernetes: differenze chiave, come funzionano insieme e di cosa hai bisogno

Spiegazione di Docker vs Kubernetes: cosa fa ciascuno, la stessa app viene eseguita con entrambi, Docker Compose e Swarm a confronto, il dockershim …

Leggi l'articolo →
Automazione dei test

Tutorial Pytest per principianti: infissi, parametrizzazione ed esempi reali

Un tutorial pytest per principianti con test che abbiamo eseguito su pytest 9.2: asserzioni, dispositivi, parametrizzazione, conftest, marcatori, tm…

Leggi l'articolo →
Test del software

Ciclo di vita del test del software (STLC): 6 fasi, criteri di ingresso e uscita, esempio

Spiegazione del ciclo di vita del test del software: sei fasi STLC con criteri di ingresso e uscita, risultati finali, un esempio di funzionalità di…

Leggi l'articolo →
Sviluppo software

Git merge vs rebase: differenze, esempi e quando usare ciascuno

Git merge vs rebase spiegato con output reale del log, una tabella di confronto, la regola d'oro del rebase e un flusso di lavoro sicuro per i team.

Leggi l'articolo →
Sviluppo software

List comprehension in Python: sintassi, esempi e quando evitarla

List comprehension in Python spiegata: sintassi, filtri, if-else, cicli annidati, tempi misurati e i casi in cui un normale ciclo for è meglio.

Leggi l'articolo →
Database e SQL

SQL JOIN spiegati con esempi (Inner, Left, Right, Full)

Capisci i JOIN SQL passo dopo passo con tabelle e query di esempio: INNER, LEFT, RIGHT, FULL, CROSS e SELF, con errori comuni e consigli sulle prest…

Leggi l'articolo →