SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Distribuição de testes em
diferentes camadas
Júlio de Lima @juliodelimasinsta
CAMADAS
Grupos de componentes de
software, organizados de maneira a
reduzir a complexidade do sistema.

Exemplo:

Controller, Service, etc.
Níveis de isolamento dos
componentes do software e seus
objetivos para execução de testes.

Exemplo:

Unidade, Integração, Sistema e Aceite
níveis DE TESTE
vs
Júlio de Lima @juliodelimasinsta
UMA VISÃO LIMITADA
SOBRE CAMADAS
Júlio de Lima @juliodelimasinsta
Front-end Back-end
OUTRAS CAMADAS EXISTENTES POR
DETRÁS DAS PALAVRAS FRONT E BACK
Front-end Back-end
UI
Componente UI
Backend
for
Frontend
Gateway
Controller, Service, Client, Repository
Database
API
Funções Comuns
Assíncronos
Júlio de Lima @juliodelimasinsta
Alguns ITENS QUE compõem APLICAÇÕES
/ juliodelimas
Diagramas de Sistema Regras de Negócio Designs de UI, API, etc
Estudos Analíticos Critérios de Aceitação
COMO, QUERO, PARA
DADO, QUANDO, ENTÃO
Se isso, faça aquilo
</>
User Story
Aplicação e suas 

diversas Camadas
Júlio de Lima @juliodelimasinsta
O que testar aqui, GALERA?
Como cliente

Quero transferir grana para meus amigos,
rapidamente, de modo seguro e sem sair de
casa

Para poder aproveitar melhor meu tempo livre

Regras:

- Se o saldo permanecer negativo por mais que 24
horas, uma taxa acumulativa de R$ 5,00 deve ser
cobrada

- Os valores monetários seguem padrão Brasil

- Usuários devem ser alertados quanto as taxas
através de notificações assíncronas
Imagem criada por stories @ freepik.com
Júlio de Lima @juliodelimasinsta
O USO DE TÉCNICAS COM
BASE EM REGRAS
Entrada
Saída
Saldo
Resultado
Período
Recorrência
Positivo

Negativo
Sem taxa

Taxa de R$ 5,00

Taxa de R$ 5,00 * N
Até de 24 horas

Mais que 24 horas
Uma vez

Mais de uma vez
T1 T2 T3 T4 T5 T6 T7 T8
Partições
Variáveis
Tipo
Júlio de Lima @juliodelimasinsta
Clientes terem não terem sua taxa contabilizada por atraso no mecanismo
assíncrono de cobrança na virada das 24:00:00 a 24:00:01 horas
(T9) Execução dos testes de cobrança durante o período de virada do
mecanismo de cobrança.
Podemos pensar em TESTES
PARA MITIGAR riscos
Júlio de Lima @juliodelimasinsta
(T10) A renderização da tela de
movimentações precisa ser
menor que 100ms
(T13) O endpoint de cálculo deve
ser retrocompatível
(T11) A mudança de hora do
relógio do cliente não deverá
impactar o disparo do cálculo.
TAMBÉM PODEMOS PENSAR EM
NÃO FUNCIONAIS
(T12) Todos os elementos da UI
devem ser compatíveis com
critérios de aceitação da WCAG
Júlio de Lima @juliodelimasinsta
(T14) As cores de valores
positivos ou negativos, não
devem mudar, dada a riqueza de
compreensão ao usuário
(T15) Estrutura das respostas da
API precisam seguir um formato
descrito na documentação 2.0
do Swagger
Podemos testar a
estrutura da aplicação
Júlio de Lima @juliodelimasinsta
(T16) Usar a ALTERFACE para
identificar inconsistências
relacionadas a utilização de
componentes Web modernos
(T17) Usar a VADER para
identificar inconsistências quanto
a estrutura da API Rest
(T18) Usar a T-PAIN para
identificar inconsistências quanto
a UI implementada para devices
Mobile
OU BASEADOS NA EXPERIÊNCIA, AO
EXPLORAR O SISTEMA
Júlio de Lima @juliodelimasinsta
E QUANTO AS CAMADAS ONDE
PODERÍAMOS DISTRIBUIR ESSES
TESTES?
Júlio de Lima @juliodelimasinsta
O USO DE TÉCNICAS COM
BASE EM REGRAS
Entrada
Saída
Saldo
Resultado
Período
Recorrência
Positivo

