Teste Regressão

4.189 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
4.189
No SlideShare
0
A partir de incorporações
0
Número de incorporações
13
Ações
Compartilhamentos
0
Downloads
53
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Teste Regressão

  1. 1. Teste de Regressão Seminário de Teste - 2001 Profa. Dra. Eliane Martins Vanessa Gindri Vieira
  2. 2. Teste de Regressão <ul><li>Objetivo; </li></ul><ul><li>Utilização; </li></ul><ul><li>Falhas de regressão; </li></ul><ul><li>Manutenção do conjunto de testes; </li></ul><ul><li>Redução do conjunto de testes; </li></ul><ul><li>Abordagens de teste. </li></ul>
  3. 3. Teste de Regressão <ul><li>Componente novo ou modificado pode apresentar defeito quando junto com componentes inalterados, causando defeitos neles. </li></ul><ul><li>Quando isso ocorre, diz-se que o sistema em teste regrediu. </li></ul>
  4. 4. Objetivo do Teste de Regressão <ul><li>Garantir que o programa ainda satisfaz seus requisitos [Rothermel, 94]; </li></ul><ul><li>O teste de regressão não descarta a necessidade de testes para as capacidades novas ou alteradas. </li></ul>
  5. 5. Utilização <ul><li>utilizado durante desenvolvimento iterativo, depois da depuração; </li></ul><ul><li>na produção de nova instância de um componente reusável; </li></ul><ul><li>na manutenção do software. </li></ul>
  6. 6. Utilização no escopo de Orientação a Objetos <ul><li>quando uma nova subclasse é desenvolvida; </li></ul><ul><li>quando uma superclasse é alterada; </li></ul><ul><li>quando uma classe servidora é alterada; </li></ul><ul><li>quando uma correção de falha é realizada; </li></ul><ul><li>quando uma classe é reusada em um novo contexto. </li></ul>
  7. 7. Falhas de Regressão <ul><li>Ocorrem quando há dependências entre D (delta) e B (base): </li></ul><ul><ul><li>de fluxo de controle, </li></ul></ul><ul><ul><li>de fluxo de dados, </li></ul></ul><ul><ul><li>restrições de ativação, </li></ul></ul><ul><ul><li>compartilhamento de dados, </li></ul></ul><ul><ul><li>tempo, </li></ul></ul><ul><ul><li>disputa por recursos. </li></ul></ul>
  8. 8. <ul><li>Falhas de Regressão podem ocorrer de várias formas: </li></ul><ul><ul><li>D aloca | muda o valor | desaloca uma variável global, atributo da classe, objeto persistente ou tupla do banco usada por B , assim B falha porque a nova ação de D é inconsistente com os seus requisitos ou contrato em relação a esse objeto; </li></ul></ul><ul><ul><li>D é cliente de B e envia uma mensagem que viola B ; </li></ul></ul><ul><ul><li>D é servidor de B e retorna um valor que viola B ; </li></ul></ul><ul><ul><li>D é incompatível com B . </li></ul></ul>
  9. 9. Manutenção do conjunto de testes <ul><li>Procedimento: </li></ul><ul><li>1- executar conj. de teste base em delta; </li></ul><ul><li>2- corrigir todas as falhas reveladas; </li></ul><ul><li>3- juntar testes do escopo de componente desenvolvido para cada novo delta; </li></ul><ul><li>4- instrumentar delta (análise de cobertura); </li></ul><ul><li>5- re-executar o conj. de teste no delta instrumentado; </li></ul><ul><li>6- analisar testes que atravessam mesmo caminho entrada-saída; </li></ul><ul><li>7- desenvolver novos casos de teste, quando necessário; </li></ul><ul><li>8- re-executar conj. de teste em delta não instrumentado; </li></ul><ul><li>9- conj. de teste revisado passa a ser o novo conj. de teste base. </li></ul>Alteração no sistema Alteração no conjunto de testes 
  10. 10. Considerações sobre procedimentos para redução do conjunto de testes <ul><li>Redução segura (analisa a dependência de código de delta): </li></ul><ul><ul><li>inclusão </li></ul></ul><ul><ul><li>precisão </li></ul></ul><ul><ul><li>eficácia </li></ul></ul><ul><ul><li>generalidade </li></ul></ul><ul><li>Redução insegura (pode omitir casos de teste que revelariam uma falha de regressão): </li></ul><ul><ul><li>amostra sistemática; </li></ul></ul><ul><ul><li>amostra aleatória; </li></ul></ul><ul><ul><li>filtro baseado em cobertura. </li></ul></ul>
  11. 11. Abordagens de Teste de Regressão <ul><li>Cinco abordagens para selecionar conjuntos de teste de regressão (Binder, 2000): </li></ul><ul><ul><li>Reteste total: </li></ul></ul><ul><ul><ul><li>re-executar o conjunto de teste base inteiro em delta; </li></ul></ul></ul><ul><ul><li>Reteste baseado em casos de uso de maior risco: </li></ul></ul><ul><ul><ul><li>usa algoritmos baseados no risco para selecionar o conjunto de teste de regressão parcial; </li></ul></ul></ul>
  12. 12. Abordagens de Teste <ul><ul><li>Reteste por perfil: </li></ul></ul><ul><ul><ul><li>algoritmos baseados no perfil operacional dos requisitos dos casos de uso; </li></ul></ul></ul><ul><ul><li>Reteste de segmentos modificados: </li></ul></ul><ul><ul><ul><li>análise do código modificado para selecionar o conjunto de teste; </li></ul></ul></ul><ul><ul><li>Reteste com firewall: </li></ul></ul><ul><ul><ul><li>analisa dependência de código para selecionar o conjunto de firewall (limite imaginário que cerca software modificado que contém falha de regressão). </li></ul></ul></ul>
  13. 13. Abordagens de Teste <ul><li>Cinco padrões de teste para selecionar conjuntos de teste de regressão (Binder, 2000): </li></ul><ul><ul><li>Reteste total; </li></ul></ul><ul><ul><li>Reteste baseado em casos de uso de maior risco; </li></ul></ul><ul><ul><li>Reteste por perfil; </li></ul></ul><ul><ul><li>Reteste de segmentos modificados; </li></ul></ul><ul><ul><li>Reteste com firewall. </li></ul></ul>SEGURO
  14. 14. Referências Bibliográficas <ul><li>Binder , R. V.; “ Testing Object-Oriented Systems: models, patterns and tools ”. Addison Wesley, 2000. </li></ul><ul><li>Harrold , M.J., McGregor, J.D., Fitzpatrick, K.; Incremental Testing of Object-Oriented Class Structures . The 14th International Conf. on Softw. Eng. 1992. </li></ul><ul><li>Martins , E.; Testes de Regressão, apostila IC-UNICAMP, 2001. </li></ul><ul><li>Pressman , R. S.; Software Engineering: a Practioner’s approach . Fourth edition, McGraw-Hill International Editions, 1997. </li></ul><ul><li>Rothermel , G.; Harrold, M. J.; “ A Framework for Evaluating Regresseion Test Selection Techniques ”. Proc. of the 16 th Int’l. Conf. on Softw. Eng., Sorrento, Italy, may/1994, p. 201-210. </li></ul>

×