SlideShare a Scribd company logo
1 of 38
Experimentación
en la Ingeniería de
Software
Esteban Sanín Ángel
ingeniería de software
la aplicación de una aproximación
sistemática, disciplinada y cuantificable
al desarrollo, operación y
mantenimiento de software.
(ieee)
¿Cuantificable?
¿Disciplinada?
¿Sistemática?
La ingeniería de software parece
estar controlada por modas y
emociones, no por datos.
«El plural de anécdota no es datos»
Muchas personas
«Si contradice la experimentación, es
incorrecto. En esta frase está la clave de
la ciencia» - Richard Feynman
¿Por qué no experimentamos?
Complejidad
Desconocimiento
Costo
¿Qué podemos obtener
de un experimento?
Conocer la relación entre
las variables involucradas
Estudiar si el tipo de lenguaje tiene un
efecto en la calidad del código
Saber si la estructura organizacional
tiene un impacto en la comunicación
entre programadores
Conocer el costo/beneficio de las
inspecciones de código
Relaciones de Correlación
Relaciones de Causalidad
Relaciones Descriptivas
Tiene un proceso
2. Diseño
3. Ejecución
1. Definición de Objetivos
4. Análisis
¿y como hacemos un experimento
entonces?
¿Cómo comparamos dos
técnicas de pruebas?
Comparar la efectividad entre
dos técnicas de pruebas
variable dependiente
el resultado o efecto en un experimento.
variable de respuesta
ej: la efectividad
variable independiente
cualquier variable que afecte la variable
dependiente que queremos estudiar.
también conocida como factor
ej: las técnicas
niveles
posibles valores que puede tener la
variable independiente
ej: técnica a, técnica b
variables de bloque
variaciones no deseadas en el
experimento, que deben ser controladas
ej: experiencia, orden de aplicación
unidad experimental
los objetos en los cuales se ejecuta el
experimento
ej: el código
¿Qué necesitamos?
laboratorio
Realidad simplificada y controlada
donde el fenómeno a estudiar puede ser
manipulado e investigado
ej: sala de trabajo
población
colección de personas, plantas, animales,
bacterias o cosas de la que queremos
sacar conclusiones.
ej: todos los testers del mundo
sujetos
persona(s) que aplica(n) los métodos o
técnicas a la unidad experimental
ej: los testers
¿Cómo lo medimos?
métrica
forma en que se mide la variable
dependiente
ej: número de errores
¿Listo?
Ejecutar el Experimento
Análisis Estadístico
Replicación
¿Es válido el estudio?
validez
el grado en que los resultados obtenidos
corresponden con exactitud al mundo
real
Validez interna
Validez del constructo
Validez de las conclusiones
Validez externa
pregunta
interrogación que se hace para que
alguien responda lo que sabe de un
negocio u otra cosa.
gracias
sentimiento que nos obliga a estimar el
beneficio o favor que se nos ha hecho, y
a corresponder a él de alguna manera.
Créditos
Información
Natalia Juristo
Ana María Moreno
Basics of Software Engineering Experimentation
IEEE Standard Glossary of Software
Engineering Terminology
Fuentes
Ubuntu
Libre Baskervile
Fotos
Library of Congress
Alex Eylar
Guy Himber
Emily Barney
Terry McCombs
Welllwin Kwok
Bernardo Borghetti

More Related Content

Similar to Experimentación en la ingeniería de software

Presentacion capitulo 9 Sampieri
Presentacion capitulo 9 Sampieri Presentacion capitulo 9 Sampieri
Presentacion capitulo 9 Sampieri
Job Mazat
 
Unidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De ProgramasUnidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De Programas
Sergio Sanchez
 

Similar to Experimentación en la ingeniería de software (20)

Estudio de usabilidad con niños
Estudio de usabilidad con niñosEstudio de usabilidad con niños
Estudio de usabilidad con niños
 
La validez y confiabilidad de un instrumento
La validez y confiabilidad de un instrumentoLa validez y confiabilidad de un instrumento
La validez y confiabilidad de un instrumento
 
recoleccion_de_datos _sqa
recoleccion_de_datos _sqarecoleccion_de_datos _sqa
recoleccion_de_datos _sqa
 
Argentesting 2017 - Lo que aprendí de RST con Michael Bolton
Argentesting 2017 - Lo que aprendí de RST con Michael BoltonArgentesting 2017 - Lo que aprendí de RST con Michael Bolton
Argentesting 2017 - Lo que aprendí de RST con Michael Bolton
 
