SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Priorização dos casos de 
teste de regressão 
baseados nos defeitos 
Internal Use Only
Internal Use Only 
AGENDA 
• INdT 
• Apresentação pessoal 
• Teste de software 
• Teste de regressão 
• Ambiente 
• Problema encontrado 
• Por que priorizar? 
• Como foi implantado 
• Resultados 
2 INdT 2014
INdT 
• Instituto de pesquisa e desenvolvimento independente e sem 
fins lucrativos fundado pela Nokia (Microsoft) e focado na geração 
de novos conceitos, produtos e soluções para as áreas 
relacionadas com tecnologias móveis e Internet 
– Unidades em Manaus, Brasilia, Recife e São Paulo 
– Projetos de pesquisa e de desenvolvimento de soluções 
Internal Use Only 
móveis 
3 INdT 2014
APRESENTAÇÃO PESSOAL 
Internal Use Only 
• Anne Noronha 
– Desenvolvedora do time de Validação de Produto do INdT 
– 3 anos de experiência em Teste de Software 
– Atualmente trabalhando no projeto TV Digital 
• Erickson Alves 
– Desenvolvedor do time de Validação de Produto do INdT 
– 1 ano de experiência em Teste de Software 
– Atualmente trabalhando no projeto TV Digital 
• Pablo Quiroga 
– Desenvolvedor do time de Validação de Produto do INdT 
– 8 anos de experiência em Teste de Software 
– Atualmente trabalhando no projeto TV Digital 
4 INdT 2014
TESTE DE SOFTWARE 
• Testar é medir a qualidade e funcionalidade de um sistema 
– Teste é “o processo que consiste em todas as atividades do 
ciclo de vida tanto estáticas quanto dinâmicas, voltadas para 
o planejamento, preparação e avaliação de produtos de 
software e produtos de trabalho relacionados a fim de 
determinar se elas satisfazem os requisitos especificados e 
demonstrar que estão aptas para sua finalidade e para 
detecção de defeitos.” (Glossário do ISTQB) 
Internal Use Only 
5 INdT 2014
TESTE DE SOFTWARE 
• “O teste de programas pode ser usado para mostrar a presença de 
defeitos, mas nunca para mostrar a sua ausência.” (Dijkstra) 
• “Testar é analisar um programa com a intenção de descobrir erros 
Internal Use Only 
e defeitos.” (Myers) 
6 INdT 2014
TESTE DE SOFTWARE 
Internal Use Only 
7 INdT 2014
TESTE DE REGRESSÃO 
• Tipo de teste para assegurar que mudanças feitas no software não 
Internal Use Only 
adicionaram defeitos ao mesmo 
• Os testes de regressão voltam a testar segmentos já testados após 
a implementação de uma mudança em outra parte do software 
8 INdT 2014
• Projeto TV Digital com o framework ágil Scrum 
– 10 dias úteis de sprint 
– 10 desenvolvedores 
– 3 testadores 
– 5 versões por sprint para validação 
– 78 casos de teste de regressão 
– 15 minutos em média para casa caso de teste 
– 6 horas e 30 minutos para cada teste de regressão, 
contando com os 3 testadores focados para esta tarefa 
Internal Use Only 
AMBIENTE 
9 INdT 2014
TV Digital 
Internal Use Only 
AMBIENTE 
10 INdT 2014 
App 
Middleware Ginga
PROBLEMA ENCONTRADO 
• Existem semanas específicas acordadas previamente com o 
cliente para que entregas sejam feitas 
– Cada entrega seria uma versão prévia estável do produto final 
– Após uma entrega ser feita, a próxima continua em 
desenvolvimento para que uma versão mais completa seja 
entregue na próxima data 
– No período de entrega de versão, cada alteração feita no 
produto deve ser assegurada estável e validada para não 
comprometer a entrega final 
Internal Use Only 
11 INdT 2014
PROBLEMA ENCONTRADO 
• Em média, 1 defeito por dia era encontrado em semana de 
entrega. Ou seja, ao corrigi-lo, um teste de regressão devia ser 
executado 
Internal Use Only 
12 INdT 2014 
Horas de trabalho diárias 
Regressão Outras atividades
PROBLEMA ENCONTRADO 
• Assim sendo, viu-se a necessidade de diminuir o tempo de 
execução de uma suíte de regressão 
Internal Use Only 
• Alternativas 
– Aumentar o número de testadores (custoso, logo inviável) 
– Executar os casos de teste mais rápido (adiciona riscos, 
podendo diminuir a concentração necessária) 
– Diminuir o número de casos de teste 
13 INdT 2014
O PROBLEMA ENCONTRADO 
• Dados 푇 uma suíte de teste, 푃푇 um conjunto de permutações de 푇, 
푓 uma função de 푃푇 para os números reais, o problema é achar 
푇′ ∈ 푃푇 tal que: 
∀푇′′ 푇′′ ∈ 푃푇 푇′′ ≠ 푇′ [푓 푇′ ≥ 푓(푇′′)] 
• 푃푇 é o conjunto de todas as possibilidades de ordenação de 푇 e 푓 
é uma função que atribui um valor real para qualquer ordenação 
dada. 푓 também representa o objetivo da priorização 
Internal Use Only 
14 INdT 2014
POR QUE PRIORIZAR? 
• Uma suíte de teste sempre precisa passar por atualizações 
• Aumentando o número de casos de teste, aumenta-se o tempo 
Internal Use Only 
para execução de uma suíte 
• Quanto mais cobertura a suíte tiver e menos tempo ela levar para 
ser executada, melhor 
15 INdT 2014
COMO FOI IMPLANTADO 
• Um software é definido por suas funcionalidades 
Internal Use Only 
– 퐹1, 퐹2, … , 퐹푁 ∈ 푃 
• Cada funcionalidade contem casos de teste para validá-la e cada 
execução desses casos de teste podem gerar defeitos para a 
funcionalidade 
– (퐶푇1, 퐶푇2, … , 퐶푇푁) ∈ 퐹푖 
– (퐷1, 퐷2, … , 퐷푁) ∈ 퐹푖 
• Cada caso de teste é composto por uma sequência de passos 
– (푆1, 푆2, … , 푆푁) ∈ 퐶푇푖 
16 INdT 2014
COMO FOI IMPLANTADO 
• Para cada funcionalidade, são unificados os casos de teste 
especificados para ela e os defeitos encontrados para ela em 
forma de caso de teste 
– Gera-se uma suíte temporária 푇푃 
• Para cada caso de teste 퐶푇푖 ∈ 푇푃, uma análise de seus passos, 
observando se existe algum outro caso de teste que cubra os 
passos do mesmo 
– Caso existe um caso de teste 퐶푇푗 ∈ 푇푃(푖 ≠ 푗) que cubra 퐶푇푖, 
Internal Use Only 
퐶푇푖 é removido de 푇푃 
17 INdT 2014
COMO FOI IMPLANTADO 
• Ao final do processo, tem-se uma suíte de teste reduzida e 
priorizada de acordo com os defeitos encontrados previamente em 
cada funcionalidade 
• Consegue-se uma diminuição do tempo para validar cada nova 
Internal Use Only 
versão do produto 
18 INdT 2014
Internal Use Only 
RESULTADOS 
Parâmetros 
Suíte de 
regressão original 
Suíte de regressão 
priorizada 
Testadores 3 3 
Casos de teste 78 48 
Tempo médio de cada caso de teste 
15 15 
(min) 
Tempo de execução total (h) 6,5 4 
19 INdT 2014 
푅푒푑푢çã표 % = 
(6,5 − 4) 
6,5 
≅ ퟑퟖ%
Internal Use Only 
PERGUNTAS 
20 INdT 2014
• Binder, Robert V. (1999) Francisco Gomes Testing object-oriented 
systems: models, patterns, and tools. Addison-Wesley Longman 
Publishing Co., Inc., Boston, MA, USA. 
• Elbaum S., Malishevsky A, Rothermel G. (2001). Prioritizing test 
cases for regression testing. In Proceedings of the International 
Symposium on Software Testing and Analysis. 
• Kaner C., Falk J., Nguyen Q. (1999). Testing Computer Software, 
Internal Use Only 
REFERÊNCIAS 
2nd edition, Willey. 
21 INdT 2014
• Sommerville, Ian. (2006). Software Engineering, 8th edition, 
• Watkins, John. (2001). An off-the-shelf Software Testing Process, 
1st edition, Cambridge University Press. 
• Dustin E., Rashka J., Paul J. (1999). Automated Software Testing – 
Introduction, Management and Performance, 1st edition, Addison 
Wesley. 
Internal Use Only 
REFERÊNCIAS 
Addison Wesley. 
22 INdT 2014
Internal Use Only 
CONTATO 
<anne.noronha, erickson.alves, 
pablo.quiroga>@indt.org,br

