SlideShare una empresa de Scribd logo
@herbert_juliana | #testinguy
TALLER
Juliana Herbert
julianash@ufcspa.edu.br
@herbert_juliana
13 y 14 de mayo, 2019
testinguy.org
@testinguy | #testinguy
MACHINE LEARNING
PARA REFINAR EL
TESTING DE
SOFTWARE
@herbert_juliana | #testinguy
PresentaciónPresentaciónPresentaciónPresentación
• Soy profesora en la Universidade Federal de Ciências da Saúde de Porto
Alegre (UFCSPA) - https://www.ufcspa.edu.br/ - en el área de Informática
Biomédica.
• También soy investigadora asociada de PEDECIBA-Informática, en UdelaR.
• Trabajo con testing de software desde 1991.
• Mis tesis de maestría y de doctorado fueron sobre testing de software.
• Uso el machine learning como herramienta para mejorar mi proceso de
testing.
@herbert_juliana | #testinguy
AgendaAgendaAgendaAgenda
I. Introducción
II. Datos Generados por el Testing
III. Inteligencia Artificial
IV. Machine Learning (ML)
V. ML en el Testing
VI. Consideraciones Finales
@herbert_juliana | #testinguy
IntroducciónIntroducciónIntroducciónIntroducción
“Testing es el proceso de ejecutar el programa con la intención de encontrar
errores.”
Glendford Myers, 1979
“Una investigación técnica hecha para identificar información relacionada a
la calidad del producto en testing.”
Cem Kaner, 2004
@herbert_juliana | #testinguy
IntroducciónIntroducciónIntroducciónIntroducción
https://dle.rae.es/?w=restricci%C3%B3n
@herbert_juliana | #testinguy
IntroducciónIntroducciónIntroducciónIntroducción
Restricciones
de tiempo y
de
presupuesto.
Necesidad de
obtener
mucha
información.
Casos de
testing que
identifiquen
errores.
Aprendizaje
sobre el
software.
¿Lo que tenemos en el testing?
@herbert_juliana | #testinguy
Datos GeneradosDatos GeneradosDatos GeneradosDatos Generados
por el Testingpor el Testingpor el Testingpor el Testing
DATOS
SOBRE…
El código del
software.
El perfil de
las
personas.
La
complejidad
del sistema.
La
complejidad
del dominio.
Tendencias
de tipos de
defectos.
@herbert_juliana | #testinguy
DesafíosDesafíosDesafíosDesafíos
• Utilizar de la mejor forma posible los datos generados por el testing.
• Generar casos de testing que tengan más probabilidad de encontrar
defectos.
• ¡Hacer todo considerando las restricciones comunes de tiempo,
presupuesto y de recursos que tenemos en el testing!
@herbert_juliana | #testinguy
AgendaAgendaAgendaAgenda
I. Introducción
II. Datos Generados por el Testing
III. Inteligencia Artificial
IV. Machine Learning (ML)
V. ML en el Testing
VI. Consideraciones Finales
@herbert_juliana | #testinguy
Inteligencia ArtificialInteligencia ArtificialInteligencia ArtificialInteligencia Artificial
• Capacidad de las máquinas de “resolver los tipos de problemas que
hoy son reservados para los seres humanos” – John McCarthy, 1956.
@herbert_juliana | #testinguy
Inteligencia ArtificialInteligencia ArtificialInteligencia ArtificialInteligencia Artificial
Modelos de Datos
Poder de
Procesamiento
Big Data
IA
@herbert_juliana | #testinguy
Inteligencia ArtificialInteligencia ArtificialInteligencia ArtificialInteligencia Artificial ---- Algunos Ejemplos ConocidosAlgunos Ejemplos ConocidosAlgunos Ejemplos ConocidosAlgunos Ejemplos Conocidos
Siri.
Amazon Alexa.
Reconocimiento de imágenes de Facebook.
Búsquedas en Google.
Identificación de rutas por Waze.
@herbert_juliana | #testinguy
MachineMachineMachineMachine LearningLearningLearningLearning
Datos de Entrada
Computadora
(Reglas)
Salidas
PROGRAMACIÓN TRADICIONAL
@herbert_juliana | #testinguy
MachineMachineMachineMachine LearningLearningLearningLearning
Datos de Entrada
Computadora
(Reglas)
Salidas
MACHINE LEARNING
@herbert_juliana | #testinguy
MachineMachineMachineMachine LearningLearningLearningLearning –––– Fase deFase deFase deFase de LearningLearningLearningLearning
Datos de
Entrenamiento
Vector de
Features
Algoritmo
Modelo
@herbert_juliana | #testinguy
MachineMachineMachineMachine LearningLearningLearningLearning –––– Fase de InferenciaFase de InferenciaFase de InferenciaFase de Inferencia
Datos de
Prueba
Vector de
Features
Modelo
Predicción
@herbert_juliana | #testinguy
Proceso GeneralProceso GeneralProceso GeneralProceso General
1 - Definir una
pregunta.
2 - Colectar
datos.
3 - Visualizar
datos.
6 - Entrenar el
algoritmo.
5 - Probar el
algoritmo.
4 - Colectar
feedback.
7 - Refinar el
algoritmo.
8 - Repetir las
etapas 4 a 7 hasta
que sea
necesario.
9 - Usar el
modelo para
hacer
predicciones.
@herbert_juliana | #testinguy
Tipos de MachineTipos de MachineTipos de MachineTipos de Machine LearningLearningLearningLearning
Fuente: https://www.guru99.com/machine-learning-tutorial.html
@herbert_juliana | #testinguy
Aprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con Supervisión
• El algoritmo usa datos de entrenamiento y de feedback de personas
para aprender la relación entre datos de entrada y datos de salida.
Regresión – cuando las
características son
continuas.
Clasificación – cuando
las características son
discretas.
@herbert_juliana | #testinguy
Aprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con Supervisión ---- ClasificaciónClasificaciónClasificaciónClasificación
• Genero del Cliente
• Altura
• Peso
• Sueldo
• Productos Comprados
• Hora de la Compra
Identificación de la
probabilidad de
genero del cliente,
con base en esos
datos.
@herbert_juliana | #testinguy
Aprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con Supervisión ---- ClasificaciónClasificaciónClasificaciónClasificación
• Caso de Testing
• Defectos Identificados
• Complejidad en Ejecución
• Tipo de Sistema
• Calidad del Proceso de Desarrollo
• Uso de Herramienta de Testing
Caso de Testing
priorizado
con relación a la
probabilidad
de identificación de
defectos.
@herbert_juliana | #testinguy
Aprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con Supervisión
• Ejemplo de técnica: árboles de decisión:
@herbert_juliana | #testinguy
Aprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con Supervisión ---- RegresiónRegresiónRegresiónRegresión
• Regresión lineal:
@herbert_juliana | #testinguy
Aprendizaje sin SupervisiónAprendizaje sin SupervisiónAprendizaje sin SupervisiónAprendizaje sin Supervisión
• Usada cuando es necesario identificar padrones para la clasificación
de los datos.
• No hay relaciones anteriores explícitas entre las variables.
• Identificación de clusters.
@herbert_juliana | #testinguy
Aprendizaje sin SupervisiónAprendizaje sin SupervisiónAprendizaje sin SupervisiónAprendizaje sin Supervisión
• Similitud
• Medida numérica de semejanza entre objetos.
• Valor alto para objetos parecidos.
• A menudo definida en el intervalo [0,1].
• Disimilitud
• Medida numérica de diferencia entre objetos.
• Valor bajo para objetos parecidos.
• Varia entre [0, ∞).
• Usualmente es una distancia.
• Proximidad
• Se refiere a similitud o disimilitud.
@herbert_juliana | #testinguy
Aprendizaje sin SupervisiónAprendizaje sin SupervisiónAprendizaje sin SupervisiónAprendizaje sin Supervisión ---- RegresiónRegresiónRegresiónRegresión
• Regresión lineal:
@herbert_juliana | #testinguy
Sin embargo, hay que tenerSin embargo, hay que tenerSin embargo, hay que tenerSin embargo, hay que tener
algunos cuidados muyalgunos cuidados muyalgunos cuidados muyalgunos cuidados muy
importantes...importantes...importantes...importantes...
@herbert_juliana | #testinguy
Cuidados antes de aplicarCuidados antes de aplicarCuidados antes de aplicarCuidados antes de aplicar
MachineMachineMachineMachine LearningLearningLearningLearning
• Preparación de los datos:
• Caracterización.
• Análisis.
• Preprocesamiento:
• Equilibrio.
• Limpieza.
• Transformaciones.
• Confiabilidad de los datos.
• Eliminación de cualquier parcialidad (bias).
@herbert_juliana | #testinguy
AgendaAgendaAgendaAgenda
I. Introducción
II. Datos Generados por el Testing
III. Inteligencia Artificial
IV. Machine Learning (ML)
V. ML en el Testing
VI. Consideraciones Finales
@herbert_juliana | #testinguy
Machine Learning em el TestingMachine Learning em el TestingMachine Learning em el TestingMachine Learning em el Testing
@herbert_juliana | #testinguy
Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting
• Testing de caja negra.
• Priorización de casos de testing de regresión para probar sistemas.
• Escenario:
• requisitos y casos de testing especificados en lenguaje natural;
• sin acceso al código fuente;
• sin automación del testing.
@herbert_juliana | #testinguy
Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting
• Base: uso de meta-datos y de descripciones de casos de testing en
lenguaje natural.
• Aprendizaje con supervisión.
• Algoritmo: ranked vector machine (SVM rank) – ranking de acuerdo con la
prioridad de los casos de testing.
Clasificación Binaria Clasificación Ranked
@herbert_juliana | #testinguy
Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting
• Aprendizaje con supervisión.
• Algoritmo: ranked vector machine (SVM
rank) – ranking de acuerdo con la
prioridad de los casos de testing.
@herbert_juliana | #testinguy
Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting
• Learning & Clasification:
• Transformación de los datos en vectores
de características (features vector).
• Datos discretos → diretos.
• Lenguaje natural – preprocesamiento
con el uso de un diccionario.
@herbert_juliana | #testinguy
Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting
• Vectores de características (features vector):
• Palabras del diccionario, describiendo el caso de testing.
• Requisitos relacionados al caso de testing (0 o 1);
• Fallos:
• Número de fallos relacionados al caso;
• Severidad de los fallos (soma);
• Age of failures (fallos ya identificados anteriormente).
@herbert_juliana | #testinguy
Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting
• Consideración de precondiciones:
@herbert_juliana | #testinguy
Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting
• Preguntas de investigación:
• Cuán efectivo el la estrategia de priorización de testing?
• El procesamiento de lenguaje natural aumenta la efectividad del testing?
• Cual es la efectividad de la estrategia de priorización propuesta en
comparación a un expert en testing priorizando los casos de testing?
• Cuán eficiente es la estrategia de priorización de casos de testing?
@herbert_juliana | #testinguy
Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting
@herbert_juliana | #testinguy
Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting
@herbert_juliana | #testinguy
Machine Learning em el TestingMachine Learning em el TestingMachine Learning em el TestingMachine Learning em el Testing
@herbert_juliana | #testinguy
Caso 2Caso 2Caso 2Caso 2 –––– MLMLMLML enenenen TestingTestingTestingTesting
• Preguntas de investigación:
• Cual es impacto del uso de las features
de cada caso de testing en la calidad de
los diferentes algoritmos?
• Hay algún algoritmo de ML específico,
más adecuado para la priorización de
caso de testing black box?
• Es posible entrenar el sistema sin la
ayuda de un experto y conseguir
resultados adecuados?
@herbert_juliana | #testinguy
Caso 2Caso 2Caso 2Caso 2 –––– MLMLMLML enenenen TestingTestingTestingTesting
• Algoritmos utilizados:
• Ranked Support Vector Machines (SVM
Rank);
• K-Nearest Neighbor (KNN);
• Regresión lineal;
• Redes neurales.
@herbert_juliana | #testinguy
Uso de Árboles de DecisiónUso de Árboles de DecisiónUso de Árboles de DecisiónUso de Árboles de Decisión
Caso 3 – ML en el Testing
@herbert_juliana | #testinguy
Caso 3Caso 3Caso 3Caso 3 ---- ÁrbolesÁrbolesÁrbolesÁrboles dededede DecisiónDecisiónDecisiónDecisión
@herbert_juliana | #testinguy
Testing de Interfaz GráficaTesting de Interfaz GráficaTesting de Interfaz GráficaTesting de Interfaz Gráfica
Caso 4 – ML en el Testing
@herbert_juliana | #testinguy
Caso 4Caso 4Caso 4Caso 4 –––– Testing de Interfaz GráficaTesting de Interfaz GráficaTesting de Interfaz GráficaTesting de Interfaz Gráfica
• Con ML: no es necesario identificar de antemano todos los problemas
posibles.
• Redes neurales convolucionales para la identificación de patrones en
las pantallas.
@herbert_juliana | #testinguy
Caso 4Caso 4Caso 4Caso 4 –––– Testing de Interfaz GráficaTesting de Interfaz GráficaTesting de Interfaz GráficaTesting de Interfaz Gráfica
• Uso de lenguaje natural para la especificación de los casos de testing.
Fuente: https://rangle.io/blog/better-software-testing-with-machine-learning-2/
@herbert_juliana | #testinguy
Automación del TestingAutomación del TestingAutomación del TestingAutomación del Testing
Caso 5 – ML en el Testing
@herbert_juliana | #testinguy
Herramientas que ya usan MLHerramientas que ya usan MLHerramientas que ya usan MLHerramientas que ya usan ML
• Selenium
• Applitools
• SauceLabs
• Testim
• Sealights
• Test.AI
• Mabl
• ReTest
• ReportPortal
https://endtest.io/
Otras ideas:
https://blog.goodaudience.com/machine-learning-for-automation-testing-
698230917082
https://www.softwaretestpro.com/how-machine-learning-is-being-used-in-
new-age-qa-automation-tools/
https://www.testcraft.io/machine-learning-used-test-automation/
@herbert_juliana | #testinguy
Referencias de Material UtilizadoReferencias de Material UtilizadoReferencias de Material UtilizadoReferencias de Material Utilizado
GÉRON, A. Hands-on Machine Learning with Scikit-Learn, Keras, and
TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems – 2
ed. O´Reilly Media. 2019. 600p.
Kaner, C. et al. Testing Computer Software – 2 ed. John Wiley & Sons. 1999.
496 p.
Kaner, C. et al. The Domain Testing Workbook. Context Driven Press. 2013.
488 p.
Myers, G. J. et al. The Art of Software Testing – 3 ed. Wiley. 2011. 240 p.
TOPOL, E. Deep Medicine: How Artificial Intelligence Can Make Healthcare
Human Again. Basic Books. 2019. 400 p.
@herbert_juliana | #testinguy
Juliana Herbert
julianash@ufcspa.edu.br
@herbert_juliana
13 y 14 de mayo, 2019
testinguy.org | @testinguy | #testinguy
¿PREGUNTAS?
¡MUCHAS GRACIAS!

