Testes de Regressão Automatizados
Utilizando Python e Framework da S3-Storm
Abordagem paraTV Digital...
Reinaldo Mateus Rossetti Junior
 Analista de Testes na GVT/Telefonica Brasil;
 Especialização em Testes de Software – Universidade
Positivo Paraná;
 Mais de 5 anos de Experiência em Testes de Software;
 Experiência com automatização de testes (Web e TV
Digital);
 Conhecimento em integração contínua e metodologias
ágeis e desenvolvimento em Python.
TV DIGITAL
 Diversos tipos de tecnologias DTT, DTH, HYBRID,
IPTV,VOD;
 Interatividade demasiada;
 Estabilidade;
 Performance.
Prejuízo estimado:
US$ 125 milhões
Prejuízo estimado:
US$ X milhões
Qualidade
Robustez
Prejuízo
Performance
Falhas
O Foco esta no Cliente!
Cliente Feliz meta cumprida!
 Precisávamos de uma solução de teste automatizado para
gerenciar constante mudanças.
-> Como não gerar regressão com constantes mudanças ???
 Faster time to market - O software tornou-se uma arma
competitiva.
->Temos que lança nosso novo produto em Dezembro, mês de festas e
compras, como???
 Reduzir custo de Falhas – Aumentar a cobertura de Testes.
-> Nosso Produto precisa funcionar em diversos ambientes, como
testar tudo isso???Temos mão de Obra para isso?
 Hoje faço meu teste de
Regressão (500 testes) em um
browser. Estou realmente
cobrindo todos os cenários do
meu cliente?
Testador
3x5x500!
 Automatizar é a solução! Automatizar é preciso!
 Entender a necessidade de porque automatizar.
 Recursos humanos e financeiros.
 Definição de escopo e a quebra em entregas.
 Definição do prazo para a implantação.
 Escolha da ferramenta (Paga ou gratuita).
 Escolha da linguagem certa.
 Treinamentos na ferramenta e na linguagem
escolhidas.
 Alteração do fluxo de desenvolvimento.
 Definição da estrutura de scripts de forma Limpa,
Robusto, Flexível (Framework adequado).
 Simples de Usar e Entender;
 Foco na Rapidez;
 Código limpo e
Organizado.
Python é a solução!
 S3-StormTest – Plataforma de Automação
para TV-Digital.
 StormTest – Permite Testes simultaneos de forma
independentes em diferentes tipos de Devices.
 Enviar comando via Infrared;
 Power on/off o Set-Top-Box/Device;
 Funções para comparação de Imagem;
 Funções para Detectar movimento de Vídeo;
 Funções para Detectar a presença de Áudio;
 Usa OCR para ler textos/caracteres;
 Log e analise via serial;
 APIs em Python.
Obs: Escolha conexão deVídeo
HDMI ao Invés de RCA.
 Reunião de planejamento da Sprint
 Reunião diária
 Reunião de revisão da Sprint
 Retrospectiva da Sprint
Exemplos???
 Não coloque a configuração do script no seu código, utilize XML,
e também use sistema de controle de versão para armazenar
seus scripts.
 Deixe seu script Flexível pensando que eles podem mudar;
 Separe as funções em Classe diferentes, Organize bem;
 Todas as funções devem estar mapeada para uso, de forma
separada;
 Pense no inesperado, antecipe os possíveis erros, se um falhar
não pode parar tudo;
 Conheça bem os pontos falhos;
 Automatizar não é fácil é preciso Experiência e bastante leitura;
 Faça de forma simples para que todos entendam;
 Colaboração dosTimes envolvidos.
Testes de Regressão Automatizados
Utilizando Python e Framework da S3-Storm
Abordagem paraTV Digital...
Reinaldo Mateus Rossetti Junior

BDD&Python

  • 1.
    Testes de RegressãoAutomatizados Utilizando Python e Framework da S3-Storm Abordagem paraTV Digital... Reinaldo Mateus Rossetti Junior
  • 2.
     Analista deTestes na GVT/Telefonica Brasil;  Especialização em Testes de Software – Universidade Positivo Paraná;  Mais de 5 anos de Experiência em Testes de Software;  Experiência com automatização de testes (Web e TV Digital);  Conhecimento em integração contínua e metodologias ágeis e desenvolvimento em Python.
  • 3.
  • 5.
     Diversos tiposde tecnologias DTT, DTH, HYBRID, IPTV,VOD;  Interatividade demasiada;  Estabilidade;  Performance.
  • 6.
    Prejuízo estimado: US$ 125milhões Prejuízo estimado: US$ X milhões Qualidade Robustez Prejuízo Performance Falhas
  • 8.
    O Foco estano Cliente! Cliente Feliz meta cumprida!
  • 10.
     Precisávamos deuma solução de teste automatizado para gerenciar constante mudanças. -> Como não gerar regressão com constantes mudanças ???  Faster time to market - O software tornou-se uma arma competitiva. ->Temos que lança nosso novo produto em Dezembro, mês de festas e compras, como???  Reduzir custo de Falhas – Aumentar a cobertura de Testes. -> Nosso Produto precisa funcionar em diversos ambientes, como testar tudo isso???Temos mão de Obra para isso?
  • 12.
     Hoje façomeu teste de Regressão (500 testes) em um browser. Estou realmente cobrindo todos os cenários do meu cliente? Testador
  • 13.
  • 14.
     Automatizar éa solução! Automatizar é preciso!
  • 15.
     Entender anecessidade de porque automatizar.  Recursos humanos e financeiros.  Definição de escopo e a quebra em entregas.  Definição do prazo para a implantação.  Escolha da ferramenta (Paga ou gratuita).  Escolha da linguagem certa.  Treinamentos na ferramenta e na linguagem escolhidas.  Alteração do fluxo de desenvolvimento.  Definição da estrutura de scripts de forma Limpa, Robusto, Flexível (Framework adequado).
  • 16.
     Simples deUsar e Entender;  Foco na Rapidez;  Código limpo e Organizado. Python é a solução!
  • 17.
     S3-StormTest –Plataforma de Automação para TV-Digital.  StormTest – Permite Testes simultaneos de forma independentes em diferentes tipos de Devices.
  • 18.
     Enviar comandovia Infrared;  Power on/off o Set-Top-Box/Device;  Funções para comparação de Imagem;  Funções para Detectar movimento de Vídeo;  Funções para Detectar a presença de Áudio;  Usa OCR para ler textos/caracteres;  Log e analise via serial;  APIs em Python. Obs: Escolha conexão deVídeo HDMI ao Invés de RCA.
  • 19.
     Reunião deplanejamento da Sprint  Reunião diária  Reunião de revisão da Sprint  Retrospectiva da Sprint
  • 20.
  • 21.
     Não coloquea configuração do script no seu código, utilize XML, e também use sistema de controle de versão para armazenar seus scripts.  Deixe seu script Flexível pensando que eles podem mudar;  Separe as funções em Classe diferentes, Organize bem;  Todas as funções devem estar mapeada para uso, de forma separada;  Pense no inesperado, antecipe os possíveis erros, se um falhar não pode parar tudo;  Conheça bem os pontos falhos;  Automatizar não é fácil é preciso Experiência e bastante leitura;  Faça de forma simples para que todos entendam;  Colaboração dosTimes envolvidos.
  • 24.
    Testes de RegressãoAutomatizados Utilizando Python e Framework da S3-Storm Abordagem paraTV Digital... Reinaldo Mateus Rossetti Junior