Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Motivações para se testar o software

Motivações para se testar o software

Software deve ser testado? Qual a motivação de outras companhias para realizar testes de software?

Fernando Fabricio dos Santos

November 07, 2015
Tweet

More Decks by Fernando Fabricio dos Santos

Other Decks in Technology

Transcript

  1. - Pneumáticos - Resistência - Elétricos - Químicos - Impacto

    - Emissão de poluentes Indústrias realizam muitos testes
  2. - Pneumáticos - Resistência - Elétricos - Químicos - Impacto

    - Emissão de poluentes Indústrias realizam muitos testes
  3. - Pneumáticos - Resistência - Elétricos - Químicos - Impacto

    - Emissão de poluentes Indústrias realizam muitos testes
  4. “Encontrar e corrigir um problema de software após a entrega

    é muitas vezes, 100 vezes mais caro do que encontrar e corrigir durante a fase de design e requisitos.”
  5. Identificar e corrigir problemas graves depois da entrega pode ser

    100 vezes mais custoso que no desenvolvimento. Esforço para identificar e corrigir problemas
  6. “Cerca de 40-50% do esforço num projeto de software é

    gasto em retrabalho, o qual é possível evitar.”
  7. - Grande quantidade do trabalho realizado para execução de uma

    tarefa é desperdiçado, este desperdício pode variar de 40 a 50% - Quanto maior a maturidade de um time, quanto maior o envolvimento dos personagens do processo no desenvolvimento e quanto maior a interação desses elementos menor é a quantidade de esforço desperdiçado Quantidade de esforço desperdiçado
  8. “Cerca de 80% de esforço que poderia ser evitado vem

    de 20% dos defeitos encontrados.”
  9. - A maior parte do esforço que poderia ser evitado

    vem de um pequeno número de defeitos de software, que pode ser definido como o trabalho feito para mitigar os efeitos de erros ou para melhorar desempenho do sistema. - Alguns esforços são simplesmente inevitáveis, por exemplo, o trabalho decorrente de adaptação, manutenções preventivas ou alterações solicitadas pelo usuário. - Os defeitos que causam grandes quantidades de retrabalho são provavelmente aqueles que "quebram" a arquitetura ou que são considerados "inapropriados" tarde no processo de desenvolvimento. Defeitos causando desperdício
  10. - Revisão de código pode pegar mais de metade dos

    erros de um produto, independente do nível de maturidade da organização ou da fase que foi aplicado. - O conhecimento sobre o desenvolvimento é difundido na empresa. - Força o desenvolvimento de um código limpo e que seja de fácil interpretação. Code review
  11. - O código deve ser particionado de maneira com que

    as lógicas implementadas possam ser testadas sem dependências de forma isolada. - Menor custo de execução. - Evitam regressão. - Motiva refatoração. - Garante que alterações não vão ter influências sobre as “unidades” do sistema Base - Testes unitários
  12. - Verifica comportamentos do software quando executado junto a outras

    aplicações ou componentes. - Interage entre as camadas da aplicação. - Demoram mais para serem executados. - Exigem um custo computacional maior para sua execução. Testes integrados
  13. - Testa a funcionalidade final, ou tentam reproduzir um comportamento

    específico. - Navegam ou utilizam a aplicação como um cliente. - Demoram MAIS para serem executados. - Exigem um custo computacional MAIOR para sua execução. Testes de aceitação e interface
  14. Testes manuais - Exploração. - Identificar comportamentos para serem reproduzidos

    em testes automatizados. - Precisa falar que são MAIS CUSTOSOS que os outros?