Más contenido relacionado

Similar a Taller TestingUy 2019 - Machine learning para refinar el testing de software

Resumen
ResumenResumen
Resumen
Esau Krruz
 
Introduccion a Azure Machine Learning.pptx
Introduccion a Azure Machine Learning.pptxIntroduccion a Azure Machine Learning.pptx
Introduccion a Azure Machine Learning.pptx
Luis775803
 
Si no testeo no me lo creo
Si no testeo no me lo creoSi no testeo no me lo creo
Si no testeo no me lo creo
Ricardo García Fernández
 
Aprendizaje Automático con Python
Aprendizaje Automático con PythonAprendizaje Automático con Python
Aprendizaje Automático con Python
Raúl Garreta
 
T01_RYAM_LÓPEZJARA_SALVATIERRANAVARRO_MARCOTEÓRICODEMLYLDPAPLICADOAMINERÍA.pptx
T01_RYAM_LÓPEZJARA_SALVATIERRANAVARRO_MARCOTEÓRICODEMLYLDPAPLICADOAMINERÍA.pptxT01_RYAM_LÓPEZJARA_SALVATIERRANAVARRO_MARCOTEÓRICODEMLYLDPAPLICADOAMINERÍA.pptx
T01_RYAM_LÓPEZJARA_SALVATIERRANAVARRO_MARCOTEÓRICODEMLYLDPAPLICADOAMINERÍA.pptx
AdeliSNavarro
 
