O papel do QA na construção de um software

Em um mundo tão conectado quanto o de hoje tudo é feito com tecnologia, e para fazer a tecnologia acontecer são necessários softwares. Desenvolver um software é bastante complexo e envolve algumas áreas, uma delas é o QA - Quality Analist. Mas, qual é o papel do QA na construção de um software?
  • Por Redação Techpost
  • @redacao
  • 13 outubro, 2021
  • 5 min de leitura
A importância do QA
O papel do QA - Quality Analist (Analista de Qualidade) na construção de um software passa por todas as etapas do processo de desenvolvimento e serve para garantir que o projeto funcione da melhor maneira possível. O QA garante ainda a qualidade do projeto em si.
O primeiro software a ser executado foi construído na década de 1940 pelo húngaro John von Neumann, mas o primeiro de que se tem notícia é creditado à matemática inglesa Adda Lovelace. Ela é considerada a primeira programadora da história, e idealizou um algoritmo que realizava cálculos matemáticos na Máquina Analítica, cerca de um século antes do húngaro. Já é difícil ser mulher e ter voz no mercado de tecnologia no mundo de hoje, imagina propor algo assim em 1834?
Porém, foi através da criação do EDVAC (Electronic Discrete Variable Automatic Computer) por Von Neumann, primeiro computador compatível com programas armazenados em memória, que o conceito de software escrito em uma linguagem específica de programação executado por um microprocessador ou circuito integrado se solidificou.
Com o passar do tempo, o aumento da demanda por aplicações modernas fez com que máquinas como o EDVAC e seu precursor, ENIAC, que pesava cerca de 30 toneladas e ocupava muito espaço, fossem gradativamente substituídas por máquinas menores. Hoje já existem hardwares tão avançados que cabem na palma da mão. Seu smartphone, por exemplo.

A necessidade de implementar os processos de Qualidade no Softwares

Todo esse crescimento de tecnologias e produção de softwares em larga escala fez, na década de 1970, as empresas vivenciarem uma verdadeira bagunça com relação aos processos.
Nesse período se produzia projetos minimamente planejados com diversos problemas de construção, atrasos constantes nos cronogramas, estouro dos orçamentos e, por fim, entregavam-se produtos com muitos defeitos e que não atendiam aos requisitos dos usuários.
Esse período ficou conhecido como crise do software e marcou a grande necessidade de uma engenharia de processos robusta e das metodologias de desenvolvimento de projetos. Além disso, foi aí que surgiu um olhar mais voltado à qualidade nos produtos de software.
Pode-se dizer que a maior preocupação com custos e retrabalhos originada pela crise do software trouxe consigo uma nova profissão ao mercado de tecnologia da informação. Como também fez surgir novas metodologias de desenvolvimento chamadas tradicionais (exemplo, a metodologia de desenvolvimento em Cascata).
O mercado precisava de pessoas que, no mínimo, testassem o produto antes de entregá-lo ao usuário. Isso era necessário para mitigar alguns defeitos mais evidentes que acabavam escapando após o processo de desenvolvimento.
Em 2001, cientistas da computação e estudiosos da área, iniciaram um novo conceito de metodologia que traria a qualidade a todas as etapas da construção de um produto de software. A baixa qualidade de produto e processos no método tradicional de desenvolvimento não podia continuar. A partir daí, se iniciou a era do desenvolvimento ágil.

O papel do QA na tecnologia da informação

Com o aparecimento das metodologias ágeis - como Scrum, eXtreme Programming (XP), Crystal, Lean, dentre outras - a profissão de Quality Assurance (do inglês, garantia de qualidade) ganhou mais visibilidade e maior relevância. Antes os testes eram realizados somente quando solicitado, logo o processo de criação de um software passou a ter um profissional 1001 utilidades, onipresente e onisciente com foco em qualidade.
Quando se pensa em análise de qualidade, a primeira impressão é de que o trabalho executado seja de garantir que os requisitos do usuário sejam cumpridos e que a aplicação esteja em conformidade com o planejado. E sim, essa é uma das principais características do profissional que trabalha na qualidade, mas não a única.
O profissional de QA garante que os requisitos técnicos sejam cumpridos, mas também precisa pensar em outras partes do produto para garantir sua qualidade, como:
  • Se o usuário terá uma boa experiência;
  • Se o usuário vai poder navegar com segurança;
  • Se a aplicação atende em desempenho e usabilidade;
  • Se a aplicação pode ser executada em dispositivos e em sistemas operacionais distintos;
  • Garantir também outras características consideradas padrões e boas práticas para qualidade de produtos de software pela norma ISO/IEC 9126 (NBR 13596), como confiabilidade, manutenibilidade, recuperabilidade e tolerância a falhas, por exemplo.
