introdução a automação de testes - 5º congresso online de ti
Post on 22-Mar-2017
16 Views
Preview:
TRANSCRIPT
Introdução a Automação de Testes
Rafael Amaral
Automação de testesAgenda
ObjetivosDefiniçãoManual x AutomatizadoConceitos
Por que automatizar? x Por que não automatizar?Quando automatizar? x Quando não automatizar?Como automatizar? x Como não automatizar?Prós x ContrasMitos x Verdades
TécnicasPatternsAnti-PatternsFerramentas
Automação de testesObjetivos
Objetivo geralApresentar de maneira introdutória a automação de testes, expondo os principais conceitos, técnicas e ferramentas utilizadas na automação
Objetivo específicoPermitir que os ouvintes entendam os conceitos básicos da automação de teste e a partir daí possam desenvolver seus estudos com melhor eficiência
Automação de testesDefinições
Cem Kaner, autor do livro Lessons Learned in Software TestingAplicação de estratégias e ferramentas visando a redução do envolvimento humano em atividades manuais repetitivas
Outras definiçõesConjunto de atividades que incluem o desenvolvimento e execução de scripts de teste Técnica de testes que busca direcionar os esforços de execução de casos de teste para as máquinasUso de um software para controlar a execução do teste de outro software, pode permitir a comparação dos resultados, configurações de execução e outras funções de controle e geração de relatório e evidências da execução
Automação de testesManual x Automatizado
Testes ManuaisRequerem muita atenção do testador pois são altamente propensos a errosPermitem que o testador utilize sua criatividade durante os testesRequerem maior tempo para execução (são mais lentos)Não permitem reutilização
Testes AutomatizadosDificultam a utilização de criatividade e exploração em diferentes situações de testeRequerem menos tempo de execução (são mais rápidos)Requerem grande esforço de criação e manutençãoMenos propensos a errosPermitem a reutilização
Automação de testesConceitos
Por que automatizar?Porque é necessário garantir que as funcionalidades não foram afetadas com a manutenção do código (Regressão)Porque automatizar permite aumentar a cobertura dos testesPorque automatizar pode reduzir tempo e custo de execução
Por que não automatizar?Porque os projetos são “pequenos” ou de “curta duração”Porque as expectativas não estão alinhadasPorque não há tempo ou recursos
Automação de testesConceitos
Quando automatizar?Quando o ROI para automação compensarQuando houver baixo risco de mudanças na documentação e layoutQuando há um processo bem definido e executadoQuando os testes estão "maduros"
Quando não automatizar?Quando o processo de desenvolvimento de software é "imaturo"Quando a AUT (Application Under Testing) está instávelQuando a automação não é encarada como um projetoQuando o processo de testes é informal
Automação de testesConceitos
Como automatizar?Utilize a automação como um complemento aos testes manuais e outras técnicasDefina um escopo e objetivos para automaçãoEncare a automação como um projeto
Como não automatizar?Não confie "cegamente" na ferramenta escolhidaNão automatize “todo” o sistemaNão automatize o “caos”
Automação de testesConceitos
Prós Permite escalar a execução (paralelizar) Permite eliminar o fator humano na etapa de execuçãoProvê velocidade na execução dos scriptsPermite reutilização
ContrasHá certa dificuldade para os Scripts não lidarem com situações inesperadasRequer muito retrabalho caso ocorra uma grande mudança no projetoRequer mão-de-obra especializadaRequer grande esforço inicial
Automação de testesConceitos
MitosAutomatizar os testes vai garantir que o software não tem defeitosAutomatizar os testes vai desempregar os testadores manuaisAutomatizar os testes vai resolver os problemas de qualidadeAutomatizar os testes vai reduzir os custos
VerdadesA automação dos testes não dispensa a realização de testes manuaisNão é possível automatizar todos os testesAutomatizar testes é caroO ROI não é imediato
Automação de testesTécnicas
Record and PlaybackGravação e reprodução de scriptsExige menor esforço inicial, difícil manutençãoNão há parametrização de variáveis
Data DrivenAdaptação do Record and PlaybackHá reutilização de código e parametrizaçãoMaior esforço inicial e de manutenção
KeyWord Driven“Framework de automação”Requer maior conhecimento e esforço inicial Auto reuso e facilidade de manutenção
Automação de testesGerenciamento de expectativas
Garantir que todos os interessados estejam cientes dos resultados esperadosGarantir que todos os interessados estejam cientes dos custos envolvidosGarantir que a automação é vista como um projeto com características própriasGarantir que a ferramenta escolhida atende as necessidades da equipe e facilite extensão caso seja necessário
Automação de testesPatterns - Pirâmide de automação
Mike Cohn Martin Fowler
Automação de testesAnti-patterns
Sorvete de automaçãoMuitos testes manuais de interfaceMenos testes automatizados de interfaceMenos testes de serviçoPoucos testes unitários
Automação de testesAnti-patterns
Cupcake de automaçãoQuantidades iguais de testes nas camadasReplicação de testes Grande retrabalho
Automação de testesPatterns - Pirâmide ideal
Pirâmide idealTestes manuais "exploratórios"Testes automatizados de Interface GráficaTestes automatizados de API, Integração e componenteTestes automatizados unitários
Automação de testesFerramentas
5º Congresso Online de TI
Automação de testesFerramentas
Automação de testesFerramentas
Obrigado!!
https://github.com/amaralrfl
https://br.linkedin.com/in/amaralrfl
https://www.facebook.com/groups/testesoftwaresalvador/
gtsba@googlegroups.com
top related