SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
www.cnqs.com.br@cnqsbr
Testes e Sistemas Legados
#quemNunca
Fernando Santiago
Eng. Computação – UBC / Eng. Software – UNISUL
CTFL / CSM
Apoio
@scguts gutssc.wordpress.com
scguts@gmail.com
Os SISTEMAS LEGADOS podem vir a apresentar uma lista bem longa de NÃO CONFORMIDADES, tais
como: projetos não extensíveis; código complicado, documentação pobre ou inexistente; e um histórico
de modificações mal gerido.
gutssc.wordpress.com
+ Custo
+ Problema
+ Manutenção
- Limite de potencial
- Rastreabilidade
- Testes
Sistemas Legados
gutssc.wordpress.com
Sistemas Legados
... e o Testador de software
gutssc.wordpress.com
Pirâmide de Automação de Testes
+
M
A
N
U
T
E
N
Ç
Ã
O
-
-
V
E
L
O
C
I
D
A
D
E
+
Interface
Integração
Unitário
gutssc.wordpress.com
+
M
A
N
U
T
E
N
Ç
Ã
O
-
-
V
E
L
O
C
I
D
A
D
E
+
Interface
Integração
Unitário
Pirâmide de Automação de Testes
gutssc.wordpress.com
Case: Sienge
www.softplan.com.br/carreira
Software Integrado de Gestão para a Indústria da Construção 100% web
Mais de 2500 clientes
Cliente alvo: Construtoras, incorporadoras, empreiteiras, instaladoras, entre outros
+ 3.989.855 linhas de código
gutssc.wordpress.com
Framework de Testes: Suricato
Também conhecido como o sentinela da savana, os suricatos revezam-se nas
tarefas de VIGIA e PROTEÇÃO dos indivíduos da comunidade.
gutssc.wordpress.com
Suricato
2009 
Alta reutilização de métodos
Relatórios e screenshots de falhas
Automação para não programadores
Encapsula e abstrai a implementação do teste
Maior velocidade no desenvolvimento e execução de cenários de testes
(headless browsers)
História
Benefícios
Biblioteca Keyword Driven
Gerenciado por Gradle
Desenvolvido em Java
Selenium
TestNG
O que é
gutssc.wordpress.com
Suricato: Estrutura
Testes Automatizados
Selenium TestNG
Suricato
driver
xml
annotations
gutssc.wordpress.com
Suricato: Base de Dados
Repositório origem
Repositório espelho Servidor de aplicação
(Cópia)
(Serviço de banco parado)
(Serviço de banco inicializado)
gutssc.wordpress.com
Suricato: Principais Keywords
Preenchimento
Ação
Verificação
digitaNoCampo("label_campo", "vl_digitado");
selecionaValor("label_campo", " vl_selecionado");
digitaNoCampoDaGrid("nm_grid", linha_grid, "nm_coluna",
"vl_digitado");
acessaBase("nome_base", "usuario", "senha", 564);
clicaNoBotao("label_botao");
mudaParametroWeb(123, "vl_configuracao");
esperaPaginaCarregar(); (espera explícita)
verificaMensagemDeSucesso();
verificaCampoComValor("label_campo", "vl_esperado");
comparaRelatorio("relatorio_esperado.pdf",
"relatorio_gerado.pdf");
gutssc.wordpress.com
Aplicação
Cenário da Equipe
Planejamento de Testes
Especificação de Testes
Implementação de Testes
Execução de Testes
Conclusão
Cenário Atual
gutssc.wordpress.com
Aplicação: Cenário da Equipe
Equipe
02 Analistas de sistemas
02 Analistas de testes
08 Desenvolvedores
Módulos
Comercial
Financeiro
Defeitos registrados
Backlog de defeitos: 127
Média semanal de defeitos: 24
Média semanal de falhas: 81
Set/2013
Prazo
Uheuheuehuehue
gutssc.wordpress.com
Aplicação: Planejamento de Testes
Período de captura de defeitos: 3 meses
TABELA DE DEFEITOS POR FUNCIONALIDADE
Funcionalidade Ocorrência %
Cadastro de Título 30 4,3
Inclusão de Baixa 61 8,7
Repactuação 54 7,7
Geração de Cobrança Escritural 111 15,9
Solicitação de Contratos 18 2,6
Cancelamento de Contratos 36 5,2
... ... ...
TOTAL 698 100
gutssc.wordpress.com
Aplicação: Especificação de Testes - Dados
TABELA DE CADASTRO DE DADOS - TÍTULO
tpCorrecao tpCorrecao tpJuros tpAcrescimos txAdm ...
Mensal Neutro Nenhum Nenhum False ...
Anual Sem retroatividade Simples Mensal simples True ...
Com retroatividade Composto Mensal Composto ...
Fixo Diário ...
... ... ...
Títulos a serem cadastrados na base de dados
gutssc.wordpress.com
Aplicação: Especificação de Testes - Cenários
TABELA DE CENÁRIOS DE TESTES - INCLUSÃO DE BAIXA
titulos* dtBaixa calcVlPresente tpBaixa corrigirVl ...
1 Vencimento False Adiantamento False ...
2 Atrasada True Cancelamento True ...
3 Antecipada Recebimento ...
4 Substituição ...
... ... ...
Cenários de testes a serem codificados
* Títulos gerados na tela anterior
gutssc.wordpress.com
Aplicação: Suíte de Testes
<suite name="CNQS">
<parameter name="repositorio" value="C:local"/>
<parameter name="baseDados" value="C:local"/>
<parameter name="chromePathDriver" value="./local"/>
<parameter name="fireBirdService" value="nm_servico_banco_dados"/>
<parameter name="caminhoScreenshots" value="C:local"/>
<parameter name="caminhoDownloads" value="C:local"/>
<parameter name="tearDown" value="true"/>
<listeners>
<listener class-name="br.com.cnqs.ScreenshotListener"/>
</listeners>
<test verbose="2" name="TESTE_01" annotations="JDK">
<parameter name="url" value="http://localhost:8080/cnqs/"/>
<parameter name="usuario" value="usuario"/>
<parameter name="senha" value="usuario!"/>
<classes>
<class name="br.com.cnqs.NomeClasseTest">
<methods>
<include name="nomeMetodo"/>
</methods>
</classes>
</test>
</suite>
gutssc.wordpress.com
Aplicação: Implementação de Testes
public class ExtratoClienteTest {
@BeforeClass
public void setUp() {
acessaBase("BaseCNQS", 0);
mudaParametroWeb(001, "S");
}
MenuPage menuPage = new MenuPage();
@Test(priority = 1)
public void gerarExtratoCliente() {
ExtratoClientePage emitirExtrato =
menuPage.navegarParaExtratoCliente();
emitirExtrato.preencherTitulo("174");
emitirExtrato.preencherCorrecaoAte("01/01/2013");
emitirExtrato.clicarNoBotaoVisualizar().
compararRelatorios("relatorio.pdf", "relatorio.pdf");
}
}
gutssc.wordpress.com
Aplicação: Implementação de Testes
public class MenuPage {
public void navegarParaExtratoCliente() {
navegaPara("Financeiro.Contas a Receber.Relatórios...");
esperaPaginaCarregar();
}...
public class ExtratoClientePage {
public void preencherTitulo(String cdTitulo) {
digitaNoCampo("Título", cdTitulo);
esperaPaginaCarregar();
}
public void preencherCorrecaoAte(String dtCorrecao) {
digitaNoCampo("Correção até*", dtCorrecao);
}
public void clicarNoBotaoVisualizar() {
clicaNoBotao("Visualizar");
esperaPaginaCarregar();
}...
gutssc.wordpress.com
Aplicação: Execução de Testes
gutssc.wordpress.com
Aplicação: Evidência de Falha
gutssc.wordpress.com
Se na teoria é bom...
...Na prática é melhor ainda.
Aplicação: Execução
gutssc.wordpress.com
Aplicação: Conclusão
Processo de automação
Período: 15 meses
Horas mensais: 47,1 (média por analista)
Cenários automatizados: 909
Falhas prevenidas: 190
gutssc.wordpress.com
Falhas Prevenidas
0
50
100
150
200
250
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Falhas Falhas Acumuladas
4 14 15 4 16 26 8 13 15 7 21 18 6 10 12
4 18 33 37 53 79 87 100 115 122 143 161 167 178 190
mês mês mês mês mês mês mês mês mês mês mês mês mês mês mês
gutssc.wordpress.com
Históricos de Defeitos
0
5
10
15
20
25
30
35
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Média semanal
24 20 19 16 15 30 18 17 15 18 10 10 13 15 10
Melhoria: 58% em quedaQueda de defeitos: 58%
mês mês mês mês mês mês mês mês mês mês mês mês mês mês mês
gutssc.wordpress.com
Históricos de Defeitos
0
20
40
60
80
100
120
140
160
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Estoque de defeitos
127 150 151 125 95 111 92 105 79 73 47 40 20 33 6
Melhoria: 96% em quedaQueda de defeitos: 96%
mês mês mês mês mês mês mês mês mês mês mês mês mês mês mês
gutssc.wordpress.com
Integração Contínua: Versão de Cliente
gutssc.wordpress.com
Integração Contínua: Versão de Produção
gutssc.wordpress.com
Cenário Atual
• Queda na quantidade de falhas reportadas pelo cliente;
• Baixa quantidade de defeitos no backlog corretivo da equipe;
• Prioridade no desenvolvimento do backlog evolutivo da equipe;
• Maior confiança na refatoração de código legado;
• Integração da automação de testes no ciclo de desenvolvimento;
• Execução de testes agendados em Integração Contínua;
• Redução em 91% de retrabalho durante o ciclo de desenvolvimento
aplicado com coach test.
Testes e Sistemas Legados. #quemNunca
scguts@gmail.com
Contato
scambaw@gmail.com
/in/fernosantiago
gutssc.wordpress.com
Fernando Santiago

Contenu connexe

Similaire à CNQS - Testes e Sistemas legados #quemNunca - ONLINE/2016

Artigo sobre rbc
Artigo sobre rbcArtigo sobre rbc
Artigo sobre rbc
Hades Nc
 
Python + Delphi: Um relacionamento que está dando certo
Python + Delphi: Um relacionamento que está dando certoPython + Delphi: Um relacionamento que está dando certo
Python + Delphi: Um relacionamento que está dando certo
Fernando Macedo
 
Manual -exercicios_de_aplicacao_gestao_qualidade
Manual  -exercicios_de_aplicacao_gestao_qualidadeManual  -exercicios_de_aplicacao_gestao_qualidade
Manual -exercicios_de_aplicacao_gestao_qualidade
victorltex
 
seissigmatrad.pdf
seissigmatrad.pdfseissigmatrad.pdf
seissigmatrad.pdf
LuizFellipeSilva
 
Testes Automatizados de Software Um Guia Pratico by Mauricio Aniche (z-lib.or...
Testes Automatizados de Software Um Guia Pratico by Mauricio Aniche (z-lib.or...Testes Automatizados de Software Um Guia Pratico by Mauricio Aniche (z-lib.or...
Testes Automatizados de Software Um Guia Pratico by Mauricio Aniche (z-lib.or...
RodrigoLuis21
 

Similaire à CNQS - Testes e Sistemas legados #quemNunca - ONLINE/2016 (20)

[SIN-NA7] Gestão de Projetos e Empreendedorismo - Atividade: Status Report
[SIN-NA7] Gestão de Projetos e Empreendedorismo - Atividade: Status Report[SIN-NA7] Gestão de Projetos e Empreendedorismo - Atividade: Status Report
[SIN-NA7] Gestão de Projetos e Empreendedorismo - Atividade: Status Report
 
Automação com Data Collection
Automação com Data CollectionAutomação com Data Collection
Automação com Data Collection
 
[GUTS-RS] Evento Outubro 2017 - Entrega contínua do zero ao sucesso
[GUTS-RS] Evento Outubro 2017 - Entrega contínua  do zero ao sucesso[GUTS-RS] Evento Outubro 2017 - Entrega contínua  do zero ao sucesso
[GUTS-RS] Evento Outubro 2017 - Entrega contínua do zero ao sucesso
 
Conheça técnicas para aumentar o ROI do projeto de monitoramento
Conheça técnicas para aumentar o ROI do projeto de monitoramentoConheça técnicas para aumentar o ROI do projeto de monitoramento
Conheça técnicas para aumentar o ROI do projeto de monitoramento
 
Artigo sobre rbc
Artigo sobre rbcArtigo sobre rbc
Artigo sobre rbc
 
Entrega Contínua - do Zero ao Sucesso
Entrega Contínua - do Zero ao SucessoEntrega Contínua - do Zero ao Sucesso
Entrega Contínua - do Zero ao Sucesso
 
Elevando sua análise de métricas para o próximo nível
Elevando sua análise de métricas para o próximo nívelElevando sua análise de métricas para o próximo nível
Elevando sua análise de métricas para o próximo nível
 
Python + Delphi: Um relacionamento que está dando certo
Python + Delphi: Um relacionamento que está dando certoPython + Delphi: Um relacionamento que está dando certo
Python + Delphi: Um relacionamento que está dando certo
 
Presentation ketchup
Presentation ketchupPresentation ketchup
Presentation ketchup
 
Manual -exercicios_de_aplicacao_gestao_qualidade
Manual  -exercicios_de_aplicacao_gestao_qualidadeManual  -exercicios_de_aplicacao_gestao_qualidade
Manual -exercicios_de_aplicacao_gestao_qualidade
 
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas DistribuídosQConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
 
Brasil Logic Sistemas
Brasil Logic SistemasBrasil Logic Sistemas
Brasil Logic Sistemas
 
Ferramentas da qualidade 2.pptx
Ferramentas da qualidade  2.pptxFerramentas da qualidade  2.pptx
Ferramentas da qualidade 2.pptx
 
Institucional 2016 premier it
Institucional 2016 premier it Institucional 2016 premier it
Institucional 2016 premier it
 
seissigmatrad.pdf
seissigmatrad.pdfseissigmatrad.pdf
seissigmatrad.pdf
 
QConSP 2014 SambaTech Analytics: Arquiteturas e tecnologias por trás da análi...
QConSP 2014 SambaTech Analytics: Arquiteturas e tecnologias por trás da análi...QConSP 2014 SambaTech Analytics: Arquiteturas e tecnologias por trás da análi...
QConSP 2014 SambaTech Analytics: Arquiteturas e tecnologias por trás da análi...
 
Testes Automatizados e testes de carga no Visual Studio Team Service
Testes Automatizados e testes de carga no Visual Studio Team ServiceTestes Automatizados e testes de carga no Visual Studio Team Service
Testes Automatizados e testes de carga no Visual Studio Team Service
 
Protheus V12
Protheus V12Protheus V12
Protheus V12
 
Testes Automatizados de Software Um Guia Pratico by Mauricio Aniche (z-lib.or...
Testes Automatizados de Software Um Guia Pratico by Mauricio Aniche (z-lib.or...Testes Automatizados de Software Um Guia Pratico by Mauricio Aniche (z-lib.or...
Testes Automatizados de Software Um Guia Pratico by Mauricio Aniche (z-lib.or...
 
Workshop Explorando a Thomson Reuters Eikon - 2017
Workshop Explorando a Thomson Reuters Eikon - 2017Workshop Explorando a Thomson Reuters Eikon - 2017
Workshop Explorando a Thomson Reuters Eikon - 2017
 

Plus de Fernando Santiago

Plus de Fernando Santiago (16)

Reunião Diária - Como uma cerimônia orientada a fluxo
Reunião Diária - Como uma cerimônia orientada a fluxoReunião Diária - Como uma cerimônia orientada a fluxo
Reunião Diária - Como uma cerimônia orientada a fluxo
 
Escalando Qualidade - Superando os desafios de transição em testes de software
Escalando Qualidade - Superando os desafios de transição em testes de softwareEscalando Qualidade - Superando os desafios de transição em testes de software
Escalando Qualidade - Superando os desafios de transição em testes de software
 
Escalando Qualidade - Superando os desafios de transição em testes de software
Escalando Qualidade - Superando os desafios de transição em testes de softwareEscalando Qualidade - Superando os desafios de transição em testes de software
Escalando Qualidade - Superando os desafios de transição em testes de software
 
Definition of Ready
Definition of ReadyDefinition of Ready
Definition of Ready
 
Culturas Ágeis
Culturas ÁgeisCulturas Ágeis
Culturas Ágeis
 
TDC - Saia da rotina e seja o owner da qualidade - SC/2018
TDC - Saia da rotina e seja o owner da qualidade - SC/2018TDC - Saia da rotina e seja o owner da qualidade - SC/2018
TDC - Saia da rotina e seja o owner da qualidade - SC/2018
 
Agile Trends - Saia da rotina e seja o owner da qualidade - SP/2018
Agile Trends - Saia da rotina e seja o owner da qualidade - SP/2018Agile Trends - Saia da rotina e seja o owner da qualidade - SP/2018
Agile Trends - Saia da rotina e seja o owner da qualidade - SP/2018
 
State of Quality - Testes Exploratórios
State of Quality - Testes ExploratóriosState of Quality - Testes Exploratórios
State of Quality - Testes Exploratórios
 
TDC - [CUIDADO] Pareando dados com o uso de ferramentas pairwise - RS/2017
TDC - [CUIDADO] Pareando dados com o uso de ferramentas pairwise - RS/2017TDC - [CUIDADO] Pareando dados com o uso de ferramentas pairwise - RS/2017
TDC - [CUIDADO] Pareando dados com o uso de ferramentas pairwise - RS/2017
 
Agile Trends - O que eu aprendi com Agile Testing - SC/2017
Agile Trends - O que eu aprendi com Agile Testing - SC/2017Agile Trends - O que eu aprendi com Agile Testing - SC/2017
Agile Trends - O que eu aprendi com Agile Testing - SC/2017
 
GUTS-SC - O que eu aprendi com Agile Testing - SC/2017
GUTS-SC - O que eu aprendi com Agile Testing - SC/2017GUTS-SC - O que eu aprendi com Agile Testing - SC/2017
GUTS-SC - O que eu aprendi com Agile Testing - SC/2017
 
MTC - O que eu aprendi com Agile Testing - MG/2017
MTC - O que eu aprendi com Agile Testing - MG/2017MTC - O que eu aprendi com Agile Testing - MG/2017
MTC - O que eu aprendi com Agile Testing - MG/2017
 
TDC - [Cuidado] Pareando dados com o uso de ferramentas pairwise - SP/2017
TDC - [Cuidado] Pareando dados com o uso de ferramentas pairwise - SP/2017TDC - [Cuidado] Pareando dados com o uso de ferramentas pairwise - SP/2017
TDC - [Cuidado] Pareando dados com o uso de ferramentas pairwise - SP/2017
 
Práticas do Agile Testing
Práticas do Agile TestingPráticas do Agile Testing
Práticas do Agile Testing
 
Beneficios dos Testes Ágeis
Beneficios dos Testes ÁgeisBeneficios dos Testes Ágeis
Beneficios dos Testes Ágeis
 
GUTS-SC - A Qualidade Contínua e seus Resultados - SC/2016
GUTS-SC - A Qualidade Contínua e seus Resultados - SC/2016GUTS-SC - A Qualidade Contínua e seus Resultados - SC/2016
GUTS-SC - A Qualidade Contínua e seus Resultados - SC/2016
 

Dernier

Dernier (8)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

CNQS - Testes e Sistemas legados #quemNunca - ONLINE/2016