SlideShare una empresa de Scribd logo
1 de 54
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
So6ware	
  by	
  Numbers:	
  Low-­‐Risk,	
  High-­‐Return	
  Development.	
  By	
  Mark	
  Denne,	
  Jane	
  Cleland-­‐Huang.	
  Pren%ce	
  Hall	
  PTR.	
  October	
  10,	
  2003   	
  
     	
           	
  	
  

                      Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Cliente	
  que	
  %ene	
  una	
  meta	
  con	
  un	
  valor	
  

           Interfaz	
  de	
  Usuario	
  WUI/GUI	
  
                            vistas	
  
                  controladores	
  

                            modelos	
  




Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
RSpec	
  




Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
RSpec	
  
                                                                  “Los	
  
                                     vistas	
       componentes	
  e	
  
                                  controladores	
  
                                                      interacciones	
  
                                    modelos	
          que	
  desearía	
  
                                                                tener”	
  

“La	
  caracterís*ca	
  
que	
  desearía	
  tener”	
  

         Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
RSpec	
  
                                                                                “Los	
  
                                                                  componentes	
  e	
  
                                                                    interacciones	
  
                                                                     que	
  desearía	
  
                                                                              tener”	
  

“La	
  caracterís*ca	
  
que	
  desearía	
  tener”	
  

         Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Feature:	
  [Título	
  de	
  la	
  caracterís%ca	
  ]	
  
	
  	
  In	
  order	
  to	
  [Valor	
  de	
  Negocios]	
  
	
  	
  As	
  a	
  [Role]	
  
	
  	
  I	
  want	
  [la	
  acción	
  que	
  da	
  el	
  valor]	
  
                                                   No	
  se	
  ejecuta	
  
                                                   Su	
  valor	
  es	
  documental	
  
                                                   El	
  valor	
  de	
  negocios	
  se	
  	
  hace	
  explicito	
  


         Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Scenario:	
  [Título	
  del	
  escenario	
  de	
  uso]	
  
	
  	
  Given	
  [Contexto	
  -­‐	
  Precondición]	
  
	
  	
  When	
  I	
  [do]	
  [Acción]	
  
	
  	
  Then	
  I	
  should	
  [see]	
  [Resultado]	
  
                                                   Ejecutable	
  mediante	
  los	
  steps	
  
                                                   Valor	
  de	
  diseño	
  
                                                   El	
  resultado	
  esperado	
  es	
  explicito	
  



       Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
RSpec	
  




Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
RSpec	
  
describe	
  [Class]	
  do	
  
	
  	
  context	
  [Contexto]	
  do	
  
	
  	
  	
  	
  it	
  [ejemplo	
  de	
  especificación]	
  
	
  	
  	
  	
  	
  	
  <code>	
  
	
  	
  	
  	
  end	
  
	
  	
  end	
  
end	
  
          Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
RSpec	
  




Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
RSpec	
  




Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
RSpec	
  




Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
RSpec	
  
                                                                           “Los	
  componentes	
  e	
  
                                                                             interacciones	
  que	
  
                                                                                desearía	
  tener”	
  




“La	
  caracterís*ca	
  que	
  
desearía	
  tener”	
  



              Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
RSpec	
  
                                                                           “Los	
  componentes	
  e	
  
                                                                             interacciones	
  que	
  
                                                                                desearía	
  tener”	
  




“La	
  caracterís*ca	
  que	
  
desearía	
  tener”	
  



              Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
RSpec	
  
                                                                           “Los	
  componentes	
  e	
  
                                                                             interacciones	
  que	
  
                                                                                desearía	
  tener”	
  




“La	
  caracterís*ca	
  que	
  
desearía	
  tener”	
  



              Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
RSpec	
  
                                                                               “Los	
  componentes	
  e	
  
   “Soporta	
  todas	
  las	
  
     simulaciones	
  de	
                                                        interacciones	
  que	
  
         navegador”	
                                                               desearía	
  tener”	
  
API	
  y	
  DSL	
  similar	
  a	
  Webrat	
  
Puede	
  cambiar	
  los	
  simuladores	
  
Navegación,	
  Clic	
  de	
  ligas	
  y	
  botones	
  
Interacción	
  con	
  formas	
  
Consultas	
  y	
  busquedas	
  
Alcances	
  y	
  scripWng	
  
Soporta	
  XPath	
  

“La	
  caracterís*ca	
  que	
  
desearía	
  tener”	
  



                  Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
RSpec	
  
                                                                           “Los	
  componentes	
  e	
  
   “Soporta	
  todas	
  las	
  
     simulaciones	
  de	
                                                    interacciones	
  que	
  
         navegador”	
                                                           desearía	
  tener”	
  




