Introducció a proves de programari (Programari Testing): "All code is guilty, until proven innocent not guilty"
- Objectius de l'assignatura
- Verificació vs. validació
- Principis de proves de programari
- Classificació de proves de programari
- Glossari
- Organització del curs
Proves d'unitat (Unit Testing)
- Definició de prova d'unitat.
- Disseny de proves d'unitat: mètodes de caixa negra i de caixa blanca
- Gestió de dependències (ús de dobles o stubs).
- Automatització de proves d'unitat.
- Entorns per a escriure proves d'unitat (unit-testing frameworks)
Mètodes estàtics
- Objectius
- Tipus de mètodes estàtics: inspecció i revisió de productes de programari
- Planificació de mètodes estàtics
- Automatització d'anàlisi estàtica del codi. Eines disponibles
Automatització
- Objectius
- Què automatitzar
- Metodologies d'automatització del procés de proves de programari
- Eines disponibles
Processos de prova en metodologies àgils
- Principis de les metodologies àgils
- Desenvolupament dirigit per proves (TDD, Test-Driven Development)
- Catàleg de bones pràctiques per a proves de programari segons grandària del projecte
- Definició de processos de proves en el context de metodologies àgils
Pràctiques:
- Pràctica 1: Mètodes de caixa negra (2 sessions)
- Pràctica 2: Mètodes de caixa blanca (2 sessions)
- Pràctica 3: Desenvolupament dirigit per proves. Anàlisi automàtica de codi estàtic.
Seminaris
- Seminari 1: Pensament no convencional
- Seminari 2: Depuració
- Seminari 3: Mètriques de qualitat del programari
- Seminari 4: Dissenyar per provar?
- Seminari 5: Codi heretat
- Seminari 6: Automatització de proves
- Seminari 7: Transició a mètodes àgils