SlideShare a Scribd company logo
1 of 31
Download to read offline
Um Comparativo na Execução de Testes Manuais e
Testes de Aceitação Automatizados em uma
Aplicação Web
Simpósio Brasileiro de Qualidade de Software – SBQS 2015
Centro Universitário do Norte Laureate
International Universities – UNINORTE
Vanilton de Souza Freire Pinheiro1, Natasha M. Costa Valentim2,
Auri Marcelo Rizzo Vincenzi34
1Centro Universitário do Norte – Laureate International Universities (UNINORTE) Manaus – AM – Brasil
2Universidade Federal do Amazonas (UFAM), Manaus – Amazonas – Brasil
3Universidade Federal de Goiás (UFG), Instituto de Informática - Goiânia, GO – Brasil
4Universidade de São Paulo (USP), Instituto de Ciências Matemáticas e de Computação – São Carlos, SP – Brasil
Manaus, AM
2015
Agenda
 Introdução
 Terminologia e Conceitos Básicos
 Automatização de Teste
 Behavior-Driven Development (BDD)
 Cucumber-JVM
 Selenium WebDriver
 JUnit
 Estudo de Caso
 Objetivo
 Aplicação
 Condução dos testes
 Resultados Obtidos
 Lições Aprendidas
 Conclusões e Trabalhos Futuros
 Referências
Introdução
 Qualidade
 Resultados
 Feedback rápido
 Evolução constante de tecnologias
Introdução
 Com a complexidade da tecnologia e
consequentemente das aplicações e com o
advento do ambiente cliente/servidor e
posteriormente da web, partes dos sistemas (ou ele
todo) se tornaram mais complexos de serem
testados [Rios e Moreira 2013].
Introdução
 Mas só tem eu para testar tudo isto....
Introdução
 Como manter a qualidade do software com tantos navegadores, sistemas
operacionais e dispositivos?
 Como obter feedback rápido, qualidade e resultados?
Verificação e Validação (V&V)
Mas será que
apenas duas mãos
dessas resolvem?
Introdução
 A atividade de teste, se realizada manualmente, geralmente é propensa a
enganos e se restringe a aplicações de pequeno porte [Domingues, 2002].
 E se o bug passar.....
Introdução
 Então, quem poderá nos defender?
EU! O CHAPOLIN
COLORADO!
Automatização de Teste
 A automatização de testes se intensificou
com as práticas ágeis e se mostra eficaz
para melhorar a qualidade do software
[Dustin et al., 2009].
Automatização de Teste
 Reaproveitamento de cenários implementados
 Confiança em possíveis alterações no software
 Menos esforço de testes manuais
 Prevenção de defeitos
Behavior-Driven Development
(BDD)
 A técnica ágil Behavior-Driven
Development (BDD) busca melhorar o
entendimento do negócio descrevendo
cenários por meio da linguagem
Gherkin, ou seja, tornando-a ubíqua e
compreensível a todos envolvidos no
projeto [North, 2006].
Contexto
inicial
Evento
ocorrido
Resultado
esperado
Behavior-Driven Development
(BDD)
 Possibilidade de testes automatizados
de aceitação
 Colaboração
 Entendimento do comportamento do
Software
 Diminuição de incidência de falhas
 Redução de retrabalho decorrentes de
incompreensão das regras de negócio.
 Documentação bem detalhada e de
fácil manutençãoBehavior-Driven Development
(BDD)
Cucumber-JVM
 Cucumber-JVM é uma ferramenta open-source que executa testes
de aceitação escritos no estilo BDD.
 Cucumber-JVM é uma transcrição em JAVA do Cucumber escrito
inicialmente em Ruby.
 A linguagem que o Cucumber entende é chamada de Gherkin .
 A Intenção da ferramenta é apoiar o BDD.
 Auxilia no desenvolvimento de fora para dentro.
 Usada para construir código de teste.
Selenium WebDriver
 Selenium WebDriver é uma ferramenta
open-source para automação de teste
de aplicações Web.
 Mais de 10 anos de desenvolvimento;
 Vasta documentação
 Comunidade Ativa
JUnit
 JUnit é um framework open-source, com
suporte a criação de testes automatizados
na linguagem de programação Java.
 Amplamente utilizado pela comunidade de
desenvolvimento
 Vasta Documentação
 Interface gráfica intuitiva
 Fácil feedback do status do teste
Estudo de Caso
 Comparar tempo de teste manual e Teste
