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

Motivações para se testar o software

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

Motivações para se testar o software

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

Avatar for Fernando Fabricio dos Santos

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?