Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

A UTILIZAÇÃO DA METODOLOGIA DE TESTES AUTOMATIZADOS GARANTINDO UMA MAIOR QUALIDADE NO DESENVOLVIMENTO

Automação de testes funcionais para aplicações Android
by

David Rocha

on 16 December 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of A UTILIZAÇÃO DA METODOLOGIA DE TESTES AUTOMATIZADOS GARANTINDO UMA MAIOR QUALIDADE NO DESENVOLVIMENTO

TCC
A UTILIZAÇÃO DA METODOLOGIA DE TESTES AUTOMATIZADOS GARANTINDO UMA MAIOR QUALIDADE NO DESENVOLVIMENTO
Agenda
INTRODUÇÃO
1.1 Contextualização e delimitação do tema
1.2 Problematização
1.3 Objetivos
1.3.1 Objetivo Geral
1.3.2 Objetivos específicos
1.4 Justificativa
2 REFERENCIAL TEÓRICO
2.1 Testes de Software
2.2 Benefícios da automação de testes de Software
2.2.1 Desafios da automação de testes
2.2.2 Execução de automação de testes de Software
2.3 Qualidade de testes de Software
2.4 Indicadores de qualidade de testes de Software

Introdução
Automação de testes deve ser entendida como:
importante investimento;
proporcionar um
processo mais sustentável
ao longo de todo o projeto;
garante a qualidade
do Software na entrega;
contribuição para o
aumento da produtividade e da satisfação da equipe e dos clientes.
Problematização
Orientador: Prof. Me. Valneide Cabral
Orientando: David Rocha

Referencial Teórico [Cheque e Kon]
Implantação de Automação de testes
“It's like SeleniumWebDrive"
Erro x Defeito x Falha [DevMedia]
Metodologia
A velocidade dos testes de Software pode ser melhorada através de um planejamento adequado? A execução e o acompanhamento dos casos de testes podem ser geridos pelo Selenium WebDriver?
Objetivos
Objetivos Gerais

Demonstrar que a automação pode melhorar a qualidade do processo
de testes e minimizar os bugs que ainda passam pela qualidade.
Objetivos Específicos

aprofundar
o estudo sobre os processos da qualidade de testes e automação de testes;
estudar
sobre as principais funcionalidades que podem ser automatizadas;
utilizar
critérios de seleção
para a escolha das funções a serem automatizadas;
gerar indicadores
da qualidade; e
analisar os resultados.

A equipe do Selenium lançou recentemente o Selenium 2, também conhecido como Selenium WebDriver. O Selenium é um framework para testes de aplicações web que suporta diversos navegadores e linguagens de programação. A principal novidade do Selenium 2 é a integração do WebDriver, outro framework para testes na web que competia com o Selenium 1 (ou Selenium RC). Enquanto o Selenium RC executa uma aplicação JavaScript dentro do navegador, o WebDriver usa extensões ou recursos nativos oferecidos pelo próprio navegador para controlá-lo diretamente.
Vamos a prática...
Execução
A atividade de teste está dividida em três fases: teste de unidade, teste de integração e teste de sistema como demonstrado na Pirâmide de Automação de Testes de Cohn (2009)
O que preciso?
Versão do selenium server selenium-server-standalone-2.47.1; e
selenium-java-2.47.1.

Declaração de objetos WebDriver
Adicionando Biblioteca
File > Build Path > Configure Build Path
Libraries
ADD external JARS
Implementação do acesso ao sistema
A primeira parte do programa é inicializar o sistema, utilizando do login e senha.
Identificando Erros
Resultados
Conclusão
Como trabalhos futuros, sugere-se:

a) investigar a melhor forma de utilizar a automação de testes em ambos sistemas (legado e futuro);
b) disponibilizar treinamentos na ferramenta Selenium WebDriver para todos os colaboradores do time;
c) formular treinamentos internos para disseminar o conhecimento para equipe de produtos, como forma de trazê-los mais para perto do time da qualidade; e
d) manter a base dos casos de testes atualizadas de acordo com os requisitos especificados.
Referência
CAETANO, C. Melhores Práticas e Desafios na Automação de Testes. 2013. Disponível em: <http://www.qualister.com.br/blog/melhores-praticas-e-desafios-na-automacao-de-testes>. Acesso em: 10 jun. 2015.
COHN, Mike. Succeeding with agile: software development. Addison-Wesley Professional: 2009.
CHEQUE, Paulo e KON, Fabio. In: Engenharia de Software Magazine, 1(3), pp. 54-57. 2008. Disponível em: <www.devmedia.com.br/esmag>. Acesso em: 08 ago. 2015.
DELAMARO, M. E.; MALDONADO, J. C.; JINO, M. Introdução ao teste de Software. 1. ed. Rio de Janeiro: Editora Campos, 2007.
Obrigado!
David Rocha
davidrcrocha@gmail.com

