automação de testes de software minicurso. ministrantes arllen lira desenvolvedor especialista,...
TRANSCRIPT
Automação de Testes de Software
Minicurso
Ministrantes
• Arllen LiraDesenvolvedor Especialista, Fábrica de Software PRODAM, Ex-Trainee Tester INdT;
• Edgar LopesTrainee Tester, Fábrica de Software PRODAM;
• Luana LobãoDesenvolvedora, 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 A resposta mais simples sobre o porque de se testar software é que os desenvolvedores são incapazes de construir software livre de os desenvolvedores são incapazes de construir software livre de defeitos. (MAIDASANI 2007).defeitos. (MAIDASANI 2007).
O que é defeito?
Então...
ISO 9126
Por que testar software?
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.
Como definir os estados desejáveis de um sistema?
Então...
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 requisitosExemplos 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
ID RNF_SEG_03
Requisito Usar CAPTCHA para validação de postagem de arquivo.
Exemplos de Requisitos Não Funcionais – Grupos de Usuários
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.
Usabilidade
Segurança
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
ID RNF_P_01
Requisito As respostas das requisições efetuadas pelo usuário não podem ultrapassar 10 segundos.
Exemplos de Requisitos Não Funcionais – Grupos de Usuários
Performance
Instalação
ID RNF_INS_01
Requisito O nome do banco de dados a ser utilizado deverá ser “dbgrupo”.
Análise de requisitos
Overview
Produto
Features
Casos de Uso
Requisitos
1...n1...n1...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;
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?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 BrancaTestando 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 Branca2. Adicionar os *.jars do Junit no classpath do Eclipse
Testes Funcionais – Caixa Branca3. Criar um diretório onde serão armazenados os testes automatizados.
Testes Funcionais – Caixa Branca4. Selecione uma classe com o(s) método que será testado
Testes Funcionais – Caixa Branca4. Crie um caso de teste com JUnit na classe selecionada.
Testes Funcionais – Caixa Branca5. Crie um caso de teste com JUnit na classe selecionada.
Testes Funcionais – Caixa Branca6. Selecione os métodos da sua classe que serão testados.
Testes Funcionais – Caixa Branca7. 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 FuncionaisPerformance
•Teste de Desempenho;
•Teste de Carga;
•Teste de Stress.
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:
Testes Não Funcionais
Automação em Testes de Performance com Jmeter
Test performance