Implementando machine learning con c# y .net
Implementando machine learning con c# y .netImplementando machine learning con c# y .net
Implementando machine learning con c# y .net
Luis Beltran
 
Charla evento TestingUY 2017 - Desafíos y Beneficios de implementar un Framew...
Charla evento TestingUY 2017 - Desafíos y Beneficios de implementar un Framew...Charla evento TestingUY 2017 - Desafíos y Beneficios de implementar un Framew...
Charla evento TestingUY 2017 - Desafíos y Beneficios de implementar un Framew...
TestingUy
 
Machine Learning a lo berserker - Software Craftsmanship Barcelona 2016
Machine Learning a lo berserker  - Software Craftsmanship Barcelona 2016Machine Learning a lo berserker  - Software Craftsmanship Barcelona 2016
Machine Learning a lo berserker - Software Craftsmanship Barcelona 2016
Beatriz Martín @zigiella
 
Testing Software
Testing SoftwareTesting Software
Testing Software
anovacampus
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
efrain navarro ore
 
S9-DAW-2022S1.pptx
S9-DAW-2022S1.pptxS9-DAW-2022S1.pptx
S9-DAW-2022S1.pptx
Luis Fernando Aguas Bucheli
 
El aprendizaje automático es divertido
El aprendizaje automático es divertidoEl aprendizaje automático es divertido
El aprendizaje automático es divertido
Carlos Duarte
 
