SlideShare uma empresa Scribd logo
1 de 21
Testes automatizados - CPA
William Melchior Jablonski - 23/01/2013
Rastreabilidade de Casos de teste ao UC no EA
Estamos em processo de definição, é uma necessidade
para podemos saber quais testes devem ser alterados e
reaplicados em caso de mudança do Caso de Uso, Regra de
Negócio, Requisitos Funcionais, ou seja, algo que gere
impacto na aplicação.
Arquitetura do projeto (Projeto Integrado)
+Todos os clientes em um único projeto
+Reusabilidade do código fonte e dados da planilha
-Projeto grande -Alto acoplamento -Código fonte do teste distribuído
Versionamento do Projeto
Projeto de testes será versionado com o mesmo processo do font, ou
seja, a cada nova versão será aberto um novo Branch.
Novo Slide.
Estrutura do projeto
Sai o numero de versão dos testes devido a
que o projeto será evoluído em Branch’s.
Dados de teste
Utilizar 2 planilhas:
- Dados Comuns a todos clientes;
- Dados de campo especifico do Cliente.
Versionamento do Banco de dados
Será utilizado no banco de dados um conjunto de dados básico padrão para
todos os clientes, ou seja, todos os clientes terão os mesmo dados básicos na
base de dados. (não será os dados básicos reais do cliente)
Será sempre utilizado os conf’s do cliente que vai ser testado.
Petroski está providenciando para os conf’s saírem do Banco de
Dados e ficarem somente nos Font’s específicos do cliente.
Versionamento do Banco de dados
Publicação de Versão
Agendar as rotinas de publicação:
- Meio dia e meia noite.
Será criado uma rotina única no Jenkins que vai
publicar tudo para ‘Determinado Cliente’,
‘Determinado banco’, ‘Determinada Versão de
Aplicação’ e ‘Sempre para a maquina de testes
automatizados’ ao invés de agendar as rotinas uma
a uma.
Rodar testes automatizados
1- Baixa o Jboss da VM.
2- Move os arquivos de EAR do 'Server66' para
'ServerTestesAutomatizadosVMJboss‘ (via SSH).
3 - Verifica qual a versão do banco deve ser utilizada para
aquela versão de aplicação
(jbossserverclienteconfversaoBD-config.txt).
4 - Verifica qual a versão atual do banco atual (tabela de log
do liquibase no BD).
5 - Compara a versão do banco no config com o status atual
do banco.
IF(vbanco < vbancoapp) Atualiza o BD até vbancoapp
IF(vbanco > vbancoapp) Destrói o banco e constrói até
vbancoapp ou loga erro e envia e-mail.
6 - IF(vbanco = vbancoapp) Sobe o Jboss da VM.
7 - Verifica se o Selenium Grid não está no ar
IF(!Instancia Selenium_Grid.exits) Start Selenium_Grid.
8 - Dispara a Suíte de Testes pelo Selenium Grid (roda todos
os testes ao mesmo tempo em browser diferentes).
9 - Final de testes... publica resultado.
10 - Resultado tem erros? SIM-> envia e-mail, NÂO->não faz
nada.
Vai ser substituído por um banco em uma VM, ou seja, toda vez que se
quiser o banco no estado básico o Jenkins vai baixar a VM do banco e
subir novamente, assim volta para o estado inicial da VM.
Obs: Será necessário uma rotina para ter Snapshots da VM de 6 em 6
meses com o intuito de diminuir o tempo de atualização VM para o
ultimo estado do banco.
O TestNG efetua a mesma
funcionalidade do
Selenium Grid só que por
parâmetro.(Pendência
William: Comparar o
consumo de memória.)
Report dos testes automatizados
ReportNG
TestNG-XSLT
Pode-se aferir diariamente a evolução do projeto de testes automatizados.
Processo – Gerar Versão para testes automatizados
Processo – Rodar testes automatizados
Não é VM, o
Jboss vai estar
no servidor de
testes
automatizados.
Processo – Necessidade de Script BD na implementação
Processo - adequação no Processo de Desenvolvimento
Processo – Implementação de teste para o legado
Como fica os testes automatizados se tivermos
uma correção para a versão que já está em
produção?
V 05.04.00 - Produção
V 05.05.00 - Homologação
V 05.06.00 - Desenvolvimento
Cliente XYZ
Exemplo:
Fluxo de teste automatizado - Magnatas
O parâmetro passado no Jenkins manualmente (versão
aplicação) ou a ultima versão(valor default) será utilizado
para indicar qual Branch do projeto de testes vai ser
executado.
Máquina que possa trabalhar com:
- 3 bancos ao mesmo (SQL Server, Oracle e DB2);
- Jenkins;
- Serviço SSH;
- VM
- Snapshot do banco de dados em estado básico.
-Threads de Selenium Server no ar (x<=15 ao mesmo tempo).
Necessidade de Hardware
Necessidade de recursos (Pessoas) com
alocação para as tarefas:
- Implementar testes legado;
- Finalizar ambientes e configurações.
Será utilizado 1 VM
para cada banco de
dados.
Sugestões?
Obrigado !

