The importanteng of testings Flashcards
Por que testar ?
- Para identificar possíveis falhas(teste negativos)
- Também garantir a segurança em relação ao que software se propõem a fazer.
Como funciona em outras áreas ?
Em outras industria depois que o produto é desevolvido ele é submetido a uma séries de testes para garantir nível de segurança e confiabilidade que produto oferece
Como as industruias automobilística por exemplo garantem que seus veículos são seguros ?
Basicamento fazem isso por meio de terceiros que tem autorização para fazer os testes ou seja que são credenciados e regido por uma série de regras.Podendo ser uma normal ,orgão ou até mesmo organismo credenciado.
Exemplos:
ISO
IMETRO
OU ALGUM ORGANISMO CREDENCIADO
E para industria de software existe terceiros para conferir um selo ?
Não é requerido que um software tenha selo de um orgão para garantir sua segurança.A própria empresa pode realizar os testes.
Na indústria de software não é comum a presença de um orgão em especifico para fazer validações. O mais comum é própria empresa que fornece a solução fazer seus próprios testes.
Por que não podemos ignorar os testes ?
Pois eles nos traz segurança como principal beneficios e ainda diversos outros beneficios quando aplicamos a prática de testar junto a nossas soluções.
Por que em outras indústria prática se testar é quase que um obrigação e por que não podemos ignorar os teste na industria de software também ?
Esse card é uma reflexão :
Já reparou que nas industrias automobilística e alimentista entre outras para um produto ser colocado no mercado de fato ele passa por uma série de teste por orgãos credenciados conferindo um selo de confiabilidade e segurança.Dito isso a pergunta que fica é por que na industria de software seria diferente ?Por mais que método de testar seja diferente mais a finalidade não muda . Um software não testado pode gerar um projuízo enorme para uma empresa sendo de origem financeira e até mesmo nível de confiança.
Como testar ?
Existem centanas de métodos para se testar um software :
Teste de caixa-preta - Interface level - Usabilidade
Teste de caixa-branca - Code level - Funcionalidade
Quais as consequências de não testar ?
- Muitos bugs e problemas de agilidade
- Falhas de codificação
- Possíveis atrasos nas entregas
- Perda de confiança do cliente
- Desmotivação do time
- Aumento da rotatividade de pessoas
- Possíveis implicações legais
- Prejuízos financeiros
Explique sobre Regra 10 Myers ?
- Criada por um pioneiro sobre qualidade de software
- Cuja finalidade é medir custo de coreções defeitos em cada etapa da sua aplicação
Quais os mitos sobre teste de software ?
- Eu não tenho tempo de testar
- Testar é escrever o dobro de código
- Se fizer o código certinho não precisa testar
- Testar é papel do testador
- Que adianta eu testar se o resto da equipe não testa
- Os testes garantem 100% de que software está livre de erros
- Se passar no teste é por que não tem bug
- Eu já terminei só falta testar
- Testes de unidade só funcionam se for com TDD
- Testar manualmente é mais produtivo
- Não consigo convencer meu gerente
Quais tipos de teste de software mais comum ?
- Teste Unidade
- Teste Integração
- Teste Automatizado
- Teste De Carga
Explique o tipo de teste de software conhecido por Teste Unidade ?
- Testa uma única unidade do sistema
- POO - Classes
- E a menor unidade testavel de um programa orientado objeto é um método que compõem uma classe
Explique o tipo de teste de software conhecido por Teste Integração ?
- Testa a integração entre duas ou mais partes da sua aplicação
- Exemplo testar integração da sua aplicação com o banco de dados
- Aqui não usamos mocks é sim testamos de forma real a dependências entre suas classes dado um programa orientado objetos
Explique o tipo de teste de software conhecido por Teste Automatizado ?
- Considerados teste de aceitação
- Caixa-Preata foca na usabilidade
- Simula como se fosse usuário navegando na interface de fato
- Também traz beneficios que nos ajuda com os testes de regreção
Explique o tipo de teste de software conhecido por Teste Carga ?
- Conhecido como load test ou teste de carga
- Seu objetivo testar capacidade da sua aplicação
- Teste de stress ou seja até onda ela suporta
- Conseguimos ver como será a performace do código
- Garantir se aplicação aguentará determinada carga
- Testar o balanceamento de carga ou até mesmo a escala elástica na nuvem
- E mais legal podemos fazer essas simulações antes de mandarmos para produção e nossa aplicação cair ficar fora por que não está suportanto
- Conseguimos medir quanto de recurso computacionais são necessários para aquele contexto que foi estabelecido