Automatização de testes de software
16/09/2015
0
Pediram-me para pensar em estratégias para automatizar esses mesmos testes, mas eu estou a ter dificuldade a encontrar informação sobre este assunto já que não conheço bem os conceitos e tipos de testes que existem e podem sem implementados na aplicação.
A equipa de desenvolvimento faz testes unitários quer no backend quer no frontend.
Eu posso automatizar os meus testes? De que forma? Que ferramentas posso utilizar?
Obrigada
Carina
Posts
16/09/2015
Eduardo Pessoa
[url]http://www.qualister.com.br/blog/melhores-praticas-e-desafios-na-automacao-de-testes[/url]
[url]https://www.devmedia.com.br/artigo-engenharia-de-software-5-melhores-praticas-na-automacao-de-testes/10249[/url]
18/09/2015
Carina
Estive a ler com atenção e os textos dão boas dicas para a implementação de testes automáticos, estratégia, etc, ou seja a parte teórica.
No entanto não respondem a algumas das minhas questões:
1. Como se denominam os testes que devem ser implementados pela equipa de desenvolvimento? Ou que tipo de testes devem ser feitos por eles?
2. Como se denominam os testes que devem ser implementados por mim que estou a fazer testes do ponto de vista do utilizador? Ou que tipo de testes posso eu fazer?
Saber ao certo como se denominam estes teste talvez me ajudasse a procurar informação sobre eles. Sei que existem testes unitários e percebo o conceito, mas já ouvi falar em testes funcionais, end-to-end, de aceitação, de integração, etc e não consigo entender bem as diferenças entre eles. Existe tanta informação que me deixa perdida...
18/09/2015
Jothaz
Aconselho uma consulta ao pai Google e muita leitura, somente assim você poderá conseguir uma visão critica do assunto.
Para automatizar os testes de usabilidade, unidade, integração e funcionais aconselho buscar por uma ferramenta pronta, pois para desenvolver do zero é custoso, trabalhoso e requer um grande conhecimento na área de testes e de desenvolvimento. Já trabalhei em projetos que usavam QARUN (acho que é isto se não me engano) é pago, mas vale cada centavo. Dependendo da tecnologia usada alguns destes testes já estão disponíveis de forma nativa, vide o .net MVC.
Segue um resumo dos principais testes, que talvez seja capaz de nortear sua pesquisa.
-Teste de configuração
--Testa se o software funciona no hardware que ele será instalado.
-Teste de instalação
--Testa se o software instala como planejado em diferentes hardwares e sob diferentes condições como pouco espaço de memória, interrupções de rede, interrupções na instalação, etc.
-Teste de integridade
--Testa a resistência do software à falhas.
-Teste de Segurança
--Testa se o sistema e os dados são acessados de maneira segura apenas pelo autor das ações.
-Teste funcional
--Testa os requisitos funcionais, as funções e os casos de uso. A aplicação faz o que deveria fazer?
-Teste de unidade
--Testa um componente isolado ou classe do sistema.
-Teste de integração
--Testa se um ou mais componentes combinados funcionam de maneira satisfatória. Há quem diga que o teste de integração é composto por vários testes de unidade.
-Teste de volume
--Testa o comportamento do sistema operando com o volume "normal" de dados e transações envolvendo o banco de dados durante um longo período de tempo.
-Teste de performance
--O teste de performance se divide em 3 tipos:
---Teste de carga
----Testa o software sob as condições normais de uso. Ex.: tempo de resposta, número de transações por minuto, usuários simultâneos, etc.
---Teste de stress
----Testa o software sob condições extremas de uso. Grande volume de transações e usuários simultâneos. Picos excessivos de carga em curtos períodos de tempo.
---Teste de estabilidade
----Testa se o sistema se mantém funcionando de maneira satisfatória após um período de uso.
-Teste de usabilidade
--Teste focado na experiência do usuário, consistência da interface, layout, acesso às funcionalidades, etc.
--Testes de caixa branca e caixa preta
---Basicamente, teste de caixa branca envolve o código e o de caixa-preta, não.
-Teste de regressão
--Reteste de um sistema ou componente para verificar se alguma modificação recente causou algum efeito indesejado e para certificar que o sistema ainda atende aos requisitos.
--Teste de manutenção
---Testa se a mudança de ambiente não interferiu no funcionamento do sistema.
Infelizmente não tenho mais a fonte de onde retirei a informação acima, para dar os devidos créditos, mas foi em pesquisas no google.
Bom espero que minha humilde contribuição possa ajudar!
18/09/2015
Herivelton Pires
Teste acessar este Link para visualizar ferramentas OpenSource para automação dos testes de software.
http://www.testesdesoftware.com/2009/10/ferramentas-de-testes-de-software.html
A raiz deste site (http://www.testesdesoftware.com) traz diversas outras fontes de informações úteis para análise/testes de software.
Espero que seja útil de alguma forma...
18/09/2015
Eduardo Pessoa
01/05/2017
Daniel Garcia
Sua primeira missão é escolher a ferramenta a ser usada, estude uma gratuita e depois veja as pagas(são caras, mas excelentes e antes de comprar pega um trial pra verificar se tem aderência com o sistema que vc vai automatizar), e outra dica é saber selecionar corretamente os cenários a serem automatizados, nem todos valem a pena. (geralmente escolhemos cenários de TRG)
Ferramenta free:
Seleniun - ferramenta boa http://www.seleniumhq.org/
Ferramentas pagas:
Quick Test Pro (HP) - Ferramenta excelente - https://saas.hpe.com/pt-br/software/uft
Functional Teste (IBM) - Ferramenta excelente - http://www-03.ibm.com/software/products/pt/functional
Blog que ajuda a entender o assunto:
http://www.qualister.com.br/blog/melhores-praticas-e-desafios-na-automacao-de-testes
02/05/2017
André Gomes
Não sou experiente no assunto, mas pelo que você falou, te aconselho a pesquisar sobre a ferramenta Selenium IDE, que é de facil aprendizado e que testa as entradas e saídas do sistemas pela interface do usuário.
Clique aqui para fazer login e interagir na Comunidade :)