Negativo
Sem taxa

Taxa de R$ 5,00

Taxa de R$ 5,00 * N
Até de 24 horas

Mais que 24 horas
Uma vez

Mais de uma vez
T1 T2 T3 T4 T5 T6 T7 T8
Partições
Variáveis
Tipo
UI Componente UI
Backend for Frontend Gateway Controller, Service, Client, Repository
Database API Funções Comuns
Assíncronos
Camadas:
Júlio de Lima @juliodelimasinsta
O USO DE TÉCNICAS COM
BASE EM REGRAS
Entrada
Saída
Saldo
Resultado
Período
Recorrência
Positivo

Negativo
Sem taxa

Taxa de R$ 5,00

Taxa de R$ 5,00 * N
Até de 24 horas

Mais que 24 horas
Uma vez

Mais de uma vez
T1 T2 T3 T4 T5 T6 T7 T8
Partições
Variáveis
Tipo
Controller, Service, Client, Repository
UI Componente UI
Backend for Frontend Gateway Controller, Service, Client, Repository
Database API Funções Comuns
Assíncronos
Camadas:
Júlio de Lima @juliodelimasinsta
Clientes terem não terem sua taxa contabilizada por atraso no mecanismo
assíncrono de cobrança na virada das 24:00:00 a 24:00:01 horas
(T9) Execução dos testes de cobrança durante o período de virada do
mecanismo de cobrança.
Podemos pensar em TESTES
PARA MITIGAR riscos
UI Componente UI
Backend for Frontend Gateway Controller, Service, Client, Repository
Database API Funções Comuns
Assíncronos
Camadas:
Júlio de Lima @juliodelimasinsta
Clientes terem não terem sua taxa contabilizada por atraso no mecanismo
assíncrono de cobrança na virada das 24:00:00 a 24:00:01 horas
(T9) Execução dos testes de cobrança durante o período de virada do
mecanismo de cobrança.
Assíncronos
Funções Comuns
Podemos pensar em TESTES
PARA MITIGAR riscos
UI Componente UI
Backend for Frontend Gateway Controller, Service, Client, Repository
Database API Funções Comuns
Assíncronos
Camadas:
Júlio de Lima @juliodelimasinsta
(T12) Todos os elementos da UI
devem ser compatíveis com
critérios de aceitação da WCAG
(T10) A renderização da tela de
movimentações precisa ser
menor que 100ms
(T13) O endpoint de cálculo deve
ser retrocompatível
(T11) A mudança de hora do
relógio do cliente não deverá
impactar o disparo do cálculo.
TAMBÉM PODEMOS PENSAR EM
NÃO FUNCIONAIS
UI Componente UI
Backend for Frontend Gateway Controller, Service, Client, Repository
Database API Funções Comuns
Assíncronos
Camadas:
Júlio de Lima @juliodelimasinsta
(T10) A renderização da tela de
movimentações precisa ser
menor que 100ms
(T13) O endpoint de cálculo deve
ser retrocompatível
(T11) A mudança de hora do
relógio do cliente não deverá
impactar o disparo do cálculo.
API
TAMBÉM PODEMOS PENSAR EM
NÃO FUNCIONAIS
UI Backend for Frontend
Componente UI
(T12) Todos os elementos da UI
devem ser compatíveis com
critérios de aceitação da WCAG
UI Componente UI
Backend for Frontend Gateway Controller, Service, Client, Repository
Database API Funções Comuns
Assíncronos
Camadas:
Júlio de Lima @juliodelimasinsta
(T14) As cores de valores
positivos ou negativos, não
devem mudar, dada a riqueza de
compreensão ao usuário
(T15) Estrutura das respostas da
API precisam seguir um formato
descrito na documentação 2.0
do Swagger
Podemos testar a
estrutura da aplicação
UI Componente UI
Backend for Frontend Gateway Controller, Service, Client, Repository
Database API Funções Comuns
Assíncronos
Camadas:
Júlio de Lima @juliodelimasinsta
(T14) As cores de valores
positivos ou negativos, não
devem mudar, dada a riqueza de
compreensão ao usuário
(T15) Estrutura das respostas da
API precisam seguir um formato
descrito na documentação 2.0
do Swagger
Componente UI
Podemos testar a
estrutura da aplicação
UI Componente UI
Backend for Frontend Gateway Controller, Service, Client, Repository
Database API Funções Comuns
Assíncronos
Camadas:
API
Controller, Service, Client, Repository
Júlio de Lima @juliodelimasinsta
(T16) Usar a ALTERFACE para
identificar inconsistências
relacionadas a utilização de
componentes Web modernos
(T17) Usar a VADER para
identificar inconsistências quanto
a estrutura da API Rest
(T18) Usar a T-PAIN para
identificar inconsistências quanto
a UI implementada para devices
Mobile
OU BASEADOS NA EXPERIÊNCIA, AO
EXPLORAR O SISTEMA
UI Componente UI
Backend for Frontend Gateway Controller, Service, Client, Repository
Database API Funções Comuns
Assíncronos
Camadas:
Júlio de Lima @juliodelimasinsta
(T16) Usar a ALTERFACE para
identificar inconsistências
relacionadas a utilização de
componentes Web modernos
(T17) Usar a VADER para
identificar inconsistências quanto
a estrutura da API Rest
(T18) Usar a T-PAIN para
identificar inconsistências quanto
a UI implementada para devices
Mobile
OU BASEADOS NA EXPERIÊNCIA, AO
EXPLORAR O SISTEMA
UI Componente UI
Backend for Frontend Gateway Controller, Service, Client, Repository
Database API Funções Comuns
Assíncronos
Camadas:
API
Database UI
Controller, Service, Client, Repository
Componente UI
UI
Júlio de Lima @juliodelimasinsta
E OS BENEFÍCIOS?
Velocidade na execução, redução do tempo
desprendido em testes, aumento da cobertura e
redução dos testes mais sensíveis.
Júlio de Lima @juliodelimasinsta
1) Pense em seus testes
de maneira abrangente
ainda em refinamento
2) ALINHE SUAS
ESTRATÉGIA COM
DEVS DO TIME
3) ECONOMIZE TEMPO
TESTANDO O QUE
IMPORTA, ANTES
DICAS PARA FAZER EM CASA
Júlio de Lima @juliodelimasinsta
ONDE ESSA ABORDAGEM TENDE A FALHAR?
1) TIMES SEGREGADOS,
ONDE DEV'S E QA’s
atuam em times
diferentes
2) times onde a
responsabilidade
em testes é apenas
direcionada a qa’S
3) TIMES ONDE QA’S
NÃO TEM PARTICIPAÇÃO
EM REUNIÕES DE
REFINAMENTO
Júlio de Lima @juliodelimasinsta
Hey!
Júlio de Lima
@juliodelimasinsta



