O IMPACTO DO QUALITY ASSURANCE DENTRO DE UMA EMPRESA: A IMPORTÂNCIA DOS TESTES DE SOFTWARE, PLANEJAMENTO, METODOLOGIA E AUTOMAÇÃO

THE IMPACT OF QUALITY ASSURANCE WITHIN A COMPANY: SOFTWARE TESTING, PLANNING, METHODOLOGY, AND AUTOMATION AS PILLARS OF QUALITY

REGISTRO DOI: 10.69849/revistaft/ni10202506302051


Carlos Henrique Pires Rocamora Santos
Bruno Baruffi Esteves


RESUMO

O Quality Assurance, ou QA, que é a área responsável por garantir a qualidade dentro de uma empresa, tem ganhado reconhecimento crescente no mercado. Este estudo explora o impacto do Quality Assurance dentro de uma empresa, com foco na importância dos testes de software, planejamento, metodologias e automação. O trabalho destaca como esses elementos contribuem para a qualidade e a eficiência dos processos empresariais. Utilizando uma abordagem qualitativa, com caráter analítico e descritivo, a pesquisa analisa casos onde foram adotadas  práticas de QA, investigando seus impactos na qualidade dos processos organizacionais. A abordagem combina dados concretos com insights contextuais, abordando temas como testes de software, planejamento estratégico, metodologias ágeis e automação de processos. Como parte do projeto prático deste trabalho, foi desenvolvida uma plataforma educacional voltada para o aprendizado de Quality Assurance, especialmente pensada para iniciantes na área. A plataforma tem como objetivo incentivar e apoiar pessoas que estão começando a estudar QA, oferecendo aprendizados sobre como criar “bug reports”, automação com cypress e dicas sobre QA. Essa iniciativa busca facilitar o acesso ao conhecimento, promovendo o desenvolvimento de novos profissionais e fortalecendo o papel do QA nas empresas. Os resultados da pesquisa evidenciaram que empresas que implementam práticas estruturadas de QA apresentam melhorias significativas na qualidade dos produtos finais, redução de custos com retrabalho e aumento da satisfação dos clientes. O objetivo é demonstrar como a implementação do QA pode transformar uma empresa, inserindo a qualidade como um valor central, além de incentivar empresas que ainda não adotaram essas práticas a considerarem sua implementação, revolucionando essa área tão importante para o sucesso organizacional.

Palavras Chave: QA, testes, planejamento, metodologia, automação. 

Abstract

Quality Assurance, or QA, the area responsible for ensuring quality within a company, has been gaining increasing recognition in the market. This study explores the impact of Quality Assurance within a company, focusing on the importance of software testing, planning, methodologies, and automation. The work highlights how these elements contribute to the quality and efficiency of business processes. Using a qualitative approach, with an analytical and descriptive character, the research analyzes cases where QA practices were adopted, investigating their impacts on the quality of organizational processes. The approach combines concrete data with contextual insights, addressing topics such as software testing, strategic planning, agile methodologies, and process automation. As part of the practical project of this work, an educational platform was developed aimed at learning Quality Assurance, especially designed for beginners in the area. The platform’s goal is to encourage and support people who are starting to study QA, offering learning about how to create bug reports, automation with Cypress, and QA tips. This initiative seeks to facilitate access to knowledge, promoting the development of new professionals and strengthening the role of QA in companies. The objective is to demonstrate how the implementation of QA can transform a company by embedding quality as a core value, as well as encouraging companies that have not yet adopted these practices to consider their implementation, revolutionizing this area so important for organizational success.

Keywords: QA, testing, planning, methodology, automation.

1. INTRODUÇÃO

1.1 O QUE É QUALITY ASSURANCE?  

Quality Assurance (QA) ou Garantia de Qualidade é um conceito que, embora estabelecido há décadas na indústria de manufatura, tem se tornado cada vez mais essencial no desenvolvimento de software moderno. Em um mercado extremamente competitivo, onde as falhas podem ter consequências graves para os negócios, a garantia de qualidade vem como um diferencial estratégico fundamental. Segundo Pressman (2011, p. 447), “a garantia da qualidade de software envolve o uso de técnicas e metodologias sistemáticas para assegurar que o produto de software atenda aos padrões de qualidade estabelecidos, refletindo uma adaptação dos princípios de qualidade da manufatura para o contexto da engenharia de software.”

O Quality Assurance vai muito além da simples correção de falhas ou do cumprimento de requisitos. Ele representa um compromisso genuíno com a excelência, cujo principal objetivo é entregar valor real ao usuário final. Um software de qualidade não se limita ao funcionamento correto: ele é intuitivo, eficiente, agradável de utilizar e capaz de resolver de maneira efetiva os problemas do usuário. Nesse contexto, o QA busca aliar precisão técnica a uma experiência humana excelente.

O objetivo do Quality Assurance é assegurar que os produtos de software atendam ou excedam as expectativas dos clientes, através de processos sistemáticos que monitorem e melhorem o ciclo de desenvolvimento. Segundo Pressman (2016, p. 384), “Quality Assurance consiste em um conjunto de atividades sistemáticas e planejadas implementadas dentro do sistema de qualidade para garantir que um projeto satisfaça os padrões de qualidade relevantes.”

Esse conceito se concentra em garantir que os processos sejam adequados e eficientes, prevenindo defeitos antes que ocorram, em vez de apenas detectá-los posteriormente. A abordagem de QA destaca a qualidade em cada etapa do ciclo de vida do desenvolvimento, desde os requisitos iniciais até a entrega final.

