SlideShare a Scribd company logo
1 of 49
Download to read offline
Globalcode – Open4education
5 libs de teste JavaScript que
você deveria conhecer
Stefan Teixeira
stefanfk@gmail.com / @stefan_teixeira
• QA Automation Engineer @ Toptal
• Blogs técnicos: stefanteixeira.com.br (pt-br) /
stefanteixeira.com (en)
• Co-organizador dos meetups DevOps Carioca e Grupo de
Testes Carioca
Contatos:
• E-mail: stefanfk@gmail.com
• Twitter: twitter.com/stefan_teixeira
• LinkedIn: linkedin.com/in/stefanteixeira
• GitHub: github.com/stefanteixeira
• SlideShare: slideshare.net/stefanteixeira
Sobre
Testes
Automatizados
Pirâmide de Automação de Testes
(Mike Cohn - Succeeding With Agile)
5 libs que você
deveria conhecer
#1
Karma
Karma
• Criado pelo Vojta Jína (na época,
membro da equipe do AngularJS)
https://karma-runner.github.io/1.0/index.html | https://github.com/karma-runner/karma
Karma
• Criado pelo Vojta Jína (na época,
membro da equipe do AngularJS)
• Executa os testes (de unidade) em
browsers reais
https://karma-runner.github.io/1.0/index.html | https://github.com/karma-runner/karma
Karma
• Feature de “watch” para feedback
imediato a cada save
https://karma-runner.github.io/1.0/index.html | https://github.com/karma-runner/karma
Karma
• Feature de “watch” para feedback
imediato a cada save
• Integração com qualquer testing
framework, além de libs de code
coverage, mocks, task runners
https://karma-runner.github.io/1.0/index.html | https://github.com/karma-runner/karma
Karma Browsers
Projeto de exemplo
• https://github.com/stefanteixeira/fav-organizer/
blob/master/config/karma.config.js (config file)
• https://github.com/stefanteixeira/fav-organizer/
blob/master/Gruntfile.js#L48 (Grunt config)
#2
Sinon.js
Sinon.js
• Melhor framework para mocks/
stubs/spies
http://sinonjs.org | https://github.com/sinonjs/sinon
Sinon.js
• Melhor framework para mocks/
stubs/spies
• Também facilita testes de AJAX e
criação de fake servers
http://sinonjs.org | https://github.com/sinonjs/sinon
Simples spies e stubs
Links recomendados
• Unit Test like a Secret Agent with Sinon.js: http://
elijahmanor.com/unit-test-like-a-secret-agent-
with-sinon-js/
• Explicando diferenças entre mocks, stubs e spies:
http://gaboesquivel.com/blog/2014/unit-testing-
mocks-stubs-and-spies/
#3
Supertest
Supertest
• Criado pelo TJ Holowaychuk
https://www.npmjs.com/package/supertest | https://github.com/visionmedia/supertest
Supertest
• Criado pelo TJ Holowaychuk
• MUITO simples
https://www.npmjs.com/package/supertest | https://github.com/visionmedia/supertest
Supertest
• Criado pelo TJ Holowaychuk
• MUITO simples
• Independente de framework
(Jasmine, Mocha, etc)
https://www.npmjs.com/package/supertest | https://github.com/visionmedia/supertest
GET
POST
supertest-as-promised
https://www.npmjs.com/package/supertest-as-promised
https://github.com/WhoopInc/supertest-as-promised
Projeto de exemplo
• https://github.com/stefanteixeira/demo-
supertest
• API REST simples com Node.js + MongoDB
• Testes com Supertest (com e sem Promises)
#4
Protractor
Protractor
• Framework para testes e2e (end-
to-end)
http://www.protractortest.org | https://github.com/angular/protractor
Protractor
• Framework para testes e2e (end-to-
end)
• Usa o Selenium WebDriver
(WebDriverJs)
http://www.protractortest.org | https://github.com/angular/protractor
Protractor
• Criado pela equipe do AngularJS
http://www.protractortest.org | https://github.com/angular/protractor
Protractor
• Criado pela equipe do AngularJS
• Também funciona (e muito bem)
com apps não-Angular
http://www.protractortest.org | https://github.com/angular/protractor
Projeto de exemplo
• Protractor + AngularJS app: https://github.com/
stefanteixeira/fav-organizer/tree/master/test/ui
• Protractor + app não-AngularJS: https://
github.com/stefanteixeira/github-tests
Links recomendados
• API Docs: http://angular.github.io/protractor/#/api
• Posts do Daniel Amorim no blog da ThoughtWorks:
• https://www.thoughtworks.com/pt/insights/
blog/testing-angularjs-apps-protractor
• https://www.thoughtworks.com/pt/insights/
blog/hands-protractor-3-steps
• Posts/vídeos do Walmyr Filho sobre Protractor:
http://talkingabouttesting.com/tag/protractor/
#5
VisualReview-
protractor
VisualReview-protractor
• API do VisualReview pro Protractor
para Visual Regression Testing
https://github.com/xebia/VisualReview | https://github.com/xebia/VisualReview-protractor
VisualReview-protractor
• API do VisualReview pro Protractor
para Visual Regression Testing
• MUITO simples
https://github.com/xebia/VisualReview | https://github.com/xebia/VisualReview-protractor
Exemplo
Projeto de exemplo / Links
• Projeto de exemplo do repo oficial: https://
github.com/xebia/VisualReview-protractor/tree/
master/example-project
• Posts/vídeos do Walmyr Filho: https://
talkingabouttesting.com/tag/visualreview-2/
Globalcode – Open4education
Stefan Teixeira
@stefan_teixeira
stefanfk@gmail.com
Obrigado!
stefanteixeira.com.br
stefanteixeira.com