Técnicas de Inteligencia Artificial
Técnicas de Inteligencia Artificial Técnicas de Inteligencia Artificial
Técnicas de Inteligencia Artificial
Gina Mejía
 
Oferta de Trabajos de Titulación CIS-UNL
Oferta de Trabajos de Titulación CIS-UNLOferta de Trabajos de Titulación CIS-UNL
Oferta de Trabajos de Titulación CIS-UNL
Pablo Ordoñez
 
Introducción al Machine Learning con BigML
Introducción al Machine Learning con BigMLIntroducción al Machine Learning con BigML
Introducción al Machine Learning con BigML
MSc Aldo Valdez Alvarado
 
Machine Learning para Todos
Machine Learning para TodosMachine Learning para Todos
Machine Learning para Todos
MSc Aldo Valdez Alvarado
 
Gestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo softwareGestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo softwareLaura M. Castro
 
53 Claves para conocer Machine Learning
53 Claves para conocer Machine Learning53 Claves para conocer Machine Learning
53 Claves para conocer Machine Learning
Stratebi
 
Algoritmos genéticos
Algoritmos genéticosAlgoritmos genéticos
Algoritmos genéticos
Educagratis
 

Similar a Taller TestingUy 2019 - Machine learning para refinar el testing de software (20)

Resumen
ResumenResumen
Resumen
 
Introduccion a Azure Machine Learning.pptx
Introduccion a Azure Machine Learning.pptxIntroduccion a Azure Machine Learning.pptx
Introduccion a Azure Machine Learning.pptx
 
Si no testeo no me lo creo
Si no testeo no me lo creoSi no testeo no me lo creo
Si no testeo no me lo creo
 
Aprendizaje Automático con Python
Aprendizaje Automático con PythonAprendizaje Automático con Python
Aprendizaje Automático con Python
 
T01_RYAM_LÓPEZJARA_SALVATIERRANAVARRO_MARCOTEÓRICODEMLYLDPAPLICADOAMINERÍA.pptx
T01_RYAM_LÓPEZJARA_SALVATIERRANAVARRO_MARCOTEÓRICODEMLYLDPAPLICADOAMINERÍA.pptxT01_RYAM_LÓPEZJARA_SALVATIERRANAVARRO_MARCOTEÓRICODEMLYLDPAPLICADOAMINERÍA.pptx
T01_RYAM_LÓPEZJARA_SALVATIERRANAVARRO_MARCOTEÓRICODEMLYLDPAPLICADOAMINERÍA.pptx
 
Implementando machine learning con c# y .net
Implementando machine learning con c# y .netImplementando machine learning con c# y .net
Implementando machine learning con c# y .net
 
Charla evento TestingUY 2017 - Desafíos y Beneficios de implementar un Framew...
Charla evento TestingUY 2017 - Desafíos y Beneficios de implementar un Framew...Charla evento TestingUY 2017 - Desafíos y Beneficios de implementar un Framew...
Charla evento TestingUY 2017 - Desafíos y Beneficios de implementar un Framew...
 
Machine Learning a lo berserker - Software Craftsmanship Barcelona 2016
Machine Learning a lo berserker  - Software Craftsmanship Barcelona 2016Machine Learning a lo berserker  - Software Craftsmanship Barcelona 2016
Machine Learning a lo berserker - Software Craftsmanship Barcelona 2016
 
Testing Software
Testing SoftwareTesting Software
Testing Software
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
S9-DAW-2022S1.pptx
S9-DAW-2022S1.pptxS9-DAW-2022S1.pptx
S9-DAW-2022S1.pptx
 