Na prática, os profissionais da área de QA não atuam apenas como “caçadores de bugs”, mas como verdadeiros guardiões da qualidade. Seu trabalho envolve compreender as necessidades do cliente, antecipar frustrações e garantir que todos os aspectos do sistema, desde a navegação até o desempenho estejam alinhados com os objetivos de usabilidade e confiabilidade. Como afirmam Gregory e Crispin (2015, p. 32), “Quality Assurance vai muito além de simplesmente encontrar bugs. É sobre ser o advogado do usuário dentro da organização e garantir que o produto final atenda ou exceda as expectativas.” Testes automatizados e metodologias ágeis são aliadas importantes, mas o ponto principal do QA está na capacidade de colocar as pessoas em primeiro lugar. 

Como afirmou Donabedian (1996, p. 404), “a convicção genuína de que o desempenho precisa ser melhorado é o primeiro passo indispensável no processo de garantia de qualidade”. Essa afirmação sintetiza o espírito QA: a busca constante pela melhoria, motivada não por obrigação, mas pela consciência de que o maior beneficiado será o usuário. 

A busca pela qualidade, entretanto, não é uma preocupação recente. Civilizações antigas como a Grécia e o Egito já adotavam padrões para garantir a qualidade de suas construções. Como observa Juran (2004, p. 17), “Nas construções do Antigo Egito, encontramos evidências de padrões rígidos e sistemas de medição que garantiam a qualidade e precisão monumental de suas obras. Esses primeiros sistemas de garantia de qualidade utilizavam conceitos que ainda hoje formam a base de nossos métodos modernos.” 

Durante a Idade Média, as guildas artesanais estabeleciam critérios rigorosos para que obras fossem reconhecidas como de qualidade. Wadsworth (2002, p. 43) destaca que “As guildas medievais representam um dos primeiros sistemas formais de garantia de qualidade, onde mestres artesãos definiam padrões rigorosos e supervisionavam o trabalho de seus aprendizes, implementando o que poderíamos considerar como as primeiras ‘inspeções de qualidade’ sistemáticas da história.” 

Com a Revolução Industrial, surgiram práticas mais sistematizadas, como a Administração Científica de Frederick Taylor e, posteriormente, o ciclo PDSA de Walter Shewhart, que introduziu a noção de melhoria contínua. Montgomery (2019, p. 27) explica que “Os princípios da Administração Científica de Taylor, embora focados inicialmente em eficiência, lançaram as bases para o controle estatístico de qualidade posteriormente desenvolvido por Shewhart. Este último, ao introduzir o ciclo PDSA, estabeleceu que a qualidade não era apenas um estado final, mas um processo contínuo de aprendizagem e melhoria.” 

Após a Segunda Guerra Mundial, W. Edwards Deming desempenhou papel fundamental na transformação industrial do Japão, priorizando qualidade em detrimento de custo. Walton (1988, p. 96) destaca que “Deming revolucionou o pensamento sobre qualidade ao ensinar aos japoneses que ‘a qualidade é determinada pelos clientes, não pelos engenheiros nem pelo marketing ou pela gerência geral’. Sua filosofia de melhoria contínua e foco na satisfação do cliente transformou a indústria japonesa e, eventualmente, encontrou eco nos princípios ágeis de desenvolvimento de software, priorizando a entrega de valor ao usuário.” Seus métodos influenciaram diretamente os princípios do desenvolvimento ágil.

Figura 1

Fonte: Gregory Mooney (2013)

A qualidade sempre foi algo que a sociedade buscou desde a antiga civilização humana. Ela pode ser encontrada desde as especificações para construções na Grécia Antiga até os egípcios construindo as pirâmides. (MOONEY, 2013, p. 1).

Um exemplo destacável dessa transição foi o projeto da IBM para o sistema de comando do submarino Trident, que utilizou ciclos curtos de desenvolvimento e baixa documentação, caracterizando uma das primeiras aplicações práticas da abordagem ágil. Conforme Larman (2003, p. 50, tradução nossa1), “a primeira aplicação importante da IBM FSD com desenvolvimento incremental e iterativo foi o sistema de comando e controle do primeiro submarino Trident dos EUA […] sendo esse modelo um fator chave para o sucesso do projeto”. Em contrapartida, o modelo Cascata, também consolidado historicamente, representa uma abordagem mais tradicional, com foco em planejamento detalhado e documentação extensa. Conforme Pressman , esse modelo é “um paradigma clássico da engenharia de software que enfatiza um enfoque sistemático e sequencial” (2016, p. 40), baseando-se em fases bem definidas e documentação rigorosa. Ambos os modelos refletem a evolução contínua do Quality Assurance, que hoje se apresenta como uma área estratégica no desenvolvimento de software.

1.2 A IMPORTÂNCIA DO QUALITY ASSURANCE 

O Quality Assurance tem se mostrado cada vez mais crucial para as empresas de tecnologia como uma ferramenta estratégica para garantir a entrega de produtos de alta qualidade e manter a disputa no mercado. As estratégias de QA podem transformar ambientes de desenvolvimento tradicionais em processos mais eficientes, onde as equipes não apenas produzem código, mas também garantem que ele atenda aos padrões de qualidade estabelecidos de forma resistente e calculável.  