automatizado de aceitação
AMBIENTES
REPETIÇÕES
NOTA: Um analista de teste com formação em Ciência da Computação e 3 anos de experiência na construção de casos de teste estava
envolvido no projeto realizando a especificação, implementação e execução de todos os testes deste estudo de caso.
Aplicação
 Para um Cliente ser válido, o
mesmo deve ter todos os
campos preenchidos,
Nome, E-mail e Endereço
exceto Histórico.
 Para um Serviço ser válido
deve possuir Descrição e
Valor.
 Para um Recibo ser válido
deve possuir Data, Nome do
serviço e Nome do Cliente.
 A aplicação deve ser
executada nos
navegadores Chrome,
Firefox, Internet Explorer,
Opera e Safari nas suas
versões mais atuais.
Critérios de Aceitação
Condução dos Testes
Relatório dos testes - Cucumber
Vídeo Exemplo de execução de
cenários automatizados
Resultados Obtidos
 Teste Manual
 20 casos de teste especificados
em aproximadamente 30
minutos.
 Execução em um ambiente de
aproximadamente 5 minutos.
 Tempo total gasto: 35 minutos
aproximadamente.
 Teste Automatizado
 20 casos de teste
especificados/Implementados em
aproximadamente 100 minutos.
 Execução em um ambiente de
aproximadamente 2 minutos.
 Tempo total gasto: 102 minutos
aproximadamente.
 Assumindo as seguintes constantes:
Resultados Obtidos
 1º Amostra
 3 Ambientes e 2 repetições, totalizando 120 casos de teste executados, o uso
de teste manual e especificação por script demostrou ser 46% mais eficiente
em termos de tempo de execução em relação aos testes automatizados.
 2º Amostra
 5 Ambientes e 10 repetições de testes, totalizando 1000 casos de teste
executados, é observado um ganho de 29% no custo da execução utilizando a
automatização de testes de aceitação frente aos testes manuais.
Resultados Obtidos
Lições aprendidas
 Funcionou bem
 Configuração/instalação do
ambiente é de baixo custo
tendo em vista o conhecimento
do analista de teste.
 Reaproveitamento por meio da
definição de elementos
genéricos.
 Rastreabilidade dos scripts de
teste
Lições aprendidas
 Precisa ser melhorado
 Paralelização da execução dos testes
devido os testes trabalharem com o
uso de apenas um banco de dados
 Atualizações dos navegadores
Conclusões
 Vantagem a médio e longo prazo na execução dos testes
automatizados.
 Esforço extra inicial para realizar as tarefas de implementação dos
scripts.
 Automatização é muito importante para ambientes
multiplataformas.
 Cumprimento de prazos.
 Redução de esforço manual.
 Desenvolvimento participativo através da técnica BDD.
 Satisfação do cliente e usuários finais.
Trabalhos Futuros
 Paralelização na execução dos testes
por meio dos testes automatizados de
aceitação.
 Estudo com a automatização dos testes
de aceitação no contexto de
Integração Contínua.
Referências
 Rios, E.; Moreira, T. (2013). Teste de Software, Alta Books, 3º edição, 304 páginas.
 Sommerville, I. (2011). Engenharia de Software, Pearson Education, Inc., 9º edição,
773 páginas.
 Domingues, A. L. S. (2002). Avaliação de critérios e ferramentas de teste para
programas OO. Master’s thesis, ICMC/USP, São Carlos/SP - Brasil.
 Dustin, E.; Garrett, T.; Gauf, B. (2009). Implementing Automated Software Testing:
How to Save Time and Lower Costs While Raising Quality. Addison-Wesley
Professional, 368 páginas.
 Chiavegatto, R.; Silva, L.; Pinheiro, M.; Vincenzi, A. M. R.
(2014) Automatização de testes funcionais em dispositivos móveis utilizando a
técnica BDD -- Relato de Experiência VIII Brazilian Workshop on Systematic and
Automated Software Testing -- SAST'2014, SBC, pp. 107-112
 North, D. (2006). Introducing BDD. Disponível em: <http://
http://dannorth.net/introducing-bdd/>. Acessado em 28.03.2015.
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais e Testes de Aceitação Automatizados em uma Aplicação Web
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais e Testes de Aceitação Automatizados em uma Aplicação Web

More Related Content

What's hot

Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De ProcessoUma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processocrc1404
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareCamilo Almendra
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de softwareRondinelli Mesquita
 
Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtareFernando Palma
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidaderzauza
 
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 ALATSFabrício Campos
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geralpaulo peres
 
Papéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwarePapéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwareCamilo Ribeiro
 
Introdução ao teste de software
 Introdução ao teste de software Introdução ao teste de software
Introdução ao teste de softwareAna Ludmila
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
 
Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosCristiano Caetano
 
Testes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesTestes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesPaulo César M Jeveaux
 
IBM Rational Piores Práticas em Testes
IBM Rational Piores Práticas em TestesIBM Rational Piores Práticas em Testes
IBM Rational Piores Práticas em TestesFelipe Freire
 

What's hot (20)

Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De ProcessoUma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
 
Fundamentos de Testes de Software
Fundamentos de Testes de SoftwareFundamentos de Testes de Software
Fundamentos de Testes de Software
 
Ctai Teste De Software Aula 2
Ctai Teste De Software Aula 2Ctai Teste De Software Aula 2
Ctai Teste De Software Aula 2
 
Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
 
Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtare
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 
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
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
 
Papéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwarePapéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de Software
 
Introdução ao teste de software
 Introdução ao teste de software Introdução ao teste de software
Introdução ao teste de software
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
 
Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticos
 
Qualidade e Teste de Software
Qualidade e Teste de SoftwareQualidade e Teste de Software
Qualidade e Teste de Software
 
Testes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesTestes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de Testes
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
IBM Rational Piores Práticas em Testes
IBM Rational Piores Práticas em TestesIBM Rational Piores Práticas em Testes
IBM Rational Piores Práticas em Testes
 

Similar to Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais e Testes de Aceitação Automatizados em uma Aplicação Web

Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Webcasts developerWorks Brasil
 
Falando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliFalando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliJoao Galdino Mello de Souza
 
Cmg falando de testes de desempenho
Cmg falando de testes de desempenhoCmg falando de testes de desempenho
Cmg falando de testes de desempenhoEvandro Grezeli
 
Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceAlex Barbosa Coqueiro
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aLeonardo Molinari
 
Ii enqs -_implantação_de_fábrica_de_teste_-_desafios,_resultados_e_melhores_p...
Ii enqs -_implantação_de_fábrica_de_teste_-_desafios,_resultados_e_melhores_p...Ii enqs -_implantação_de_fábrica_de_teste_-_desafios,_resultados_e_melhores_p...
Ii enqs -_implantação_de_fábrica_de_teste_-_desafios,_resultados_e_melhores_p...Welington Monteiro
 
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Leandro Ugioni
 
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...Laís Berlatto
 
Monografia - Ciência da Computação - UFCG
Monografia - Ciência da Computação - UFCGMonografia - Ciência da Computação - UFCG
Monografia - Ciência da Computação - UFCGDalton Valadares
 
Teste Contínuo de Integração e Virtualização de Serviços
Teste Contínuo de Integração e Virtualização de ServiçosTeste Contínuo de Integração e Virtualização de Serviços
Teste Contínuo de Integração e Virtualização de ServiçosRationalBrasil
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de softwareFelipe Bugov
 
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MINING
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MININGGESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MINING
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MININGMarcos Lottermann
 
Automatização de testes funcionais em dispositivos móveis utilizando a técnic...
Automatização de testes funcionais em dispositivos móveis utilizando a técnic...Automatização de testes funcionais em dispositivos móveis utilizando a técnic...
Automatização de testes funcionais em dispositivos móveis utilizando a técnic...Rafael Chiavegatto
 
Ferramentas Case de Teste
Ferramentas Case de TesteFerramentas Case de Teste
Ferramentas Case de TesteBeatriz Marques
 
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTPPalestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTPPriscila Coelho S. Blauth
 

Similar to Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais e Testes de Aceitação Automatizados em uma Aplicação Web (20)

Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados
 
Falando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliFalando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro Grezeli
 
Cmg falando de testes de desempenho
Cmg falando de testes de desempenhoCmg falando de testes de desempenho
Cmg falando de testes de desempenho
 
Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal Performance
 
Brisa - Cases Qualidade Sofware
Brisa -  Cases Qualidade SofwareBrisa -  Cases Qualidade Sofware
Brisa - Cases Qualidade Sofware
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2a
 