Experimentación en Interacción Persona-Ordenador
Experimentación en Interacción Persona-OrdenadorExperimentación en Interacción Persona-Ordenador
Experimentación en Interacción Persona-Ordenador
 
Interfaz de usuario
Interfaz de usuarioInterfaz de usuario
Interfaz de usuario
 
Instrumentos
InstrumentosInstrumentos
Instrumentos
 
jmo 2019 TÉCNICAS E INSTRUMENTOS
jmo 2019 TÉCNICAS E INSTRUMENTOSjmo 2019 TÉCNICAS E INSTRUMENTOS
jmo 2019 TÉCNICAS E INSTRUMENTOS
 
Cenditel - Evaluación de Software
Cenditel  - Evaluación de SoftwareCenditel  - Evaluación de Software
Cenditel - Evaluación de Software
 
Pruebas
PruebasPruebas
Pruebas
 
Presentacion capitulo 9 Sampieri
Presentacion capitulo 9 Sampieri Presentacion capitulo 9 Sampieri
Presentacion capitulo 9 Sampieri
 
Recoleccion de datos cuantitativos
Recoleccion de datos cuantitativosRecoleccion de datos cuantitativos
Recoleccion de datos cuantitativos
 
Meetup TestingUy 2017 - Lo que aprendí de Rapid Software Testing con Michael ...
Meetup TestingUy 2017 - Lo que aprendí de Rapid Software Testing con Michael ...Meetup TestingUy 2017 - Lo que aprendí de Rapid Software Testing con Michael ...
Meetup TestingUy 2017 - Lo que aprendí de Rapid Software Testing con Michael ...
 
Actividad semana 14_metodología_vf
Actividad semana 14_metodología_vfActividad semana 14_metodología_vf
Actividad semana 14_metodología_vf
 
S9-DAW-2022S1.pptx
S9-DAW-2022S1.pptxS9-DAW-2022S1.pptx
S9-DAW-2022S1.pptx
 
Unidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De ProgramasUnidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De Programas
 
Tarea 2 p2 jose eduardo lopez trejos profesor naranjo
Tarea 2 p2 jose eduardo lopez trejos profesor naranjoTarea 2 p2 jose eduardo lopez trejos profesor naranjo
Tarea 2 p2 jose eduardo lopez trejos profesor naranjo
 
Tecnicas de Pruebas
 Tecnicas de Pruebas  Tecnicas de Pruebas
Tecnicas de Pruebas
 
Tarea Sarahi Balladares Datos Cuantitativos
Tarea  Sarahi Balladares Datos CuantitativosTarea  Sarahi Balladares Datos Cuantitativos
Tarea Sarahi Balladares Datos Cuantitativos
 
Punto 4
Punto 4Punto 4
Punto 4
 

Recently uploaded

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Recently uploaded (11)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

Experimentación en la ingeniería de software