Weitere ähnliche Inhalte

Was ist angesagt?

Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitDomingos Teruel
 
Apresentação artigo teste software 26042010
Apresentação artigo   teste software 26042010Apresentação artigo   teste software 26042010
Apresentação artigo teste software 26042010Fabio Franzotti
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de TestesUFPA
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geralpaulo peres
 
Implantação de um Processo de Teste de Software - Randerson Melville
Implantação de um Processo de Teste de Software - Randerson Melville Implantação de um Processo de Teste de Software - Randerson Melville
Implantação de um Processo de Teste de Software - Randerson Melville minastestingconference
 
Desenvolvendo software com qualidade e agilidade
Desenvolvendo software com qualidade e agilidadeDesenvolvendo software com qualidade e agilidade
Desenvolvendo software com qualidade e agilidadeDiogo Augusto Pereira
 
Alcançando qualidade de software através de entrega contínua
Alcançando qualidade de software através de entrega contínuaAlcançando qualidade de software através de entrega contínua
Alcançando qualidade de software através de entrega contínuaSamanta Cicilia
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaFabrício Campos
 
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...Samanta Cicilia
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Camilo Ribeiro
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareCamilo Ribeiro
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareCamilo Almendra
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentOtavio Augusto
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de softwareLeonardo Melo Santos
 

