A importância do QA no processo de desenvolvimento
A Débora é formada em engenharia informática e entrou no…
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:
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?
A Débora é formada em engenharia informática e entrou no mundo do QA ao dar por si a automatizar e a fazer scripts para os colegas de tudo aquilo que faziam constantemente manualmente.Fora dos computadores a sua grande paixão é viajar. Adora ler, andar de scooter, fazer yoga e passar tempo com os seus 5 gatos e cadela!