Buscar

Automação de Teste de Software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

Aula 10 – Ferramentas de teste de software 
 
Automação de teste de Software 
 
O que é a automação de teste? 
 
A diferença entre testes e automação de testes, é que no primeiro você realiza a tarefa de testar, e no segundo 
você usa um software que imita a interação com a aplicação no que se refere ao teste tal qual um ser humano 
faria (Graham e Fewster,1999). 
 
Basicamente os testes de software podem ocorrer de duas formas, através de testes manuais ou testes 
automatizados. 
 
 
 
 
 
Tipos de Testes Automatizados (Progressivos e Regressivos) 
 
A automação de teste deve ser vista: 
 
 
 
Técnicas de teste automatizado 
 
Para agilizar e automatizar o processo de teste a maioria das ferramentas de automação de testes apresentam 
como principais características: 
 
 
Quase todas as ferramentas possuem de alguma forma um gravador que, uma vez acionado, grava, na forma 
de uma linguagem interna (seja visual ou não) tudo que o usuário fizer, ficando armazenado no script de 
teste. 
 
 
 
Uma vez acionado pelo executor de testes, o script entra em execução, pois o que foi gravado vai sendo 
repetido. 
 
 
Recurso da ferramenta que executa o que foi gravado ou registrado no script de teste. Cada ferramenta 
implementa este recurso de uma forma, porém todas fazem a mesma coisa. 
 
 
Consiste em criar um script e depois fazer isso de uma massa de dados que será executada no script, 
dirigindo a forma como será executado assim como a quantidade de vezes que ele será executado. 
 
Segundo Graham e Fewster (1999), existem diferentes estratégias consideradas ao se projetar e escrever 
scripts de testes: 
 
 
 
 
 
 
 
 
Ferramentas de teste automatizado de software 
 
As revisões e testes são instrumentos de controle de qualidade de um projeto. Existem diversas ferramentas 
de apoio a tais atividades, que variam tanto quanto a parâmetros como técnicas implementadas e linguagens 
suportadas:. 
Para um bom desempenho do processo de automatização estas ferramentas devem ser integradas entre si: 
 
 
 
Ferramentas de Planejamento de Testes 
 
Esta categoria de ferramenta apoia o processo de planejamento dos trabalhos de testes, definindo escopos, 
abordagens, agendando reuniões e programando atividades. Auxiliam no processo de documentação inicial, 
possibilitando gerar planejamentos padronizados e na elaboração de estimativas de tempo e custo, além de 
dimensionar as equipes de acordo com o tempo disponível. Estas informações são geradas a partir da coleta 
inicial de requisitos de software que irão possibilitar dimensionar o esforço e complexidade envolvida no 
processo de desenvolvimento. As principais características destas ferramentas são a análise de criticidade e 
a geração de documentos. 
 
 
 
 
 
 
Ferramentas de Modelagem e Automação 
 
As ferramentas de modelagem auxiliam no processo de construção e documentação de como serão testados 
todos os requisitos de negócio, possibilitando registrar todos os procedimentos de teste a cada cenário 
estabelecido e ainda o processo de conferência dos dados. 
Estas ferramentas possibilitam o desenvolvimento de scripts automatizados. As principais características 
destas ferramentas são a modelagem de testes, gerador de massa de dados e automatizados de scripts. 
 
 
 
 
 
 
 
 
 
Ferramentas de suporte aos testes 
 
Estas ferramentas apoiam atividades que não estão diretamente ligadas ao processo de testes, porém 
garantem que determinados itens fundamentais desse processo estão sendo bem gerenciados. As principais 
características destas ferramentas são: Gerenciamento de defeitos e gerenciamento de configurações 
 
 
 
 
 
 
Ferramentas de Revisões e Inspeções 
 
Estas ferramentas auxiliam nas revisões de documentos e inspeções técnicas que podem ser aplicadas em 
todas as etapas do processo de desenvolvimento. Suas principais características são a análise de 
complexidade, a compreensão do código e a análise sintática de semântica. 
 
 
 
 
 
 
 
Ferramentas de execução e Conferência 
 
As ferramentas de execução e conferência possibilitam o gerenciamento e o controle do processo de 
execução, reexecução e medição dos testes planejados. Possibilitam integração entre as demais fases, de 
forma a executar os testes selecionados no planejamento. As principais características destas ferramentas são 
a: análise de cobertura, executor de scripts, simuladores de performance e testadores de memória. 
 
 
 
