Академический Документы
Профессиональный Документы
Культура Документы
Aula - 01
CTAI SENAISC
Eu? Quem?
Apresentao do Curso
Apresentao do Curso
Apresentao do Curso
Apresentao do Curso
Teste! Teste! Teste! Teste! Ferramentas de Teste Metodos e Processos Exerccios de Fixao
Apresentao do Curso
Teste! Teste! Teste! Teste! Ferramentas de Teste Metodos e Processos Exerccios de Fixao Prossionalismo
Apresentao do Curso
Objetivos
Discutir nosso papel Apresentar os princpios Descrever estratgias de Planejamento Entender a automao de testes
Teste de Software
Vale a Pena?
Teste de Software
Documentao de Teste
Documentao de Teste Qual o custo de Manuteno? Qual o impacto na velocidade? Quanta inrcia ser gerada?
Documentao de Teste Qual o custo de Manuteno? Qual o impacto na velocidade? Quanta inrcia ser gerada? Stakeholders concordam?
O que fazer?
O que fazer?
Questionar-se
Documentao de Testes
Documentao de Testes Produto ou Ferramenta? Qual a dinmica do mercado? Encontrar defeitos ou evitar que eles ocorram?
Qualidade
Reduzir Riscos
Reduzir Riscos
Reduzir Custos
Reduzir Custos
Eliminar Desperdcios!
Exerccio 1 Grupos de 2 - 3 pessoas Quais so os seus desaos na adoo de Polticas de qualidade e Testes de software?
Execcio 1I
Durante o semestre so dadas trs notas;
A nota nal obtida pela mdia aritmtica das notas dadas durante o curso;
considerado aprovado o aluno que obtiver a nota nal superior ou igual a 60 e que tiver comparecido a um mnimo de 40% das aulas.
Deve ser possvel para este sistema:
Calcular a nota nal de cada aluno, a maior e a menor nota da turma, bem como a mdia da turma.
Calcular o total de alunos reprovados
Calcular a porcentagem de alunos reprovados por freqncia
Processo Evolucionrio
Processo Evolucionrio
Desde o incio do desenvolvimento
Processo Evolucionrio
Desde o incio do desenvolvimento Evoluo dos testes ligada evoluo do Sistema
Processo Evolucionrio
Desde o incio do desenvolvimento Evoluo dos testes ligada evoluo do Sistema Adaptvel e Incremental
Tipos de Teste
Caixa Branca
Testes Unitrios
Testes Unitrios
Testam um nico componente Todos os demais so simulados
Testes Unitrios
Testam um nico componente Todos os demais so simulados
Testes Unitrios
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 de Integrao
Testes de Integrao
Testam integrao entre componentes
Testes de Integrao
Testam integrao entre componentes Codigo+BD / Codigo+Web
Testes de Integrao
Testam integrao entre componentes Codigo+BD / Codigo+Web
Testes de Integrao
@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 Aceitao
Testes de Aceitao
Testam uma funcionalidade, estria ou um caso de uso
Testes de Aceitao
Testam uma funcionalidade, estria ou um caso de uso
JUnit / Selenium
Caixa Preta
Estado 1
Transio
Estado 2
Sada
Transio de Estado
Ordem 1 2 3 4 5 Ao Iniciar Edio de dados do Usurio xpto Modicar permissao de acesso para admin Sair do Sistema Entrar no sistema como usurio xpto Vericar se menu admin est disponvel
Testes de Caminho
Objetivo Executar todas as possibilidades do sistema
Testes de Integrao
teste da instalao teste da implantao teste de desempenho teste de compatibilidade com outros sistemas teste de converso teste da documentao teste do backup teste da recuperao
Exerccio III
Matrcula Online
Execcio III
O Aluno acessa o Site do Curso com seu usurio e senha
Ao acesso a sesso especial de "Pedido de Matrcula", 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 no possua pr-requisitos necessrios
Todo aluno deve possuir, no mximo, 30 crditos
Disciplinas podem ter entre 1 e 8 crditos
Aps fazer a solicitao, um comprovante apresentado ao usurio contendo um boleto bancrio para o pagamento das taxas de matrculas referentes s disciplinas solicitadas. (Cada disciplina custa R$ 10,00)
Testes Unitrios
Testes Unitrios
No ser Teste Unitrio se:
Testes Unitrios
No ser Teste Unitrio se:
Se conecta a um banco de Dados Utiliza a rede Utiliza o sistema de arquivos No executvel individualmente Precisa de uma congurao do Ambiente
Testes Unitrios
Testes Unitrios
Objetivos: Um nico cenrio testado
Testes Unitrios
Objetivos: Um nico cenrio testado Independentes
Testes Unitrios
Objetivos: Um nico cenrio testado Independentes Contidos: No afetam outros testes
Testes Unitrios
Objetivos: Um nico cenrio testado Independentes Contidos: No afetam outros testes Rpidos: Execuo instantnea
Testes Unitrios
A forma bsica para testes a seguinte:
Crie um objeto e coloque-o em um estado conhecido Invoque um mtodo, o qual retorne um resultado real Crie um objeto representando o resultado esperado Invoque assertEquals(resultadoEsperado, resultadoReal)
para conrmar se a implementao est correta.
Testes Unitrios
Exerccios
Crie uma lista Adicione um Valor Verique se o valor est contido na lista
Testes Unitrios
Organizao
Testes Unitrios
Organizao
Separados do Cdigo de Produo Juntos ao cdigo Em pacotes separados
Testes Unitrios
Exerccios
Deve ser possvel sacar valores de uma Conta
Testes Unitrios
Removendo Duplicaes nos testes
@Before @After
Exerccio IV
Sistema de controle de Estoque
Objetivo Criar testes unitrios para o sistema
Controle de Estoque
Adicione Itens ao Estoque ( nome) Remova Itens do Estoque Liste Itens em Estoque Itens no devem estar repetidos (lanar exceo)
Benefcios
TDD
3 Leis do TDD
3 Leis do TDD
3 Leis do TDD
3 Leis do TDD
Motivao
Motivao
Conabilidade
Motivao
Motivao
Exemplo Prtico
Encontrar o nmero de dias entre um dado Dia e a data atual: Hoje: 22/04/2009 20/04/2009: 2 dias atrs 8/04/2009: 2 semanas atrs
http://dojooripa.wordpress.com