Minicurso
Automação de Testes de
Software
Ministrantes
• Arllen Lira
Desenvolvedor Especialista, Fábrica de
Software PRODAM, Ex-Trainee Tester INdT;
• Edgar Lopes
Trainee Tester, Fábrica de Software PRODAM;
• Luana Lobão
Desenvolvedora, INdT.
Roteiro
•
•
•
•
•
•
Introdução;
Verificação e Validação
Processo de Teste
Testes Funcionais;
Testes Não-funcionais;
Conclusão
Introdução
Por que testar software?
A resposta mais simples sobre o porque de se testar software é que
os desenvolvedores são incapazes de construir software livre de
defeitos. (MAIDASANI 2007).
Então...
O que é defeito?
Por que testar software?
ISO 9126
Introdução
O que é defeito?
•Um defeito é um estado indesejável. Para definir o que é um defeito
no sistema, devemos primeiro definir os estados desejáveis.
Então...
Como definir os estados desejáveis de um sistema?
Introdução
Análise de requisitos
•No âmbito da engenharia, um Requisito consiste da definição
documentada de uma propriedade ou comportamento que um produto ou
serviço particular deve atender.
•Podemos entender requisito como uma função, restrição ou propriedade
que deve ser fornecida, encontrada ou atendida para satisfazer às
necessidades do usuário do sistema. (Descreve um serviço ou uma
limitação)
•A especificação de requisitos tem como objetivo obter produtos de software
de melhor qualidade que satisfaçam às reais necessidades dos clientes
dentro de prazo e orçamento adequados.
Introdução
Análise de requisitos
•Requisitos Funcionais;
Descrevem as funcionalidades do sistema desejadas pelos clientes ou
seja O QUE se espera que o software faça.
•Requisitos Não - Funcionais;
São as qualidades e restrições globais do sistema relacionados com
manutenção, uso, desempenho, custo, interface, etc...
Análise de requisitos
Exemplos de Requisitos Funcionais – Grupos de Usuários:
ID
RF_02
Requisito
Post de Arquivo
Descrição
Arquivos podem ser postados e salvos para que outros
usuários possam recuperá-los.
Restrições:
Somente Material Acadêmico pode ser postados.
O post é de responsabilidade do próprio usuário.
Proprietário do grupo poderá excluir o arquivo mesmo
não sendo responsável pelo POST.
Pré-requisito:
Usuários precisa ter o cadastro ativo para efetuar
postagens de arquivos.
Postagem autorizada somente após validação por
imagem CAPTCHA. (RNF_SEG_03)
Análise de requisitos
Exemplos de Requisitos Não Funcionais – Grupos de Usuários
Segurança
ID
RNF_SEG_03
Requisito
Usar CAPTCHA para validação de postagem de arquivo.
Usabilidade
ID
RNF_U_01
Requisito
As páginas devem ser visualizadas na resolução mínima de
1024 x 768 respeitando as proporções de visualização.
ID
RNF_U_02
Requisito
A Aplicação deve funcionar sem apresentar erros nos
navegadores Moozila Firefox e Internet Explorer 7.
Análise de requisitos
Exemplos de Requisitos Não Funcionais – Grupos de Usuários
Performance
ID
RNF_P_01
Requisito
As respostas das requisições efetuadas pelo usuário não
podem ultrapassar 10 segundos.
Instalação
ID
RNF_INS_01
Requisito
O nome do banco de dados a ser utilizado deverá ser
“dbgrupo”.
Overview
Análise de requisitos
Requisitos
Casos de Uso
Features
Produto
1...n
1...n 1...n
1
Verificação x Validação
Verificação: Construimos o produto de forma
correta?
> Garante a qualidade do software na produção e
manutenção;
Validação: O que foi entregue atende as
expectativas? Construimos o produto certo?
Processo de Teste
• Planejamento;
• Ciclo, estratégia, ferramentas, bugtracking;
• Especificação;
• Suíte de Teste, Casos de Teste;
• Execução;
• Script de teste;
•Análise de resultados
• Relatório de execução (bugs);
TestLink
Bugtracking
Mantis
Testes Funcionais
Caixa Branca
•Testes de caixa branca são testes que se executam em um aplicativo com o
conhecimento do funcionamento do código;
•Podem ser aplicados em testes de;
-Testes de Unidade;
-Teste de Integração;
-Teste de Regressão.
Testes Funcionais
Automação em testes de Caixa Branca
Exemplos:
•Testes de funções com JUnit;
•Self-test de formulários com Java Script.
Testes Funcionais
Automação em testes de Caixa Branca
Testando uma função com a ferramenta JUnit na IDE Eclipse:
Preparando o ambiente...
1. Baixar a versão atual do JUnit disponível em http://www.junit.org/ ;
Testes Funcionais – Caixa Branca
2. Adicionar os *.jars do Junit no classpath do Eclipse
Testes Funcionais – Caixa Branca
3. Criar um diretório onde serão armazenados os testes automatizados.
Testes Funcionais – Caixa Branca
4. Selecione uma classe com o(s) método que será testado
Testes Funcionais – Caixa Branca
4. Crie um caso de teste com JUnit na classe selecionada.
Testes Funcionais – Caixa Branca
5. Crie um caso de teste com JUnit na classe selecionada.
Testes Funcionais – Caixa Branca
6. Selecione os métodos da sua classe que serão testados.
Testes Funcionais – Caixa Branca
7. Implementar o script de teste...
Testes Funcionais
Caixa Preta
• O Objetivo é garantir que todos os requerimentos ou comportamentos da
aplicação estejam corretos;
• Testes se concentram nos requisitos funcionais do software;
Testes Funcionais
Automação em testes de Caixa Preta
Preparando o ambiente...
1. Baixar a versão atual do Selenium Core, RC e IDE disponíveis em
http://seleniumhq.org/download/;
Testes Não Funcionais
Performance
O teste de performance é uma classe de testes implementada e executada
para caracterizar e avaliar o desempenho relacionado a características do
objetivo do teste, como perfis de andamento, fluxo de execução, tempos de
resposta, confiabilidade e limites operacionais. Vários tipos de testes de
performance, cada um concentrado em um objetivo do teste diferente, são
implementados durante todo o ciclo de vida de desenvolvimento do software.
São eles:
•Teste de Desempenho;
•Teste de Carga;
•Teste de Stress.
Testes Não Funcionais
Automação em Testes de Performance com Jmeter
Test performance
Download

Automação_de_Testes_de_ Software_ARLLEN