Curso Gratuito de Automação de Testes Para Iniciantes

Disponível no
Youtube

 

Equipe de Qualidade: o que faz e qual a sua Importância?

Equipe de Qualidade: o que faz e qual a sua Importância?

Hoje vou falar sobre  um assunto que vivencio muito. Geralmente quando a frase “eu sou QA” é dita ela gera dúvidas, além da seguinte pergunta: o que é QA? Pois bem, vamos tentar explicar o que é Quality Assurance (QA) ou garantia de qualidade, em português.

 

        A equipe de QA tem a função de garantir a qualidade no desenvolvimento de um produto ou serviço, amplamente aplicados à desenvolvimento de software, mas não somente à isso. De maneira simples, a equipe de QA tem atuação na checagem dos critérios e métodos utilizados ao longo de um  processo operacional, com o objetivo de identificar desvios ou vícios que no final comprometam a qualidade do serviço ou produto entregue. Além disso, a Equipe de QA ou o profssional QA tem o olhar analitico capaz de levantar e destacar oportunidades de melhorias no serviço ou produto desenvolvido, e aperfeiçoamentos dos processos aplicados. Com isso, o QA tem o importante papel de assegurar o cumprimento das etapas e sua qualidade durante a execução.

 

        Mas dentro de uma equipe de desenvolvimento de Software, o que faz o QA? Na maioria das vezes, é comum que o processo de QA não esteja implementado de maneira eficiente em uma empresa de desenvolvimento de software. Um exemplo disso seria um processo, onde o QA teria participação somente aplicando os testes ao fim do processo de desenvolvimento, para entrega final ao cliente. Desta maneira qualquer falha ou erro encontrado teria um alto custo para correção, já que o software está na fase final e pronto para entrega. Mas então como seria um processo de QA Eficiente e quais suas responsabilidades?

 

        Vamos iniciar falando que um analista de qualidade, está focado em identificar ganhos operacionais com bases nas documentações do processo  e conversas com os demais setores: clientes, gerentes de projeto e desenvolvedores. A fim de buscar ter o maior conhecimento possível sobre a regra de negócio aplicada, bem como conhecimento sobre as metodologias, além de possuir um perfil analitico e focado. Isso  identifica e exemplifica a importância do QA no processo de desenvolvimento de software. Desta maneira é correto afirmar que o QA comumente participa das seguintes etapas do desenvolvimento de software:

 

Planejamento, Processo, Testes e controle de qualidade.

Com base nestes tópicos acima, vamos entender melhor sobre cada um deles e suas divisões.

 

        Planejamento: na etapa de planejamento do desenvolvimento de um software, o QA é responsável por levantar casos de teste, (que são pequenos cenários de uso do software) onde buscamos verificar se o resultado apresentado é o esperado para aquele módulo do software. Planejamento da Sprint de testes que é o determinado tempo em que os testes serão aplicados ao Software. Além de verificar os impactos possíveis junto à equipe de desenvolvimento, ao produto final.

 

        Processo: QA é o responsável por checar e  garantir que as metodologias e técnicas adotadas estão sendo seguidas pela equipe de desenvolvimento para garantir que o produto ou processo finalize de acordo com o planejado.

 

        Testes: neste ponto é comum que ocorra o que mencionamos anteriormente, em que o processo de QA não está aplicado de forma eficiente. Onde os testes somente serão aplicados ao fim do processo de desenvolvimento do software, para a entrega final ao cliente. Para que o processo de testes seja eficiente, ele é dividido em alguns métodos de testes, que ocorrem em diferentes etapas como por exemplo:

 

               – Teste de unidade(unitário): seria o primeiro nível de teste aplicado, onde pequenos scripts devem ser criados para testar partes individuais do código.Estes testes geralmente são escritos pela equipe de desenvolvimento, baseado nos casos de testes levantados pelo QA.

 

               – Teste de aceitação: seria o nível de teste onde o software tem suas regras de negócios validadas, ou pelo cliente ou pelo gerente de projetos(PM).

 

               – Testes manuais de cenários: momento onde é gerada a versão do software para que o QA possa executar as ações descritas nos casos de teste, buscando verificar se os resultados apresentados estão de acordo com a regra de negócio descrita.

 

               – Teste exploratório: após ter executado os testes manuais de cenários, é comum que alguns QA´s executem testes sem seguir nenhum cenário ou caso de teste descrito, usando apenas de seu conhecimento e experiência e buscando encontrar falhas que possam ter passado despercebidas ao planejamento e levantamento de casos de teste.

 

               – Teste de regressão(regressivo): é o teste mais completo possível para  o software. Um regressivo envolve checar todas as regras de negócio e todos os aspectos e comportamento apresentados pelo software, verificando detalhadamente se tudo está funcionando e apresentando os resultados esperados. Geralmente efetuado após implementação de novas features ou correções de Bugs.

 

               – Teste de fumaça(Smoked-test): É a maneira mais simples e rápida de testar um software e geralmente é feita antes do lançamento do mesmo. Este teste tem por objetivo garantir que nenhuma funcionalidade principal apresente erro, que nada “pegue fogo”.

 

               – Teste automatizado: nesse tipo de teste, o QA utiliza uma linguagem de programação,ou framework, para escrever scripts que irão executar ações no software, simulando o usuário garantindo assim de maneira mais rápida e exata que links estejam funcionando corretamente, textos escritos e presentes de maneira correta entre outros.

 

               – Teste de API: garante a qualidade de comunicação de uma API, para que as solicitações e respostas aos servidores remotos estejam corretas.

 

               – Teste de desempenho: neste tipo de teste se verifica o tempo de resposta do software e seu comportamento.

 

               – Teste de carga: muito semelhante ao teste de desempenho, mas além de avaliar o tempo de resposta, este teste busca encontrar qual a capacidade de múltiplas respostas e em qual momento ele iria parar de responder, encontrando assim seu ponto falho, onde o site ou software travariam. 

 

Controle de qualidade: neste ponto, a equipe de QA busca acompanhar as métricas e garantir que o Software entregue ao cliente está de acordo com o que foi planejado e desenvolvido seguindo o processo e metodologias definidos.

 

Existem ainda alguns outros tipos de testes que vêm sendo aplicados e desenvolvidos, porém de maneira ainda não tão popular quanto os acima mencionados. Já as etapas e participação podem variar de acordo com o processo implementado e utilizado pela empresa. Assim finalizo esta breve explicação da pergunta que mais escuto, o que é QA?