Mais conteúdo relacionado

Mais procurados

Cloud Mysql e MariaDB em alta performance
Cloud Mysql e MariaDB em alta performanceCloud Mysql e MariaDB em alta performance
Cloud Mysql e MariaDB em alta performanceSaveincloud
 
Evoluindo bancos de dados com Flyway
Evoluindo bancos de dados com FlywayEvoluindo bancos de dados com Flyway
Evoluindo bancos de dados com FlywayVitor Albuquerque
 
Testando aplicações DataSnap
Testando aplicações DataSnapTestando aplicações DataSnap
Testando aplicações DataSnapAndreano Lanusse
 
Monitoramento contínuo em dia de pico de consumo ajuda a determinar o número ...
Monitoramento contínuo em dia de pico de consumo ajuda a determinar o número ...Monitoramento contínuo em dia de pico de consumo ajuda a determinar o número ...
Monitoramento contínuo em dia de pico de consumo ajuda a determinar o número ...Joao Galdino Mello de Souza
 
Usando JMeter para testar sua aplicação JSF
Usando JMeter para testar sua aplicação JSFUsando JMeter para testar sua aplicação JSF
Usando JMeter para testar sua aplicação JSFJadson Santos
 

Mais procurados (10)

Jmeter apresentacao
Jmeter apresentacaoJmeter apresentacao
Jmeter apresentacao
 
JMeter
JMeterJMeter
JMeter
 
Introdução ao Chef Ops
Introdução ao Chef OpsIntrodução ao Chef Ops
Introdução ao Chef Ops
 
Cloud Mysql e MariaDB em alta performance
Cloud Mysql e MariaDB em alta performanceCloud Mysql e MariaDB em alta performance
Cloud Mysql e MariaDB em alta performance
 
Trabalho sic benchmark
Trabalho sic   benchmarkTrabalho sic   benchmark
Trabalho sic benchmark
 
Evoluindo bancos de dados com Flyway
Evoluindo bancos de dados com FlywayEvoluindo bancos de dados com Flyway
Evoluindo bancos de dados com Flyway
 
Testando aplicações DataSnap
Testando aplicações DataSnapTestando aplicações DataSnap
Testando aplicações DataSnap
 
Performance em Java
Performance em JavaPerformance em Java
Performance em Java
 
Monitoramento contínuo em dia de pico de consumo ajuda a determinar o número ...
Monitoramento contínuo em dia de pico de consumo ajuda a determinar o número ...Monitoramento contínuo em dia de pico de consumo ajuda a determinar o número ...
Monitoramento contínuo em dia de pico de consumo ajuda a determinar o número ...
 
Usando JMeter para testar sua aplicação JSF
Usando JMeter para testar sua aplicação JSFUsando JMeter para testar sua aplicação JSF
Usando JMeter para testar sua aplicação JSF
 

Destaque

Apresentação projeto de evolução do banco de dados de homologação e produção ...
Apresentação projeto de evolução do banco de dados de homologação e produção ...Apresentação projeto de evolução do banco de dados de homologação e produção ...
Apresentação projeto de evolução do banco de dados de homologação e produção ...William Melchior Jablonski, CTFL
 
Apresentação do trabalho de conclusão de curso - Estudo de caso da aplicação ...
Apresentação do trabalho de conclusão de curso - Estudo de caso da aplicação ...Apresentação do trabalho de conclusão de curso - Estudo de caso da aplicação ...
Apresentação do trabalho de conclusão de curso - Estudo de caso da aplicação ...William Melchior Jablonski, CTFL
 