More Related Content

What's hot

Vagrant: The ability to create production environments from day 1 of development
Vagrant: The ability to create production environments from day 1 of developmentVagrant: The ability to create production environments from day 1 of development
Vagrant: The ability to create production environments from day 1 of development
Paul Stack
 

What's hot (19)

Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....? Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
 
Collaborative Package Development in R
Collaborative Package Development in RCollaborative Package Development in R
Collaborative Package Development in R
 
Pluginize ALL the things
Pluginize ALL the thingsPluginize ALL the things
Pluginize ALL the things
 
Trying Out Tomorrow’s WordPress Today
Trying Out Tomorrow’s WordPress TodayTrying Out Tomorrow’s WordPress Today
Trying Out Tomorrow’s WordPress Today
 
Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0
Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0
Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0
 
Github, Travis-CI and Perl
Github, Travis-CI and PerlGithub, Travis-CI and Perl
Github, Travis-CI and Perl
 
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
 
Juc boston2014.pptx
Juc boston2014.pptxJuc boston2014.pptx
Juc boston2014.pptx
 
Bgoug 2019.11 test your pl sql - not your patience
Bgoug 2019.11   test your pl sql - not your patienceBgoug 2019.11   test your pl sql - not your patience
Bgoug 2019.11 test your pl sql - not your patience
 
Bgoug 2019.11 building free, open-source, plsql products in cloud
Bgoug 2019.11   building free, open-source, plsql products in cloudBgoug 2019.11   building free, open-source, plsql products in cloud
Bgoug 2019.11 building free, open-source, plsql products in cloud
 
Git best practices 2016
Git best practices 2016Git best practices 2016
Git best practices 2016
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 
Elixir koans
Elixir koansElixir koans
Elixir koans
 
GitLab 8.6 - Release Webcast
GitLab 8.6 - Release Webcast GitLab 8.6 - Release Webcast
GitLab 8.6 - Release Webcast
 
Vagrant: The ability to create production environments from day 1 of development
Vagrant: The ability to create production environments from day 1 of developmentVagrant: The ability to create production environments from day 1 of development
Vagrant: The ability to create production environments from day 1 of development
 
PUG Romagna - Pipeline + Deployer PHP
PUG Romagna - Pipeline + Deployer PHPPUG Romagna - Pipeline + Deployer PHP
PUG Romagna - Pipeline + Deployer PHP
 
Managing Modules Without Going Crazy (NPW 2007)
Managing Modules Without Going Crazy (NPW 2007)Managing Modules Without Going Crazy (NPW 2007)
Managing Modules Without Going Crazy (NPW 2007)
 
Power Up Your Build - Omer van Kloeten @ Wix 2018-04
Power Up Your Build - Omer van Kloeten @ Wix 2018-04Power Up Your Build - Omer van Kloeten @ Wix 2018-04
Power Up Your Build - Omer van Kloeten @ Wix 2018-04
 
How to เสร็จเร็ว (Use Agile for your project with team)
How to เสร็จเร็ว (Use Agile for your project with team)How to เสร็จเร็ว (Use Agile for your project with team)
How to เสร็จเร็ว (Use Agile for your project with team)
 

Viewers also liked

Viewers also liked (20)

TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCCTDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
 
TDC 2016 SP - Testes em API REST
TDC 2016 SP - Testes em API RESTTDC 2016 SP - Testes em API REST
TDC 2016 SP - Testes em API REST
 
Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnit
Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnitAgile Brazil 2016 - 5 fundamentos essenciais de padrões xUnit
Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnit
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcional
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcional
 