Ii enqs -_implantação_de_fábrica_de_teste_-_desafios,_resultados_e_melhores_p...
Ii enqs -_implantação_de_fábrica_de_teste_-_desafios,_resultados_e_melhores_p...Ii enqs -_implantação_de_fábrica_de_teste_-_desafios,_resultados_e_melhores_p...
Ii enqs -_implantação_de_fábrica_de_teste_-_desafios,_resultados_e_melhores_p...
 
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
 
Dba Testes Gerentes B2
Dba Testes Gerentes B2Dba Testes Gerentes B2
Dba Testes Gerentes B2
 
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
 
Monografia - Ciência da Computação - UFCG
Monografia - Ciência da Computação - UFCGMonografia - Ciência da Computação - UFCG
Monografia - Ciência da Computação - UFCG
 
Palestra Testes Ágeis - SEMAC INF UFRGS
Palestra Testes Ágeis - SEMAC INF UFRGSPalestra Testes Ágeis - SEMAC INF UFRGS
Palestra Testes Ágeis - SEMAC INF UFRGS
 
Teste Contínuo de Integração e Virtualização de Serviços
Teste Contínuo de Integração e Virtualização de ServiçosTeste Contínuo de Integração e Virtualização de Serviços
Teste Contínuo de Integração e Virtualização de Serviços
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MINING
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MININGGESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MINING
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MINING
 
Testes em aplicativos móveis
Testes em aplicativos móveisTestes em aplicativos móveis
Testes em aplicativos móveis
 
AppTesting
AppTestingAppTesting
AppTesting
 
Automatização de testes funcionais em dispositivos móveis utilizando a técnic...
Automatização de testes funcionais em dispositivos móveis utilizando a técnic...Automatização de testes funcionais em dispositivos móveis utilizando a técnic...
Automatização de testes funcionais em dispositivos móveis utilizando a técnic...
 
Ferramentas Case de Teste
Ferramentas Case de TesteFerramentas Case de Teste
Ferramentas Case de Teste
 
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTPPalestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
 

More from Vanilton Pinheiro

Potencializando Seu Projeto com Framework Scrum
Potencializando Seu Projeto com Framework ScrumPotencializando Seu Projeto com Framework Scrum
Potencializando Seu Projeto com Framework ScrumVanilton Pinheiro
 
Meus 50 Cents sobre Teste de Software
Meus 50 Cents sobre Teste de SoftwareMeus 50 Cents sobre Teste de Software
Meus 50 Cents sobre Teste de SoftwareVanilton Pinheiro
 
Carreira, como estou construindo a minha
Carreira, como estou construindo a minhaCarreira, como estou construindo a minha
Carreira, como estou construindo a minhaVanilton Pinheiro
 
FPF Tech - SCRUM - Framework para desenvolver projetos - Cenartec 2014
FPF Tech - SCRUM - Framework para desenvolver projetos - Cenartec 2014FPF Tech - SCRUM - Framework para desenvolver projetos - Cenartec 2014
FPF Tech - SCRUM - Framework para desenvolver projetos - Cenartec 2014Vanilton Pinheiro
 
MPS Br Nível F - Gerência de Configuração - GCO
MPS Br Nível F - Gerência de Configuração - GCO MPS Br Nível F - Gerência de Configuração - GCO
MPS Br Nível F - Gerência de Configuração - GCO Vanilton Pinheiro
 
Testes Funcionais Orientado a Imagem - Sikuli
Testes Funcionais Orientado a Imagem - SikuliTestes Funcionais Orientado a Imagem - Sikuli
Testes Funcionais Orientado a Imagem - SikuliVanilton Pinheiro
 

More from Vanilton Pinheiro (6)

Potencializando Seu Projeto com Framework Scrum
Potencializando Seu Projeto com Framework ScrumPotencializando Seu Projeto com Framework Scrum
Potencializando Seu Projeto com Framework Scrum
 
Meus 50 Cents sobre Teste de Software
Meus 50 Cents sobre Teste de SoftwareMeus 50 Cents sobre Teste de Software
Meus 50 Cents sobre Teste de Software
 
Carreira, como estou construindo a minha
Carreira, como estou construindo a minhaCarreira, como estou construindo a minha
Carreira, como estou construindo a minha
 
FPF Tech - SCRUM - Framework para desenvolver projetos - Cenartec 2014
FPF Tech - SCRUM - Framework para desenvolver projetos - Cenartec 2014FPF Tech - SCRUM - Framework para desenvolver projetos - Cenartec 2014
FPF Tech - SCRUM - Framework para desenvolver projetos - Cenartec 2014
 
