Introducció a proves de programari (Software Testing): "All code is guilty, until proven innocent not guilty"
- Objectius de l'assignatura
- Qualitat en el programari
- 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.
- Gestió de dependències (ús de dobles o stubs).
- Desenvolupament controlat per proves (test driven development)
- 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
- Qualitat del programari en metodologies àgils
- Catàleg de bones pràctiques per a proves de programari segons les dimensions 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 creatiu
- Seminari 2: Depuració
- Seminari 3: Mètriques de qualitat del programari
- Seminari 4: El disseny ha de considerar la necessitat de provar el programari?
- Seminari 5: Codi heretat
- Seminari 6: Automatització de proves
- Seminari 7: Transició a mètodes àgils