Criando Desktop Apps com Electron
Criando Desktop Apps com ElectronCriando Desktop Apps com Electron
Criando Desktop Apps com Electron
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcional
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC SP 2016: Ionic 2
TDC SP 2016: Ionic 2TDC SP 2016: Ionic 2
TDC SP 2016: Ionic 2
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC2016SP - Dinâmica e Facilitações
TDC2016SP - Dinâmica e FacilitaçõesTDC2016SP - Dinâmica e Facilitações
TDC2016SP - Dinâmica e Facilitações
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcional
 
TDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDataTDC2016SP - Trilha BigData
TDC2016SP - Trilha BigData
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcional
 
TDC2016POA | Trilha Web - JSON API: não reinvente a roda
TDC2016POA | Trilha Web - JSON API: não reinvente a rodaTDC2016POA | Trilha Web - JSON API: não reinvente a roda
TDC2016POA | Trilha Web - JSON API: não reinvente a roda
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC2016SP - Dinâmica e Facilitações
TDC2016SP - Dinâmica e FacilitaçõesTDC2016SP - Dinâmica e Facilitações
TDC2016SP - Dinâmica e Facilitações
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 

Similar to TDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecer

How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)
Dave Haeffner
 

Similar to TDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecer (20)

Testes em um contexto de Continuous Delivery
Testes em um contexto de Continuous DeliveryTestes em um contexto de Continuous Delivery
Testes em um contexto de Continuous Delivery
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Java
 
OWASP 2013 APPSEC USA ZAP Hackathon
OWASP 2013 APPSEC USA ZAP HackathonOWASP 2013 APPSEC USA ZAP Hackathon
OWASP 2013 APPSEC USA ZAP Hackathon
 
My Top 5 Favorite Gems
My Top 5 Favorite GemsMy Top 5 Favorite Gems
My Top 5 Favorite Gems
 
Automated Acceptance Testing from Scratch
Automated Acceptance Testing from ScratchAutomated Acceptance Testing from Scratch
Automated Acceptance Testing from Scratch
 
Developing Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & PythonDeveloping Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & Python
 
Test Automation using Athena by OLX - Intro
Test Automation using Athena by OLX - IntroTest Automation using Athena by OLX - Intro
Test Automation using Athena by OLX - Intro
 
Testing API's: Tools & Tips & Tricks (Oh My!)
Testing API's: Tools & Tips & Tricks (Oh My!)Testing API's: Tools & Tips & Tricks (Oh My!)
Testing API's: Tools & Tips & Tricks (Oh My!)
 
How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)
 
How to not blow up spaceships
How to not blow up spaceshipsHow to not blow up spaceships
How to not blow up spaceships
 
Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)
Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)
Start with passing tests (tdd for bugs) v0.5 (22 sep 2016)
 
Qcon beijing 2010
Qcon beijing 2010Qcon beijing 2010
Qcon beijing 2010
 
Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9
 
Denver Salesforce DUG DF 2018 roundup
Denver Salesforce DUG DF 2018 roundup Denver Salesforce DUG DF 2018 roundup
Denver Salesforce DUG DF 2018 roundup
 
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 201510 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
 
WordPress 4.4 and Beyond
WordPress 4.4 and BeyondWordPress 4.4 and Beyond
WordPress 4.4 and Beyond
 
How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium Successfully
 
The Many Ways to Test Your React App
The Many Ways to Test Your React AppThe Many Ways to Test Your React App
The Many Ways to Test Your React App
 
Java User Group Cologne
Java User Group CologneJava User Group Cologne
Java User Group Cologne
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfully
 

More from Stefan Teixeira

More from Stefan Teixeira (20)

TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidadeTDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
 
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker ComposeScrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
 
Minas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com LocustMinas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com Locust
 
4º Encontro do Grupo de Testes Carioca - Testes de Carga com Locust
4º Encontro do Grupo de Testes Carioca - Testes de Carga com Locust4º Encontro do Grupo de Testes Carioca - Testes de Carga com Locust
4º Encontro do Grupo de Testes Carioca - Testes de Carga com Locust
 
Meetup DevOps Carioca - Testes de Carga com Locust
Meetup DevOps Carioca - Testes de Carga com LocustMeetup DevOps Carioca - Testes de Carga com Locust
Meetup DevOps Carioca - Testes de Carga com Locust
 