Slides em:

t.me/juliodelimas
Dúvidas?
Júlio de Lima @juliodelimasinsta

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development
 
Papel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilPapel do QA na Transformação Ágil
Papel do QA na Transformação Ágil
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
Karate - powerful and simple framework for REST API automation testing
Karate - powerful and simple framework for REST API automation testingKarate - powerful and simple framework for REST API automation testing
Karate - powerful and simple framework for REST API automation testing
 
Agile KPIs
Agile KPIsAgile KPIs
Agile KPIs
 
10 P's of Testability
10 P's of Testability10 P's of Testability
10 P's of Testability
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
API Testing With Katalon Studio
API Testing With Katalon StudioAPI Testing With Katalon Studio
API Testing With Katalon Studio
 
API Test Automation
API Test Automation API Test Automation
API Test Automation
 
Bug metrics - o uso das métricas para apoiar a priorização dos Bugs de produção
Bug metrics - o uso das métricas para apoiar a priorização dos Bugs de produçãoBug metrics - o uso das métricas para apoiar a priorização dos Bugs de produção
Bug metrics - o uso das métricas para apoiar a priorização dos Bugs de produção
 
[MoT SP #1] PRISMA para Testes Baseados em Risco
[MoT SP #1] PRISMA para Testes Baseados em Risco[MoT SP #1] PRISMA para Testes Baseados em Risco
[MoT SP #1] PRISMA para Testes Baseados em Risco
 
6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture
 
Como criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressComo criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com Cypress
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
 
QA Best Practices in Agile World_new
QA Best Practices in Agile World_newQA Best Practices in Agile World_new
QA Best Practices in Agile World_new
 
User Story Maps: Secrets for Better Backlogs and Planning
 User Story Maps: Secrets for Better Backlogs and Planning User Story Maps: Secrets for Better Backlogs and Planning
User Story Maps: Secrets for Better Backlogs and Planning
 
Test Automation
Test AutomationTest Automation
Test Automation
 
API Test Automation Using Karate (Anil Kumar Moka)
API Test Automation Using Karate (Anil Kumar Moka)API Test Automation Using Karate (Anil Kumar Moka)
API Test Automation Using Karate (Anil Kumar Moka)
 
4 Major Advantages of API Testing
4 Major Advantages of API Testing4 Major Advantages of API Testing
4 Major Advantages of API Testing
 

Semelhante a [ATC2021] Distribuição de Testes em Diferentes Camadas

Uma visão geral sobre a plataforma de aplicações
Uma visão geral sobre a plataforma de aplicaçõesUma visão geral sobre a plataforma de aplicações
Uma visão geral sobre a plataforma de aplicações
Markus Christen
 
Monitoração de Aplicações Distribuídas
Monitoração de Aplicações DistribuídasMonitoração de Aplicações Distribuídas
Monitoração de Aplicações Distribuídas
Markus Christen
 

Semelhante a [ATC2021] Distribuição de Testes em Diferentes Camadas (20)

Robot Framework projetos multifuncionalidades - all-in-one.
Robot Framework projetos multifuncionalidades - all-in-one.Robot Framework projetos multifuncionalidades - all-in-one.
Robot Framework projetos multifuncionalidades - all-in-one.
 
Apresentacao ponto acesso_v0.5
Apresentacao ponto acesso_v0.5Apresentacao ponto acesso_v0.5
Apresentacao ponto acesso_v0.5
 
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitosProdemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
 
Uma visão geral sobre a plataforma de aplicações
Uma visão geral sobre a plataforma de aplicaçõesUma visão geral sobre a plataforma de aplicações
Uma visão geral sobre a plataforma de aplicações
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATS
 
Testes ágeis
Testes ágeisTestes ágeis
Testes ágeis
 
Protheus V12
Protheus V12Protheus V12
Protheus V12
 
CakeSP - Specta Platform: CakePHP, Flex, Fake
CakeSP - Specta Platform: CakePHP, Flex, FakeCakeSP - Specta Platform: CakePHP, Flex, Fake
CakeSP - Specta Platform: CakePHP, Flex, Fake
 
requisitos de software.pptx
requisitos de software.pptxrequisitos de software.pptx
requisitos de software.pptx
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
 
Arquitetura funcional em microservices, 4 anos depois
Arquitetura funcional em microservices, 4 anos depoisArquitetura funcional em microservices, 4 anos depois
Arquitetura funcional em microservices, 4 anos depois
 
Plano de Projeto - OUTLAY
Plano de Projeto - OUTLAYPlano de Projeto - OUTLAY
Plano de Projeto - OUTLAY
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devops
 
Tipos de automação de teste
Tipos de automação de testeTipos de automação de teste
Tipos de automação de teste
 
Monitoração de Aplicações Distribuídas
Monitoração de Aplicações DistribuídasMonitoração de Aplicações Distribuídas
Monitoração de Aplicações Distribuídas
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
Análise de Pontos de Função
Análise de Pontos de FunçãoAnálise de Pontos de Função
Análise de Pontos de Função
 
Automação industrial em grafcet
Automação industrial em grafcetAutomação industrial em grafcet
Automação industrial em grafcet
 

Mais de Júlio de Lima

Mais de Júlio de Lima (20)

[ScrumDay2020] A evolução da responsabilidade em testes
[ScrumDay2020] A evolução da responsabilidade em testes[ScrumDay2020] A evolução da responsabilidade em testes
[ScrumDay2020] A evolução da responsabilidade em testes
 
Reducing the scope of load test analysis (STAREast 2020)
Reducing the scope of load test analysis (STAREast 2020)Reducing the scope of load test analysis (STAREast 2020)
Reducing the scope of load test analysis (STAREast 2020)
 
[TDC2019] Inteligência Artificial e Testes in a Nutshell
[TDC2019] Inteligência Artificial e Testes  in a Nutshell[TDC2019] Inteligência Artificial e Testes  in a Nutshell
[TDC2019] Inteligência Artificial e Testes in a Nutshell
 
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
 
Mindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosMindset de QA em Diferentes Contextos
Mindset de QA em Diferentes Contextos
 
[DevelopersBR-2018] Testes de performance usando a nuvem
[DevelopersBR-2018] Testes de performance usando a nuvem[DevelopersBR-2018] Testes de performance usando a nuvem
[DevelopersBR-2018] Testes de performance usando a nuvem
 
[7Masters Aug, 2018] Escolhas durante automação de testes de API
[7Masters Aug, 2018] Escolhas durante automação de testes de API[7Masters Aug, 2018] Escolhas durante automação de testes de API
[7Masters Aug, 2018] Escolhas durante automação de testes de API
 
[Front in Sampa 2018] Desenvolvendo como QAs
[Front in Sampa 2018] Desenvolvendo como QAs[Front in Sampa 2018] Desenvolvendo como QAs
[Front in Sampa 2018] Desenvolvendo como QAs
 
Mindset do QA em diferentes contextos
Mindset do QA em diferentes contextosMindset do QA em diferentes contextos
Mindset do QA em diferentes contextos
 
[QANinjaConf2017] Testes de Regressão Visual com Galen Framework
[QANinjaConf2017] Testes de Regressão Visual com Galen Framework[QANinjaConf2017] Testes de Regressão Visual com Galen Framework
[QANinjaConf2017] Testes de Regressão Visual com Galen Framework
 
[PHPConference 2016] Criando Mocks com Prophecy
[PHPConference 2016] Criando Mocks com Prophecy[PHPConference 2016] Criando Mocks com Prophecy
[PHPConference 2016] Criando Mocks com Prophecy
 
[QANinjaConference] Carreira em Testes: Ainda vale a pena?
[QANinjaConference] Carreira em Testes: Ainda vale a pena?[QANinjaConference] Carreira em Testes: Ainda vale a pena?
[QANinjaConference] Carreira em Testes: Ainda vale a pena?
 
[QANinjaConference] Automação de Testes com Codeception
[QANinjaConference] Automação de Testes com Codeception[QANinjaConference] Automação de Testes com Codeception
[QANinjaConference] Automação de Testes com Codeception
 
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
 
[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com Codeception[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com Codeception
 
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
 
[UNIP2015] Testando a Performance de Aplicações Web com JMeter
[UNIP2015] Testando a Performance de Aplicações Web com JMeter[UNIP2015] Testando a Performance de Aplicações Web com JMeter
[UNIP2015] Testando a Performance de Aplicações Web com JMeter
 
Palestra DevOps para Teste de Software
Palestra DevOps para Teste de SoftwarePalestra DevOps para Teste de Software
Palestra DevOps para Teste de Software
 
[TICNOVA2015] Palestra sobre Automação de Testes
[TICNOVA2015] Palestra sobre Automação de Testes[TICNOVA2015] Palestra sobre Automação de Testes
[TICNOVA2015] Palestra sobre Automação de Testes
 
TDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-AssuredTDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-Assured
 

[ATC2021] Distribuição de Testes em Diferentes Camadas

  • 1. Distribuição de testes em diferentes camadas Júlio de Lima @juliodelimasinsta
  • 2. CAMADAS Grupos de componentes de software, organizados de maneira a reduzir a complexidade do sistema. Exemplo:
 Controller, Service, etc. Níveis de isolamento dos componentes do software e seus objetivos para execução de testes. Exemplo:
 Unidade, Integração, Sistema e Aceite níveis DE TESTE vs Júlio de Lima @juliodelimasinsta
  • 3. UMA VISÃO LIMITADA SOBRE CAMADAS Júlio de Lima @juliodelimasinsta Front-end Back-end
  • 4. OUTRAS CAMADAS EXISTENTES POR DETRÁS DAS PALAVRAS FRONT E BACK Front-end Back-end UI Componente UI Backend for Frontend Gateway Controller, Service, Client, Repository Database API Funções Comuns Assíncronos Júlio de Lima @juliodelimasinsta
  • 5. Alguns ITENS QUE compõem APLICAÇÕES / juliodelimas Diagramas de Sistema Regras de Negócio Designs de UI, API, etc Estudos Analíticos Critérios de Aceitação COMO, QUERO, PARA DADO, QUANDO, ENTÃO Se isso, faça aquilo </> User Story Aplicação e suas diversas Camadas Júlio de Lima @juliodelimasinsta
  • 6. O que testar aqui, GALERA? Como cliente Quero transferir grana para meus amigos, rapidamente, de modo seguro e sem sair de casa Para poder aproveitar melhor meu tempo livre Regras:
 - Se o saldo permanecer negativo por mais que 24 horas, uma taxa acumulativa de R$ 5,00 deve ser cobrada - Os valores monetários seguem padrão Brasil - Usuários devem ser alertados quanto as taxas através de notificações assíncronas Imagem criada por stories @ freepik.com Júlio de Lima @juliodelimasinsta
  • 7. O USO DE TÉCNICAS COM BASE EM REGRAS Entrada Saída Saldo Resultado Período Recorrência Positivo Negativo Sem taxa Taxa de R$ 5,00
 Taxa de R$ 5,00 * N Até de 24 horas Mais que 24 horas Uma vez Mais de uma vez T1 T2 T3 T4 T5 T6 T7 T8 Partições Variáveis Tipo Júlio de Lima @juliodelimasinsta
  • 8. Clientes terem não terem sua taxa contabilizada por atraso no mecanismo assíncrono de cobrança na virada das 24:00:00 a 24:00:01 horas (T9) Execução dos testes de cobrança durante o período de virada do mecanismo de cobrança. Podemos pensar em TESTES PARA MITIGAR riscos Júlio de Lima @juliodelimasinsta
  • 9. (T10) A renderização da tela de movimentações precisa ser menor que 100ms (T13) O endpoint de cálculo deve ser retrocompatível (T11) A mudança de hora do relógio do cliente não deverá impactar o disparo do cálculo. TAMBÉM PODEMOS PENSAR EM NÃO FUNCIONAIS (T12) Todos os elementos da UI devem ser compatíveis com critérios de aceitação da WCAG Júlio de Lima @juliodelimasinsta
  • 10. (T14) As cores de valores positivos ou negativos, não devem mudar, dada a riqueza de compreensão ao usuário (T15) Estrutura das respostas da API precisam seguir um formato descrito na documentação 2.0 do Swagger Podemos testar a estrutura da aplicação Júlio de Lima @juliodelimasinsta
  • 11. (T16) Usar a ALTERFACE para identificar inconsistências relacionadas a utilização de componentes Web modernos (T17) Usar a VADER para identificar inconsistências quanto a estrutura da API Rest (T18) Usar a T-PAIN para identificar inconsistências quanto a UI implementada para devices Mobile OU BASEADOS NA EXPERIÊNCIA, AO EXPLORAR O SISTEMA Júlio de Lima @juliodelimasinsta
  • 12. E QUANTO AS CAMADAS ONDE PODERÍAMOS DISTRIBUIR ESSES TESTES? Júlio de Lima @juliodelimasinsta
  • 13. O USO DE TÉCNICAS COM BASE EM REGRAS Entrada Saída Saldo Resultado Período Recorrência Positivo Negativo Sem taxa Taxa de R$ 5,00
 Taxa de R$ 5,00 * N Até de 24 horas Mais que 24 horas Uma vez Mais de uma vez T1 T2 T3 T4 T5 T6 T7 T8 Partições Variáveis Tipo UI Componente UI Backend for Frontend Gateway Controller, Service, Client, Repository Database API Funções Comuns Assíncronos Camadas: Júlio de Lima @juliodelimasinsta
  • 14. O USO DE TÉCNICAS COM BASE EM REGRAS Entrada Saída Saldo Resultado Período Recorrência Positivo Negativo Sem taxa Taxa de R$ 5,00
 Taxa de R$ 5,00 * N Até de 24 horas Mais que 24 horas Uma vez Mais de uma vez T1 T2 T3 T4 T5 T6 T7 T8 Partições Variáveis Tipo Controller, Service, Client, Repository UI Componente UI Backend for Frontend Gateway Controller, Service, Client, Repository Database API Funções Comuns Assíncronos Camadas: Júlio de Lima @juliodelimasinsta
  • 15. Clientes terem não terem sua taxa contabilizada por atraso no mecanismo assíncrono de cobrança na virada das 24:00:00 a 24:00:01 horas (T9) Execução dos testes de cobrança durante o período de virada do mecanismo de cobrança. Podemos pensar em TESTES PARA MITIGAR riscos UI Componente UI Backend for Frontend Gateway Controller, Service, Client, Repository Database API Funções Comuns Assíncronos Camadas: Júlio de Lima @juliodelimasinsta
  • 16. Clientes terem não terem sua taxa contabilizada por atraso no mecanismo assíncrono de cobrança na virada das 24:00:00 a 24:00:01 horas (T9) Execução dos testes de cobrança durante o período de virada do mecanismo de cobrança. Assíncronos Funções Comuns Podemos pensar em TESTES PARA MITIGAR riscos UI Componente UI Backend for Frontend Gateway Controller, Service, Client, Repository Database API Funções Comuns Assíncronos Camadas: Júlio de Lima @juliodelimasinsta
  • 17. (T12) Todos os elementos da UI devem ser compatíveis com critérios de aceitação da WCAG (T10) A renderização da tela de movimentações precisa ser menor que 100ms (T13) O endpoint de cálculo deve ser retrocompatível (T11) A mudança de hora do relógio do cliente não deverá impactar o disparo do cálculo. TAMBÉM PODEMOS PENSAR EM NÃO FUNCIONAIS UI Componente UI Backend for Frontend Gateway Controller, Service, Client, Repository Database API Funções Comuns Assíncronos Camadas: Júlio de Lima @juliodelimasinsta
  • 18. (T10) A renderização da tela de movimentações precisa ser menor que 100ms (T13) O endpoint de cálculo deve ser retrocompatível (T11) A mudança de hora do relógio do cliente não deverá impactar o disparo do cálculo. API TAMBÉM PODEMOS PENSAR EM NÃO FUNCIONAIS UI Backend for Frontend Componente UI (T12) Todos os elementos da UI devem ser compatíveis com critérios de aceitação da WCAG UI Componente UI Backend for Frontend Gateway Controller, Service, Client, Repository Database API Funções Comuns Assíncronos Camadas: Júlio de Lima @juliodelimasinsta
  • 19. (T14) As cores de valores positivos ou negativos, não devem mudar, dada a riqueza de compreensão ao usuário (T15) Estrutura das respostas da API precisam seguir um formato descrito na documentação 2.0 do Swagger Podemos testar a estrutura da aplicação UI Componente UI Backend for Frontend Gateway Controller, Service, Client, Repository Database API Funções Comuns Assíncronos Camadas: Júlio de Lima @juliodelimasinsta
  • 20. (T14) As cores de valores positivos ou negativos, não devem mudar, dada a riqueza de compreensão ao usuário (T15) Estrutura das respostas da API precisam seguir um formato descrito na documentação 2.0 do Swagger Componente UI Podemos testar a estrutura da aplicação UI Componente UI Backend for Frontend Gateway Controller, Service, Client, Repository Database API Funções Comuns Assíncronos Camadas: API Controller, Service, Client, Repository Júlio de Lima @juliodelimasinsta
  • 21. (T16) Usar a ALTERFACE para identificar inconsistências relacionadas a utilização de componentes Web modernos (T17) Usar a VADER para identificar inconsistências quanto a estrutura da API Rest (T18) Usar a T-PAIN para identificar inconsistências quanto a UI implementada para devices Mobile OU BASEADOS NA EXPERIÊNCIA, AO EXPLORAR O SISTEMA UI Componente UI Backend for Frontend Gateway Controller, Service, Client, Repository Database API Funções Comuns Assíncronos Camadas: Júlio de Lima @juliodelimasinsta
  • 22. (T16) Usar a ALTERFACE para identificar inconsistências relacionadas a utilização de componentes Web modernos (T17) Usar a VADER para identificar inconsistências quanto a estrutura da API Rest (T18) Usar a T-PAIN para identificar inconsistências quanto a UI implementada para devices Mobile OU BASEADOS NA EXPERIÊNCIA, AO EXPLORAR O SISTEMA UI Componente UI Backend for Frontend Gateway Controller, Service, Client, Repository Database API Funções Comuns Assíncronos Camadas: API Database UI Controller, Service, Client, Repository Componente UI UI Júlio de Lima @juliodelimasinsta
  • 23. E OS BENEFÍCIOS? Velocidade na execução, redução do tempo desprendido em testes, aumento da cobertura e redução dos testes mais sensíveis. Júlio de Lima @juliodelimasinsta
  • 24. 1) Pense em seus testes de maneira abrangente ainda em refinamento 2) ALINHE SUAS ESTRATÉGIA COM DEVS DO TIME 3) ECONOMIZE TEMPO TESTANDO O QUE IMPORTA, ANTES DICAS PARA FAZER EM CASA Júlio de Lima @juliodelimasinsta
  • 25. ONDE ESSA ABORDAGEM TENDE A FALHAR? 1) TIMES SEGREGADOS, ONDE DEV'S E QA’s atuam em times diferentes 2) times onde a responsabilidade em testes é apenas direcionada a qa’S 3) TIMES ONDE QA’S NÃO TEM PARTICIPAÇÃO EM REUNIÕES DE REFINAMENTO Júlio de Lima @juliodelimasinsta
  • 26. Hey! Júlio de Lima @juliodelimasinsta
 
 Slides em:
 t.me/juliodelimas Dúvidas? Júlio de Lima @juliodelimasinsta