Apresentação proposta de padronização da estrutura e escrita dos casos de teste
Apresentação proposta de padronização da estrutura e escrita dos casos de testeApresentação proposta de padronização da estrutura e escrita dos casos de teste
Apresentação proposta de padronização da estrutura e escrita dos casos de testeWilliam Melchior Jablonski, CTFL
 
Apresentação implatação do Jira como ferramenta de gestão de bpmn das demanda...
Apresentação implatação do Jira como ferramenta de gestão de bpmn das demanda...Apresentação implatação do Jira como ferramenta de gestão de bpmn das demanda...
Apresentação implatação do Jira como ferramenta de gestão de bpmn das demanda...William Melchior Jablonski, CTFL
 

Destaque (6)

Apresentação projeto de evolução do banco de dados de homologação e produção ...
Apresentação projeto de evolução do banco de dados de homologação e produção ...Apresentação projeto de evolução do banco de dados de homologação e produção ...
Apresentação projeto de evolução do banco de dados de homologação e produção ...
 
Apresentação TCC I - IES/SC 2013
Apresentação TCC I - IES/SC 2013Apresentação TCC I - IES/SC 2013
Apresentação TCC I - IES/SC 2013
 
Apresentação do trabalho de conclusão de curso - Estudo de caso da aplicação ...
Apresentação do trabalho de conclusão de curso - Estudo de caso da aplicação ...Apresentação do trabalho de conclusão de curso - Estudo de caso da aplicação ...
Apresentação do trabalho de conclusão de curso - Estudo de caso da aplicação ...
 
Apresentação proposta de padronização da estrutura e escrita dos casos de teste
Apresentação proposta de padronização da estrutura e escrita dos casos de testeApresentação proposta de padronização da estrutura e escrita dos casos de teste
Apresentação proposta de padronização da estrutura e escrita dos casos de teste
 
Processo de implantação de testes automatizados
Processo de implantação de testes automatizadosProcesso de implantação de testes automatizados
Processo de implantação de testes automatizados
 
Apresentação implatação do Jira como ferramenta de gestão de bpmn das demanda...
Apresentação implatação do Jira como ferramenta de gestão de bpmn das demanda...Apresentação implatação do Jira como ferramenta de gestão de bpmn das demanda...
Apresentação implatação do Jira como ferramenta de gestão de bpmn das demanda...
 

Semelhante a Testes automatizados para múltiplos clientes e bancos de dados

Introdução ao Flyway
Introdução ao FlywayIntrodução ao Flyway
Introdução ao FlywayJadson Santos
 
Maratona JBoss 2010 - JBoss AS Amazon EC2
Maratona JBoss 2010 - JBoss AS Amazon EC2Maratona JBoss 2010 - JBoss AS Amazon EC2
Maratona JBoss 2010 - JBoss AS Amazon EC2Dextra
 
Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
Medindo e Modelando o Desempenho de Aplicações em um Ambiente VirtualMedindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
Medindo e Modelando o Desempenho de Aplicações em um Ambiente VirtualRafael Reis
 
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)Mayara Fernandes
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAmazon Web Services LATAM
 
O novo IBM COBOL ENTERPRISE V5/V6 para zOS e o IBM ABO
O novo IBM COBOL ENTERPRISE V5/V6 para zOS e o IBM ABOO novo IBM COBOL ENTERPRISE V5/V6 para zOS e o IBM ABO
O novo IBM COBOL ENTERPRISE V5/V6 para zOS e o IBM ABOPaulo Batuta
 
Virtualization Consolidation Slide
Virtualization Consolidation SlideVirtualization Consolidation Slide
Virtualization Consolidation SlideNetBR
 
Cloud Server Embratel
Cloud Server EmbratelCloud Server Embratel
Cloud Server EmbratelAlex Hübner
 
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)Aryel Tupinambá
 
Dicas e Truques de Performance: Como obter o maximo do Windows Server 2008 R2...
Dicas e Truques de Performance: Como obter o maximo do Windows Server 2008 R2...Dicas e Truques de Performance: Como obter o maximo do Windows Server 2008 R2...
Dicas e Truques de Performance: Como obter o maximo do Windows Server 2008 R2...Rodrigo Immaginario
 
