# 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:

  1. Conheça o produto que vai testar
  2. Não tenha medo de pensar fora da caixa enquanto o testa
  3. Não tenha medo de usá-lo da forma mais errada quanto o possível
  4. O software é culpado até que se prove o contrário.
  5. O QA é o responsável por provar que o software é culpado.