Tecnico en programacion
Carlos Bl Jurado y colaboradores. Prologo de Jos Manuel Beas
Primera Edicin, Enero de 2010 www.iExpertos.com
El libro se ha publicado bajo la Licencia Creative Commons
2
ndice general
I|Base Terica|27|
1.|El Agilismo|28|
1.1.Modelo en cascada . . . . . . . . . . . . . . . . . . . . . 30
1.2. Hablemos de cifras . . . . . . . . . . . . . . . . . . . . . . 32
1.3. El manifiesto gil . . . . . . . . . . . . . . . . . . . . . . . 33
1.4. En qu consiste el agilismo?: Un enfoque prctico . . . 36
1.5. La situacin actual . .. . . . . . . . . . . . . . . . . . . . 40
1.6. gil parece, pltano es . . . . . . . . . . . . . . . . . . . . 42
1.7.|Los roles dentro del equipo . . . . . . . . . . . . . . . . .|43|
1.8. Por qu nos cuesta comenzar a ser giles? . . . . . . .|46|
2. Qu es el Desarrollo Dirigido por Tests? (TDD)|48|
2.1.|Elalgoritmo TDD . . . . . . . . . . . . . . . . . . . . . . .|51|
|2.1.1.|Escribir la especificacin primero . . . . . . . . . .|52|
|2.1.2. Implementar el cdigo que hace funcionar el ejem-||
||plo . . . . . . . . . . . . . . . . . . . . . . . . . . .|52|
|2.1.3.|Refactorizar . . . . . . . . . . . . . . . . . . . . . .|53|2.2. Consideraciones y recomendaciones . . . . . . . . . . . .|55|
|2.2.1. Ventajas del desarrollador experto frente al junior .|55|
|2.2.2.|TDD con una tecnologa desconocida . . . . . . .|56|
|2.2.3.|TDD en medio de un proyecto . . . . . . . . . . .|56|
3. Desarrollo Dirigido por Tests de Aceptacin (ATDD)|58|
3.1.|Las historias de usuario . . . . .. . . . . . . . . . . . . .|59|
3.2. Qu y no Cmo . . . . . . . . . . . . . . . . . . . . . . . . 63
3.3. Est hecho o no? . . . . . . . . . . . . . . . . . . . . . . 66
3.4. El contexto es esencial . . . . . . . . . . . . . . . . . . . . 67
3
NDICE GENERAL|NDICE GENERAL|
4.|Tipos detest y su importancia||68|
|4.1. Terminologa en la comunidad TDD|. . . . . . . . . . . . 69|
|4.1.1.|Tests de Aceptacin . . . .|. . . . . . . . . . . . . 70|
|4.1.2.|Tests Funcionales . . . . .|. . . . . . . . . . . . . 71|
|4.1.3.|Tests de Sistema . . . . . .|. . . . . . . . . . . . . 71|
|4.1.4.|Tests Unitarios .. . . . . .|. . . . . . . . . . . . .|74|
|4.1.5.|Tests de Integracin . . . .|. . . . . . . . . . . . . 75|
5.|Tests unitarios y frameworks xUnit||77|
|5.1. Las tres partes del test: AAA . . .|. . . . . . . . . . . . . 78|
6.|Mocks y otros dobles de prueba||88|
6.1. Cundo usar un objeto real, un stub o un mock . . . . . .90
6.2. La metfora Record/Replay . . . . . . . . . . . . . . . . . 101
7. Diseo Orientado a Objetos 104
7.1. Diseo Orientado a Objetos (OOD) . . . . . . . . . . . . . 104
7.2. Principios S.O.L.I.D . . . . . . . . . . . . . . . . . . . . . 105
7.2.1. Single Responsibility Principle (SRP) . . . . . . . 1067.2.2. Open-Closed Principle (OCP) . . . . . . . . . . . . 107
7.2.3. Liskov Substitution Principle (LSP) . . . . . . . . . 107
7.2.4. Interface Segregation Principle (ISP) . . . . . . . . 108
|7.2.5. Dependency Inversin Principle (DIP) . . . . . . .|108|
|7.3. Inversin del Control (IoC) . . . . . . . . . . . . . . . . ....
Regístrate para leer el documento completo.