Cheque e Kon (2008) ressaltam que os testes automatizados são programas, ou scripts simples, que exercitam funcionalidades do sistema e fazem verificações automáticas visando os efeitos colaterais obtidos. A grande vantagem desta abordagem, é que estes podem ser fácil e rapidamente repetidos a qualquer momento e com pouco esforço.
Um Software pode conter defeitos, mas mesmo assim nunca falhar. A falha é um evento e o defeito um estado do Software causado por um erro. Para melhor compreensão, segue descrição da diferença dos conceitos de erro, defeito, falha e bug, conforme padrão IEEE número 610.12-1990 (IEEE, 1990)
Durante este trabalho foi observado que a técnica de automação auxiliará na criação de casos de testes dos cruds com o intuito de minimizar o tempo de teste nas funcionalidades e evitar que erros possam chegar ao cliente/produção. Contudo, não eliminará a necessidade de testar algumas funções manualmente, pois a automação foca nos casos de testes mais simples.
Sugestões
3 METODOLOGIA DA PESQUISA
4 ESTUDO DE CASO
4.1 Contexto do Estudo de Caso
4.2 Processo de testes manuais adotado no projeto
5 IMPLANTAÇÃO DE AUTOMAÇÃO UTILIZANDO SELENIUM
6 RESULTADOS OBTIDOS
7 CONCLUSÃO
REFERÊNCIAS

Contextualização
A automação de testes contribui para o aumento da produtividade e da satisfação da equipe e dos clientes. A execução manual de um caso de teste é rápida e efetiva, mas a execução e repetição de um vasto conjunto de testes manualmente é uma tarefa muito dispendiosa e cansativa.
Objetivos
Demonstrar que a automação pode melhorar a qualidade do processo de testes e minimizar os bugs que ainda passam pela qualidade.
aprofundar o estudo sobre os processos da qualidade de testes e automação de testes;
estudar sobre as principais funcionalidades que podem ser automatizadas;
utilizar critérios de seleção para a escolha das funções a serem automatizadas;
gerar indicadores da qualidade; e
analisar os resultados.

Justificativa
O uso de testes automatizados tem aumentado consideravelmente nos últimos anos, pois tem contribuído para otimizar o tempo e minimizar as inconsistências geradas pelos vícios de execução que são alimentados no decorrer do tempo, sendo no formato manual, acaba se tornando inadequada nos processos. A automação de alguns processos será de grande contribuição para o aumento da produtividade e da melhoria na entrega de um produto.
Desafios
problemas técnicos:

as ferramentas de automação de testes também estão sujeitas a problemas comprometendo a estratégia de automação. Além disso, é necessário que o responsável pela automação tenha conhecimentos técnicos detalhados da ferramenta, para que seu uso possa ser efetivo;

Indicadores Qualidade
De acordo com Rodrigues (2010), costumeiramente, na primeira iteração identifica-se dezenas de indicadores, ocorrem várias iterações até chegar a versão final de indicadores.
eficácia de testes:
quantidade de defeitos de Software em produção versus quantidade de defeitos encontrados na fase de testes;
eficiência de prazo:
quantidade de releases no prazo versus quantidade total de releases.

