
iOS Code Testing
Abhishek Mishra
- Editorial
- Apress
- Año
- 2017
- Páginas
- ~440
- Nivel
- Intermedio
De qué trata
Manual exhaustivo y riguroso escrito por Abhishek Mishra que enseña las disciplinas de ingeniería de software orientadas a la calidad, enfocado en Test-Driven Development (TDD) y Behavior-Driven Development (BDD) con Swift (en el contexto de Swift 3 y 4 con Xcode 8 y 9). Está pensado para desarrolladores iOS de nivel intermedio que saben programar funcionalidades pero necesitan adquirir metodologías profesionales de pruebas automatizadas, refactorización y arquitectura limpia para mantener código escalable y libre de regresiones.
El libro analiza en detalle el ciclo Red-Green-Refactor, los principios de diseño SOLID (con atención prioritaria al principio de responsabilidad única y la inyección de dependencias), el framework nativo XCTest para la redacción de aserciones unitarias y de integración, el diseño de dobles de prueba (mocks, stubs y fakes), la arquitectura MVVM para desacoplar modelos y vistas facilitando su verificación, y la adopción de frameworks de BDD como Quick y Nimble para definir especificaciones legibles y expresivas. Asimismo, dedica secciones prácticas a la creación de pruebas de interfaz de usuario con XCUITest y a técnicas estructuradas para refactorizar código heredado (legacy code) monolítico y carente de cobertura.
La enseñanza se apoya en ejemplos guiados y en una aplicación de muestra (Cookie App) que se utiliza para aplicar TDD desde cero, contrastando el código sin testear con la solución desacoplada y validada mediante suites automáticas. Su gran valor formativo radica en enseñar a pensar en la arquitectura desde la perspectiva de la testabilidad antes de escribir una sola línea de lógica; como contrapartida, el código utiliza patrones anteriores a la concurrencia moderna (`async/await`) y a SwiftUI, aunque sus fundamentos de testing siguen plenamente vigentes.
- Swift
- XCTest
- XCUITest
- Test-Driven Development (TDD)
- Behavior-Driven Development (BDD)
- Quick y Nimble
- Arquitectura MVVM
- Inyección de dependencias
- Refactorización de código heredado
- Mocks y stubs
- Pruebas de interfaz de usuario
¿Cómo enseña?
Teoría + práctica
- ✓ Incluye ejercicios
- ✓ Incluye proyectos
Proyectos
Cookie Sample App con suite de pruebas TDD
Aplicación de catálogo de pedidos construida en Swift paso a paso mediante el ciclo Red-Green-Refactor, desacoplando la lógica de negocio mediante MVVM e inyección de dependencias con XCTest.
Especificaciones BDD y pruebas de interfaz con Quick y XCUITest
Implementación de suites de pruebas funcionales y de comportamiento utilizando Quick y Nimble, complementadas con pruebas automatizadas de extremo a extremo en la interfaz con XCUITest.

