Buscar

Teste de software aula1

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 101 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 101 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 101 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

Prévia do material em texto

Victor Hugo Germano
Teste de Software
CTAI SENAISC
Aula - 01
Eu? Quem?
Victor Hugo Germano
http://malditacomedia.blogspot.com
Por que testar?
Apresentação do Curso
Apresentação do Curso
Teste! Teste! Teste! Teste!
Apresentação do Curso
Teste! Teste! Teste! Teste!
Ferramentas de Teste
Apresentação do Curso
Teste! Teste! Teste! Teste!
Ferramentas de Teste
Metodos e Processos
Apresentação do Curso
Teste! Teste! Teste! Teste!
Ferramentas de Teste
Metodos e Processos
Exercícios de Fixação
Apresentação do Curso
Teste! Teste! Teste! Teste!
Ferramentas de Teste
Metodos e Processos
Exercícios de Fixação
Profissionalismo
Objetivos
• Discutir nosso papel
• Apresentar os princípios 
• Descrever estratégias de Planejamento
• Entender a automação de testes
Teste de Software
IEEE Standard 829 for Software Test Documentation
 
• Plano de Testes
• Especificação de Arquitetura de Teste
• Especificação de Casos de Teste 
• Identificadores para Especificação de Casos de Teste
• Itens a serem testados 
• Especificação de Entrada 
• Especificação de Saída 
• Necessidades de Ambiente 
• Requisitos especiais de processos 
• Dependências internas para casos de Uso 
• Especificação do Procedimento de Testes 
• Relatório de Comunicação de Item testado 
• Log de Teste 
Vale a Pena?
Teste de Software
Teste de Software
Percepção de Valor não imediata
Teste de Software
Percepção de Valor não imediata
Não garante Qualidade Total
Documentação de Teste 
Documentação de Teste 
Qual o custo de Manutenção?
Documentação de Teste 
Qual o custo de Manutenção?
Qual o impacto na velocidade?
Documentação de Teste 
Qual o custo de Manutenção?
Qual o impacto na velocidade?
Quanta inércia será gerada?
Documentação de Teste 
Qual o custo de Manutenção?
Qual o impacto na velocidade?
Quanta inércia será gerada?
Stakeholders concordam?
O que fazer?
O que fazer?
Questionar-se
Documentação de Testes
Documentação de Testes
Produto ou Ferramenta?
Documentação de Testes
Produto ou Ferramenta?
Qual a dinâmica do mercado?
Documentação de Testes
Produto ou Ferramenta?
Qual a dinâmica do mercado?
Encontrar defeitos ou
evitar que eles ocorram?
Qualidade
Reduzir Riscos
Reduzir Riscos
Evitar que erros ocorram!
Reduzir Custos
Reduzir Custos
Eliminar Desperdícios!
Exercício 1
Grupos de 2 - 3 pessoas
Quais são os seus desafios na 
adoção de Políticas de qualidade
e Testes de software?
Exercício 1I
Sistema de Avaliação de Alunos
Objetivo
Criar um conjunto de testes
•
Durante o semestre são dadas três notas;
•
A nota final é obtida pela média aritmética das notas dadas 
durante o curso;
•
É considerado aprovado o aluno que obtiver a nota final 
superior ou igual a 60 e que tiver comparecido a um mínimo 
de 40% das aulas.
•
Deve ser possível para este sistema:
•
Calcular a nota final de cada aluno, a maior e a menor nota da 
turma, bem como a média da turma.
•
Calcular o total de alunos reprovados
•
Calcular a porcentagem de alunos reprovados por freqüência
Execício 1I
Testar para encontrar 
defeitos?
Processo 
Evolucionário
Processo 
Evolucionário
Desde o início do 
desenvolvimento
Processo 
Evolucionário
Desde o início do 
desenvolvimento
Evolução dos testes
ligada à evolução do Sistema
Processo 
Evolucionário
Desde o início do 
desenvolvimento
Evolução dos testes
ligada à evolução do Sistema
Adaptável e Incremental
Tipos de Teste
Caixa Branca
Testes Unitários
Testes Unitários
Testam um único componente
Todos os demais são simulados
Testes Unitários
Testam um único componente
Todos os demais são simulados
JUnit / JMock / Easymock
public void addValor(int valor) {
this.saldo += valor 
}
public void getSaldo() {
return this.saldo;
}
@Test
public void verificaCalculoDoSaldo() {
Conta conta = new Conta(200);
conta.addValor(100);
assertEquals(300, conta.getSaldo());
}
Testes Unitários
Testes de Integração
Testes de Integração
Testam integração entre componentes
Testes de Integração
Testam integração entre componentes
Codigo+BD / Codigo+Web
Testes de Integração
Testam integração entre componentes
JUnit / DBUnit / HsqlDB / Fit
Codigo+BD / Codigo+Web
@Test
public void testAddUsuarios() {
GerenteUsuarios gerente = new GerenteUsuarios();
int numUsuarios = gerente.getNumeroUsuarios();
gerente.addUsuario(new Usuario(“Rocco”));
int novoNumUsuarios = gerente.getNumeroUsuarios();
assertEquals(novoNumUsuarios,(numUsuarios+1));
}
Testes de Integração
Testes de Aceitação
Testam uma funcionalidade, 
estória ou um caso de uso
Testes de Aceitação
Testam uma funcionalidade, 
estória ou um caso de uso
JUnit / Selenium
Testes de Aceitação
Caixa Preta
Análise de Valor Limite
Extrapolar os valores máximo e 
mínimo de uma funcionalidade
Null
Valores Negativos
Listas Vazias
etc
Transição de Estado
Estado 1 Estado 2Transição
Entrada
Saída
Transição de Estado
Ordem Ação
1 Iniciar Edição de dados do Usuário “xpto”
2 Modificar permissao de acesso para admin
3 Sair do Sistema
4 Entrar no sistema como usuário “xpto”
5 Verificar se menu admin está disponível
Testes de Sintaxe
Campos Numéricos
Entrada de Dados
Campos RG / CPF / CNPJ
Máscaras
Testes de Desempenho
O quão tolerante a falha?
Simular falhas na rede
Excluir objetos
Múltiplos acessos Simultâneos
Testes de Caminho
Objetivo
Executar todas as possibilidades do sistema
Testes de Integração
No final, se juntar tudo,
funciona?
teste da instalação
teste da implantação
teste de desempenho
teste de compatibilidade com 
outros sistemas
teste de conversão
teste da documentação
teste do backup
teste da recuperação
Exercício III
Matrícula Online
Execício III
•
O Aluno acessa o Site do Curso com seu usuário e senha
•
Ao acesso a sessão especial de "Pedido de Matrícula", ele 
pode iniciar o processo de solicitacao
•
Ele entao seleciona as disciplinas. Como cada uma das 
disciplinas possui pré-requisitos, ele deve ser impedido de 
matricular-se numa disciplina que não possua pré-requisitos 
necessários
•
Todo aluno deve possuir, no máximo, 30 créditos
•
Disciplinas podem ter entre 1 e 8 créditos
•
Após fazer a solicitação, um comprovante é apresentado ao 
usuário contendo um boleto bancário para o pagamento das 
taxas de matrículas referentes às disciplinas solicitadas. (Cada 
disciplina custa R$ 10,00)
Testes Unitários
Testes Unitários
Não será Teste Unitário se:
Testes Unitários
Não será Teste Unitário se:
• Se conecta a um banco de Dados
• Utiliza a rede
• Utiliza o sistema de arquivos
• Não é executável individualmente
• Precisa de uma configuração do Ambiente
Testes Unitários
Testes Unitários
Objetivos: Um único cenário testado
Testes Unitários
Objetivos: Um único cenário testado
Independentes
Testes Unitários
Objetivos: Um único cenário testado
Independentes
Contidos: Não afetam outros testes
Testes Unitários
Objetivos: Um único cenário testado
Independentes
Contidos: Não afetam outros testes
Rápidos: Execução instantânea
A forma básica para testes é a seguinte:
• Crie um objeto e coloque-o em um estado conhecido
• Invoque um método, o qual retorne um resultado real
• Crie um objeto representando o resultado esperado• Invoque assertEquals(resultadoEsperado, resultadoReal) 
para confirmar se a implementação está correta.
Testes Unitários
Testes Unitários
Crie uma lista
Adicione um Valor
Verifique se o valor está contido na lista
Exercícios
Testes Unitários
Organização
Testes Unitários
Organização
Separados do Código de Produção
Juntos ao código
Em pacotes separados
Testes Unitários
Deve ser possível sacar valores de uma Conta
Exercícios
Testes Unitários
Removendo Duplicações nos testes
@Before
@After
Exercício IV
Sistema de controle de Estoque
Objetivo
Criar testes unitários para o sistema
Adicione Itens ao Estoque ( nome)
Remova Itens do Estoque
Liste Itens em Estoque
Itens não devem estar repetidos (lançar exceção)
Controle de Estoque
Benefícios
TDD
3 Leis do TDD
3 Leis do TDD
Escreva um teste que falhe
3 Leis do TDD
Escreva um teste que falhe
Faça o teste passar
3 Leis do TDD
Escreva um teste que falhe
Faça o teste passar
Refatore
Motivação
Motivação
Confiabilidade
Motivação
Testabilidade do Sistema
Confiabilidade
Motivação
Testabilidade do Sistema
Confiabilidade
Dificuldade em adicionar mudanças
Exemplo Prático
Encontrar o número de dias entre 
um dado Dia e a data atual:
Hoje: 22/04/2009
20/04/2009: “2 dias atrás”
8/04/2009: “2 semanas atrás”
http://dojofloripa.wordpress.com

Outros materiais