Introducció a proves de programari (Software
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)
- Definició de processos de proves en el context de metodologies àgils
Pràctiques:
- Pràctica 1. Mètodes de caixa negra (dues sessions)
- Pràctica 2. Mètodes de caixa blanca (dues 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 a provar?
- Seminari 5. Codi heretat
- Seminari 6. Automatització de proves
- Seminari 7. Transició a mètodes àgils