A garantia de qualidade de software (SQA) é um conjunto de atividades que define e avalia a adequação dos processos de software para fornecer produtos de qualidade. […] A implementação de SQA em uma organização está diretamente relacionada à sua maturidade, influenciando significativamente o desempenho de negócios e as vantagens competitivas no mercado(GAROUSI, V.; MÄNTYLÄ, M. V., 2016, p. 922).

De acordo com Boehm, “o custo para corrigir um defeito descoberto em produção pode ser até 100 vezes maior do que se fosse identificado na fase de requisitos.”(1981,p. 403).Um dos principais problemas enfrentados no desenvolvimento de software tradicional é o alto custo relacionado à correção de defeitos descobertos tardiamente no ciclo de vida. O custo de correção de bugs aumenta bastante à medida que avançamos no ciclo de desenvolvimento. Quando os processos de qualidade não são implementados desde o início, os custos com retrabalho e correções podem comprometer significativamente o orçamento e os prazos dos projetos. Sobre esse fato, Boehm (1981, p.754) destaca:

“Se eu tivesse de reduzir todos os princípios de economia de software a uma única frase, diria isto: encontre e corrija os problemas o mais cedo possível no ciclo de vida do software.”

O Quality Assurance pode ajudar a resolver parte desse problema ao criar um ambiente onde os defeitos são identificados e corrigidos precocemente. Ao incorporar práticas de garantia de qualidade ao longo de todo o ciclo de desenvolvimento, o QA consegue reduzir significativamente os custos associados a falhas, melhorando a eficiência do processo como um todo, ao mesmo tempo que utiliza metodologias ágeis como base para o desenvolvimento contínuo e integrado. Além da redução de custos, outro benefício importante do QA nas empresas é a melhoria na satisfação do cliente. Como observa Tayrane (2024, p. 1), “Com os clientes cada vez menos tolerantes com erros e mais rígidos na escolha das soluções que querem usar no dia a dia, o QA contribui para o sucesso de um software ao certificar sua funcionalidade livre de erros. Fazer todos os testes necessários é mais do que uma maneira de prevenir erros, é uma forma de proteger a imagem da marca. Com isso, a satisfação do público com o produto que está sendo entregue aumenta e, dessa forma, o relacionamento com a empresa melhora.” Em ambientes com processos de QA bem estabelecidos, essa relação fica evidente através da entrega de produtos mais confiáveis e com menos defeitos, o que leva diretamente a uma experiência de usuário aprimorada.

2. DESENVOLVIMENTO

 Os profissionais de desenvolvimento de software enfrentam um grande desafio na entrega de produtos de qualidade, devido, em parte, à crescente complexidade dos sistemas e à pressão constante por entregas mais rápidas. Como destaca Software(2024, p.1), “A complexidade dos projetos de software é um dos principais fatores que influenciam seu sucesso ou fracasso. À medida que os sistemas se tornam mais sofisticados, a quantidade de interações entre diferentes componentes aumenta exponencialmente, tornando o gerenciamento do projeto uma tarefa desafiadora. “

Dito isso, os processos de QA permitem que as organizações implementem práticas de garantia de qualidade de forma estruturada e mensurável. Por exemplo, a implementação de testes automatizados, onde o sistema é constantemente verificado contra requisitos predefinidos. Isso torna o processo de desenvolvimento mais confiável, reduzindo a probabilidade de defeitos chegarem até o usuário final. Além disso, o feedback imediato proporcionado pelas ferramentas de automação ajuda os desenvolvedores a entender rapidamente o impacto de suas alterações, permitindo correções imediatas e um desenvolvimento mais eficiente.

O Quality Assurance no desenvolvimento de software não só torna o processo mais estruturado, mas também ajuda a desenvolver habilidades essenciais na equipe, como: atenção aos detalhes, pensamento crítico e visão plena do sistema. Ao transformar conceitos teóricos de qualidade em práticas concretas e mensuráveis, o QA proporciona um ambiente onde as equipes podem experimentar, aprender e melhorar de maneira contínua e sistemática

2.1 CASOS DE IMPACTO DO QUALITY ASSURANCE NAS EMPRESAS 

2.1.1 C&A: Automação de Testes e Reconhecimento Internacional

A varejista C&A, em parceria com a Prime Control, implementou uma estratégia robusta de automação de testes. Ao longo de dois anos, foram automatizados mais de 7.300 casos de teste, permitindo que um conjunto de 1.150 cenários fosse executado em apenas 52 minutos, uma tarefa que levaria cerca de quatro meses se realizada manualmente. Essa automação resultou em uma redução de 100% no esforço manual, liberando a equipe para atividades mais estratégicas e aumentando a produtividade em mais de 80%. Além disso, a C&A foi reconhecida entre as Top 20 Soluções de Inovação no Software Testing Conference (STC) 2022, destacando-se entre 720 propostas.

“A C&A, uma das maiores varejistas de moda do País, investiu em automação para melhorar o dia a dia de seus especialistas em qualidade (Qas). Usando tecnologia da Prime Control, a rede de lojas conseguiu uma redução de 100% no esforço manual, liberando a equipe para tarefas mais estratégicas e aumentando a produtividade em mais de 80%.” (MONTEIRO , 2024, p.1).

2.1.2 Ericsson: Automação na Atribuição de Bugs com Machine Learning