El aprendizaje automático es divertido
El aprendizaje automático es divertidoEl aprendizaje automático es divertido
El aprendizaje automático es divertido
 
Técnicas de Inteligencia Artificial
Técnicas de Inteligencia Artificial Técnicas de Inteligencia Artificial
Técnicas de Inteligencia Artificial
 
Oferta de Trabajos de Titulación CIS-UNL
Oferta de Trabajos de Titulación CIS-UNLOferta de Trabajos de Titulación CIS-UNL
Oferta de Trabajos de Titulación CIS-UNL
 
Introducción al Machine Learning con BigML
Introducción al Machine Learning con BigMLIntroducción al Machine Learning con BigML
Introducción al Machine Learning con BigML
 
Machine Learning para Todos
Machine Learning para TodosMachine Learning para Todos
Machine Learning para Todos
 
Gestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo softwareGestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo software
 
53 Claves para conocer Machine Learning
53 Claves para conocer Machine Learning53 Claves para conocer Machine Learning
53 Claves para conocer Machine Learning
 
Algoritmos genéticos
Algoritmos genéticosAlgoritmos genéticos
Algoritmos genéticos
 

Más de TestingUy

Webinar TestingUy - Cuando el testing no es opcional
Webinar TestingUy - Cuando el testing no es opcionalWebinar TestingUy - Cuando el testing no es opcional
Webinar TestingUy - Cuando el testing no es opcional
TestingUy
 
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
TestingUy
 
Webinar TestingUy - Sesgos cognitivos en las pruebas. El lado más humano de...
Webinar TestingUy -   Sesgos cognitivos en las pruebas. El lado más humano de...Webinar TestingUy -   Sesgos cognitivos en las pruebas. El lado más humano de...
Webinar TestingUy - Sesgos cognitivos en las pruebas. El lado más humano de...
TestingUy
 
Webinar TestingUy - Thinking outside the box: Cognitive bias and testing
Webinar TestingUy - Thinking outside the box: Cognitive bias and testingWebinar TestingUy - Thinking outside the box: Cognitive bias and testing
Webinar TestingUy - Thinking outside the box: Cognitive bias and testing
TestingUy
 
TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020
TestingUy
 
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoMeetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
TestingUy
 
Meetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with youMeetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with you
TestingUy
 
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
TestingUy
 
Meetup TestingUy 2019 - En clave de protocolo con apache JMeter
Meetup TestingUy 2019 - En clave de protocolo con apache JMeterMeetup TestingUy 2019 - En clave de protocolo con apache JMeter
Meetup TestingUy 2019 - En clave de protocolo con apache JMeter
TestingUy
 
Meetup TestingUy 2019 - Si Tony Stark fuera Tester
Meetup TestingUy 2019 - Si Tony Stark fuera TesterMeetup TestingUy 2019 - Si Tony Stark fuera Tester
Meetup TestingUy 2019 - Si Tony Stark fuera Tester
TestingUy
 
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
TestingUy
 
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
TestingUy
 
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
TestingUy
 
Charla TestingUy 2019 - Ready Tester One? Go!
Charla TestingUy 2019 - Ready Tester One? Go!Charla TestingUy 2019 - Ready Tester One? Go!
Charla TestingUy 2019 - Ready Tester One? Go!
TestingUy
 
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
TestingUy
 
Charla TestingUy 2019 - Contract Testing con Pact
Charla TestingUy 2019 - Contract Testing con PactCharla TestingUy 2019 - Contract Testing con Pact
Charla TestingUy 2019 - Contract Testing con Pact
TestingUy
 
Charla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbotsCharla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbots
TestingUy
 
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivelCharla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
TestingUy
 
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
TestingUy
 
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
TestingUy
 

Más de TestingUy (20)

Webinar TestingUy - Cuando el testing no es opcional
Webinar TestingUy - Cuando el testing no es opcionalWebinar TestingUy - Cuando el testing no es opcional
Webinar TestingUy - Cuando el testing no es opcional
 
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
 
Webinar TestingUy - Sesgos cognitivos en las pruebas. El lado más humano de...
Webinar TestingUy -   Sesgos cognitivos en las pruebas. El lado más humano de...Webinar TestingUy -   Sesgos cognitivos en las pruebas. El lado más humano de...
Webinar TestingUy - Sesgos cognitivos en las pruebas. El lado más humano de...
 
Webinar TestingUy - Thinking outside the box: Cognitive bias and testing
Webinar TestingUy - Thinking outside the box: Cognitive bias and testingWebinar TestingUy - Thinking outside the box: Cognitive bias and testing
Webinar TestingUy - Thinking outside the box: Cognitive bias and testing
 
TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020
 
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoMeetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
 
Meetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with youMeetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with you
 
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
 
Meetup TestingUy 2019 - En clave de protocolo con apache JMeter
Meetup TestingUy 2019 - En clave de protocolo con apache JMeterMeetup TestingUy 2019 - En clave de protocolo con apache JMeter
Meetup TestingUy 2019 - En clave de protocolo con apache JMeter
 
Meetup TestingUy 2019 - Si Tony Stark fuera Tester
Meetup TestingUy 2019 - Si Tony Stark fuera TesterMeetup TestingUy 2019 - Si Tony Stark fuera Tester
Meetup TestingUy 2019 - Si Tony Stark fuera Tester
 
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
 
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
 
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
 
