Ipiranga - Qualidade de Software - Teste de Software - Aula 06 - Parte 1

20
Teste de Software Professor: Aldo Rocha

description

fala sobre a qualidade de software

Transcript of Ipiranga - Qualidade de Software - Teste de Software - Aula 06 - Parte 1

  • Teste de Software

    Professor: Aldo Rocha

  • 2

    Agenda Verificao e Validao Teste de Software: Definio e Conceitos Tcnicas de Teste Fases de Teste Processo de Teste

  • 3

    Verificao e Validao O desenvolvimento de software est sujeito a

    diversos tipos de problemas, os quais acabam resultando na obteno de um produto diferente daquele que se esperava.

    Muitos fatores podem ser identificados como causas de tais problemas, mas a maioria deles tem uma nica origem: erro humano (Delamaro et al., 2007).

    As atividades de Verificao e Validao (V&V) visam garantir, respectivamente, que: o software est sendo desenvolvido corretamente, o software que est sendo desenvolvido o software

    correto.

  • 4

    V&V: Esttica x Dinmica As atividades de V&V costumam ser divididas em

    estticas e dinmicas. As estticas no requerem a execuo ou

    mesmo a existncia de um programa ou modelo executvel para serem realizadas.

    As dinmicas se baseiam na execuo de um programa ou modelo (Delamaro et al., 2007).

  • 5

    Teste de Software o processo de executar um programa com o

    objetivo de encontrar defeitos (Myers, 1979). , portanto, uma atividade de V&V dinmica. Do ponto de vista psicolgico, o teste de

    software uma atividade com um certo vis destrutivo, ao contrrio de outras atividades do processo de software.

  • 6

    Perspectiva de Teste Bons testadores necessitam de um conjunto

    especial de habilidades. Um testador deve abordar um software com a atitude de questionar tudo sobre ele (McGregor e Sykes, 2001).

    A perspectiva de teste , um modo de olhar qualquer produto de desenvolvimento e questionar a sua validade.

    Habilidades requeridas na perspectiva de teste: Querer prova de qualidade, No fazer suposies, No deixar passar reas importantes, Procurar ser reproduzvel.

  • 7

    Perspectiva de Teste A perspectiva de teste requer que um fragmento

    de software demonstre no apenas que ele executa de acordo com o especificado, mas que executa apenas o especificado (McGregor e Sykes, 2001).

    O software faz o que deveria fazer e somente isso?

  • 8

    Teste de SoftwareCOMO RESPONDER A PERGUNTA ACIMA? Executa-se um programa ou modelo utilizando

    algumas entradas em particular e verificar-se se seu comportamento est de acordo com o esperado.

    Caso a execuo apresente algum resultado no especificado, um defeito foi identificado.

    Os dados da execuo podem servir como fonte para a localizao e correo de defeitos, mas teste no depurao (Delamaro et al., 2007).

  • 9

    Teste de Software

    TIPOS DE TESTES

  • 10

    Teste Funcional ou Caixa-Preta Tcnica de projeto de casos de teste na qual o

    programa ou sistema considerado uma caixa-preta.

    Para test-lo, so fornecidas entradas e avaliadas as sadas geradas para verificar se esto em conformidade com os objetivos especificados.

    Os detalhes de implementao no so considerados.

    O software avaliado segundo o ponto de vista do usurio (Delamaro et al., 2007).

  • 11

    Teste Estrutural ou Caixa Branca

    Estabelece os requisitos de teste com base em uma dada implementao, requerendo a execuo de partes ou componentes elementares de um programa.

    Baseia-se no conhecimento da estrutura interna do programa.

    Caminhos lgicos so testados, estabelecendo casos de teste que pem prova condies, laos, definies e usos de variveis.

    Exemplo: Se o programa aceita um valor inteiro de entre 1 e 100, um teste de caixa branca testa ento o programa com todos os 100 valores para assegurar que todos esto corretos para cada um e para testar outros valores possveis.

  • 12

    Teste Baseado em Modelos Trata-se de uma tcnica onde os casos de teste so

    baseados em modelos que trazem informaes das funcionalidades do sistema a ser testado;

    A abstrao est intimamente ligada ao apresentado no modelo;

    visto como uma forma de teste caixa-preta porqu no est ligado diretamente ao cdigo fonte.

  • 13

    Fases de Teste A atividade de teste dividida em fases com

    objetivos distintos. De uma forma geral, pode-se estabelecer como fases (Delamaro et al., 2007): Teste de Unidade Teste de Integrao Teste de Sistema

  • 14

    Teste de Unidade Tem como foco as menores unidades de um

    programa.

    Nesta fase esperam-se encontrar defeitos relacionados a algoritmos incorretos ou mal implementados, estruturas de dados incorretas ou simples erros de programao.

    Pode ser aplicado medida que ocorre a implementao das unidades e pode ser realizado pelo prprio desenvolvedor.

  • 15

    Teste de Integrao Deve ser realizado aps serem testadas as

    unidades individualmente.

    A nfase colocada na construo da estrutura do sistema.

    Deve-se verificar se as partes, quando colocadas para trabalhar juntas, no conduzem a erros.

    Requer grande conhecimento das estruturas internas do sistema e, por isso, geralmente executado pela prpria equipe de desenvolvimento (Delamaro et al., 2007).

  • 16

    Teste de Sistema Uma vez integradas todas as partes, inicia-se o

    teste de sistema.

    Quando realizado por uma equipe de teste, o objetivo verificar se as funcionalidades especificadas na especificao de requisitos foram corretamente implementadas.

    Quando realizado por usurios, o objetivo validar o sistema (Teste de Aceitao).

  • 17

    Teste de Regresso A cada novo mdulo adicionado ou alterao, o

    software se modifica. Essas modificaes podem introduzir novos defeitos, inclusive em funes que previamente funcionavam corretamente.

    Assim, necessrio verificar se as alteraes efetuadas esto corretas e, portanto, deve-se reexecutar algum subconjunto de testes que j foi conduzido para garantir que as modificaes no esto propagando efeitos colaterais indesejados (Pressman, 2006).

  • 18

    Processo de Teste O processo de teste pode ser definido como um processo

    separado, mas intimamente ligado, ao processo de desenvolvimento. Isso porque eles tm metas e medidas de sucesso diferentes.

    Por exemplo, quanto menor a taxa de defeitos (razo entre o no de casos de teste que falham pelo total de casos de teste), mais bem sucedido considerado o processo de desenvolvimento. Por outro lado, quanto maior a taxa de defeitos, considera-se mais bem sucedido o processo de teste (McGregor e Sykes, 2001).

  • 19

    Processo de Teste Independentemente da fase de teste, o processo

    de teste inclui as seguintes atividades: Planejamento Anlise de Requisitos de Teste Projeto de Casos de Teste Implementao de Casos de Teste Execuo Anlise

  • 20

    Referncias Delamaro, M.E., Maldonado, J.C., Jino, M.,

    Introduo ao Teste de Software, Srie Campus SBC, Editora Campus, 2007.

    Koscianski, A., Soares, M.S., Qualidade de Software, Editora Novatec, 2006.

    Myers, G.J., The Art of Software Testing, 2nd edition, John Wiley & Sons, 2004.

    McGregor, J.D., Sykes, D.A., A Practical Guide to Testing Object-Oriented Software, Addison-Wesley, 2001.

    Pressman, R.S., Engenharia de Software. 6a edio, McGrawHill, 2006.

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20