Gerenciamento de configuração com puppet
Gerenciamento de configuração com puppetGerenciamento de configuração com puppet
Gerenciamento de configuração com puppetElton Simões
 
Lançamento KES e Security Center
Lançamento KES e Security CenterLançamento KES e Security Center
Lançamento KES e Security CenterCentral Info
 
Gerência de configuração ágil
Gerência de configuração ágilGerência de configuração ágil
Gerência de configuração ágilClaudia Melo
 
Apresentação servidores de aplicação
Apresentação   servidores de aplicaçãoApresentação   servidores de aplicação
Apresentação servidores de aplicaçãoHelen Picoli
 
Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7Claudio Miranda
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de SoftwareSaulo Arruda
 
Uma breve introdução ao Terraform
Uma breve introdução ao TerraformUma breve introdução ao Terraform
Uma breve introdução ao TerraformLeandro Silva
 

Semelhante a Testes automatizados para múltiplos clientes e bancos de dados (20)

Introdução ao Flyway
Introdução ao FlywayIntrodução ao Flyway
Introdução ao Flyway
 
Maratona JBoss 2010 - JBoss AS Amazon EC2
Maratona JBoss 2010 - JBoss AS Amazon EC2Maratona JBoss 2010 - JBoss AS Amazon EC2
Maratona JBoss 2010 - JBoss AS Amazon EC2
 
Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
Medindo e Modelando o Desempenho de Aplicações em um Ambiente VirtualMedindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
 
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
 
O novo IBM COBOL ENTERPRISE V5/V6 para zOS e o IBM ABO
O novo IBM COBOL ENTERPRISE V5/V6 para zOS e o IBM ABOO novo IBM COBOL ENTERPRISE V5/V6 para zOS e o IBM ABO
O novo IBM COBOL ENTERPRISE V5/V6 para zOS e o IBM ABO
 
Escalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com BeanstalkEscalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com Beanstalk
 
Virtualization Consolidation Slide
Virtualization Consolidation SlideVirtualization Consolidation Slide
Virtualization Consolidation Slide
 
Palestra FISL 14 JBoss Cluster
Palestra FISL 14 JBoss ClusterPalestra FISL 14 JBoss Cluster
Palestra FISL 14 JBoss Cluster
 
Escalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com BeanstalkEscalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com Beanstalk
 
Cloud Server Embratel
Cloud Server EmbratelCloud Server Embratel
Cloud Server Embratel
 
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
 
Dicas e Truques de Performance: Como obter o maximo do Windows Server 2008 R2...
Dicas e Truques de Performance: Como obter o maximo do Windows Server 2008 R2...Dicas e Truques de Performance: Como obter o maximo do Windows Server 2008 R2...
Dicas e Truques de Performance: Como obter o maximo do Windows Server 2008 R2...
 
Gerenciamento de configuração com puppet
Gerenciamento de configuração com puppetGerenciamento de configuração com puppet
Gerenciamento de configuração com puppet
 
Lançamento KES e Security Center
Lançamento KES e Security CenterLançamento KES e Security Center
Lançamento KES e Security Center
 
Gerência de configuração ágil
Gerência de configuração ágilGerência de configuração ágil
Gerência de configuração ágil
 
Apresentação servidores de aplicação
Apresentação   servidores de aplicaçãoApresentação   servidores de aplicação
Apresentação servidores de aplicação
 
Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7Dicas para Turbinar o servidor de Aplicações JBoss 7
Dicas para Turbinar o servidor de Aplicações JBoss 7
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Uma breve introdução ao Terraform
Uma breve introdução ao TerraformUma breve introdução ao Terraform
Uma breve introdução ao Terraform
 

