Now Reading
A importância do QA no processo de desenvolvimento

A importância do QA no processo de desenvolvimento

QA

O engenheiro de Quality Assurance (QA) visa detetar falhas e erros no software, assegurando que tudo funciona em conformidade. Antes de qualquer novo produto ser lançado, a qualidade do mesmo deve ser assegurada, garantindo, em ultima instância, a satisfação do cliente. É exatamente isso que torna o trabalho de um QA tão importante para todo o processo de desenvolvimento.

QA é muitas vezes confundido com um “Tester”. No entanto, QA é mais do que um tester, é um processo de engenharia que assegura a qualidade do produto final.

Durante o processo de desenvolvimento de software, a equipa de desenvolvimento pode deparar-se com algumas dúvidas, tais como “Pode algo que não tenha sido alterado comportar-se de forma estranha?”, o papel de um profissional de QA é crucial nesta fase, permitindo à equipa de desenvolvimento responder com mais confiança a esta ou outras questões semelhantes que inevitavelmente vão acontecendo à medida que o projeto evolui.

Dito isto, que tipo de testes são feitos por um QA e quando?

Existem dois tipos de testes: Testes Funcionais, e Testes não Funcionais

  • Testes Funcionais: são realizados para assegurar que o software cumpre os requisitos pretendidos. Os recursos são testados através da introdução de inputs e da análise dos resultados. Por exemplo, assegurar que o login de uma Aplicação está a funcionar é um teste funcional.
  • Testes não Funcionais: destinam-se a verificar os aspetos não funcionais (desempenho, usabilidade, fiabilidade, etc.) do software. Garantir que o login de uma Aplicação não demora mais de X segundos a entrar é um exemplo de um teste não funcional.

E como se processa o trabalho de um QA na prática?

Existem duas principais práticas em QA: Testes Manuais e Testes Automáticos.

Testes Manuais
Os testes manuais são realizados por seres humanos e abrangem o seguinte:

  • Testes de Compatibilidade: Assegurar que o software é compatível com diferentes navegadores ou computadores/dispositivos.
  • Testes de Fumo: É um conjunto de testes que visam assegurar as funções mais importantes de um software. Funciona de forma não exaustiva.
  • Testes de Regressão: Assegura que uma alteração recente do código não afetou negativamente as características existentes.
  • Testes Beta/Alpha: Realizado pelo utilizador final ou pelo cliente para verificar e aceitar o software.
  • Teste de Usabilidade: utilizado na conceção de interação centrada no utilizador para avaliar um produto testando-o nos utilizadores.

Testes Automáticos
Os testes automatizados são realizados por robôs e consistem no seguinte:

  • Unit Testing: as unidades individuais de um software são testadas.
  • System Testing: valida o software completo e totalmente integrado.
  • Test-Driven Development (TDD): é uma prática de desenvolvimento de software, onde os testes unitários são escritos antes do código.
  • Continuous Integration (CI): permitir que as equipas detetem os problemas que se colocam e construam testes automatizados numa fase precoce.
  • Continuous Delivery (CD): prepara o código para ser lançado automaticamente.
  • Selenium: é uma ferramenta de automatização do navegador web. Utilizado para automatizar os testes UI.
  • Newman: é uma linha de comando que permite e testa as cobranças dos Correios (permitir chamadas de teste para APIs). Utilizada para Automatizar testes de API.

Além do domínio destes conceitos e tipologias de testes, um bom profissional de QA deve possuir certas características que lhe permitam um desempenho eficiente e um papel decisivo no processo de desenvolvimento. Deve ter boas capacidades de comunicação, deve ser um bom caçador (procura de bugs), um bom repórter, um bom colega de equipa, e claro, um bom examinador (tester) atento aos detalhes.

Para mergulhar ainda mais no mundo QA vamos a alguns conceitos:

See Also
How to Get started with data

Test Plan: Documento que descreve a estratégia de teste, objetivos, estimativa e recursos necessários para os testes. O Plano de Teste ajuda-nos a determinar o esforço necessário para validar a qualidade do software em teste. O Plano de Testes terá uma série de conjuntos de testes.
Test Suite: Parte do Plano de Testes. É um conjunto de casos de teste.
Test Case: Uma execução do software que pode expor um bug.
Edge Case: É um caso de teste que ocorre em condições raras.
Happy Path: Trata-se de um caso de teste bem definido, cujo resultado é o esperado.
Test Instructions: Instruções necessárias, passo a passo, para executar um caso de teste.
Acceptance Criteria: Conjunto de condições que devem ser verificadas, para que a característica possa ser aceite para ir para lançamento.

À medida que o mundo tecnológico evolui, é cada vez mais importante certificar a qualidade do software e a satisfação do cliente final. Um QA faz exatamente isso, deteta falhas e bugs, assegurando que tudo está a funcionar perfeitamente antes de ser lançado para o utilizador final.

Afinal, tudo o que queremos é encontrar um bug antes do utilizador, certo?

Também te pode interessar:

What's Your Reaction?
Like
10
View Comments (0)

Leave a Reply

Your email address will not be published.