Referência
DEVMEDIA. Gestão de defeitos no teste de Software. Disponível em: <http://www.devmedia.com.br/gestao-de-defeitos-no-teste-de-Software-revista-java-magazine-94/21940>. Acesso em: 20 out. 2015.
FEWSTER, M; GRAHAM, D. Software Test Automation - Effective use of test execution tools. Addison-Wesley, 1994.
FEWSTER, M. e GRAHAM, D. Software test automation: effective use of test execution tools. New York: ACM Press/Addison-Wesley Publishing Co, 1999.
FONSECA, J. J. S. Metodologia da pesquisa científica. Fortaleza: UEC, 2002. Apostila.
IEEE Standard 610-1990. IEEE Standard Glossary of Software Engineering Terminology. IEEE Press: 1990. Disponível em: < http://www.mit.jyu.fi/ope/kurssit/TIES462/Materiaalit/IEEE_SoftwareEngGlossary.pdf>. Acesso em: 29 ago. 2015.
Referência
IEEE Standard 829-2008. IEEE Standard for Software and System Test Documentation. IEEE Press: 2008. Disponível em: < https://www.cs.odu.edu/~zeil/cs333/latest/Public/bbtesting/IEEE%20829-2008.pdf>. Acesso em: 11 set. 2015.
LIMA, T. et al. Usando o SilkTest para automatizar testes: um Relato de Experiência. In: 6TH BRAZILIAN WORKSHOP ON SYSTEMATIC AND AUTOMATED SOFTWARE TESTING, 2012, Natal.
MOLINARI, L. Inovação e Automação de Testes de Software. 1. ed. São Paulo:. Erica, 2010.
NOGUEIRA, Elias. Palestra Institucional ALATS São Paulo, 2009. Disponível em: <http://pt.slideshare.net/elias.nogueira/palestra-alats-sp-fiap-teste-de-software?qid=e3be7619-2619-4342-861b-fd8ca6da7ec0&v=default&b=&from_search=1 >. Acesso em: 22 set. 2015.
PEZZÉ Mauro; YOUNG Michal. Teste e Análise de Software: Processos, Princípios e Técnicas. São Paulo: Bookman, 2008.
Referência
RIOS, Emerson. Por que implantar o MPT.Br. 2013. Disponível em: <http://www.emersonrios.eti.br/Artigos/Por%20que%20implantar%20o%20MPT.pdf>. Acesso em: 30 jul. 2015.
RIOS, Emerson at al. Base de Conhecimento Em Teste de Software. 3. ed. Martins Editora, 2012.
RODRIGUES, ELI. Fábrica de Software – criação de indicadores, 2010. Disponível em: <http://www.elirodrigues.com/2010/11/19/indicadores-2/>. Acesso em: 29 ago. 2015.
SELENIUMHQ. Selenium 2013. Disponível em: <http://www.seleniumhq.org/docs/01_introducing_selenium.jsp>. Acesso em: 25 jun. 2015.
SYLLABUS. Certified Tester Foundation Level Syllabus do ISTQB. ISTQB: 2011. Tradução realizada pela TAG01. Disponível em: <http://www.bstqb.org.br/uploads/docs/syllabus_ctfl_2011br.pdf>. Acesso em 22 ago. 2015.
TRIVIÑOS, A. N. S. Introdução à pesquisa em ciências sociais: a pesquisa qualitativa em educação. São Paulo:Atlas, 1987. 175p.
TULL, D. S. & HAWKINS, D. I. - Marketing Research, Meaning, Measurement and Method. Macmillan Publishing Co., Inc., London, 1976.
Planilha Regressão
O primeiro passo, para aplicação da automação foi utilizar a Planilha de Regressão que serve para identificar os cenários a serem testados.
Processos de testes
O setor de produtos da empresa TrixLog, que é responsável pela criação, planejamento e liberação do sistema ou qualquer dispositivo que agregue valor aos clientes, ainda não adota nenhum modelo de processos de Software formal e incorpora também atividades do Modelo de Melhoria do Processo de Software Brasileiro (MPS.Br)
Processo de entrada de demanda
a) um erro é cometido por um ser humano e pode ser cometido em qualquer fase do desenvolvimento do Software;
c) uma falha é a diferença indesejável entre o observado e o esperado (defeito encontrado);
b) um defeito é gerado no sistema, quando programado de forma errada e, se executado, o defeito pode causar uma falha;
d) um bug é quando uma grande quantidade de erros, defeitos ou falhas são encontrados no Software.
expectativas irreais:
a automação de testes não deve ser entendida como a solução de todos os problemas, devendo ser encarada de maneira realista;
prática de testes pobre:
se o processo de testes adotado na organização é ineficaz, com testes mal planejados e documentação inconsistente, é necessário melhorar esse processo antes de implantar a automação;
manutenção dos testes:

quando o Software é modificado muitas vezes, o esforço de manutenção dos testes automatizados pode ser maior do que o esforço de reexecuta-los manualmente;
Marcar reunião com solicitantes, Qualidade e Desenvolvimento para a compreensão da atividade, idealmente com 1 semana de antecedência, informando no convite os acionamentos que estarão em pauta. Ao final compartilha-se a Ata da Reunião com todos os participantes.
Ao abrir a ferramenta, o passo a seguir é baixar e instalar o Selenium WebDriver e inserir as devidas bibliotecas na ferramenta.
"Sofrer, é só uma vez; vencer, é para a eternidade." (Soren Kierkegaard)

" Quando uma criatura humana desperta para um grande sonho e sobre ele lança toda a força de sua alma, todo o universo conspira a seu favor." (Johann Goethe)
Full transcript