Outro equívoco é achar que o papel do QA é garantir sozinho a qualidade de um software e que, se algo falhar, ele deve ser o culpado. Não é bem assim que funciona. Se dizem que “a união faz a força”, pode-se dizer que a união faz a qualidade também.
Todos os membros da equipe devem olhar para a qualidade como algo indispensável, desde o primeiro momento em que se pensa em criação ou manutenção de um produto de software.
Por exemplo, é dever do time de desenvolvimento pensar e aplicar técnicas em seus códigos que visem reforçar a segurança, desempenho e confiabilidade das aplicações. E isso, usando boas práticas e outras técnicas específicas e criando testes no seu próprio código, geralmente testes de unidade e integração.
No mesmo time podem existir pessoas focadas em garantir a qualidade da experiência do usuário, enquanto outras pensam nas regras de negócios mais eficientes que atendam às expectativas dos usuários. Mas com todo o time trabalhando em conjunto para que o projeto seja entregue com alta qualidade.
Mas então, onde o QA entra nisso mesmo? Em tudo.
O QA não só está presente em todas essas etapas, apoiando os times em suas funções com um olhar crítico, mas também planeja e executa seus próprios testes, faz testes estáticos onde verifica as documentações disponíveis para garantir que os desenvolvedores recebam as informações corretas e que não haja nenhuma duplicidade ou ambiguidade. Também faz testes dinâmicos, verificando entradas e saídas na aplicação, tudo isso utilizando níveis, técnicas e estratégias de testes.
É possível afirmar, com toda certeza, que o papel do QA é ser a liga que mantém o produto, sem ele a qualidade em alto nível é algo inalcançável e qualidade certamente é a tendência do momento. Somente com esse profissional é possível garantir a qualidade do produto e criar experiências memoráveis.
Para funcionar e conseguir ajudar as pessoas, a tecnologia precisa que todos os pontos do projeto, ou da aplicação consigam funcionar bem e com foco no usuário. E para isto acontecer é imprescindível o profissional de QA.
*Texto escrito com a colaboração de Camila Tavares. Software Quality Analyst na Laborit

Inscreva-se para a inovação

Receba as últimas notícias sobre inovação direto na sua caixa de e-mail.
Seus dados estão protegidos conosco. Conheça nossaPolítica de Privacidade
Feito por humanos comem SP, Brasil © 2021 Techpost, Techpost Logo e Laborit Ltda e Laborit logo são marcas registradas.
Olá! Leu até aqui? Você se preocupa com os mínimos detalhes, mesmo. A gente também. Por isso o time Techpost/Laborit está sempre trabalhando para fazer a plataforma digital de trabalho perfeita para você ;).
O Techpost, a Laborit e Lab são marcas proprietárias que operam o site https://techpost.com.br, onde você pode encontrar informações sobre nossos produtos e serviços e as últimas novidades do mundo da tecnologia. Estes Termos e Condições do Site descrevem os direitos e obrigações de um usuário ou visitante não registrado do site (“usuário” ou “você”) em relação ao uso do Site.
Ao acessar ou usar o Site de qualquer forma, incluindo como um visitante não registrado, você concorda em obedecer a estes Termos do Site e à nossa Política de Privacidade, que está disponível no Site.
Estes Termos do site se aplicam apenas ao seu uso do site e do conteúdo nele disponibilizado ou por meio dele, como um usuário ou visitante não registrado do. Se você usar ou acessar qualquer um de nossos serviços baseados na web de acesso restrito (ou seja, aqueles que exigem um login), a nossa plataforma, produtos, programa de referência ou outros serviços que fornecemos, o uso de tal espaço, serviços ou programa está sujeito aos termos e condições que você recebeu e aceitou quando se inscreveu nesse espaço, serviços ou programa.
De vez em quando, podemos fazer modificações, exclusões ou acréscimos ao Site ou a estes Termos. Seu uso continuado do Site após a publicação de quaisquer alterações aos Termos constitui aceitação dessas alterações.
Coletamos informações sobre seus dispositivos e sua localização, e seu uso de nossos serviços, incluindo por meio de cookies, pixels, web beacons, registros e outras tecnologias da Internet.
Você pode ler mais sobre como utilizamos as Informações Pessoais que são coletadas clicando no link conheça nossa Política de Privacidade.
Referências a “você” nesta Política, “você” significa qualquer pessoa que use nossos sites, aplicativos ou outros serviços. Se você é um funcionário ou candidato, a Política de Privacidade do Techpost e da Laborit para Dados Pessoais de um funcionário ou um Candidato, explica como usamos as Informações Pessoais no contexto de nossa relação empregatícia com você.
Se você é um funcionário ou candidato que usa nossos serviços, esta Política explica como coletamos, usamos e divulgamos suas Informações Pessoais no contexto de seu uso de nossos Serviços.