A Ericsson enfrentava desafios no gerenciamento do grande volume de relatórios de bugs em seus projetos de desenvolvimento. Para otimizar esse processo, a empresa desenvolveu o TRR (Trouble Report Recommender), um sistema baseado em machine learning para atribuição automática de bugs. Após a implementação, o TRR passou a atribuir automaticamente cerca de 30% dos relatórios de bugs com uma precisão de 75%. Isso resultou em uma redução de aproximadamente 21% no tempo de resolução desses bugs, além de economizar horas de trabalho de engenheiros experientes. A adoção do TRR também promoveu melhorias nos processos internos, aumento na comunicação entre equipes e maior satisfação no trabalho.

“Em média, a TRR atribui automaticamente 30% dos relatórios de bugs recebidos com uma precisão de 75%. Os TRs roteados automaticamente são resolvidos cerca de 21% mais rápido na Ericsson, e a TRR economizou muitas horas de trabalho de engenheiros experientes.” (Borg, M., Jonsson, L., Engström, E. et al, 2024, p.1)

2.1.3 Caso Google: QA Contínuo com Canary Releases

O Google, uma das maiores empresas de tecnologia do mundo, adota uma abordagem altamente eficaz de Quality Assurance (QA), focada na integração contínua de código e na liberação controlada de funcionalidades por meio dos chamados Canary Releases. Essa estratégia permite que novas versões de software sejam disponibilizadas gradualmente para uma pequena porcentagem de usuários antes do lançamento completo. Essa abordagem reduz significativamente o risco de bugs em produção, já que qualquer problema detectado nesse grupo inicial de usuários pode ser rapidamente corrigido antes de atingir toda a base. Além disso, o Google aplica testes automatizados extensivos em cada etapa do ciclo de desenvolvimento, incluindo testes unitários, de integração, regressão e testes de performance em ambientes espelhados (mirrored environments) para garantir a estabilidade e qualidade do software.

O impacto dessa prática de QA contínuo é expressivo. O Google consegue realizar atualizações diárias de serviços críticos, como o Gmail, Google Maps e o próprio buscador, com altíssima confiabilidade e disponibilidade, sem afetar negativamente a experiência dos usuários. Essa confiança operacional só é possível graças a um QA bem estruturado, automatizado, mas também supervisionado por engenheiros de qualidade e observabilidade.

“No Canary Release, uma nova versão do software é lançada inicialmente para um pequeno grupo de usuários – os “canários digitais”. Esses usuários testam a nova versão em um ambiente real, e se tudo correr bem, a atualização é gradualmente expandida para um público maior. Essa abordagem permite a identificação precoce de problemas e a coleta de feedback valioso antes do lançamento completo. O Canary Release é como um sinal de alerta, permitindo que ajustes sejam feitos antes que problemas afetem um grande número de usuários.”(MANDOMBE, 2023, p.1)

2.2 A IMPORTÂNCIA DOS TESTES DE SOFTWARE, PLANEJAMENTO, METODOLOGIA E AUTOMAÇÃO  

2.2.1 Testes de Software 

Os testes de software constituem a base fundamental do Quality Assurance. Eles são responsáveis por verificar se o software atende aos requisitos funcionais e não funcionais estabelecidos, além de identificar defeitos antes que o produto chegue ao usuário final. 

Diferentes tipos de testes compõem uma estratégia abrangente de QA:

– Testes Exploratórios: Baseados em experiência do QA, sem scripts pré-definidos.

– Testes de Integração: Verificam a interação entre diferentes componentes do sistema, garantindo que funcionem corretamente em conjunto.

– Testes de Regressão: Garantem que novas alterações não quebrem funcionalidades existentes.

– Testes de Aceitação: Realizados para determinar se o sistema satisfaz os critérios de aceitação e se está pronto para ser entregue.

– Testes de Desempenho: Avaliam o comportamento do sistema sob diferentes condições de carga, verificando sua resposta, estabilidade e escalabilidade.

– Teste Smoke: Um teste rápido e superficial que verifica se as funcionalidades críticas do sistema estão operacionais após uma nova versão ou deploy.

“O teste de software não se limita apenas à identificação de falhas, mas também envolve a validação de requisitos, a verificação de desempenho e a avaliação da usabilidade.” (Software, 2024, p.1). Além disso, testes bem planejados aumentam a confiança da equipe durante refatorações e implementações de novas funcionalidades.

2.2.2 Planejamento da Qualidade

O planejamento da qualidade é essencial para definir os objetivos, métricas e procedimentos que serão utilizados para garantir a qualidade do software. Isto inclui:

– Definição de Métricas: Estabelecimento de indicadores mensuráveis para avaliar a qualidade, como número de defeitos, cobertura de testes e tempo médio entre falhas.

– Plano de Qualidade: Documento que define as atividades, responsabilidades e cronograma relacionados à garantia de qualidade.

– Análise de Riscos: Identificação proativa de potenciais problemas e desenvolvimento de estratégias para mitigá-los.

– Definição de Padrões: Estabelecimento de padrões de código, documentação e processos a serem seguidos pela equipe.

O planejamento adequado proporciona uma base sólida para todas as atividades de QA, permitindo que a equipe trabalhe de forma coordenada e eficiente. “O planejamento da qualidade é essencial para garantir a satisfação dos clientes e a competitividade de uma empresa no mercado.” (Cirius Quality, 2023, p.1)

2.2.3 Metodologias de Desenvolvimento