Charla TestingUy 2019 - Ready Tester One? Go!
Charla TestingUy 2019 - Ready Tester One? Go!Charla TestingUy 2019 - Ready Tester One? Go!
Charla TestingUy 2019 - Ready Tester One? Go!
 
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
 
Charla TestingUy 2019 - Contract Testing con Pact
Charla TestingUy 2019 - Contract Testing con PactCharla TestingUy 2019 - Contract Testing con Pact
Charla TestingUy 2019 - Contract Testing con Pact
 
Charla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbotsCharla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbots
 
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivelCharla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
 
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
 
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
 

Último

DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
IsabelQuintero36
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Todo sobre Minirobotica. Revista Saber Electronica
Todo sobre  Minirobotica. Revista Saber ElectronicaTodo sobre  Minirobotica. Revista Saber Electronica
Todo sobre Minirobotica. Revista Saber Electronica
Carlos Carlosnoemi
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
yuki22434
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
aljitagallego
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
AMADO SALVADOR
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
tamarita881
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
alejandromanuelve
 

Último (20)

DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Todo sobre Minirobotica. Revista Saber Electronica
Todo sobre  Minirobotica. Revista Saber ElectronicaTodo sobre  Minirobotica. Revista Saber Electronica
Todo sobre Minirobotica. Revista Saber Electronica
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
 