Was ist angesagt? (20)

Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
 
Apresentação artigo teste software 26042010
Apresentação artigo   teste software 26042010Apresentação artigo   teste software 26042010
Apresentação artigo teste software 26042010
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
Implantação de um Processo de Teste de Software - Randerson Melville
Implantação de um Processo de Teste de Software - Randerson Melville Implantação de um Processo de Teste de Software - Randerson Melville
Implantação de um Processo de Teste de Software - Randerson Melville
 
Desenvolvendo software com qualidade e agilidade
Desenvolvendo software com qualidade e agilidadeDesenvolvendo software com qualidade e agilidade
Desenvolvendo software com qualidade e agilidade
 
Alcançando qualidade de software através de entrega contínua
Alcançando qualidade de software através de entrega contínuaAlcançando qualidade de software através de entrega contínua
Alcançando qualidade de software através de entrega contínua
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
 
Testes de software
Testes de softwareTestes de software
Testes de software
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 
Testes Funcionais
Testes FuncionaisTestes Funcionais
Testes Funcionais
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de Software
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de software
 

Ähnlich wie Priorização casos teste regressão defeitos

Testes Funcionais - Unidade IV
Testes Funcionais - Unidade IVTestes Funcionais - Unidade IV
Testes Funcionais - Unidade IVJoão Lourenço
 
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Igor Abade
 
Gerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxGerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxRoberto Nunes
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de softwareFelipe Bugov
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxRoberto Nunes
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de softwareRondinelli Mesquita
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Igor Abade
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumRafael Souza
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testeselliando dias
 
Engenharia de Software: A ponte para um código sustentável
Engenharia de Software: A ponte para um código sustentávelEngenharia de Software: A ponte para um código sustentável
Engenharia de Software: A ponte para um código sustentávelFernando Pontes
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoJoeldson Costa Damasceno
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POAAline Zanin
 
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Leandro Ugioni
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMAdriano Bertucci
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junitcejug
 

Ähnlich wie Priorização casos teste regressão defeitos (20)

Testes Funcionais - Unidade IV
Testes Funcionais - Unidade IVTestes Funcionais - Unidade IV
Testes Funcionais - Unidade IV
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
 
Gerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxGerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptx
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e Scrum
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testes
 
Engenharia de Software: A ponte para um código sustentável
Engenharia de Software: A ponte para um código sustentávelEngenharia de Software: A ponte para um código sustentável
Engenharia de Software: A ponte para um código sustentável
 
Testes
TestesTestes
Testes
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e Validação
 
TesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdfTesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdf
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POA
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
 