As metodologias de desenvolvimento definem como o processo de criação de software será estruturado e gerenciado. A escolha meticulosa de métodos e ferramentas é fundamental na garantia de qualidade. Essas escolhas devem estar alinhadas à natureza e complexidade dos produtos ou serviços oferecidos pela empresa. No contexto de QA, as metodologias mais eficazes são:

– Metodologias Ágeis: Como Scrum e Kanban, que enfatizam a entrega iterativa, colaboração constante e adaptação às mudanças.

– Desenvolvimento Orientado a Testes (TDD): Abordagem que prioriza a escrita de testes antes da implementação do código.

– Integração Contínua (CI): Prática que envolve a integração frequente do código à base principal, com verificação automática da qualidade.

– Entrega Contínua (CD): Extensão da CI que permite a entrega rápida e confiável de novas versões para os usuários.

“A metodologia ágil trouxe transformações significativas para o papel do QA no ciclo de desenvolvimento de software.”  (Time da Redação, 2024, p.1).

2.2.4 Automação de Testes

A automação de testes constitui um componente estratégico do Quality Assurance e tem se tornado cada vez mais essencial em ambientes de desenvolvimento modernos. Este elemento inclui:

– Ferramentas de Automação: Seleção e implementação de ferramentas adequadas para automatizar diferentes tipos de testes.

– Infraestrutura de Testes: Criação de ambientes de teste que simulam condições reais de produção.

– Pipelines de CI/CD: Integração de testes automatizados aos pipelines de integração e entrega contínua.

– Monitoramento e Análise: Utilização de ferramentas para monitorar o desempenho dos testes e analisar os resultados.

“A automação de testes é uma ferramenta poderosa na garantia de qualidade, transformando desafios em oportunidades de melhoria contínua. Ela não apenas acelera os ciclos de desenvolvimento e reduz custos, mas também melhora a qualidade do produto final. À medida que a tecnologia continua a evoluir, a automação de testes se tornará ainda mais crucial, e estar preparado para adotá-la de forma eficaz será um diferencial importante para qualquer equipe de QA.” (ALBUQUERQUE , 2024, p.1).

2.3 Ferramentas e Tecnologias para Quality Assurance

Diversas ferramentas e tecnologias estão disponíveis para Quality Assurance:

Ferramentas de Gerenciamento de Testes:

– Jira: Para rastreamento de defeitos e gerenciamento de projetos.

– TestRail: Para planejamento de testes, execução e relatórios.

– qTest: Plataforma completa para gerenciamento do ciclo de vida de testes.

Ferramentas de Automação de Testes:

– Selenium: Para automação de testes de interface do usuário (UI) em aplicações web.

– Cypress: Ferramenta moderna para automação de testes end-to-end.

– Postman/RestAssured: Para testes de API.

– JMeter: Para testes de desempenho.

Ferramentas de Integração Contínua:

– Jenkins: Servidor de automação de código aberto.

– GitLab CI/CD: Solução integrada de CI/CD.

– CircleCI: Plataforma de CI/CD baseada em nuvem.

2.4 MATERIAIS E MÉTODOS

Este trabalho foi desenvolvido por meio de uma abordagem qualitativa, com uma metodologia descritiva e analítica, com o objetivo de compreender o impacto do Quality Assurance (QA) no contexto empresarial. A etapa descritiva buscou apresentar os principais conceitos e fundamentos do QA, incluindo práticas como testes de software, planejamento estratégico, metodologias ágeis e automação de processos. Para isso, foram utilizados materiais bibliográficos, como artigos científicos, livros técnicos e publicações especializadas em Engenharia de Software e Garantia da Qualidade. Já a etapa analítica consistiu na investigação de casos reais e estudos de empresas que adotaram práticas de QA, com o intuito de examinar seus impactos na qualidade dos processos organizacionais. Essa análise permitiu compreender como cada elemento do QA contribui para a eficiência, confiabilidade e melhoria contínua dentro das organizações.

Como parte prática da pesquisa, foi desenvolvida uma plataforma educacional voltada ao aprendizado de Quality Assurance, especialmente focada em iniciantes na área. Essa plataforma contempla conteúdos sobre criação de bug reports, automação de testes com Cypress e boas práticas da área, servindo como uma ferramenta complementar à análise teórica, com aplicação prática dos conceitos estudados.

TECNOLOGIAS UTILIZADAS:

HTML (HyperText Markup Language) – Linguagem de marcação utilizada para estruturar o conteúdo da aplicação web. 

CSS3 (Cascading Style Sheets) – Folhas de estilo em cascata usadas para definir a aparência visual da plataforma.

JavaScript (JS) – Linguagem de programação responsável pela interatividade da aplicação. Com JavaScript, foi possível manipular dinamicamente elementos da interface e criar uma experiência de usuário mais fluida.

Node.js – Ambiente de execução do JavaScript no lado do servidor. Foi utilizado para lidar com funcionalidades de backend, como rotas, requisições HTTP e integração com o banco de dados.

SQLite3 – Banco de dados relacional leve e embutido. Ideal para aplicações de pequeno porte como esta plataforma educacional, por não exigir um servidor de banco de dados separado e possuir fácil integração com Node.js.

Cypress – Ferramenta de automação de testes end-to-end que permite simular interações reais do usuário na aplicação. Foi utilizada como recurso educacional para ensinar como escrever e executar testes automatizados.

2.5 DESENVOLVIMENTO DO APLICATIVO

