Esta plática hace una breve descripción del paradigma de desarrollo en Software Libre y algunos temas tradicionales de Software Testing para luego abordar algunas diferencias entre ambas áreas y describe finalmente como se han abordado en un proyecto de software libre real (Clear Linux OS).
Presentada por Abraham Catillo
1. Software Testing y Open Source
¿Choque de dos mundos?
Presenta:
Abraham Castillo
2. Disclaimer
El siguiente contenido y material debe considerarse
como una opinión personal exclusiva del autor y no
representa la responsabilidad ni posición de ninguna
empresa asociada al mismo.
3. De que NO se trata esto
• Software Libre a detalle
• Software Testing a detalle
• Herramientas de software
libre para prueba
11. Algunos atributos
• Libre redistribución
• Código fuente
• proyectos derivados
• Integridad del código del autor
• No discriminación
• Licencia (no restrictiva, neutral)
12. De que NO se trata esto
• Software Libre a detalle
• Software Testing a detalle
• Herramientas de software
libre para prueba
13. Diferentes habilidades?
• Habilidades comunes en un(a) desarrollador(a) de
software:
• Lenguajes de Programación
• Depuración
• Resolución de problemas
• Presión
• Comunicación
• Interpersonales
14. Ejemplo:
Clear Linux
“…The Clear Linux* Project for Intel®
Architecture is a distribution built for
various Cloud use cases…”
- clearlinux.org
19. Reto # 3 – Partes internas
Alcance
• Sistema
Operativo
completo
Partes del
Exterior
• Kernel de
Linux
• Systemd
• nginx, httpd
• gcc, go,
python, …
• vim, emacs,
nano, joe, …
Partes Internas
• Stateless
• swupd
• Telemetry
20. Ingeniería de Software 101
• Especificación de
Requisitos
• Diseño de alto nivel
• Diseño de bajo nivel
• Casos de Uso
• Historias de Usuario
• UML
• Prototipos
• Planes
• Riesgos
• Control de cambios
• Cronograma
• Ruta crítica
• …
25. Build Acceptance Test (BAT)
• Funcionalidad Básica presente
• Salidas generadas:
Contenido de swupd
Imágenes
• Directamente relacionada al Release Criteria
¿Es este build mejor que el anterior?
26. Estrategia
• Mezcla de pruebas externas y externas
• MVP primero (producto mínimo viable), luego
mejorarlo
• 100% automatizado
27. Back to the basics
https://s3.drafthouse.com/images/made/v-for-vendetta_1050_591_81_s_c1.jpg
28.
29. El Modelo V
UT – Unit Test
CIT – Component Integration Test
SIT – System Integration Test
UAT – User Acceptance Test