Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Feedback Rápido com Testes Automatizados (CBSOF...
Search
Andre Abe Vicente
September 30, 2013
Technology
81
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Feedback Rápido com Testes Automatizados (CBSOFT 2013)
Andre Abe Vicente
September 30, 2013
Other Decks in Technology
See All in Technology
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
110
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
260
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
170
しろおびから始める!ログ活用の第一歩
shumei_ito
0
950
Claude の新機能を、 出た日に触って社内に届けるまで
rfdnxbro
1
190
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
140
Classmethod Company Deck
satoshi7
1
710
遠藤な_めぐろLT #38 「社内のAI活用推進」@麻布台_20261009
endonanana
0
130
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
300
Metadata - Section 1: HTML Basics
mohab1
0
120
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.4k
専門領域のAIをどう評価するか
bengo4com
2
250
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
360
Ruling the World: When Life Gets Gamed
codingconduct
0
400
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
820
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
990
The Language of Interfaces
destraynor
162
27k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
630
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
630
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Transcript
Feedback Rápido com apoio de testes automatizados
André Abe Vicente
[email protected]
about.me/andvicente Analista de Qualidade Fabio Kenji
[email protected]
github.com/fkenji @seibzhen Desenvolvedor
> UOL + PagSeguro > Ambiente de testes > Técnicas
> Problemas e Soluções
None
Equipes multidisciplinares Feature Teams* Desenvolvimento Distribuído Métodos Ágeis +
None
Volume alto de transações Dependências Gateway de Pagamentos Correios Cadastro
Serasa
Disponibilidade Checkout
Monitoração Serviços up Número de transações pagas Runtime errors Load
no servidor Checkouts por bandeira …
Testes, Testes, Testes
Segurança Entrega de múltiplas equipes Testes, Testes, Testes
Segurança
Entrega de múltiplas equipes
> UOL + PagSeguro > Ambiente de testes > Técnicas
> Problemas e Soluções
Integração contínua Builds Deploys Testes paralelizados horas => minutos
None
Integração (1) Build e Deploy (2) Banco Deploy (3) Testes
(Selenium) ...
> UOL + PagSeguro > Ambiente de testes > Técnicas
> Problemas e Soluções
API Page Objects Junit Rules JMX Java + Junit!
Encapsulamento Reutilização de métodos API
seleniumPagSeguro.clicar("#button");! seleniumPagSeguro.aguardarElementoVisivel( "#menu");! public class SeleniumPagSeguro {! private SeleniumWebDriver selenium;!
public void clicar(String nomeDoElemento) {! Element elemento = recuperarElemento(nomeDoElemento);! selenium.click(elemento);! }!
Page Objects
! ! public class PaginaDeLogin {! ! public TelaLogada logar(Usuario
usuario) {! seleniumPagSeguro.preencherCampo(localizar CampoLogin(), usuario.getNome());! . . .! return new TelaLogada();! }! private String localizarCampoLogin() {! return “#campo-login”;! }!
public class ScreenshotTestRule implements MethodRule {! ...! public Statement apply(final
Statement statement, final FrameworkMethod frameworkMethod, final Object o) {! ...! try {! statement.evaluate();! } catch (Throwable t) {! captureScreenshot(frameworkMethod);! throw t; ! }! …! }!
None
None
Dependências GatewayMock CorreiosMock CadastroMock SerasaMock Mocks
Java Management eXtension
serasaMock.retornarOkParaUsuario(1000);! gatewayPagamentosMock.setarRetorno(PAGAMENTO_OK );! !
> UOL + PagSeguro > Ambiente de testes > Técnicas
> Problemas e Soluções
Feedback rápido Tempo total de testes: 10 min
Seleção de testes principais Como? Testes mais focados Paralelização *
Paralelização Variáveis estáticas Flags de sistema / JMX static WebDriver
webdriver;! meiosDePagamento.desativar(CARTAO_DE_CREDITO);!
Múltiplos ambientes
Gateway Correios Cadastro Serasa Equipe 1 Gateway Correios Cadastro Serasa
Equipe 2 ? !
https://github.com/lightbody/browsermob-proxy
proxy proxy Gateway Correios Cadastro Serasa Gateway Correios Cadastro Serasa
Self-tests
Cadastro Banco de Dados Correios Gateway de Pagamentos
Pool de Usuários
Cadastro de usuários Complexo Demorado
[email protected]
[email protected]
[email protected]
> curl -G http://pool-usuarios/usuario/pessoal! <user>! <id>120129</id>! <email>
[email protected]
</email>! </user>!
E agora?
Monitoração Automação Vídeos
grids com máquinas de desenvolvimento Puppet
OK Banco de dados OK Gateway NOK Correios OK Cadastro
Testes-Core . . . . . . . OK Sep 29 2013 Testes-Checkout . . NOK Sep 29 2013
André Abe Vicente
[email protected]
about.me/andvicente Analista de Qualidade Fabio Kenji
[email protected]
github.com/fkenji @seibzhen Desenvolvedor