A Plataforma Educacional de QA é uma aplicação web desenvolvida para ensinar os fundamentos do Quality Assurance de forma prática e interativa. Seu objetivo principal é simular um ambiente realista de gestão de bugs e testes automatizados, permitindo que estudantes e iniciantes em QA vivenciem processos essenciais como reportar falhas, priorizar problemas e acompanhar seu ciclo de vida.

A plataforma oferece quatro módulos principais:

1. Reportar Bugs: Um formulário intuitivo com campos obrigatórios (título, descrição, passos para reprodução) e tooltips explicativos, que orientam o usuário na criação de relatórios eficientes.

2. Listagem de Bugs: Visualização filtrada por prioridade (alta, média, baixa) e status, simulando um sistema de triagem.

3. Testes Automatizados: Integração com Cypress para demonstrar testes end-to-end (E2E), incluindo simulações de sucesso e falha com feedback visual

4.Boas Práticas: Guia de boas práticas para testes manuais e automatizados, reforçando conceitos teóricos.

2.5.1 REQUISITOS FUNCIONAIS E NÃO FUNCIONAIS

Requisitos funcionais definem o que o sistema faz (ex: cadastrar bugs, filtrar relatórios). Requisitos não funcionais especificam como deve funcionar (ex: rápido, seguro, responsivo). Os funcionais são ações visíveis (features), enquanto os não funcionais são regras de qualidade (desempenho, usabilidade). Juntos, garantem que a plataforma atenda suas funções com eficiência.

Quadro 01 – Requisitos Funcionais

RF-01    Permitir criação de relatórios de bugs com campos obrigatórios (título, descrição, passos para reprodução, prioridade)Alta
RF-02    Exibir lista de bugs com filtros por prioridade (alta/média/baixa) e status (aberto/em progresso/corrigido)Alta
RF-03    Oferecer tooltips explicativos nos campos do formulárioMédia
RF-04    Permitir exclusão de bugs com confirmação interativaAlta
RF-05    Incluir simulação de testes automatizados (Cypress) com demonstração de cenáriosAlta
RF-06    Disponibilizar página educativa com boas práticas de QAMédia
Fonte: Autoral(2025)

Quadro 02 – Requisitos Não Funcionais

RF-01Funcionar em dispositivos desktop e mobileUsabilidade
RF-02Processar exclusões de bugs em <2 segundosPerformance
RF-03Ser desenvolvido em Node.js + EJS com SQLiteTecnologia
RF-04Exibir confirmações para ações críticasSegurança
RF-05Executar testes automatizados em <5 segundosPerformance
RF-06Ser compatível com Chrome, Firefox e EdgeCompatibilidade
Fonte: Autoral(2025)

2.5.2 CUSTO DO PRODUTO 

A Plataforma Educacional de QA foi desenvolvida com tecnologias de código aberto e baixo custo. O investimento concentra-se principalmente em:

Desenvolvimento (R$1.500,00): Valor referente à mão de obra para programação, design e testes. 100 horas de trabalho (programação, design e testes) × R$15,00/hora (média para freelancers qualificados em plataformas como 99Freelas ou GetNinjas).

Hospedagem – HostGator Plano Start (R$263,88/ano): Custo anual para armazenamento e disponibilidade da plataforma.

Domínio (R$40,00/ano): Valor padrão para registro de domínio .com.br no Brasil (via Registro.br).

Manutenção (R$300,00): Custo estimado para atualizações e suporte caso seja necessário. 

Quadro 03 – Valores

DesenvolvimentoR$1.500,00
Hospedagem (Hostgator Plano Start)R$263,88 (ano)
DomínioR$40,00 (ano)
ManutençãoR$300,00
Fonte: Autoral(2025)

2.6 APLICATIVO

2.6.1 TELA INICIAL

A tela inicial da Plataforma Educacional de QA apresenta os principais conceitos de Quality Assurance, destacando três funcionalidades essenciais: relatórios de bugs, testes automatizados e boas práticas. 

Figura 2 – Menus da Plataforma Educacional de QA

Fonte: Autoral(2025)

2.6.2 TELA DE REPORTAR BUG

A tela de reportar bug é um formulário interativo projetado para ensinar a criação de relatórios de bugs completos. Contém campos obrigatórios como título, descrição detalhada, passos para reprodução e nível de prioridade, acompanhados de tooltips explicativos que orientam o usuário sobre cada campo.  

Figura 3 – Passo a passo para reportar um bug

Fonte: Autoral(2025)

2.6.3 TELA DE TESTES AUTOMATIZADOS COM CYPRESS  

A tela de testes automatizados oferece uma demonstração interativa de como funcionam os testes de software na prática. Ela apresenta exemplos reais de testes E2E utilizando Cypress, mostrando tanto cenários de sucesso quanto de falha. 

Figura 4 – Demonstração de Testes Automatizados

Fonte: Autoral(2025)

2.6.4 TELA DE BOAS PRÁTICAS DE QUALITY ASSURANCE

A tela de Boas Práticas de Quality Assurance reúne um guia completo e organizado com as técnicas essenciais para testes manuais e automatizados. Apresenta dicas práticas sobre como escrever relatórios de bugs eficientes, priorizar problemas e planejar casos de teste, utilizando exemplos claros e linguagem acessível. 

Figura 5 – Dicas sobre Quality Assurance

Fonte: Autoral(2025)