TDC 2016 Floripa - Criando APIs REST em minutos com Spark + Java 8
TDC 2016 Floripa - Criando APIs REST em minutos com Spark + Java 8TDC 2016 Floripa - Criando APIs REST em minutos com Spark + Java 8
TDC 2016 Floripa - Criando APIs REST em minutos com Spark + Java 8
 
TDC 2016 Floripa - Aprendendo Docker sem bruxaria
TDC 2016 Floripa - Aprendendo Docker sem bruxariaTDC 2016 Floripa - Aprendendo Docker sem bruxaria
TDC 2016 Floripa - Aprendendo Docker sem bruxaria
 
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
 
VR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de TestesVR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de Testes
 
Meetup DevOps Carioca - GoCD + Docker + Docker Compose: uma história de amor
Meetup DevOps Carioca - GoCD + Docker + Docker Compose: uma história de amorMeetup DevOps Carioca - GoCD + Docker + Docker Compose: uma história de amor
Meetup DevOps Carioca - GoCD + Docker + Docker Compose: uma história de amor
 
Meetup AngularJS Rio - Testes e2e para apps AngularJS com Protractor
Meetup AngularJS Rio - Testes e2e para apps AngularJS com ProtractorMeetup AngularJS Rio - Testes e2e para apps AngularJS com Protractor
Meetup AngularJS Rio - Testes e2e para apps AngularJS com Protractor
 
1º Encontro do Grupo de Testes Carioca - Primeiros Passos em Automação de Testes
1º Encontro do Grupo de Testes Carioca - Primeiros Passos em Automação de Testes1º Encontro do Grupo de Testes Carioca - Primeiros Passos em Automação de Testes
1º Encontro do Grupo de Testes Carioca - Primeiros Passos em Automação de Testes
 
Testadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de DockerTestadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de Docker
 
Agile Brazil 2015 - Testando na Nuvem a UI e o JavaScript de sua aplicação
Agile Brazil 2015 - Testando na Nuvem a UI e o JavaScript de sua aplicaçãoAgile Brazil 2015 - Testando na Nuvem a UI e o JavaScript de sua aplicação
Agile Brazil 2015 - Testando na Nuvem a UI e o JavaScript de sua aplicação
 
TDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerTDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de Docker
 
Scrum Gathering Rio 2015 - Testando na nuvem a UI e o JavaScript de sua aplic...
Scrum Gathering Rio 2015 - Testando na nuvem a UI e o JavaScript de sua aplic...Scrum Gathering Rio 2015 - Testando na nuvem a UI e o JavaScript de sua aplic...
Scrum Gathering Rio 2015 - Testando na nuvem a UI e o JavaScript de sua aplic...
 
TDC 2015 São Paulo - Clean Code para Testers
TDC 2015 São Paulo - Clean Code para TestersTDC 2015 São Paulo - Clean Code para Testers
TDC 2015 São Paulo - Clean Code para Testers
 
TDC 2015 São Paulo - Testes Automatizados de todos os tipos utilizando biblio...
TDC 2015 São Paulo - Testes Automatizados de todos os tipos utilizando biblio...TDC 2015 São Paulo - Testes Automatizados de todos os tipos utilizando biblio...
TDC 2015 São Paulo - Testes Automatizados de todos os tipos utilizando biblio...
 
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvemMinas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
 
Semana da Computação UFRJ - Testes Automatizados: bruxaria ou não?
Semana da Computação UFRJ - Testes Automatizados: bruxaria ou não?Semana da Computação UFRJ - Testes Automatizados: bruxaria ou não?
Semana da Computação UFRJ - Testes Automatizados: bruxaria ou não?
 

Recently uploaded

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Recently uploaded (20)

%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 

TDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecer

  • 1. Globalcode – Open4education 5 libs de teste JavaScript que você deveria conhecer Stefan Teixeira stefanfk@gmail.com / @stefan_teixeira
  • 2. • QA Automation Engineer @ Toptal • Blogs técnicos: stefanteixeira.com.br (pt-br) / stefanteixeira.com (en) • Co-organizador dos meetups DevOps Carioca e Grupo de Testes Carioca Contatos: • E-mail: stefanfk@gmail.com • Twitter: twitter.com/stefan_teixeira • LinkedIn: linkedin.com/in/stefanteixeira • GitHub: github.com/stefanteixeira • SlideShare: slideshare.net/stefanteixeira Sobre
  • 4. Pirâmide de Automação de Testes (Mike Cohn - Succeeding With Agile)
  • 5.
  • 6.
  • 7.
  • 8. 5 libs que você deveria conhecer
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 16. Karma • Criado pelo Vojta Jína (na época, membro da equipe do AngularJS) https://karma-runner.github.io/1.0/index.html | https://github.com/karma-runner/karma
  • 17. Karma • Criado pelo Vojta Jína (na época, membro da equipe do AngularJS) • Executa os testes (de unidade) em browsers reais https://karma-runner.github.io/1.0/index.html | https://github.com/karma-runner/karma
  • 18. Karma • Feature de “watch” para feedback imediato a cada save https://karma-runner.github.io/1.0/index.html | https://github.com/karma-runner/karma
  • 19. Karma • Feature de “watch” para feedback imediato a cada save • Integração com qualquer testing framework, além de libs de code coverage, mocks, task runners https://karma-runner.github.io/1.0/index.html | https://github.com/karma-runner/karma
  • 21.
  • 22. Projeto de exemplo • https://github.com/stefanteixeira/fav-organizer/ blob/master/config/karma.config.js (config file) • https://github.com/stefanteixeira/fav-organizer/ blob/master/Gruntfile.js#L48 (Grunt config)
  • 24. Sinon.js • Melhor framework para mocks/ stubs/spies http://sinonjs.org | https://github.com/sinonjs/sinon
  • 25. Sinon.js • Melhor framework para mocks/ stubs/spies • Também facilita testes de AJAX e criação de fake servers http://sinonjs.org | https://github.com/sinonjs/sinon
  • 27. Links recomendados • Unit Test like a Secret Agent with Sinon.js: http:// elijahmanor.com/unit-test-like-a-secret-agent- with-sinon-js/ • Explicando diferenças entre mocks, stubs e spies: http://gaboesquivel.com/blog/2014/unit-testing- mocks-stubs-and-spies/
  • 29. Supertest • Criado pelo TJ Holowaychuk https://www.npmjs.com/package/supertest | https://github.com/visionmedia/supertest
  • 30. Supertest • Criado pelo TJ Holowaychuk • MUITO simples https://www.npmjs.com/package/supertest | https://github.com/visionmedia/supertest
  • 31. Supertest • Criado pelo TJ Holowaychuk • MUITO simples • Independente de framework (Jasmine, Mocha, etc) https://www.npmjs.com/package/supertest | https://github.com/visionmedia/supertest
  • 32. GET
  • 33. POST
  • 35. Projeto de exemplo • https://github.com/stefanteixeira/demo- supertest • API REST simples com Node.js + MongoDB • Testes com Supertest (com e sem Promises)
  • 37. Protractor • Framework para testes e2e (end- to-end) http://www.protractortest.org | https://github.com/angular/protractor
  • 38. Protractor • Framework para testes e2e (end-to- end) • Usa o Selenium WebDriver (WebDriverJs) http://www.protractortest.org | https://github.com/angular/protractor
  • 39. Protractor • Criado pela equipe do AngularJS http://www.protractortest.org | https://github.com/angular/protractor
  • 40. Protractor • Criado pela equipe do AngularJS • Também funciona (e muito bem) com apps não-Angular http://www.protractortest.org | https://github.com/angular/protractor
  • 41.
  • 42. Projeto de exemplo • Protractor + AngularJS app: https://github.com/ stefanteixeira/fav-organizer/tree/master/test/ui • Protractor + app não-AngularJS: https:// github.com/stefanteixeira/github-tests
  • 43. Links recomendados • API Docs: http://angular.github.io/protractor/#/api • Posts do Daniel Amorim no blog da ThoughtWorks: • https://www.thoughtworks.com/pt/insights/ blog/testing-angularjs-apps-protractor • https://www.thoughtworks.com/pt/insights/ blog/hands-protractor-3-steps • Posts/vídeos do Walmyr Filho sobre Protractor: http://talkingabouttesting.com/tag/protractor/
  • 45. VisualReview-protractor • API do VisualReview pro Protractor para Visual Regression Testing https://github.com/xebia/VisualReview | https://github.com/xebia/VisualReview-protractor
  • 46. VisualReview-protractor • API do VisualReview pro Protractor para Visual Regression Testing • MUITO simples https://github.com/xebia/VisualReview | https://github.com/xebia/VisualReview-protractor
  • 48. Projeto de exemplo / Links • Projeto de exemplo do repo oficial: https:// github.com/xebia/VisualReview-protractor/tree/ master/example-project • Posts/vídeos do Walmyr Filho: https:// talkingabouttesting.com/tag/visualreview-2/
  • 49. Globalcode – Open4education Stefan Teixeira @stefan_teixeira stefanfk@gmail.com Obrigado! stefanteixeira.com.br stefanteixeira.com