Análise de cobertura: possibilita estabelecer uma métrica de cobertura do teste através do monitoramento 
das linhas de código executadas. Os testes de caixa branca requerem esse tipo de ferramenta, pois possibilita 
visualizar áreas do código não cobertas pelos testes em execução. 
 
Executor de scripts: Como as ferramentas de execução e conferência são normalmente integradas aos 
softwares de planejamento de testes e desenvolvimento de scripts, o executor de scripts permite executar os 
procedimentos na ordem e frequências preestabelecidas. Permite também a gestão do ciclo de testes como 
um todo, com o controle de execução de cada caso de testes, o controle da reexecução dos testes e os desvios 
de testes provocados por erros inesperados. 
 
Testadores de memória: Auxiliam no processo de detecção de problemas em relação ao uso e alocação de 
memória pela aplicação. Sendo assim devem ser específicas para cada linguagem e ambiente. 
 
Simuladores e medidores de performance: Estão diretamente ligadas aos testes de sistema, como os testes de 
carga, volume e performance, já que nessa categoria é impossível conceber a ideia de realizar testes sem 
empregar ferramentas específicas. 
 
Qual ferramenta utilizar? Nesta aula iremos conhecer de uma forma resumida alguma das principais 
ferramentas utilizadas no mercado para testes automáticos de software: 
 
 
 
 
 
 
 
 
 
Atenção! 
 
Para conhecer a relação completa de ferramentas de teste de software com licença livre disponível, acesse o 
endereço: http://opensourcetesting.org. Este site lista ferramentas para diversas linguagens e aplicações, tais 
como: Teste de desempenho; Interfaces gráficas (GUI); Estresse de aplicações Web eBases de dados para 
administra a aplicação de teste para registrar ocorrências de erro em um projeto. 
 
Projeto de automação de teste 
 
Um projeto de automação de teste é um investimento alto e de longa duração, e por isso mesmo os dirigentes 
das organizações obviamente tem expectativas em relação a custos e aos benefícios trazidos pela sua 
implementação. Por isso um projeto de automação de testes deve ser cercado de alguns cuidados: 
 
 
Ferramenta: Seleção da ferramenta certa, adequada à tecnologia usada e que possa integrar com as 
metodologias de desenvolvimento e teste. 
 
Metodologia: Existência de metodologias de desenvolvimento e testes consolidadas e usadas, que possam se 
integrar com a ferramenta escolhida 
 
Infraestrutura: Disponibilidade de máquina e seus recursos , um projeto em desenvolvimento (em fase de 
testes) dedicado para o projeto de automação de testes. 
 
Recursos: Garantia por parte dos dirigentes da organização quanto à disponibilidade de recursos humanos 
capacitados e financeiros para o projeto, apoio para as mudanças requeridas nos processos de 
desenvolvimento e testes, assim como nas ferramentas de desenvolvimento. 
 
Quais casos de testes são candidatos a automatização? 
 
A cada nova versão de um software torna-se necessário realizar um novo conjunto de teste, visando ampliar 
as melhorias implementadas. Desta forma tambémé necessário reexecutar um conjunto de casos de testes 
(todos ou partes) de forma a avaliar se as mudanças realizadas danificaram outras partes do software que já 
funcionava. 
 
 
 
Os custos relativos à execução dos testes de progressão não são importantes. Porém são importantes os 
custos de execução dos testes de regressão, pois estes devem ser reexecutados ao longo do ciclo de vida do 
software. 
 
Desta forma devemos considerar que os testes automatizados visam a otimização da execução dos testes, 
mas deve ser feito, preventivamente, um estudo de viabilidade técnica e um estudo de custo beneficio para 
sua utilização ou não. Os testes automatizados não substituem os testes manuais, eles são complementares e 
para isso devemos levar em consideração que todo caso de teste é naturalmente candidato à automação, mas 
naturalmente nem todos são recomendáveis para automação: 
 
Se o caso de teste for algo pontual e específico de alguma versão do software e não se espera que seja 
testado em versões futuras, não é candidato à automação. 
 
Se o caso de teste tiver características de uso de uma grande massa de dados, indica ser um data-driven test 
que precisará provavelmente ser automatizado. 
 
Não existe tempo hábil para automatizar o teste desejado devido ao cronograma, então ele não será 
momentaneamente um teste a ser automatizado.

Outros materiais