Taller TestingUy 2019 - Machine learning para refinar el testing de software

  • 1. @herbert_juliana | #testinguy TALLER Juliana Herbert julianash@ufcspa.edu.br @herbert_juliana 13 y 14 de mayo, 2019 testinguy.org @testinguy | #testinguy MACHINE LEARNING PARA REFINAR EL TESTING DE SOFTWARE
  • 2. @herbert_juliana | #testinguy PresentaciónPresentaciónPresentaciónPresentación • Soy profesora en la Universidade Federal de Ciências da Saúde de Porto Alegre (UFCSPA) - https://www.ufcspa.edu.br/ - en el área de Informática Biomédica. • También soy investigadora asociada de PEDECIBA-Informática, en UdelaR. • Trabajo con testing de software desde 1991. • Mis tesis de maestría y de doctorado fueron sobre testing de software. • Uso el machine learning como herramienta para mejorar mi proceso de testing.
  • 3. @herbert_juliana | #testinguy AgendaAgendaAgendaAgenda I. Introducción II. Datos Generados por el Testing III. Inteligencia Artificial IV. Machine Learning (ML) V. ML en el Testing VI. Consideraciones Finales
  • 4. @herbert_juliana | #testinguy IntroducciónIntroducciónIntroducciónIntroducción “Testing es el proceso de ejecutar el programa con la intención de encontrar errores.” Glendford Myers, 1979 “Una investigación técnica hecha para identificar información relacionada a la calidad del producto en testing.” Cem Kaner, 2004
  • 6. @herbert_juliana | #testinguy IntroducciónIntroducciónIntroducciónIntroducción Restricciones de tiempo y de presupuesto. Necesidad de obtener mucha información. Casos de testing que identifiquen errores. Aprendizaje sobre el software. ¿Lo que tenemos en el testing?
  • 7. @herbert_juliana | #testinguy Datos GeneradosDatos GeneradosDatos GeneradosDatos Generados por el Testingpor el Testingpor el Testingpor el Testing DATOS SOBRE… El código del software. El perfil de las personas. La complejidad del sistema. La complejidad del dominio. Tendencias de tipos de defectos.
  • 8. @herbert_juliana | #testinguy DesafíosDesafíosDesafíosDesafíos • Utilizar de la mejor forma posible los datos generados por el testing. • Generar casos de testing que tengan más probabilidad de encontrar defectos. • ¡Hacer todo considerando las restricciones comunes de tiempo, presupuesto y de recursos que tenemos en el testing!
  • 9. @herbert_juliana | #testinguy AgendaAgendaAgendaAgenda I. Introducción II. Datos Generados por el Testing III. Inteligencia Artificial IV. Machine Learning (ML) V. ML en el Testing VI. Consideraciones Finales
  • 10. @herbert_juliana | #testinguy Inteligencia ArtificialInteligencia ArtificialInteligencia ArtificialInteligencia Artificial • Capacidad de las máquinas de “resolver los tipos de problemas que hoy son reservados para los seres humanos” – John McCarthy, 1956.
  • 11. @herbert_juliana | #testinguy Inteligencia ArtificialInteligencia ArtificialInteligencia ArtificialInteligencia Artificial Modelos de Datos Poder de Procesamiento Big Data IA
  • 12. @herbert_juliana | #testinguy Inteligencia ArtificialInteligencia ArtificialInteligencia ArtificialInteligencia Artificial ---- Algunos Ejemplos ConocidosAlgunos Ejemplos ConocidosAlgunos Ejemplos ConocidosAlgunos Ejemplos Conocidos Siri. Amazon Alexa. Reconocimiento de imágenes de Facebook. Búsquedas en Google. Identificación de rutas por Waze.
  • 13. @herbert_juliana | #testinguy MachineMachineMachineMachine LearningLearningLearningLearning Datos de Entrada Computadora (Reglas) Salidas PROGRAMACIÓN TRADICIONAL
  • 14. @herbert_juliana | #testinguy MachineMachineMachineMachine LearningLearningLearningLearning Datos de Entrada Computadora (Reglas) Salidas MACHINE LEARNING
  • 15. @herbert_juliana | #testinguy MachineMachineMachineMachine LearningLearningLearningLearning –––– Fase deFase deFase deFase de LearningLearningLearningLearning Datos de Entrenamiento Vector de Features Algoritmo Modelo
  • 16. @herbert_juliana | #testinguy MachineMachineMachineMachine LearningLearningLearningLearning –––– Fase de InferenciaFase de InferenciaFase de InferenciaFase de Inferencia Datos de Prueba Vector de Features Modelo Predicción
  • 17. @herbert_juliana | #testinguy Proceso GeneralProceso GeneralProceso GeneralProceso General 1 - Definir una pregunta. 2 - Colectar datos. 3 - Visualizar datos. 6 - Entrenar el algoritmo. 5 - Probar el algoritmo. 4 - Colectar feedback. 7 - Refinar el algoritmo. 8 - Repetir las etapas 4 a 7 hasta que sea necesario. 9 - Usar el modelo para hacer predicciones.
  • 18. @herbert_juliana | #testinguy Tipos de MachineTipos de MachineTipos de MachineTipos de Machine LearningLearningLearningLearning Fuente: https://www.guru99.com/machine-learning-tutorial.html
  • 19. @herbert_juliana | #testinguy Aprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con Supervisión • El algoritmo usa datos de entrenamiento y de feedback de personas para aprender la relación entre datos de entrada y datos de salida. Regresión – cuando las características son continuas. Clasificación – cuando las características son discretas.
  • 20. @herbert_juliana | #testinguy Aprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con Supervisión ---- ClasificaciónClasificaciónClasificaciónClasificación • Genero del Cliente • Altura • Peso • Sueldo • Productos Comprados • Hora de la Compra Identificación de la probabilidad de genero del cliente, con base en esos datos.
  • 21. @herbert_juliana | #testinguy Aprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con Supervisión ---- ClasificaciónClasificaciónClasificaciónClasificación • Caso de Testing • Defectos Identificados • Complejidad en Ejecución • Tipo de Sistema • Calidad del Proceso de Desarrollo • Uso de Herramienta de Testing Caso de Testing priorizado con relación a la probabilidad de identificación de defectos.
  • 22. @herbert_juliana | #testinguy Aprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con Supervisión • Ejemplo de técnica: árboles de decisión:
  • 23. @herbert_juliana | #testinguy Aprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con SupervisiónAprendizaje con Supervisión ---- RegresiónRegresiónRegresiónRegresión • Regresión lineal:
  • 24. @herbert_juliana | #testinguy Aprendizaje sin SupervisiónAprendizaje sin SupervisiónAprendizaje sin SupervisiónAprendizaje sin Supervisión • Usada cuando es necesario identificar padrones para la clasificación de los datos. • No hay relaciones anteriores explícitas entre las variables. • Identificación de clusters.
  • 25. @herbert_juliana | #testinguy Aprendizaje sin SupervisiónAprendizaje sin SupervisiónAprendizaje sin SupervisiónAprendizaje sin Supervisión • Similitud • Medida numérica de semejanza entre objetos. • Valor alto para objetos parecidos. • A menudo definida en el intervalo [0,1]. • Disimilitud • Medida numérica de diferencia entre objetos. • Valor bajo para objetos parecidos. • Varia entre [0, ∞). • Usualmente es una distancia. • Proximidad • Se refiere a similitud o disimilitud.
  • 26. @herbert_juliana | #testinguy Aprendizaje sin SupervisiónAprendizaje sin SupervisiónAprendizaje sin SupervisiónAprendizaje sin Supervisión ---- RegresiónRegresiónRegresiónRegresión • Regresión lineal:
  • 27. @herbert_juliana | #testinguy Sin embargo, hay que tenerSin embargo, hay que tenerSin embargo, hay que tenerSin embargo, hay que tener algunos cuidados muyalgunos cuidados muyalgunos cuidados muyalgunos cuidados muy importantes...importantes...importantes...importantes...
  • 28. @herbert_juliana | #testinguy Cuidados antes de aplicarCuidados antes de aplicarCuidados antes de aplicarCuidados antes de aplicar MachineMachineMachineMachine LearningLearningLearningLearning • Preparación de los datos: • Caracterización. • Análisis. • Preprocesamiento: • Equilibrio. • Limpieza. • Transformaciones. • Confiabilidad de los datos. • Eliminación de cualquier parcialidad (bias).
  • 29. @herbert_juliana | #testinguy AgendaAgendaAgendaAgenda I. Introducción II. Datos Generados por el Testing III. Inteligencia Artificial IV. Machine Learning (ML) V. ML en el Testing VI. Consideraciones Finales
  • 30. @herbert_juliana | #testinguy Machine Learning em el TestingMachine Learning em el TestingMachine Learning em el TestingMachine Learning em el Testing
  • 31. @herbert_juliana | #testinguy Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting • Testing de caja negra. • Priorización de casos de testing de regresión para probar sistemas. • Escenario: • requisitos y casos de testing especificados en lenguaje natural; • sin acceso al código fuente; • sin automación del testing.
  • 32. @herbert_juliana | #testinguy Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting • Base: uso de meta-datos y de descripciones de casos de testing en lenguaje natural. • Aprendizaje con supervisión. • Algoritmo: ranked vector machine (SVM rank) – ranking de acuerdo con la prioridad de los casos de testing. Clasificación Binaria Clasificación Ranked
  • 33. @herbert_juliana | #testinguy Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting • Aprendizaje con supervisión. • Algoritmo: ranked vector machine (SVM rank) – ranking de acuerdo con la prioridad de los casos de testing.
  • 34. @herbert_juliana | #testinguy Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting • Learning & Clasification: • Transformación de los datos en vectores de características (features vector). • Datos discretos → diretos. • Lenguaje natural – preprocesamiento con el uso de un diccionario.
  • 35. @herbert_juliana | #testinguy Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting • Vectores de características (features vector): • Palabras del diccionario, describiendo el caso de testing. • Requisitos relacionados al caso de testing (0 o 1); • Fallos: • Número de fallos relacionados al caso; • Severidad de los fallos (soma); • Age of failures (fallos ya identificados anteriormente).
  • 36. @herbert_juliana | #testinguy Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting • Consideración de precondiciones:
  • 37. @herbert_juliana | #testinguy Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting • Preguntas de investigación: • Cuán efectivo el la estrategia de priorización de testing? • El procesamiento de lenguaje natural aumenta la efectividad del testing? • Cual es la efectividad de la estrategia de priorización propuesta en comparación a un expert en testing priorizando los casos de testing? • Cuán eficiente es la estrategia de priorización de casos de testing?
  • 38. @herbert_juliana | #testinguy Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting
  • 39. @herbert_juliana | #testinguy Caso 1Caso 1Caso 1Caso 1 –––– MLMLMLML enenenen elelelel TestingTestingTestingTesting
  • 40. @herbert_juliana | #testinguy Machine Learning em el TestingMachine Learning em el TestingMachine Learning em el TestingMachine Learning em el Testing
  • 41. @herbert_juliana | #testinguy Caso 2Caso 2Caso 2Caso 2 –––– MLMLMLML enenenen TestingTestingTestingTesting • Preguntas de investigación: • Cual es impacto del uso de las features de cada caso de testing en la calidad de los diferentes algoritmos? • Hay algún algoritmo de ML específico, más adecuado para la priorización de caso de testing black box? • Es posible entrenar el sistema sin la ayuda de un experto y conseguir resultados adecuados?
  • 42. @herbert_juliana | #testinguy Caso 2Caso 2Caso 2Caso 2 –––– MLMLMLML enenenen TestingTestingTestingTesting • Algoritmos utilizados: • Ranked Support Vector Machines (SVM Rank); • K-Nearest Neighbor (KNN); • Regresión lineal; • Redes neurales.
  • 43. @herbert_juliana | #testinguy Uso de Árboles de DecisiónUso de Árboles de DecisiónUso de Árboles de DecisiónUso de Árboles de Decisión Caso 3 – ML en el Testing
  • 44. @herbert_juliana | #testinguy Caso 3Caso 3Caso 3Caso 3 ---- ÁrbolesÁrbolesÁrbolesÁrboles dededede DecisiónDecisiónDecisiónDecisión
  • 45. @herbert_juliana | #testinguy Testing de Interfaz GráficaTesting de Interfaz GráficaTesting de Interfaz GráficaTesting de Interfaz Gráfica Caso 4 – ML en el Testing
  • 46. @herbert_juliana | #testinguy Caso 4Caso 4Caso 4Caso 4 –––– Testing de Interfaz GráficaTesting de Interfaz GráficaTesting de Interfaz GráficaTesting de Interfaz Gráfica • Con ML: no es necesario identificar de antemano todos los problemas posibles. • Redes neurales convolucionales para la identificación de patrones en las pantallas.
  • 47. @herbert_juliana | #testinguy Caso 4Caso 4Caso 4Caso 4 –––– Testing de Interfaz GráficaTesting de Interfaz GráficaTesting de Interfaz GráficaTesting de Interfaz Gráfica • Uso de lenguaje natural para la especificación de los casos de testing. Fuente: https://rangle.io/blog/better-software-testing-with-machine-learning-2/
  • 48. @herbert_juliana | #testinguy Automación del TestingAutomación del TestingAutomación del TestingAutomación del Testing Caso 5 – ML en el Testing
  • 49. @herbert_juliana | #testinguy Herramientas que ya usan MLHerramientas que ya usan MLHerramientas que ya usan MLHerramientas que ya usan ML • Selenium • Applitools • SauceLabs • Testim • Sealights • Test.AI • Mabl • ReTest • ReportPortal https://endtest.io/ Otras ideas: https://blog.goodaudience.com/machine-learning-for-automation-testing- 698230917082 https://www.softwaretestpro.com/how-machine-learning-is-being-used-in- new-age-qa-automation-tools/ https://www.testcraft.io/machine-learning-used-test-automation/
  • 50. @herbert_juliana | #testinguy Referencias de Material UtilizadoReferencias de Material UtilizadoReferencias de Material UtilizadoReferencias de Material Utilizado GÉRON, A. Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems – 2 ed. O´Reilly Media. 2019. 600p. Kaner, C. et al. Testing Computer Software – 2 ed. John Wiley & Sons. 1999. 496 p. Kaner, C. et al. The Domain Testing Workbook. Context Driven Press. 2013. 488 p. Myers, G. J. et al. The Art of Software Testing – 3 ed. Wiley. 2011. 240 p. TOPOL, E. Deep Medicine: How Artificial Intelligence Can Make Healthcare Human Again. Basic Books. 2019. 400 p.
  • 51. @herbert_juliana | #testinguy Juliana Herbert julianash@ufcspa.edu.br @herbert_juliana 13 y 14 de mayo, 2019 testinguy.org | @testinguy | #testinguy ¿PREGUNTAS? ¡MUCHAS GRACIAS!