2.6.5 TELA DE LISTA DE BUGS REPORTADOS

A tela de Lista de Bugs oferece uma visão organizada e prática de todos os problemas reportados na plataforma, apresentando-os em cards individuais com informações essenciais como título, prioridade (alta/média/baixa), status (aberto/em progresso/corrigido) e data de criação.

Figura 6 – Lista dos bugs reportados

Fonte: Autoral(2025)

3. RESULTADOS ESPERADOS

Este estudo visa demonstrar como o Quality Assurance pode ser uma abordagem eficaz para melhorar a qualidade do software e aumentar a eficiência das equipes de desenvolvimento. Com base em modelos teóricos e estudos prévios sobre QA, espera-se que a implementação dos quatro componentes fundamentais tenha os seguintes impactos:

Redução de Defeitos em Produção: O QA tem o potencial de diminuir significativamente o número de defeitos que chegam ao ambiente de produção. Ao incorporar testes abrangentes e automação, espera-se que os defeitos sejam identificados e corrigidos precocemente no ciclo de desenvolvimento, o que pode resultar em uma redução de até 80% nos bugs em produção.

Aumento da Eficiência das Equipes: A implementação de processos de QA estruturados pode levar a uma melhoria significativa na eficiência das equipes de desenvolvimento. A integração de testes automatizados e práticas de integração contínua pode reduzir o tempo gasto em tarefas repetitivas, permitindo que os desenvolvedores se concentrem em atividades de maior valor agregado.

Melhoria na Experiência do Cliente: Ao entregar produtos com menos defeitos e maior confiabilidade, espera-se que a satisfação do cliente aumente consideravelmente. A redução de problemas em produção pode levar a uma diminuição nas reclamações de clientes e a um aumento na taxa de retenção, resultando em benefícios financeiros tangíveis para a organização.

Além disso, espera-se que este estudo contribua para o debate sobre a importância do Quality Assurance no desenvolvimento de software, reforçando seu potencial como uma estratégia fundamental para aumentar a competitividade das organizações e melhorar a qualidade geral dos produtos de software. A pesquisa busca confirmar que, ao investir em QA de forma estruturada, as empresas podem obter retornos significativos, tanto em termos de qualidade quanto em termos financeiros.

4. CONSIDERAÇÕES FINAIS

Este trabalho teve como objetivo destacar a importância do Quality Assurance no desenvolvimento de software, enfocando os quatro componentes fundamentais: testes de software, planejamento, metodologia e automação. Com o avanço da tecnologia e a crescente complexidade dos sistemas, práticas robustas de QA têm se tornado cada vez mais essenciais para garantir a entrega de produtos de alta qualidade e manter a competitividade no mercado.

Em um cenário onde os custos de falhas são cada vez mais altos e a expectativa dos usuários continua a aumentar, o QA se apresenta como uma solução estratégica, capaz de reduzir riscos, aumentar a eficiência e proporcionar uma experiência superior aos clientes. Os quatro componentes abordados neste estudo oferecem um framework abrangente que pode ser adaptado a diferentes contextos organizacionais, permitindo que empresas de todos os tamanhos implementem práticas de qualidade efetivas.

Em conclusão, este estudo confirma o potencial transformador do Quality Assurance no desenvolvimento de software. Ao investir nos quatro componentes do QA de forma estruturada e integrada, as organizações podem não apenas melhorar a qualidade de seus produtos, mas também obter benefícios financeiros significativos. Quando aplicada de maneira estratégica e consistente, a abordagem de QA se posiciona como uma aliada poderosa na busca pela excelência e inovação, oferecendo um caminho claro para o desenvolvimento de software mais confiável, eficiente e alinhado às necessidades dos usuários.


1“The first major documented IBM FSD application of IID […] was the command and control system for the first US Trident submarine […] a key success factor.”

2“Software quality assurance (SQA) is a set of activities that defines and assesses the adequacy of software processes to provide quality products. […] The implementation of SQA in an organization is directly related to its maturity, significantly influencing business performance and competitive advantages in the market.” 

3“Finding and fixing a software problem after delivery is often 100 times more expensive than finding and fixing it during the requirements and early design phases.”

4“If I had to summarize all the principles of software economics in one sentence, it would be: Find and fix problems as early as possible in the software lifecycle.”

5. REFERÊNCIAS BIBLIOGRÁFICAS

ALBUQUERQUE, G. C. de. A Importância da Automação de Testes em QA: Transformando Desafios em Oportunidade. LinkedIn, 2024. Disponível em: https://www.linkedin.com/pulse/import%C3%A2ncia-da-automa%C3%A7%C3%A3ode-testes-em-qa-desafios-geferton-dcpsc. Acesso em: 6 abr. 2025.

BOEHM, B. W. Software Engineering Economics. Englewood Cliffs, NJ: Prentice-Hall, 1981. Disponível em: https://archive.org/details/softwareengineer0000boeh. Acesso em: 6 abr. 2025.

BORG, M.; JONSSON, L.; ENGSTRÖM, E. et al. Adotando a atribuição automatizada de bugs na prática — um estudo de caso longitudinal na Ericsson. Empirical Software Engineering, v. 29, n. 126, 2024. Disponível em: https://doi.org/10.1007/s10664-024-10507-y. Acesso em: 6 abr. 2025.