“La	
  caracterís*ca	
  que	
  
desearía	
  tener”	
  



              Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
SRP:	
  Single	
  Responsibility	
  Principle	
       Connascence	
  
OCP:	
  Open	
  Closed	
  Principle	
                 Cuando	
  dos	
  cosas	
  nacen	
  y	
  crecen	
  
LSP:	
  Liskov	
  SubsWtuWon	
  Principle	
           Juntas.	
  
ISP:	
  Interface	
  SegregaWon	
  Principle	
  
DIP:	
  Dependency	
  Inversion	
  Principle	
        Cuando	
  hay	
  connascence	
  entre	
  A	
  y	
  B	
  
                                                      Todo	
  cambio	
  en	
  A	
  requiere	
  un	
  cambio	
  
                                                      en	
  B	
  para	
  preservar	
  lo	
  correcto	
  y	
  	
  
                                                      viceversa	
  




              Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
SRP:	
  Single	
  Responsibility	
  Principle	
  
Principio	
  de	
  una	
  Sola	
  Responsabilidad	
  
No	
  debería	
  nunca	
  haber	
  más	
  de	
  una	
  razón	
  para	
  
que	
  una	
  clase	
  cambie	
  	
  
OCP:	
  Open	
  Closed	
  Principle	
  
Principio	
  de	
  abierto	
  cerrado	
  
So6ware	
  de	
  enWdades	
  (clases,	
  módulos,	
  funciones,	
  
etc.)	
  Deben	
  estar	
  abiertos	
  a	
  la	
  extensión	
  pero	
  
cerrado	
  por	
  modificación	
  	
  	
  
          Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
LSP:	
  Liskov	
  Subs9tu9on	
  Principle	
  
Principio	
  de	
  subs%tución	
  de	
  Liskov	
  
Funciones	
  que	
  usen	
  ...	
  referencias	
  a	
  una	
  clase	
  base	
  
deben	
  ser	
  capaz	
  de	
  uWlizar	
  objetos	
  de	
  clases	
  
derivadas	
  de	
  la	
  base	
  sin	
  saberlo	
  
ISN:	
  Interface	
  Segrega9on	
  Principle	
  
Principio	
  de	
  segregación	
  de	
  interfaces	
  
los	
  clientes	
  no	
  se	
  vean	
  obligados	
  a	
  depender	
  de	
  
interfaces	
  que	
  no	
  uWlizan	
  
           Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
DIP:	
  Dependency	
  Inversion	
  Principle	
  
Principio	
  de	
  inversión	
  de	
  dependencia	
  
A.	
  Módulos	
  de	
  alto	
  nivel	
  no	
  deben	
  depender	
  de	
  
módulos	
  de	
  bajo.	
  Ambos	
  deben	
  depender	
  de	
  
abstracciones	
  	
  
B.	
  Abstracciones	
  no	
  deberen	
  depender	
  de	
  detalles.	
  
Detalles	
  debeben	
  de	
  depender	
  abstracciones	
  


          Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
“Simulador	
  de	
                “Soporta	
  todas	
  las	
  
                                                                              RSpec	
  
                                                                           “Los	
  componentes	
  e	
  
  navegador	
  muy	
                   simulaciones	
  de	
                  interacciones	
  que	
  
         rápido”	
                         navegador”	
                         desearía	
  tener”	
  

         Gracias	
  a	
  todas	
  las	
  personas	
  que	
  
        han	
  contribuido	
  para	
  que	
  podamos	
  
            contar	
  con	
  estas	
  magnificas	
  
                herramientas	
  y	
  métodos	
  
“La	
  caracterís*ca	
  que	
  
desearía	
  tener”	
  



              Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  
Manuel	
  Vidaurre	
  	
  manuel.vidaurre@agiltec.com.mx	
  	
  @mvidaurre	
  

Más contenido relacionado

Último

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 

Último (15)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 

Destacado

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Destacado (20)

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 