Testes automatizados para múltiplos clientes e bancos de dados

  • 1. Testes automatizados - CPA William Melchior Jablonski - 23/01/2013
  • 2. Rastreabilidade de Casos de teste ao UC no EA Estamos em processo de definição, é uma necessidade para podemos saber quais testes devem ser alterados e reaplicados em caso de mudança do Caso de Uso, Regra de Negócio, Requisitos Funcionais, ou seja, algo que gere impacto na aplicação.
  • 3. Arquitetura do projeto (Projeto Integrado) +Todos os clientes em um único projeto +Reusabilidade do código fonte e dados da planilha -Projeto grande -Alto acoplamento -Código fonte do teste distribuído
  • 4. Versionamento do Projeto Projeto de testes será versionado com o mesmo processo do font, ou seja, a cada nova versão será aberto um novo Branch. Novo Slide.
  • 5. Estrutura do projeto Sai o numero de versão dos testes devido a que o projeto será evoluído em Branch’s.
  • 6. Dados de teste Utilizar 2 planilhas: - Dados Comuns a todos clientes; - Dados de campo especifico do Cliente.
  • 7. Versionamento do Banco de dados Será utilizado no banco de dados um conjunto de dados básico padrão para todos os clientes, ou seja, todos os clientes terão os mesmo dados básicos na base de dados. (não será os dados básicos reais do cliente) Será sempre utilizado os conf’s do cliente que vai ser testado. Petroski está providenciando para os conf’s saírem do Banco de Dados e ficarem somente nos Font’s específicos do cliente.
  • 9. Publicação de Versão Agendar as rotinas de publicação: - Meio dia e meia noite. Será criado uma rotina única no Jenkins que vai publicar tudo para ‘Determinado Cliente’, ‘Determinado banco’, ‘Determinada Versão de Aplicação’ e ‘Sempre para a maquina de testes automatizados’ ao invés de agendar as rotinas uma a uma.
  • 10. Rodar testes automatizados 1- Baixa o Jboss da VM. 2- Move os arquivos de EAR do 'Server66' para 'ServerTestesAutomatizadosVMJboss‘ (via SSH). 3 - Verifica qual a versão do banco deve ser utilizada para aquela versão de aplicação (jbossserverclienteconfversaoBD-config.txt). 4 - Verifica qual a versão atual do banco atual (tabela de log do liquibase no BD). 5 - Compara a versão do banco no config com o status atual do banco. IF(vbanco < vbancoapp) Atualiza o BD até vbancoapp IF(vbanco > vbancoapp) Destrói o banco e constrói até vbancoapp ou loga erro e envia e-mail. 6 - IF(vbanco = vbancoapp) Sobe o Jboss da VM. 7 - Verifica se o Selenium Grid não está no ar IF(!Instancia Selenium_Grid.exits) Start Selenium_Grid. 8 - Dispara a Suíte de Testes pelo Selenium Grid (roda todos os testes ao mesmo tempo em browser diferentes). 9 - Final de testes... publica resultado. 10 - Resultado tem erros? SIM-> envia e-mail, NÂO->não faz nada. Vai ser substituído por um banco em uma VM, ou seja, toda vez que se quiser o banco no estado básico o Jenkins vai baixar a VM do banco e subir novamente, assim volta para o estado inicial da VM. Obs: Será necessário uma rotina para ter Snapshots da VM de 6 em 6 meses com o intuito de diminuir o tempo de atualização VM para o ultimo estado do banco. O TestNG efetua a mesma funcionalidade do Selenium Grid só que por parâmetro.(Pendência William: Comparar o consumo de memória.)
  • 11. Report dos testes automatizados ReportNG TestNG-XSLT Pode-se aferir diariamente a evolução do projeto de testes automatizados.
  • 12. Processo – Gerar Versão para testes automatizados
  • 13. Processo – Rodar testes automatizados Não é VM, o Jboss vai estar no servidor de testes automatizados.
  • 14. Processo – Necessidade de Script BD na implementação
  • 15. Processo - adequação no Processo de Desenvolvimento
  • 16. Processo – Implementação de teste para o legado
  • 17. Como fica os testes automatizados se tivermos uma correção para a versão que já está em produção? V 05.04.00 - Produção V 05.05.00 - Homologação V 05.06.00 - Desenvolvimento Cliente XYZ Exemplo:
  • 18. Fluxo de teste automatizado - Magnatas O parâmetro passado no Jenkins manualmente (versão aplicação) ou a ultima versão(valor default) será utilizado para indicar qual Branch do projeto de testes vai ser executado.
  • 19. Máquina que possa trabalhar com: - 3 bancos ao mesmo (SQL Server, Oracle e DB2); - Jenkins; - Serviço SSH; - VM - Snapshot do banco de dados em estado básico. -Threads de Selenium Server no ar (x<=15 ao mesmo tempo). Necessidade de Hardware Necessidade de recursos (Pessoas) com alocação para as tarefas: - Implementar testes legado; - Finalizar ambientes e configurações. Será utilizado 1 VM para cada banco de dados.