Editor's Notes

  1. ¿Y porqué este tema? La experimentación, y en general, tener un enfoque científico, es fundamental para mejorar el nivel de la ingeniería de software.tristemente es que es tan fundamental como olvidado.En esta charla: contarles porque es importante y explicar algunas de las nociones básicas.
  2. La ieee en el glosario estándar de terminología de ingeniería de software, define la ingeniería de software como la aplicación de una aproximación sistemática, disciplinada y cuantificable al desarrollo, operación y mantenimiento de software.
  3. Especialmente cuando la comparamos con otras ingenierías o con otras ciencias.Eso no quiere decir que tengamos malas intenciones, o que no aprendamos de nuestros errores, o que no le pongamos todo el empeño y la fuerza, y que no compartamos nuestras anécdotas para que otros no las repitan, pero…
  4. Una frase que ha sido atribuida a casi una docena de científicos y estadísticos. Y el asunto es que si bien las historias sirven para motivarnos, tenemos, como ingeniería, que ir un paso más allá. No podemos quedarnos en anécdotas.Ir más allá de «es que a este le sirvió/es que en un proyecto». Hay que analizar los factores, ver que variables influyen, en que modo, porqué. Hay que ser críticos, escépticos y racionales. Que tal metodología es la mejor, ahh… bueno» . Y la experimentación es un herramienta excelente para distinguir a los charlatanes de los expertos.
  5. Uno de los físicos más importantes de los últimos tiempos, que también tuvo una influencia gigante en la computación.
  6. Pero bueno, y si es tan importante, ¿por qué no experimentamos?
  7. Hay muchos mitos alrededor delempiricismo. Uno de ellos es que dicen que es muy costoso, y si bien esto puede ser cierto, la verdad es que un buen experimento puede antes ahorrar mucho dinero.Otra mito es que es muy difícil. Es cierto, no es trivial, pero no es imposible, como vamos a ver aquí.Para mi, el problema más grande es que es una herramienta que desconocemos. No nos enseñan a experimentar, en la universidad, el tema ni se toca, y, por lo que he visto, ni siquiera en las especializaciones el tema es popular. (me corrigen si me equivoco) No podemos usar una herramienta que desconocemos.
  8. Y si es tan bueno, ¿qué podemos obtener de un experimento?
  9. Con la experimentación podemos saber si hay o no una relación entre dos o más variables
  10. Relación descriptiva: Encontramos algunos patrones de comportamiento entre variables, pero la relación exacta es desconocida. Por ejemplo, cuando sabemos que si la fase de requisitos se toma más tiempo de lo esperado, las otras fases también lo harán.Correlación: La relación entre dos variables se puede definir por una función, pero no podemos distinguir entre la causa y el efecto. Por ejemplo, si el desarrollo se demora más porque hay muchos bugs, o si hay muchos bugs porque el desarrollo se demora más.Causalidad: Cuando podemos definir la relación con una función, pero además sabemos que variable causa qué. Este es el grado de conocimiento al que debemos apuntar.
  11. Para poder llegar a eso, tenemos que seguir un proceso. No podemos simplemente tener un experimento por arte de magia.
  12. Pero no es un proceso complicado.
  13. Lo primero, es qué comparamos: ¿cuál es mejor? ¿Tiempo? ¿Facilidad de entendimiento? ¿Cuál encuentra más errores? ¿cuál encuentra los errores más difíciles?Con estas preguntas estamos definiendo los objetivos del experimento. Estos objetivos son los que van a dictar el diseño.
  14. ¿Cómo lo harían? ¿qué necesitamos tener en cuenta?
  15. Explicar diseño en bloque: Hay que tener en cuenta el orden, quienes la aplican.
  16. Mencionar el factor humano.
  17. Ojo: este código tiene que tener errores, y tienen que ser controlados.
  18. http://www.flickr.com/photos/ebarney/3348965239/sizes/l/in/photostream/
  19. Un experimentoesunaventanaparaobservarunapoblación¿De quienesqueremossacarconclusiones?
  20. entrenamiento
  21. Forma de medición: valor cualitiativo, radio/porcentaje, valor absoluto, todo depende de que queramos medir.
  22. Y con todo esto, ¿ya terminamos?La verdad es que no, falta mucho por hacer.
  23. Hay que ejecutar el experimento como tal, que los sujetos vayan al laboratorio y ejecuten las pruebas, hay que entrenarlos si es del caso, recoger toda la documentación, analizarla, clasificarla.
  24. Es necesario realizar un análisis estadístico para examinar los datos. Por ejemplo, estamos trabajando con una muestra, y necesitamos reglas estadísticas para asegurar que esta sí sea representativa de la población. Estos análisis también nos sirven para distinguir si las relaciones son reales o se deben simplemente al azar.
  25. La replicación puede ser interna o externa. Con la interna, mejoramos nuestras mediciones: Los eventos tienen grado de variación aleatoria, si los repetimos varios veces, podemos minimizar el impacto de esto, o eventos que parecen importantes en un solo experimento, no vuelven a suceder en las repeticiones (anécdota)Algo clave de la ciencia es que cualquiera debería poder tomar el diseño, ejecutar un experimento independiente y validar si los resultados son iguales.
  26. Un estudio puede tener resultados impactantes, pero puede estar mal hecho.Hay estudios que han supuestamente demostrado fenómenos sobrenaturales, pero cuando se analizan, se descubre que simplemente no son válidos.
  27. Validez de las conclusiones: Que estadísticamente sí podamos asegurar o rechazar las relaciones entre causa y efecto. Importan: La confianza en las mediciones o la elección correcta de las pruebas estadísticas (por ejemplo, unas pruebas solo funcionan si los datos siguen una distribución normal.Validez interna: Problemas con el diseño del experimento, por ejemplo, si no se controló alguna variable importante. Por ejemplo, si en nuestro caso no hubiéramos tenido en cuenta el orden de aplicación de la técnica.Validez del constructo: Que la relación entre la teoría y las observaciones si sean válidas. Si las inferencias teóricas son legítimas (ejemplo «medicina cuántica»)Validez externa: Si los resultados del experimento son generalizables para toda la población.