Desarrollo Dirigido por Comportamientos - BDD: ¿Cuál es el valor agregado de hacerlo?

  • 1. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 2. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 3. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 4. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 5. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 6. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 7. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 8. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 9. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 10. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 11. So6ware  by  Numbers:  Low-­‐Risk,  High-­‐Return  Development.  By  Mark  Denne,  Jane  Cleland-­‐Huang.  Pren%ce  Hall  PTR.  October  10,  2003         Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 12. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 13. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 14. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 15. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 16. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 17. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 18. Cliente  que  %ene  una  meta  con  un  valor   Interfaz  de  Usuario  WUI/GUI   vistas   controladores   modelos   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 19. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 20. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 21. RSpec   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 22. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 23. RSpec   “Los   vistas   componentes  e   controladores   interacciones   modelos   que  desearía   tener”   “La  caracterís*ca   que  desearía  tener”   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 24. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 25. RSpec   “Los   componentes  e   interacciones   que  desearía   tener”   “La  caracterís*ca   que  desearía  tener”   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 26. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 27. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 28. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 29. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 30. Feature:  [Título  de  la  caracterís%ca  ]      In  order  to  [Valor  de  Negocios]      As  a  [Role]      I  want  [la  acción  que  da  el  valor]   No  se  ejecuta   Su  valor  es  documental   El  valor  de  negocios  se    hace  explicito   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 31. Scenario:  [Título  del  escenario  de  uso]      Given  [Contexto  -­‐  Precondición]      When  I  [do]  [Acción]      Then  I  should  [see]  [Resultado]   Ejecutable  mediante  los  steps   Valor  de  diseño   El  resultado  esperado  es  explicito   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 32. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 33. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 34. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 35. RSpec   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 36. RSpec   describe  [Class]  do      context  [Contexto]  do          it  [ejemplo  de  especificación]              <code>          end      end   end   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 37. RSpec   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 38. RSpec   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 39. RSpec   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 40. RSpec   “Los  componentes  e   interacciones  que   desearía  tener”   “La  caracterís*ca  que   desearía  tener”   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 41. RSpec   “Los  componentes  e   interacciones  que   desearía  tener”   “La  caracterís*ca  que   desearía  tener”   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 42. RSpec   “Los  componentes  e   interacciones  que   desearía  tener”   “La  caracterís*ca  que   desearía  tener”   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 43. RSpec   “Los  componentes  e   “Soporta  todas  las   simulaciones  de   interacciones  que   navegador”   desearía  tener”   API  y  DSL  similar  a  Webrat   Puede  cambiar  los  simuladores   Navegación,  Clic  de  ligas  y  botones   Interacción  con  formas   Consultas  y  busquedas   Alcances  y  scripWng   Soporta  XPath   “La  caracterís*ca  que   desearía  tener”   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 44. RSpec   “Los  componentes  e   “Soporta  todas  las   simulaciones  de   interacciones  que   navegador”   desearía  tener”   “La  caracterís*ca  que   desearía  tener”   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 45. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 46. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 47. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 48. SRP:  Single  Responsibility  Principle   Connascence   OCP:  Open  Closed  Principle   Cuando  dos  cosas  nacen  y  crecen   LSP:  Liskov  SubsWtuWon  Principle   Juntas.   ISP:  Interface  SegregaWon  Principle   DIP:  Dependency  Inversion  Principle   Cuando  hay  connascence  entre  A  y  B   Todo  cambio  en  A  requiere  un  cambio   en  B  para  preservar  lo  correcto  y     viceversa   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 49. SRP:  Single  Responsibility  Principle   Principio  de  una  Sola  Responsabilidad   No  debería  nunca  haber  más  de  una  razón  para   que  una  clase  cambie     OCP:  Open  Closed  Principle   Principio  de  abierto  cerrado   So6ware  de  enWdades  (clases,  módulos,  funciones,   etc.)  Deben  estar  abiertos  a  la  extensión  pero   cerrado  por  modificación       Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 50. LSP:  Liskov  Subs9tu9on  Principle   Principio  de  subs%tución  de  Liskov   Funciones  que  usen  ...  referencias  a  una  clase  base   deben  ser  capaz  de  uWlizar  objetos  de  clases   derivadas  de  la  base  sin  saberlo   ISN:  Interface  Segrega9on  Principle   Principio  de  segregación  de  interfaces   los  clientes  no  se  vean  obligados  a  depender  de   interfaces  que  no  uWlizan   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 51. DIP:  Dependency  Inversion  Principle   Principio  de  inversión  de  dependencia   A.  Módulos  de  alto  nivel  no  deben  depender  de   módulos  de  bajo.  Ambos  deben  depender  de   abstracciones     B.  Abstracciones  no  deberen  depender  de  detalles.   Detalles  debeben  de  depender  abstracciones   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 52. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 53. “Simulador  de   “Soporta  todas  las   RSpec   “Los  componentes  e   navegador  muy   simulaciones  de   interacciones  que   rápido”   navegador”   desearía  tener”   Gracias  a  todas  las  personas  que   han  contribuido  para  que  podamos   contar  con  estas  magnificas   herramientas  y  métodos   “La  caracterís*ca  que   desearía  tener”   Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre  
  • 54. Manuel  Vidaurre    manuel.vidaurre@agiltec.com.mx    @mvidaurre