MPS Br Nível F - Gerência de Configuração - GCO
MPS Br Nível F - Gerência de Configuração - GCO MPS Br Nível F - Gerência de Configuração - GCO
MPS Br Nível F - Gerência de Configuração - GCO
 
Testes Funcionais Orientado a Imagem - Sikuli
Testes Funcionais Orientado a Imagem - SikuliTestes Funcionais Orientado a Imagem - Sikuli
Testes Funcionais Orientado a Imagem - Sikuli
 

Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais e Testes de Aceitação Automatizados em uma Aplicação Web

  • 1. Um Comparativo na Execução de Testes Manuais e Testes de Aceitação Automatizados em uma Aplicação Web Simpósio Brasileiro de Qualidade de Software – SBQS 2015 Centro Universitário do Norte Laureate International Universities – UNINORTE Vanilton de Souza Freire Pinheiro1, Natasha M. Costa Valentim2, Auri Marcelo Rizzo Vincenzi34 1Centro Universitário do Norte – Laureate International Universities (UNINORTE) Manaus – AM – Brasil 2Universidade Federal do Amazonas (UFAM), Manaus – Amazonas – Brasil 3Universidade Federal de Goiás (UFG), Instituto de Informática - Goiânia, GO – Brasil 4Universidade de São Paulo (USP), Instituto de Ciências Matemáticas e de Computação – São Carlos, SP – Brasil Manaus, AM 2015
  • 2. Agenda  Introdução  Terminologia e Conceitos Básicos  Automatização de Teste  Behavior-Driven Development (BDD)  Cucumber-JVM  Selenium WebDriver  JUnit  Estudo de Caso  Objetivo  Aplicação  Condução dos testes  Resultados Obtidos  Lições Aprendidas  Conclusões e Trabalhos Futuros  Referências
  • 3. Introdução  Qualidade  Resultados  Feedback rápido  Evolução constante de tecnologias
  • 4. Introdução  Com a complexidade da tecnologia e consequentemente das aplicações e com o advento do ambiente cliente/servidor e posteriormente da web, partes dos sistemas (ou ele todo) se tornaram mais complexos de serem testados [Rios e Moreira 2013].
  • 5. Introdução  Mas só tem eu para testar tudo isto....
  • 6. Introdução  Como manter a qualidade do software com tantos navegadores, sistemas operacionais e dispositivos?  Como obter feedback rápido, qualidade e resultados? Verificação e Validação (V&V)
  • 7. Mas será que apenas duas mãos dessas resolvem?
  • 8. Introdução  A atividade de teste, se realizada manualmente, geralmente é propensa a enganos e se restringe a aplicações de pequeno porte [Domingues, 2002].  E se o bug passar.....
  • 9. Introdução  Então, quem poderá nos defender? EU! O CHAPOLIN COLORADO!
  • 10. Automatização de Teste  A automatização de testes se intensificou com as práticas ágeis e se mostra eficaz para melhorar a qualidade do software [Dustin et al., 2009].
  • 11. Automatização de Teste  Reaproveitamento de cenários implementados  Confiança em possíveis alterações no software  Menos esforço de testes manuais  Prevenção de defeitos
  • 12. Behavior-Driven Development (BDD)  A técnica ágil Behavior-Driven Development (BDD) busca melhorar o entendimento do negócio descrevendo cenários por meio da linguagem Gherkin, ou seja, tornando-a ubíqua e compreensível a todos envolvidos no projeto [North, 2006]. Contexto inicial Evento ocorrido Resultado esperado
  • 13. Behavior-Driven Development (BDD)  Possibilidade de testes automatizados de aceitação  Colaboração  Entendimento do comportamento do Software  Diminuição de incidência de falhas  Redução de retrabalho decorrentes de incompreensão das regras de negócio.  Documentação bem detalhada e de fácil manutençãoBehavior-Driven Development (BDD)
  • 14. Cucumber-JVM  Cucumber-JVM é uma ferramenta open-source que executa testes de aceitação escritos no estilo BDD.  Cucumber-JVM é uma transcrição em JAVA do Cucumber escrito inicialmente em Ruby.  A linguagem que o Cucumber entende é chamada de Gherkin .  A Intenção da ferramenta é apoiar o BDD.  Auxilia no desenvolvimento de fora para dentro.  Usada para construir código de teste.
  • 15. Selenium WebDriver  Selenium WebDriver é uma ferramenta open-source para automação de teste de aplicações Web.  Mais de 10 anos de desenvolvimento;  Vasta documentação  Comunidade Ativa
  • 16. JUnit  JUnit é um framework open-source, com suporte a criação de testes automatizados na linguagem de programação Java.  Amplamente utilizado pela comunidade de desenvolvimento  Vasta Documentação  Interface gráfica intuitiva  Fácil feedback do status do teste
  • 17. Estudo de Caso  Comparar tempo de teste manual e Teste automatizado de aceitação AMBIENTES REPETIÇÕES NOTA: Um analista de teste com formação em Ciência da Computação e 3 anos de experiência na construção de casos de teste estava envolvido no projeto realizando a especificação, implementação e execução de todos os testes deste estudo de caso.
  • 18. Aplicação  Para um Cliente ser válido, o mesmo deve ter todos os campos preenchidos, Nome, E-mail e Endereço exceto Histórico.  Para um Serviço ser válido deve possuir Descrição e Valor.  Para um Recibo ser válido deve possuir Data, Nome do serviço e Nome do Cliente.  A aplicação deve ser executada nos navegadores Chrome, Firefox, Internet Explorer, Opera e Safari nas suas versões mais atuais. Critérios de Aceitação
  • 20. Relatório dos testes - Cucumber
  • 21. Vídeo Exemplo de execução de cenários automatizados
  • 22. Resultados Obtidos  Teste Manual  20 casos de teste especificados em aproximadamente 30 minutos.  Execução em um ambiente de aproximadamente 5 minutos.  Tempo total gasto: 35 minutos aproximadamente.  Teste Automatizado  20 casos de teste especificados/Implementados em aproximadamente 100 minutos.  Execução em um ambiente de aproximadamente 2 minutos.  Tempo total gasto: 102 minutos aproximadamente.  Assumindo as seguintes constantes:
  • 23. Resultados Obtidos  1º Amostra  3 Ambientes e 2 repetições, totalizando 120 casos de teste executados, o uso de teste manual e especificação por script demostrou ser 46% mais eficiente em termos de tempo de execução em relação aos testes automatizados.  2º Amostra  5 Ambientes e 10 repetições de testes, totalizando 1000 casos de teste executados, é observado um ganho de 29% no custo da execução utilizando a automatização de testes de aceitação frente aos testes manuais.
  • 25. Lições aprendidas  Funcionou bem  Configuração/instalação do ambiente é de baixo custo tendo em vista o conhecimento do analista de teste.  Reaproveitamento por meio da definição de elementos genéricos.  Rastreabilidade dos scripts de teste
  • 26. Lições aprendidas  Precisa ser melhorado  Paralelização da execução dos testes devido os testes trabalharem com o uso de apenas um banco de dados  Atualizações dos navegadores
  • 27. Conclusões  Vantagem a médio e longo prazo na execução dos testes automatizados.  Esforço extra inicial para realizar as tarefas de implementação dos scripts.  Automatização é muito importante para ambientes multiplataformas.  Cumprimento de prazos.  Redução de esforço manual.  Desenvolvimento participativo através da técnica BDD.  Satisfação do cliente e usuários finais.
  • 28. Trabalhos Futuros  Paralelização na execução dos testes por meio dos testes automatizados de aceitação.  Estudo com a automatização dos testes de aceitação no contexto de Integração Contínua.
  • 29. Referências  Rios, E.; Moreira, T. (2013). Teste de Software, Alta Books, 3º edição, 304 páginas.  Sommerville, I. (2011). Engenharia de Software, Pearson Education, Inc., 9º edição, 773 páginas.  Domingues, A. L. S. (2002). Avaliação de critérios e ferramentas de teste para programas OO. Master’s thesis, ICMC/USP, São Carlos/SP - Brasil.  Dustin, E.; Garrett, T.; Gauf, B. (2009). Implementing Automated Software Testing: How to Save Time and Lower Costs While Raising Quality. Addison-Wesley Professional, 368 páginas.  Chiavegatto, R.; Silva, L.; Pinheiro, M.; Vincenzi, A. M. R. (2014) Automatização de testes funcionais em dispositivos móveis utilizando a técnica BDD -- Relato de Experiência VIII Brazilian Workshop on Systematic and Automated Software Testing -- SAST'2014, SBC, pp. 107-112  North, D. (2006). Introducing BDD. Disponível em: <http:// http://dannorth.net/introducing-bdd/>. Acessado em 28.03.2015.