Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouAndré Rafael Palma Brunelli Alterado mais de 8 anos atrás
2
CIn-UFPE Seleção de Testes de Regressão para Redução de Defeitos Escapados Juliana Mafra – jndm@cin.ufpe.br Novembro 2008 2
3
Mercado de desenvolvimento de software bastante competitivo. Necessidade de um processo de teste cuidadoso e bem planejado. Mas o que é Teste de Software? –“Any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results” (W. Hetzel) Motivação
4
Este trabalho faz parte do projeto de pesquisa do CIn/UFPE em cooperação com a Motorola no contexto do Brazil Test Center (BTC). Propósito do Trabalho –Resolver alguns problemas do Time de Execução de testes da Motorola relacionados a escaped defects. Escaped defects - Um escaped defect é um defeito que não foi descoberto pelo BTC. Motivação
5
Escaped Defects – Os problemas –Como evitar? –Quais são as causas? Motivação
6
Escaped Defects – A solução Motivação
7
Agenda Conceitos –Testes de Regressão –Seleção de Testes de Regressão –Depuração Métricas para Seleção de Testes Exemplo Conclusões Trabalhos Futuros
8
Testes de Regressão - Consiste na aplicação de testes em versões modificadas do software, para garantir que as mudanças realizadas estão corretas e que não surgiram novos defeitos em componentes já testados do sistema. Seleção de Testes de Regressão - Re-execução de alguns casos de teste selecionados a partir de uma suíte para realizar o teste de regressão. Conceitos
9
Depuração –“The process of diagnosing the precise nature of a known error and then correcting it” (G. J. Myers) – Algumas pesquisas e estudos em depuração analisam técnicas de como prever defeitos. - A idéia básica é encontrar localizações onde focar o esforço do teste. Conceitos
10
Primeira tentativa: pesquisa em Seleção de Teste de Regressão –Não funcionou. Somente white box… Então, realizamos um pesquisa em depuração – Essencialmente na idéia de predição de defeitos Cinco métricas foram definidas, baseadas em: –Entrevistas – Soluções de Predição de Defeitos Dado o histórico de CRs, onde ocorrerá o próximo defeito? Métricas para Seleção de Testes
11
Test Case History –A Entrada Para cada caso de teste, existe um histórico de execuções passadas (passou, falhou, bloqueado) –A Solução Para cada caso de teste da suite, calcular: –A Saída Ordem de relevância dos casos de teste, baseado no resultado do cálculo para cada caso de teste. Primeira Métrica
12
Test Case History –Exemplo Suponha que N = 5 xokx bloqueado ok xxx Teste 3 Primeira Métrica
13
Changed and New Components –As Entradas Para cada caso de teste –C: o conjunto de componentes visitados pelo caso de teste –M: o conjunto de componentes novos e modificados na versão corrente –A Solução Para cada caso de teste da suite, calcular: –A Saída Ordem de relevância dos casos de teste, baseado no resultado do cálculo para cada caso de teste. Segunda Métrica
14
Changed and New Components –Exemplo Test 3 CM C1C1 C2C2 C3C3 C4C4 C8C8 C5C5 C 12 C7C7 C1C1 C3C3 C4C4 Build Segunda Métrica
15
Recent failures –As Entradas Os componente que falharam na versão anterior Para cada um desses componente, a porcetagem de CRs abertas na versão anterior Para cada um desses componentes, o conjunto de casos de teste associados –A Solução Para cada caso de teste : –Calcular a soma de todas as porcentagens associadas ao caso de teste –A Saída Ordem de relevância dos casos de teste, baseado no resultado do cálculo para cada caso de teste. Terceira Métrica
16
Recent failures –Exemplo Terceira Métrica
17
Escaped Defects –As Entradas Os componentes que apresentaram defeitos escapados em um período específico de tempo Para cada um desses componentes, a porcentagem de CRs que escaparam do BTC (Brazil Test Center) Para cada um desses componentes, o conjunto de casos de teste associados, que não foram executados naquele período específico de tempo. –A Solução Para cada caso de teste que não foi executado naquele período específico : –Calcular a soma de todas as porcentagens associadas ao caso de teste –A Saída Ordem de relevância dos casos de teste, baseado no resultado do cálculo para cada caso de teste. Quarta Métrica
18
Escaped Defects –Exemplo Quarta Métrica
19
Spatial Locality –As Entradas V 1, V 2 … V n : Todo conjunto de componentes que foram modificados em todas as versões existentes C´: o conjunto de componentes que falharam na versão anterior C´´: os componentes restantes Todo conjunto de casos de teste associados a cada C´´ –A Solução Calcular a distância entre todo C´ e C´´ utilizando a equação: Quinta Métrica
20
Spatial Locality Calcular a distância média relacionada a todo C´´ Calcular a porcentagem relacionada a todo C’’, associando o valor “2 - média” e então, normalizar para 100% Para cada caso de teste na suíte: –Calcular a soma de todas as porcentagens associadas aquele caso de teste –A Saída Ordem de relevância dos casos de teste, baseado no resultado do cálculo para cada caso de teste. Quinta Métrica
21
Spatial Locality –Exemplo Quinta Métrica
22
Spatial Locality –Exemplo (Continuação…) Quinta Métrica
23
Spatial Locality –Exemplo (Continuação…) Quinta Métrica
24
Spatial Locality –Exemplo (Continuação…) Quinta Métrica
25
Um pequeno sistema foi criado e analisado com cada métrica –Um sistema composto por uma suíte de teste com 22 casos de teste (T 1, T 2 …T 22 ) e 9 componentes (C 1, C 2 …C 9 ) foi considerado Dados hipotéticos foram criados para serem utilizados como entrada para as cinco métricas Os resultados são apresentados ordenados de forma decrescente de acordo com sua relevância Exemplo
26
Resultado Somente os dez casos de teste mais relevantes de cada métrica são mostrados Exemplo
27
Cinco métricas foram definidas para serem utilizadas separadamente na seleção de testes de regressão. Os resultados de cada métrica podem ser analisados cuidadosamente –Baseado nas necessidades e prioridades da versão corrente, os melhores casos de teste podem ser selecionados Algumas das métricas sugeridas já são utilizadas intuitivamente por alguns membros do Time de Execução da Motorola Conclusões
28
Outras métricas vieram de pesquisas em depuração –Where Do Bugs Come From? A Challenge for Empirical Software Engineering Adrian Schröter, Thomas Zimmermann, Rahul Premraj, and Andreas Zeller –Predicting Faults from Cached History Sunghun Kim, Thomas Zimmermann, E. James Whitehead, Jr., and Andreas Zeller A maior contribuição –O uso de técnicas de depuração para aumentar a confiabilidade do teste de software. Conclusões
29
Realizar experimentos no Time de Execução da Motorola Introduzir os novos critérios para o Time de Execução Mecanizar tudo (grande desafio!) Trabalhos Futuros
30
? Dúvidas
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.