CIRIUSQUALITY. O que é: Planejamento da Qualidade. 2023. Disponível em: https://ciriusquality.com.br/glossario/o-que-e-planejamento-da-qualidade/. Acesso em: 10 abr. 2025.

DONABEDIAN, A. The effectiveness of quality assurance. International Journal for Quality in Health Care, [S.l.], v. 8, n. 4, p. 401-407, 1996. Disponível em: https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=1524ecab479542fc 201c7fc6c150afd8f0a88a5b. Acesso em: 15 abr. 2025.

GAROUSI, V.; MÄNTYLÄ, M. V. When and what to automate in software testing? A multi-vocal literature review. Information and Software Technology, v. 76, p. 92-117, 2016. Disponível em: https://doi.org/10.1016/j.infsof.2016.04.015. Acesso em: 15 abr. 2025.

GREGORY, J.; CRISPIN, L. More Agile Testing: Learning Journeys for the Whole Team. Boston: Addison-Wesley Professional, 2015. Disponível em: https://www.informit.com/store/more-agile-testing-learning-journeys-for-the-whole-978 0321967053. Acesso em: 20 abr. 2025.

JURAN, J. M. Architect of Quality: The Autobiography of Dr. Joseph M. Juran. New York: McGraw-Hill Education, 2004. Disponível em: https://archive.org/details/architectofquali0000jura. Acesso em: 20 abr. 2025.

LARMAN, C.; VODDE, B. Iterative and Incremental Development: A Brief History. [S.l.: s.n.], 2003. Disponível em: https://www.craiglarman.com/wiki/downloads/misc/history-of-iterative-larman-and-bas ili-ieee-computer.pdf .Acesso em: 21 abr. 2025.

MANDOMBE, J. O que é o Canary Release? E qual a diferença com Blue-Green Deployment? Uma Estratégia Inteligente de Lançamento de Software! LinkedIn, 2023. Disponível em: https://www.linkedin.com/pulse/o-que-%C3%A9-canary-release-e-qual-diferen%C3% A7a-com-uma-de-jonathan-mandombe. Acesso em: 4 maio 2025.

MONTEIRO, J. C&A automatiza processos de qualidade e reduz todo o esforço manual. IP News, 2024. Disponível em: https://ipnews.com.br/ca-automatiza-processos-de-qualidade-e-reduz-todo-o-esforco -manual/. Acesso em: 4 maio 2025.

MONTGOMERY, D. C. Introduction to Statistical Quality Control. 8. ed. Hoboken: Wiley, 2019. Disponível em: https://www.wiley.com/en-us/Introduction+to+Statistical+Quality+Control%2C+8th+Ed ition-p-9781119399308. Acesso em: 6 maio 2025.

MOONEY, G. The History of Quality Assurance. SmartBear, 26 mar. 2013. Disponível em: https://smartbear.com/blog/the-history-of-quality-assurance/. Acesso em: 7 maio 2025.

PRESSMAN, R. S. Engenharia de Software: uma abordagem profissional. 7. ed. São Paulo: McGraw-Hill, 2011. Disponível em: https://idoc.pub/documents/engenharia-de-software-uma-abordagem-profissional-7-e diao-roger-s-pressmanpdf-34m7yz00k846. Acesso em: 10 maio 2025.

PRESSMAN, R. S. Engenharia de Software: uma abordagem profissional. 8. ed. Porto Alegre: AMGH, 2016. Disponível em: https://analisederequisitos.com.br/wp-content/uploads/2023/06/pressman-engenharia -de-software-8a-edicao.pdf. Acesso em: 10 maio 2025.

SOFTWARE. O que é teste de software e por que ele é importante? ProgramaE, 2024. Disponível em: https://programae.org.br/software/o-que-e-teste-de-software-e-por-que-ele-e-importa nte/. Acesso em: 10 maio 2025.

SOFTWARE. Quais são os principais desafios enfrentados por engenheiros de software? ProgramaE, 2024. Disponível em: https://programae.org.br/software/quais-sao-os-principais-desafios-enfrentados-por-e ngenheiros-de-software/. Acesso em: 10 maio 2025.

TAYRANE. QA (Quality Assurance): conceito, importância e como aplicar no desenvolvimento de software? Blog Ploomes, 1 jul. 2024. Disponível em: https://blog.ploomes.com/qa-quality-assurance/. Acesso em: 12 maio 2025.

TIME DA REDAÇÃO. O papel do QA (Quality Assurance) no ciclo de desenvolvimento de software. TSC Informática, 2024. Disponível em: https://tscinformatica.com.br/2024/08/o-papel-do-qa-quality-assurance-no-ciclo-de-de senvolvimento-de-software/. Acesso em: 12 maio 2025.

WADSWORTH, H. M. Modern Methods for Quality Control and Improvement. 2. ed. Hoboken: Wiley, 2002. Disponível em: https://www.wiley.com/en-us/Modern+Methods+For+Quality+Control+and+Improvem ent%2C+2nd+Edition-p-9780471299738. Acesso em: 12 maio 2025.

WALTON, M. The Deming Management Method. New York: Perigee Books, 1988. Disponível em: https://books.google.com.br/books?id=4tPlxq76ssYC&printsec=frontcover&hl=pt-BR &source=gbs_ge_summary_r&cad=0#v=onepage&q&f=false. Acesso em: 15 maio 2025.


Faculdade de Tecnologia de São Vicente (FATEF)
Bacharelado em Sistemas de Informação
São Vicente – S.P. – Brasil