Então, precisamos mesmo de QA em projetos Ágeis?
Então, precisamos mesmo de QA em projetos Ágeis?Então, precisamos mesmo de QA em projetos Ágeis?
Então, precisamos mesmo de QA em projetos Ágeis?
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junit
 

Priorização casos teste regressão defeitos

  • 1. Priorização dos casos de teste de regressão baseados nos defeitos Internal Use Only
  • 2. Internal Use Only AGENDA • INdT • Apresentação pessoal • Teste de software • Teste de regressão • Ambiente • Problema encontrado • Por que priorizar? • Como foi implantado • Resultados 2 INdT 2014
  • 3. INdT • Instituto de pesquisa e desenvolvimento independente e sem fins lucrativos fundado pela Nokia (Microsoft) e focado na geração de novos conceitos, produtos e soluções para as áreas relacionadas com tecnologias móveis e Internet – Unidades em Manaus, Brasilia, Recife e São Paulo – Projetos de pesquisa e de desenvolvimento de soluções Internal Use Only móveis 3 INdT 2014
  • 4. APRESENTAÇÃO PESSOAL Internal Use Only • Anne Noronha – Desenvolvedora do time de Validação de Produto do INdT – 3 anos de experiência em Teste de Software – Atualmente trabalhando no projeto TV Digital • Erickson Alves – Desenvolvedor do time de Validação de Produto do INdT – 1 ano de experiência em Teste de Software – Atualmente trabalhando no projeto TV Digital • Pablo Quiroga – Desenvolvedor do time de Validação de Produto do INdT – 8 anos de experiência em Teste de Software – Atualmente trabalhando no projeto TV Digital 4 INdT 2014
  • 5. TESTE DE SOFTWARE • Testar é medir a qualidade e funcionalidade de um sistema – Teste é “o processo que consiste em todas as atividades do ciclo de vida tanto estáticas quanto dinâmicas, voltadas para o planejamento, preparação e avaliação de produtos de software e produtos de trabalho relacionados a fim de determinar se elas satisfazem os requisitos especificados e demonstrar que estão aptas para sua finalidade e para detecção de defeitos.” (Glossário do ISTQB) Internal Use Only 5 INdT 2014
  • 6. TESTE DE SOFTWARE • “O teste de programas pode ser usado para mostrar a presença de defeitos, mas nunca para mostrar a sua ausência.” (Dijkstra) • “Testar é analisar um programa com a intenção de descobrir erros Internal Use Only e defeitos.” (Myers) 6 INdT 2014
  • 7. TESTE DE SOFTWARE Internal Use Only 7 INdT 2014
  • 8. TESTE DE REGRESSÃO • Tipo de teste para assegurar que mudanças feitas no software não Internal Use Only adicionaram defeitos ao mesmo • Os testes de regressão voltam a testar segmentos já testados após a implementação de uma mudança em outra parte do software 8 INdT 2014
  • 9. • Projeto TV Digital com o framework ágil Scrum – 10 dias úteis de sprint – 10 desenvolvedores – 3 testadores – 5 versões por sprint para validação – 78 casos de teste de regressão – 15 minutos em média para casa caso de teste – 6 horas e 30 minutos para cada teste de regressão, contando com os 3 testadores focados para esta tarefa Internal Use Only AMBIENTE 9 INdT 2014
  • 10. TV Digital Internal Use Only AMBIENTE 10 INdT 2014 App Middleware Ginga
  • 11. PROBLEMA ENCONTRADO • Existem semanas específicas acordadas previamente com o cliente para que entregas sejam feitas – Cada entrega seria uma versão prévia estável do produto final – Após uma entrega ser feita, a próxima continua em desenvolvimento para que uma versão mais completa seja entregue na próxima data – No período de entrega de versão, cada alteração feita no produto deve ser assegurada estável e validada para não comprometer a entrega final Internal Use Only 11 INdT 2014
  • 12. PROBLEMA ENCONTRADO • Em média, 1 defeito por dia era encontrado em semana de entrega. Ou seja, ao corrigi-lo, um teste de regressão devia ser executado Internal Use Only 12 INdT 2014 Horas de trabalho diárias Regressão Outras atividades
  • 13. PROBLEMA ENCONTRADO • Assim sendo, viu-se a necessidade de diminuir o tempo de execução de uma suíte de regressão Internal Use Only • Alternativas – Aumentar o número de testadores (custoso, logo inviável) – Executar os casos de teste mais rápido (adiciona riscos, podendo diminuir a concentração necessária) – Diminuir o número de casos de teste 13 INdT 2014
  • 14. O PROBLEMA ENCONTRADO • Dados 푇 uma suíte de teste, 푃푇 um conjunto de permutações de 푇, 푓 uma função de 푃푇 para os números reais, o problema é achar 푇′ ∈ 푃푇 tal que: ∀푇′′ 푇′′ ∈ 푃푇 푇′′ ≠ 푇′ [푓 푇′ ≥ 푓(푇′′)] • 푃푇 é o conjunto de todas as possibilidades de ordenação de 푇 e 푓 é uma função que atribui um valor real para qualquer ordenação dada. 푓 também representa o objetivo da priorização Internal Use Only 14 INdT 2014
  • 15. POR QUE PRIORIZAR? • Uma suíte de teste sempre precisa passar por atualizações • Aumentando o número de casos de teste, aumenta-se o tempo Internal Use Only para execução de uma suíte • Quanto mais cobertura a suíte tiver e menos tempo ela levar para ser executada, melhor 15 INdT 2014
  • 16. COMO FOI IMPLANTADO • Um software é definido por suas funcionalidades Internal Use Only – 퐹1, 퐹2, … , 퐹푁 ∈ 푃 • Cada funcionalidade contem casos de teste para validá-la e cada execução desses casos de teste podem gerar defeitos para a funcionalidade – (퐶푇1, 퐶푇2, … , 퐶푇푁) ∈ 퐹푖 – (퐷1, 퐷2, … , 퐷푁) ∈ 퐹푖 • Cada caso de teste é composto por uma sequência de passos – (푆1, 푆2, … , 푆푁) ∈ 퐶푇푖 16 INdT 2014
  • 17. COMO FOI IMPLANTADO • Para cada funcionalidade, são unificados os casos de teste especificados para ela e os defeitos encontrados para ela em forma de caso de teste – Gera-se uma suíte temporária 푇푃 • Para cada caso de teste 퐶푇푖 ∈ 푇푃, uma análise de seus passos, observando se existe algum outro caso de teste que cubra os passos do mesmo – Caso existe um caso de teste 퐶푇푗 ∈ 푇푃(푖 ≠ 푗) que cubra 퐶푇푖, Internal Use Only 퐶푇푖 é removido de 푇푃 17 INdT 2014
  • 18. COMO FOI IMPLANTADO • Ao final do processo, tem-se uma suíte de teste reduzida e priorizada de acordo com os defeitos encontrados previamente em cada funcionalidade • Consegue-se uma diminuição do tempo para validar cada nova Internal Use Only versão do produto 18 INdT 2014
  • 19. Internal Use Only RESULTADOS Parâmetros Suíte de regressão original Suíte de regressão priorizada Testadores 3 3 Casos de teste 78 48 Tempo médio de cada caso de teste 15 15 (min) Tempo de execução total (h) 6,5 4 19 INdT 2014 푅푒푑푢çã표 % = (6,5 − 4) 6,5 ≅ ퟑퟖ%
  • 20. Internal Use Only PERGUNTAS 20 INdT 2014
  • 21. • Binder, Robert V. (1999) Francisco Gomes Testing object-oriented systems: models, patterns, and tools. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. • Elbaum S., Malishevsky A, Rothermel G. (2001). Prioritizing test cases for regression testing. In Proceedings of the International Symposium on Software Testing and Analysis. • Kaner C., Falk J., Nguyen Q. (1999). Testing Computer Software, Internal Use Only REFERÊNCIAS 2nd edition, Willey. 21 INdT 2014
  • 22. • Sommerville, Ian. (2006). Software Engineering, 8th edition, • Watkins, John. (2001). An off-the-shelf Software Testing Process, 1st edition, Cambridge University Press. • Dustin E., Rashka J., Paul J. (1999). Automated Software Testing – Introduction, Management and Performance, 1st edition, Addison Wesley. Internal Use Only REFERÊNCIAS Addison Wesley. 22 INdT 2014
  • 23. Internal Use Only CONTATO <anne.noronha, erickson.alves, pablo.quiroga>@indt.org,br