SlideShare uma empresa Scribd logo
1 de 51
Baixar para ler offline
@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!

Mais conteúdo relacionado

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

Introduccion a Azure Machine Learning.pptx
Introduccion a Azure Machine Learning.pptxIntroduccion a Azure Machine Learning.pptx
Introduccion a Azure Machine Learning.pptxLuis775803
 
Aprendizaje Automático con Python
Aprendizaje Automático con PythonAprendizaje Automático con Python
Aprendizaje Automático con PythonRaú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.pptxAdeliSNavarro
 
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 .netLuis 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 2016Beatriz Martín @zigiella
 
Testing Software
Testing SoftwareTesting Software
Testing Softwareanovacampus
 
El aprendizaje automático es divertido
El aprendizaje automático es divertidoEl aprendizaje automático es divertido
El aprendizaje automático es divertidoCarlos 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-UNLPablo 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 BigMLMSc 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 LearningStratebi
 
Algoritmos genéticos
Algoritmos genéticosAlgoritmos genéticos
Algoritmos genéticosEducagratis
 

Semelhante 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
 

Mais 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 opcionalTestingUy
 
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 testingTestingUy
 
TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020TestingUy
 
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 continuoTestingUy
 
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 youTestingUy
 
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 JMeterTestingUy
 
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 TesterTestingUy
 
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 PactTestingUy
 
Charla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbotsCharla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbotsTestingUy
 
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 nivelTestingUy
 
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
 

Mais 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

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 

Último (20)

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 

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!