Victor Hugo Germano apresenta, na casa CTAI Senai SC um curso de formação entitulado: Teste de Software.
Chamando para uma discussão a respeito de nosso papel dentro do desenvolvimento de software, são apresentados conceitos relacionados à area de teste de software, assim como apresentada sua visão de como um modelo de testes deve estar vinculado ao desenvolvimento.
15. 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
40. Execício 1I
•
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
53. Testes Unitários
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());
}
66. 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
67. Testes de Sintaxe
Entrada de Dados
Campos Numéricos
Campos RG / CPF / CNPJ
Máscaras
68. Testes de Desempenho
O quão tolerante a falha?
Simular falhas na rede
Excluir objetos
Múltiplos acessos Simultâneos
69. Testes de Caminho
Objetivo
Executar todas as possibilidades do sistema
71. 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
73. Execício III
•
O Aluno acessa o Site do Curso com seu usuário e senha
•
Ao acesso a sessão especial de quot;Pedido de Matrículaquot;, 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)
76. 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
81. Testes Unitários
Objetivos: Um único cenário testado
Independentes
Contidos: Não afetam outros testes
Rápidos: Execução instantânea
82. Testes Unitários
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.
83. Testes Unitários
Exercícios
Crie uma lista
Adicione um Valor
Verifique se o valor está contido na lista
89. Controle de Estoque
Adicione Itens ao Estoque ( nome)
Remova Itens do Estoque
Liste Itens em Estoque
Itens não devem estar repetidos (lançar exceção)
101. 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