# Fundamentos do Teste de Software
Quality Assurance (QA) também conhecido como Teste de QA é uma atividade que garante a melhor qualidade possível para um produto provido pela empresa ao consumidor
O Teste de QA em um software envolve a testagem de:
- Performance
- Adaptabilidade
- Funcionalidade
Entretanto, a garantia de qualidade de software se extende além da qualidade do software em si. A atividade também compreende a qualidade do processo de:
- Desenvolvimento
- Testagem
- Lançamento
O QA se debruça sobre o ciclo de desenvolvimento, que inclue a administração de requerimentos de software, design, codinig, testagem e lançamento
Vamos entender os fundamentos do teste de software, e como aplicá-los em nosso dia-a-dia.
# O que é Qualidade?
Qualidade pode ser simplesmente definida como "é própio para seu uso ou função". A idéia é atender às necessidades e expectativas de clientes no que concerne a funcionalidade, design, confiabilidade, durabilidade e preço do produto
# O que é Garantia?
Garantia nada mais é do que uma declaração positiva de um produto ou serviço, que transmite confiança. É a seguridade de que dispõe um produto ou serviço no sentido de que este funcionará bem.
Provém a garantia de que funcionará sem quaisquer problemas de acordo com as expectativas e requerimentos.
# Quality Assurance na Testagem de Software
Quality Assurance na Testagem é definida como um procedimento para garantir a qualidade de produtos de software ou serviços providos a clientes por uma empresa.
O QA foca em melhorar o procedimento de desenvolvimento do software, tornando-o eficiente e efetivo de acordo com os parâmetros de qualidade definidos para produtos de software.
# Erro, Defeito e Falha
- Erro: Ação humana que produz resultado incorreto.
- Defeito: Manifestação do erro no software, também conhecido como bug.
- Falha: Diferenção indesejável entre o observado, e o esperado (defeito encontrado).
Uma pessoa comete um erro, que cria um defeito no software, que pode, ou não, causar uma falha na operação.
# Mindset de Testagem
Enquanto um engenheiro de QA, seu trabalho é procurar por pontos de falha em um produto, seja este qual for, e reportá-los para que sejam concertados, de forma que o produto possua a maior qualidade.
Para fazer sua função com sucesso, é necessário possuir o tipo de pensamento correto:
- Pense da forma mais destrutiva e criativa quanto o possível
Pontos importantes:
- Conheça o produto que vai testar
- Não tenha medo de pensar fora da caixa enquanto o testa
- Não tenha medo de usá-lo da forma mais errada quanto o possível
- O software é culpado até que se prove o contrário.
- O QA é o responsável por provar que o software é culpado.