SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Prácticas modernas de pruebas basadas en Lean/Agile
Automatización de Pruebas
Contenido
• Pirámide de Automatización de las Pruebas
• Pruebas Unitarias Automatizadas
• Integración Continua
• API Level
• UI Level
Pirámide de Automatización de las Pruebas
•Discusión: Porque Automatizar las
Pruebas?
Pirámide de Automatización de las Pruebas
Como suele ser Como debería ser
• Las Pruebas Manuales (p.e. Pruebas Exploratorias) deberían
ser la excepción en lugar que la regla.
• Las pruebas unitarias automatizadas deberían ser la mayoría
Pirámide de Automatización de las Pruebas
Las pruebas Unitarias o de
Componente es el nivel mas bajo
de la pirámide y suelen
ejecutarse mas rápido.
Las pruebas automatizadas a
nivel de Interfaz de Usuario
son lentas de ejecutar, difíciles de
mantener y mas frágiles.
Pirámide de Automatización de las Pruebas
• ACTIVIDAD
• Dibuja como lucen sus pruebas automatizadas
• Donde se enfocan mas?
Contenido
• Pirámide de Automatización de las Pruebas
• Pruebas Unitarias Automatizadas
• Integración Continua
• API Level
• UI Level
Pruebas Unitarias y el Cuadrante de las Pruebas
Pruebas Funcionales
Construimos lo correcto?
Automatizado
(Cucumber, Selenium, etc.)
Pruebas Exploratorias
Usabilidad, Escenarios
UAT
Manual
Q2
Orientada al Negocio
Pruebas Unitarias
Lo construimos bien?
Automatizado
(frameworks xUnit)
Atributos de Calidad
Tiempo de respuesta;
escalabilidad; seguridad
Herramientas
Q1 Q4
Q3
Apoyadoporprogramación
CriticadelProducto
Orientada a la Tecnología
Pruebas Unitarias Automatizadas
•Discusión: Que son pruebas unitarias?
Pruebas Unitarias Automatizadas
Clase
Bajo
Prueba
Clase
Soporte de
Prueba
Reporte
Llamar a método
Verificar resultado
Llamar a método
Verificar resultado
• Prueba de Unitaria o de Componente: Prueba de Componente
Individual
• Por lo general se usan “Frameworks de Pruebas Unitarias”
Frameworks para Pruebas Unitarias
• Existen multiples frameworks de pruebas unitarias
por lenguaje. Por ejemplo:
Lenguaje Unit Test Framework
C# Visual Studio Unit Testing
Framework, Nunit, xUnit.net
JAVA JUnit, JTest, Cactus
Javascript Jasmine, Moche, QUnit
Como estructurar una Prueba Unitaria?
Arrange
Act
Assert
Estandares de nombres para Pruebas Unitarias
• El nombre básico consiste de 3 partes:
• Ejemplos:
Test Doubles
• Son todos aquellos objetos que son creados para
reemplazar a los objetos reales con el propósito
de hacer pruebas
Lenguaje Isolation Mocking Framework
C# Moq, RhinoMock, Typemock , Nsubstitute
JAVA Mockito, EasyMock, Jmock
Ruby RSpec Built-in, Mocha
Frameworks para Pruebas Unitarias
• PRACTICA
• Implementando Pruebas Unitarias Automatizadas
60
Contenido
• Pirámide de las Pruebas
• Pruebas Unitarias Automatizadas
• Integración Continua
• API Level
• UI Level
Integración Tradicional vs Frecuente
Integración Continua
• “Es una práctica donde los miembros de un
equipo integran su trabajo frecuentemente, en
general diariamente, lo que genera varias
integraciones en el día. Cada integración es
verificada por un build automatizado (incuyendo
testing) para detectar errores de integración tan
rápidamente como sea posible”
Contenido
• Pirámide de las Pruebas
• Pruebas Unitarias Automatizadas
• Integración Continua
• API Level
• UI Level
API Level
• Que es una API?
• API es un acronimo de Application Programming
Interface.
• Permite la comunicación e intercambio de datos entre
dos sistemas separados.
• Un sistema de software que implementa una API
contiene funciones/sub-rutinas que serán ejecutadas por
otro software.
API Level
• Una prueba nivel API es enteramente diferente a
una prueba de UI y principalmente se concentra
en la capa de lógica de negocios de la
arquitectura de software. No se concentra en el
“look & feel” de la aplicación.
• En lugar de utilizar en entradas y salidas de
usuario estándar (teclado), en pruebas API, utiliza
software para enviar llamadas a la API, obtener la
salida y verificar la respuesta del sistema.
UI Level
• Pirámide de las Pruebas
• Pruebas Unitarias Automatizadas
• Integración Continua
• API Level
• UI Level
Pruebas de Nivel UI y el Cuadrante de las Pruebas
Pruebas Funcionales
Construimos lo correcto?
Automatizado
(Cucumber, Selenium, etc.)
Pruebas Exploratorias
Usabilidad, Escenarios
UAT
Manual
Q2
Orientada al Negocio
Pruebas Unitarias
Lo construimos bien?
Automatizado
(frameworks xUnit)
Atributos de Calidad
Tiempo de respuesta;
escalabilidad; seguridad
Herramientas
Q1 Q4
Q3
Apoyadoporprogramación
CriticadelProducto
Orientada a la Tecnología
UI Level
• Que son Pruebas de UI?
• Las pruebas de interfaz de usuario (UI) es el proceso de
probar la interfaz del sistema del SUT (subject under
test). UI testing involucra verificar las pantallas con los
controles como menus, botones, iconos, y todos los
tipos de barras - toolbar, menu bar, dialog boxes y
windows, etc.
• Un usuario no ve el código fuente. La interfaz es visible
al usuario. Especialmente el foco es en la estructura del
diseño e imágenes que estén trabajando
apropiadamente.
Selenium WebDriver
Inspeccionar elementos con FireFox Page Inspector
Activando el Page Inspector
• Haga click-derecho sobre un
elemento de la pagina y elija
“Inspect Element”
Seleccionando Elementos
• Seleccionar icono Inspector y
navegar por los elementos de la
pagina Web
Extensiones de FireFox
• Firebug
• FirePath
Abriendo una dirección Web
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Support.UI;
private static IWebDriver driver;
driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://bolsatrabajo.azurews.net/");
Assert.AreEqual(“Bolsa Trabajo", driver.Title,
“Se esperaba el titulo ‘Bolsa Trabajo’);
driver.Quit();
Agregar los namespaces
Implementar la prueba
Navegación por una Pagina
private static IWebDriver driver;
driver = new FirefoxDriver();
IWebElement linkElement = driver.FindElement(By.Id("url1"));
linkElement.Click();
System.Threading.Thread.Sleep(2000);
Assert.AreEqual(Url1, driver.Url, "Url de login incorrecto");
driver.Navigate().Back();
driver.Quit();
Hace click en el hipervinculo “url1” luego retrocede en el navegador
Seleccionando Elementos Web
• Devuelve el primer elemento con el Tag A.
IWebElement we = driver.FindElement(By.TagName(“A”));
• Accede al elemento por su nombre de clase
IWebElement we = driver.FindElement(
By.ClassName(“highlight”));
• Accede al elemento por su Id
IWebElement we = driver.FindElement(By.Id(“next”));
• Accede al element por su Nombre
IWebElement we = driver.FindElement(By.Name(“submit”));
• Encuentra un enlace por su texto
IWebElement we = driver.FindElement(By.LinkText (“news”));
• Encuentra un enlace si se conoce parte de su texto
IWebElement we = driver.FindElement(
By.PartialLinkText(“news”));
Leyendo Textos
private static IWebDriver driver;
driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://bolsatrabajo.azurews.net/");
System.Threading.Thread.Sleep(2000);
IWebElement label =
driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_Label1"));
Assert.AreEqual("Bienvenido !!!", label.Text,
“Se esperaba mensaje ‘Bienvenido !!!’")
driver.Quit();
Prueba que el texto de un elemento web sea el correcto
Envio de Informacion en una Pagina
driver.FindElement(By.Id("Text2")).SendKeys(strLoginName);
driver.FindElement(By.Id("Password2")).SendKeys(“MyPassword");
driver.FindElement(By.Id("Button3")).Click();
Colocando datos en cajas de texto
Enviando Información
IWebElement loginName =
driver.FindElement(By.Id("ctl00_LoginName1"));
Assert.AreEqual("Bienvenido " + strLoginName + " !",
loginName.Text,
“Se esperaba mensaje ‘Bienvenido usuario !’");
Comprobando ingreso
Instalar Selenium WebDriver en Visual Studio
Instalación desde el Administrador de Paquetes Nuget
Instalación desde la Consola
• PM> Install-Package Selenium.WebDriver
COMPATIBILIDAD: WebDriver v2.53.0 es compatible con FireFox 46.0 (x86).
Con FireFox 47.0 no funciona.
UI Level
• PRACTICA
• Implementar BDD a nivel de UI con Specflow y Selenium
WebDriver
• 60 minutos
60

Más contenido relacionado

La actualidad más candente

Web automation using selenium.ppt
Web automation using selenium.pptWeb automation using selenium.ppt
Web automation using selenium.pptAna Sarbescu
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation TestingArchana Krushnan
 
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilTodas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilElias Nogueira
 
What is Test Plan? Edureka
What is Test Plan? EdurekaWhat is Test Plan? Edureka
What is Test Plan? EdurekaEdureka!
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testingdidev
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Ankit Prajapati
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing ProcessIntetics
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-conceptsmedsherb
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and SeleniumKarapet Sarkisyan
 
Best practices for test automation
Best practices for test automationBest practices for test automation
Best practices for test automationDavid Tzemach
 
Selenium locators: ID, Name, xpath, CSS Selector advance methods
Selenium locators: ID, Name,  xpath, CSS Selector advance methodsSelenium locators: ID, Name,  xpath, CSS Selector advance methods
Selenium locators: ID, Name, xpath, CSS Selector advance methodsPankaj Dubey
 
TestNG introduction
TestNG introductionTestNG introduction
TestNG introductionDenis Bazhin
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101QA Hannah
 
Shift Left: En busca del éxito del software
Shift Left: En busca del éxito del softwareShift Left: En busca del éxito del software
Shift Left: En busca del éxito del softwareMarco Avendaño
 
Automation - web testing with selenium
Automation - web testing with seleniumAutomation - web testing with selenium
Automation - web testing with seleniumTzirla Rozental
 
Hybrid framework for test automation
Hybrid framework for test automationHybrid framework for test automation
Hybrid framework for test automationsrivinayak
 

La actualidad más candente (20)

Web automation using selenium.ppt
Web automation using selenium.pptWeb automation using selenium.ppt
Web automation using selenium.ppt
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Selenium-Locators
Selenium-LocatorsSelenium-Locators
Selenium-Locators
 
Introduction to Software Test Automation
Introduction to Software Test AutomationIntroduction to Software Test Automation
Introduction to Software Test Automation
 
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilTodas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
 
What is Test Plan? Edureka
What is Test Plan? EdurekaWhat is Test Plan? Edureka
What is Test Plan? Edureka
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testing
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
Selenium IDE LOCATORS
Selenium IDE LOCATORSSelenium IDE LOCATORS
Selenium IDE LOCATORS
 
Agile testing
Agile testingAgile testing
Agile testing
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and Selenium
 
Best practices for test automation
Best practices for test automationBest practices for test automation
Best practices for test automation
 
Selenium locators: ID, Name, xpath, CSS Selector advance methods
Selenium locators: ID, Name,  xpath, CSS Selector advance methodsSelenium locators: ID, Name,  xpath, CSS Selector advance methods
Selenium locators: ID, Name, xpath, CSS Selector advance methods
 
TestNG introduction
TestNG introductionTestNG introduction
TestNG introduction
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101
 
Shift Left: En busca del éxito del software
Shift Left: En busca del éxito del softwareShift Left: En busca del éxito del software
Shift Left: En busca del éxito del software
 
Automation - web testing with selenium
Automation - web testing with seleniumAutomation - web testing with selenium
Automation - web testing with selenium
 
Hybrid framework for test automation
Hybrid framework for test automationHybrid framework for test automation
Hybrid framework for test automation
 

Destacado (20)

Conceptos de desarrollo ágil
Conceptos de desarrollo ágilConceptos de desarrollo ágil
Conceptos de desarrollo ágil
 
.Avi
.Avi.Avi
.Avi
 
Resistores leccion27
Resistores leccion27Resistores leccion27
Resistores leccion27
 
Tier Elyant, the original brut gold
Tier Elyant, the original brut goldTier Elyant, the original brut gold
Tier Elyant, the original brut gold
 
Equipo
EquipoEquipo
Equipo
 
pixiromatic
pixiromaticpixiromatic
pixiromatic
 
3 servidores1
3 servidores13 servidores1
3 servidores1
 
Exposición almoneda 4
Exposición almoneda 4Exposición almoneda 4
Exposición almoneda 4
 
Waaa
WaaaWaaa
Waaa
 
Batería ejercicios flexibilización tendón poplíteo
Batería ejercicios flexibilización tendón poplíteoBatería ejercicios flexibilización tendón poplíteo
Batería ejercicios flexibilización tendón poplíteo
 
5. n E nA
5. n E nA5. n E nA
5. n E nA
 
Presentació noemí yuste
Presentació noemí yustePresentació noemí yuste
Presentació noemí yuste
 
me gusta carolina
me gusta caroliname gusta carolina
me gusta carolina
 
Exposición carnavales 2012 coches 4
Exposición carnavales 2012 coches 4Exposición carnavales 2012 coches 4
Exposición carnavales 2012 coches 4
 
Taller blogs
Taller blogsTaller blogs
Taller blogs
 
Bloque pacie
Bloque pacieBloque pacie
Bloque pacie
 
Ruchis
Ruchis Ruchis
Ruchis
 
Pruebas exploratorias
Pruebas exploratoriasPruebas exploratorias
Pruebas exploratorias
 
Pruebas de software agiles
Pruebas de software agilesPruebas de software agiles
Pruebas de software agiles
 
Negociación desde el ser
Negociación desde el serNegociación desde el ser
Negociación desde el ser
 

Similar a Automatizacion de Pruebas

Test Automation .NET
Test Automation .NETTest Automation .NET
Test Automation .NETAngel Nuñez
 
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...Federico Toledo
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Abstracta
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJSRodrigo Pimentel
 
Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012Juampy NR
 
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010Globe Testing
 
Tu primer script en Katalon - Paso a Paso
Tu primer script en Katalon - Paso a PasoTu primer script en Katalon - Paso a Paso
Tu primer script en Katalon - Paso a PasoArgentesting
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de softwareGomez Gomez
 
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...TestingAR Meetup
 
Automatización de la calidad con Microsoft Test Manager, CodedUI y Lab Manage...
Automatización de la calidad con Microsoft Test Manager, CodedUI y Lab Manage...Automatización de la calidad con Microsoft Test Manager, CodedUI y Lab Manage...
Automatización de la calidad con Microsoft Test Manager, CodedUI y Lab Manage...Globe Testing
 
Cypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumCypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumSoftware Guru
 
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?Belatrix Software
 
Cómo iniciarme en el mundo de la automatización de pruebas
Cómo iniciarme en el mundo de la automatización de pruebasCómo iniciarme en el mundo de la automatización de pruebas
Cómo iniciarme en el mundo de la automatización de pruebasAbel Quintana Lopez
 

Similar a Automatizacion de Pruebas (20)

Test Automation .NET
Test Automation .NETTest Automation .NET
Test Automation .NET
 
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
 
Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Practicas técnicas
Practicas técnicasPracticas técnicas
Practicas técnicas
 
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010
 
Tu primer script en Katalon - Paso a Paso
Tu primer script en Katalon - Paso a PasoTu primer script en Katalon - Paso a Paso
Tu primer script en Katalon - Paso a Paso
 
Unit testing consejos
Unit testing   consejosUnit testing   consejos
Unit testing consejos
 
ASP.NET MVC Workshop Día 2
ASP.NET MVC Workshop Día 2ASP.NET MVC Workshop Día 2
ASP.NET MVC Workshop Día 2
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Practicas tecnicas
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
 
Automatización de la calidad con Microsoft Test Manager, CodedUI y Lab Manage...
Automatización de la calidad con Microsoft Test Manager, CodedUI y Lab Manage...Automatización de la calidad con Microsoft Test Manager, CodedUI y Lab Manage...
Automatización de la calidad con Microsoft Test Manager, CodedUI y Lab Manage...
 
Cypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumCypress en un mundo lleno de Selenium
Cypress en un mundo lleno de Selenium
 
Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
 
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
 
Cómo iniciarme en el mundo de la automatización de pruebas
Cómo iniciarme en el mundo de la automatización de pruebasCómo iniciarme en el mundo de la automatización de pruebas
Cómo iniciarme en el mundo de la automatización de pruebas
 

Último

PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 

Último (7)

PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 

Automatizacion de Pruebas

  • 1. Prácticas modernas de pruebas basadas en Lean/Agile Automatización de Pruebas
  • 2. Contenido • Pirámide de Automatización de las Pruebas • Pruebas Unitarias Automatizadas • Integración Continua • API Level • UI Level
  • 3. Pirámide de Automatización de las Pruebas •Discusión: Porque Automatizar las Pruebas?
  • 4. Pirámide de Automatización de las Pruebas Como suele ser Como debería ser • Las Pruebas Manuales (p.e. Pruebas Exploratorias) deberían ser la excepción en lugar que la regla. • Las pruebas unitarias automatizadas deberían ser la mayoría
  • 5. Pirámide de Automatización de las Pruebas Las pruebas Unitarias o de Componente es el nivel mas bajo de la pirámide y suelen ejecutarse mas rápido. Las pruebas automatizadas a nivel de Interfaz de Usuario son lentas de ejecutar, difíciles de mantener y mas frágiles.
  • 6. Pirámide de Automatización de las Pruebas • ACTIVIDAD • Dibuja como lucen sus pruebas automatizadas • Donde se enfocan mas?
  • 7. Contenido • Pirámide de Automatización de las Pruebas • Pruebas Unitarias Automatizadas • Integración Continua • API Level • UI Level
  • 8. Pruebas Unitarias y el Cuadrante de las Pruebas Pruebas Funcionales Construimos lo correcto? Automatizado (Cucumber, Selenium, etc.) Pruebas Exploratorias Usabilidad, Escenarios UAT Manual Q2 Orientada al Negocio Pruebas Unitarias Lo construimos bien? Automatizado (frameworks xUnit) Atributos de Calidad Tiempo de respuesta; escalabilidad; seguridad Herramientas Q1 Q4 Q3 Apoyadoporprogramación CriticadelProducto Orientada a la Tecnología
  • 10. Pruebas Unitarias Automatizadas Clase Bajo Prueba Clase Soporte de Prueba Reporte Llamar a método Verificar resultado Llamar a método Verificar resultado • Prueba de Unitaria o de Componente: Prueba de Componente Individual • Por lo general se usan “Frameworks de Pruebas Unitarias”
  • 11. Frameworks para Pruebas Unitarias • Existen multiples frameworks de pruebas unitarias por lenguaje. Por ejemplo: Lenguaje Unit Test Framework C# Visual Studio Unit Testing Framework, Nunit, xUnit.net JAVA JUnit, JTest, Cactus Javascript Jasmine, Moche, QUnit
  • 12. Como estructurar una Prueba Unitaria? Arrange Act Assert
  • 13. Estandares de nombres para Pruebas Unitarias • El nombre básico consiste de 3 partes: • Ejemplos:
  • 14. Test Doubles • Son todos aquellos objetos que son creados para reemplazar a los objetos reales con el propósito de hacer pruebas Lenguaje Isolation Mocking Framework C# Moq, RhinoMock, Typemock , Nsubstitute JAVA Mockito, EasyMock, Jmock Ruby RSpec Built-in, Mocha
  • 15. Frameworks para Pruebas Unitarias • PRACTICA • Implementando Pruebas Unitarias Automatizadas 60
  • 16. Contenido • Pirámide de las Pruebas • Pruebas Unitarias Automatizadas • Integración Continua • API Level • UI Level
  • 18. Integración Continua • “Es una práctica donde los miembros de un equipo integran su trabajo frecuentemente, en general diariamente, lo que genera varias integraciones en el día. Cada integración es verificada por un build automatizado (incuyendo testing) para detectar errores de integración tan rápidamente como sea posible”
  • 19. Contenido • Pirámide de las Pruebas • Pruebas Unitarias Automatizadas • Integración Continua • API Level • UI Level
  • 20. API Level • Que es una API? • API es un acronimo de Application Programming Interface. • Permite la comunicación e intercambio de datos entre dos sistemas separados. • Un sistema de software que implementa una API contiene funciones/sub-rutinas que serán ejecutadas por otro software.
  • 21. API Level • Una prueba nivel API es enteramente diferente a una prueba de UI y principalmente se concentra en la capa de lógica de negocios de la arquitectura de software. No se concentra en el “look & feel” de la aplicación. • En lugar de utilizar en entradas y salidas de usuario estándar (teclado), en pruebas API, utiliza software para enviar llamadas a la API, obtener la salida y verificar la respuesta del sistema.
  • 22. UI Level • Pirámide de las Pruebas • Pruebas Unitarias Automatizadas • Integración Continua • API Level • UI Level
  • 23. Pruebas de Nivel UI y el Cuadrante de las Pruebas Pruebas Funcionales Construimos lo correcto? Automatizado (Cucumber, Selenium, etc.) Pruebas Exploratorias Usabilidad, Escenarios UAT Manual Q2 Orientada al Negocio Pruebas Unitarias Lo construimos bien? Automatizado (frameworks xUnit) Atributos de Calidad Tiempo de respuesta; escalabilidad; seguridad Herramientas Q1 Q4 Q3 Apoyadoporprogramación CriticadelProducto Orientada a la Tecnología
  • 24. UI Level • Que son Pruebas de UI? • Las pruebas de interfaz de usuario (UI) es el proceso de probar la interfaz del sistema del SUT (subject under test). UI testing involucra verificar las pantallas con los controles como menus, botones, iconos, y todos los tipos de barras - toolbar, menu bar, dialog boxes y windows, etc. • Un usuario no ve el código fuente. La interfaz es visible al usuario. Especialmente el foco es en la estructura del diseño e imágenes que estén trabajando apropiadamente.
  • 26. Inspeccionar elementos con FireFox Page Inspector Activando el Page Inspector • Haga click-derecho sobre un elemento de la pagina y elija “Inspect Element” Seleccionando Elementos • Seleccionar icono Inspector y navegar por los elementos de la pagina Web Extensiones de FireFox • Firebug • FirePath
  • 27. Abriendo una dirección Web using OpenQA.Selenium.Firefox; using OpenQA.Selenium.Support.UI; private static IWebDriver driver; driver = new FirefoxDriver(); driver.Navigate().GoToUrl("http://bolsatrabajo.azurews.net/"); Assert.AreEqual(“Bolsa Trabajo", driver.Title, “Se esperaba el titulo ‘Bolsa Trabajo’); driver.Quit(); Agregar los namespaces Implementar la prueba
  • 28. Navegación por una Pagina private static IWebDriver driver; driver = new FirefoxDriver(); IWebElement linkElement = driver.FindElement(By.Id("url1")); linkElement.Click(); System.Threading.Thread.Sleep(2000); Assert.AreEqual(Url1, driver.Url, "Url de login incorrecto"); driver.Navigate().Back(); driver.Quit(); Hace click en el hipervinculo “url1” luego retrocede en el navegador
  • 29. Seleccionando Elementos Web • Devuelve el primer elemento con el Tag A. IWebElement we = driver.FindElement(By.TagName(“A”)); • Accede al elemento por su nombre de clase IWebElement we = driver.FindElement( By.ClassName(“highlight”)); • Accede al elemento por su Id IWebElement we = driver.FindElement(By.Id(“next”)); • Accede al element por su Nombre IWebElement we = driver.FindElement(By.Name(“submit”)); • Encuentra un enlace por su texto IWebElement we = driver.FindElement(By.LinkText (“news”)); • Encuentra un enlace si se conoce parte de su texto IWebElement we = driver.FindElement( By.PartialLinkText(“news”));
  • 30. Leyendo Textos private static IWebDriver driver; driver = new FirefoxDriver(); driver.Navigate().GoToUrl("http://bolsatrabajo.azurews.net/"); System.Threading.Thread.Sleep(2000); IWebElement label = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_Label1")); Assert.AreEqual("Bienvenido !!!", label.Text, “Se esperaba mensaje ‘Bienvenido !!!’") driver.Quit(); Prueba que el texto de un elemento web sea el correcto
  • 31. Envio de Informacion en una Pagina driver.FindElement(By.Id("Text2")).SendKeys(strLoginName); driver.FindElement(By.Id("Password2")).SendKeys(“MyPassword"); driver.FindElement(By.Id("Button3")).Click(); Colocando datos en cajas de texto Enviando Información IWebElement loginName = driver.FindElement(By.Id("ctl00_LoginName1")); Assert.AreEqual("Bienvenido " + strLoginName + " !", loginName.Text, “Se esperaba mensaje ‘Bienvenido usuario !’"); Comprobando ingreso
  • 32. Instalar Selenium WebDriver en Visual Studio Instalación desde el Administrador de Paquetes Nuget Instalación desde la Consola • PM> Install-Package Selenium.WebDriver COMPATIBILIDAD: WebDriver v2.53.0 es compatible con FireFox 46.0 (x86). Con FireFox 47.0 no funciona.
  • 33. UI Level • PRACTICA • Implementar BDD a nivel de UI con Specflow y Selenium WebDriver • 60 minutos 60