L'obbiettivo di questo insegnamento è introdurre il test funzionale e di sicurezza nello sviluppo del software. Il testing è un attività chiave per garantire la qualità del software. Durante la fase di testing devono essere considerati sia gli aspetti funzionali che quelli di sicurezza.
Learning the fundamentals in functional and security testing of software systems, with special emphasis on challenges posed by Web applications, and getting acquainted with automated tools used to practice testing techniques.
Gli studenti apprenderanno i fondamenti dei test funzionali e di sicurezza dei sistemi software, con particolare attenzione alle sfide poste dalle applicazioni Web e all'utilizzo di strumenti di test automatizzati.
Gli studenti vedranno le molteplici sfaccettature del problema e apprenderanno metodologie, approcci e tecniche per verificare la qualità di sistemi software complessi.
Dopo il completamento del corso, gli studenti saranno in grado di:
L'insegnamento ha i seguenti prerequisiti:
L'insegnamento è una combinazione tra presentazione di concetti teorici ed esercitazioni pratiche. È orientato al dialogo e con un approccio pratico. Il corso include attività di laboratorio che potranno anche essere svolte in gruppo.
Agli studenti verranno forniti compiti obbligatori che dovranno essere completati durante il corso.
Questo insegamento fornisce le basi per il testing funzionale e di sicurezza di applicazioni software. Le pratiche attuali di testing richiedono un grande sforzo poiché si basano pesantemente su attività manuali. L'automazione del test mira a ridurre i costi del testing automatizzando diverse delle attività coinvolte.
Il laboratorio, che costituisce parte integrante del corso, offrirà agli studenti l'opportunità pratica di vedere le tecniche di analisi e testing (sia funzionale che di sicurezza) applicate a casi studio reali.
Testing funzionale:
Testing di sicurezza:
Introduzione alla sicurezza informatica
Strumenti di sicurezza automatizzati
Burp Suite, wpscan, sqlmap
Il protocollo HTTP
Injection di comandi
Vulnerabilità lato client
Attacco Denial of Service
Ricevimento: Su appuntamento (mandare una mail)
FILIPPO RICCA (Presidente)
MAURIZIO LEOTTA (Presidente Supplente)
ENRICO CAMBIASO (Supplente)
In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica e Computer Science.
L'obiettivo della procedura di verifica è quantificare, per ogni studente, il livello di raggiungimento degli obiettivi educativi. La procedura di verifica consiste nell'valutare determinati laboratori guidati e in un test scritto.
ESAME
L'esame consiste nelle seguenti attività:
Attività di laboratorio
Il corso include attività di laboratorio da completare. Per alcune di queste attività sarà richiesta la consegna del lavoro svolto, mentre per altre sarà monitorata semplicemente la partecipazione degli studenti. Saranno proposte attività alternative da sottoporre tramite AulaWeb per coloro (ad esempio, studenti lavoratori) che non sono in grado di partecipare alle sessioni di laboratorio.
Test scritto
Il test scritto consisterà in domande a risposta multipla che copriranno aspetti sia teorici che pratici, focalizzandosi sugli argomenti e gli strumenti discussi in classe. Durante il corso, verranno affrontati esempi di possibili domande ed esercizi per ciascun argomento, garantendo chiarezza riguardo al formato del test entro la fine del corso.
Le attività di laboratorio mirano a valutare la comprensione degli strumenti e delle tecniche proposte. Il test scritto ha il duplice obiettivo di verificare la conoscenza degli aspetti fondamentali della disciplina e valutare la partecipazione degli studenti ai laboratori guidati.