testingar v - una nueva visión - nicolas arkhipenko - estrategias y controversias de test...
TRANSCRIPT
![Page 1: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/1.jpg)
Estrategias y controversiasde Test AutomationNICOLÁS ARKHIPENKO
![Page 2: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/2.jpg)
Agenda
→Lapirámide ysus capas.
→Que testean los desarrolladores.
→End-to-endsí,End-to-End no.
→Comoencaja en unmodelo deCD.
→Coberturadetests.
![Page 3: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/3.jpg)
Preconditions(deTestAutomation)
⌦Automatizamos elchecking,noeltesting.
⌦Eltestingmanualnoes reemplazable.
⌦Automationes unconjunto deherramientas.
⌦Etc.
![Page 4: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/4.jpg)
MikeCohn2009
UI
Service
Unit
![Page 5: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/5.jpg)
Alister Scott2012
UI
API
Integration
Component
Unit
ExploratoryTesting
![Page 6: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/6.jpg)
Unit Test• Parte“maspequeña”asertesteada
• Unaclase,unmétodo,unafunción,etc.
• Completoaislamiento(mocks,stubs)
• Tests determinísticos
• Feedback másrápido
UI
API
Integration
Component
Unit
ExploratoryTesting
![Page 7: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/7.jpg)
Component Tests
UI
API
Integration
Component
Unit
ExploratoryTesting
![Page 8: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/8.jpg)
Integration Tests
UI
API
Integration
Component
Unit
ExploratoryTesting
A BUnit Tests Unit Tests
SinMocks
![Page 9: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/9.jpg)
APITests
UI
API
Integration
Component
Unit
ExploratoryTesting
• RESTful APIs automation dondeestaelfocohoy
• Multiples frameworks ytools paraautomatizar
• Rest-assured (java),supert-test(JS),Postman (tool)
![Page 10: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/10.jpg)
UITests
UI
API
Integration
Component
Unit
ExploratoryTesting
• Webdriver comoW3Cstandard
• End-to-end =UItesty/oAPItest
![Page 11: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/11.jpg)
End toEnd automation
![Page 12: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/12.jpg)
CDyEnd-to-end tests
• ContinuosDelivery =principiosypracticasparareducireltiempoparallegara
produción,quedependedetestautomatizadosrapidos yconfiables.
• End-to-end notienenqueserejecutadoscuandosehaceelbuild
• Soloparasmoke testdespues dedeployar paraasegurarsecaminosbasicos del
usuario
• Falsasensacióndecobertura,ypocainversióneninfraestructura
![Page 13: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/13.jpg)
Alister Scott2012
UIAPI
Integration
Component
Unit
ExploratoryTesting
Antipatrón
• Tiempoejecución
• Indeterminismo
![Page 14: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/14.jpg)
RichardBradshaw2016
Tools
IcecreamPyramid
ExploratoryTesting
![Page 15: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/15.jpg)
Ejemplo1– Client side Logic
Cliente(browser) Servidor Basede
datos
Lógicadenegocio
![Page 16: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/16.jpg)
Ejemplo2- Serverside logic
Cliente(browser) Servidor Basede
datos
• Autenticación• Navegación• Buscador• Transacciones
Lógicadenegocio
![Page 17: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/17.jpg)
Ejemplo3– Serverless Architecture
MartinFowler
![Page 18: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/18.jpg)
Cobertura(proporción)
50%
20%
20%
10% UI
API
Integration
Component
Unit
Manual
![Page 19: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/19.jpg)
Cobertura
UI
API
Integration
Component
Unit
ExploratoryTesting
• Code Coverage• Mayorcoverage nosignificamayorcalidad
• 85%“magic number”
• Mutation testing
![Page 20: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/20.jpg)
Cobertura
UI
API
Integration
Component
Unit
ExploratoryTesting
• RAMLoSwagger
• 80%criteriosdeaceptación
![Page 21: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/21.jpg)
Cobertura
UI
API
Integration
Component
Unit
ExploratoryTesting
• 80%criteriosdeaceptación
• %TestCases
• Métricascuantitativasycualitativas
![Page 22: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/22.jpg)
Conclusiones• Unaestrategiarequieredeautomatizartodas lascapas(posibles),sindescuidarlaproporcióndelapiramide.
• Automatizarlascapasdeabajo,esmasimportantequeautomatizarlascapasdearriba(Testunidadnosepuedetestearmanualmente,integraciónyUIsi).
• ContinuosDelivery sepuedeverperjudicadoportests End-to-end automatizados.
• Muchacoberturanoimplicabuenacalidad.
• Comotesters nopodemosignorarunaindustriaquenecesitaalgocompletamentedistintoaloquetradicionalmentehacíamos.
![Page 23: TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controversias de Test Automation](https://reader031.vdocuments.site/reader031/viewer/2022030314/588660451a28ab26598b6cdd/html5/thumbnails/23.jpg)
Driver.quit()
Q&A