Análise de qualidade de software do Mozilla Firefox com foco em Eficiência e Portabilidade.
View the Project on GitHub FCTE-Qualidade-de-Software-1/2025-2_T02_JEAN-SAMMET
O Mozilla Firefox é um navegador web de código aberto, multiplataforma, desenvolvido e mantido pela Mozilla Foundation. É amplamente utilizado em desktops e dispositivos móveis, sendo uma peça fundamental da infraestrutura digital global.
A escolha do Firefox para esta avaliação se justifica por três pilares centrais:
Do ponto de vista técnico, a arquitetura moderna do Firefox é baseada em um modelo multi-processo, que isola a interface do navegador dos conteúdos web.[3] Essa separação, que utiliza componentes como o motor de renderização Gecko e o motor JavaScript SpiderMonkey, é projetada para melhorar a estabilidade e a segurança, mas introduz um trade-off com o consumo de recursos.[4]
Os usuários do navegador, equipe interna do firefox e a comunidade open source são as partes interessadas principais, pois influenciam diretamente no desenvolvimento e operação do produto, influenciando suas funcionalidades e qualidade. Já as instituições e parceiros comerciais influenciam de forma mais indireta, afetando decisões estratégicas, mas não o funcionamento em si do produto.
O Firefox é um navegador de código aberto criado pela Mozilla Foundation, capaz de ser usado em diversas plataformas, como Windows, Linux e macOS. Trata-se de um software multiplataforma, distribuído e de código aberto, onde o domínio de atuação envolve o acesso à internet, produtividade e comunicação. O front-end do navegador é composto por XUL, HTML, CSS e JavaScript, enquanto o back-end utiliza linguagens como C++, Python e Rust.
O Firefox é composto por diferentes módulos que organizam suas funcionalidades principais, são eles:
Interfaces do Firefox representam os pontos de contato entre o navegador e seus usuários, permitindo interação direta e configuração de recursos. São eles:
O FireFox precisa de alguns recursos para funcionar e ser utilizado devidamente, são eles:
O modelo de qualidade que servirá como base para esta avaliação é o da norma ISO/IEC 25010. Suas características de qualidade de produto fornecem uma visão abrangente que será priorizada na seção seguinte para definir o foco do trabalho. Dentro desse modelo, o foco do estudo será direcionado às características de Eficiência de Desempenho e Portabilidade, por serem as mais relevantes ao contexto do Firefox e ao propósito declarado.

Em Eficiência de Desempenho, as subcaracterísticas analisadas serão uso de recursos, medindo o consumo de CPU, memória e outros recursos do sistema, e tempo de resposta, avaliando o carregamento de páginas e a inicialização do navegador.
Em Portabilidade, a subcaracterística escolhida é a adaptabilidade, observando como o Firefox se comporta em diferentes sistemas operacionais e dispositivos.
Assim como mostra o diagrama abaixo:

Para garantir que o foco da avaliação de qualidade do Firefox estivesse alinhado com os objetivos do projeto e as necessidades das partes interessadas, foi utilizado um método de priorização estruturado. A abordagem escolhida foi o MoSCoW, um acrônimo que classifica os requisitos em quatro categorias, permitindo uma tomada de decisão clara sobre o que é essencial e o que pode ser deixado para avaliações futuras.
O método MoSCoW organiza as características da seguinte forma:
A aplicação do MoSCoW é particularmente relevante neste contexto por fornecer uma linguagem comum e transparente para definir o escopo da avaliação, garantindo que os esforços se concentrem nas características que, segundo os stakeholders e o propósito declarado, são fundamentais para um navegador web moderno: seu desempenho e seu alcance democrático.
A tabela a seguir apresenta a priorização de todas as características de qualidade de produto da norma ISO/IEC 25010 aplicadas ao Firefox.
| Característica de Qualidade | Prioridade (MoSCoW) |
|---|---|
| Eficiência de Desempenho | Must Have |
| Portabilidade | Must Have |
| Segurança | Should Have |
| Confiabilidade | Should Have |
| Adequação Funcional | Should Have |
| Compatibilidade | Could Have |
| Manutenibilidade | Could Have |
| Usabilidade | Won’t Have |
A classificação de cada característica foi definida a partir do contexto do Mozilla Firefox como um produto de software global e do propósito principal desta avaliação.
typeperf no Windows [6], top [7] e vmstat [8] no Linux) para monitoramento de recursos.Para que o documento atual se alinhe ao escopo e foque em eficiência e portabilidade, será necessário avaliar a arquitetura do firefox, analisando documentação oficial do firefox sobre o seu projeto que está disnponibilizado no github. O código-fonte do Firefox é organizado em diferentes diretórios, que representam componentes fundamentais da sua arquitetura. Os principais módulos do Firefox e sua relevância para eficiência e portabilidade são:
browser/ Contém o código do front-end do Firefox para a versão desktop. Este módulo influencia diretamente o tempo de resposta e a utilização de recursos, impactando a eficiência percebida pelo usuário.
browser/themes/ Contém imagens e arquivos CSS usados para personalizar a aparência do navegador em diferentes sistemas operacionais (Windows, Linux, macOS), contribuindo para a portabilidade do sistema.
layout/ Implementa a árvore de renderização, que define o tipo e a posição dos objetos na interface do usuário, além de gerenciar operações sobre essa árvore. Esse módulo impacta tanto no tempo de resposta quanto no uso de recursos.
js/src/ Também chamado de SpiderMonkey, é o motor JavaScript do Firefox.
netwerk/ Conhecida como Necko, é η bibliotecа de rede do Firefox dentro do motor de renderização Gecko, responsável por implementar os protocolos de rede da web.
O entendimento prévio desses módulos e suas funções permite direcionar a avaliação para aspectos que afetam a eficiência e portabilidade, garantindo que a análise seja consistente.
O nosso propósito é avaliar a qualidade do software Firefox, um navegador multiplataforma de código aberto, e analisar com foco nas características de eficiência e portabilidade levando em consideração seu uso em diferentes plataformas e cenários.
Os resultados dessa avaliação interessam toda a comunidade que utiliza o navegador Firefox, pois poderão ter acesso a informações relevantes sobre o desempenho da aplicação, sua capacidade de adaptação a diferentes sistemas operacionais e dispositivos, além de compreender possíveis limitações e oportunidades de melhoria. Dessa forma, a análise contribui tanto para usuários finais, que buscam uma experiência de navegação mais estável e otimizada, quanto para desenvolvedores e colaboradores do projeto, que poderão utilizar os resultados dessa avaliação para futuras evoluções do software.
ODS 9 — Indústria, Inovação e Infraestrutura: Avaliar a eficiência do Firefox contribui para compreender como a infraestrutura digital pode ser otimizada para inovação tecnológica inclusiva, alinhando-se à Meta 9.c de aumentar o acesso a tecnologias de informação. [9]

Figura 1 – Meta 9.c do Objetivo de Desenvolvimento Sustentável 9.
Fonte: ORGANIZAÇÃO DAS NAÇÕES UNIDAS NO BRASIL, [s.d.].
ODS 10 — Redução das Desigualdades: Avaliar a portabilidade garante que o navegador funcione em hardware de baixo custo, promovendo inclusão digital e equidade no acesso à informação, em conformidade com a Meta 10.2 de promover a inclusão social e econômica de todos. [10]

Figura 2 – Meta 10.2 do Objetivo de Desenvolvimento Sustentável 10.
Fonte: ORGANIZAÇÃO DAS NAÇÕES UNIDAS NO BRASIL, [s.d.].
| Matrícula | Integrante | Principais Contribuições | Comprovação | Contribuição |
|---|---|---|---|---|
[231033737] |
Artur Mendonça Arruda | Reestruturação do documento, inclusão das ferramentas de benchmark, pesquisa e redação da metodologia MoSCoW, rastreabilidade das referências, divisão de seções para legibilidade, adição de detalhes técnicos do firefox (SpiderMonkey e Gecko). | Pull Request #5, Pull Request #7, Reestruturação do documento, Adição de detalhes técnicos, Bibliografia e imagem das ODS’s, Implementação MoSCoW, Pull Request #8 | 30% |
[Matrícula] |
João Filipe de Oliveira Souza | Desenvolvimento da estrutura inicial do projeto | 20% |
|
[231035464] |
Lucas Mendonça Arruda | Contribuiu com a adição das partes interessadas, arquitetura alinhada com escopo, classificação do tipo de produto e ajustes na organização e estrutura do documento. | Pull Request #5, Pull Request #8 | 30% |
[Matrícula] |
Nayra Silva Nery | % |
||
[180108875] |
Rodrigo Mattos de F. A. Bezerra | Adição do propósito da avaliação e usos pretendidos | [https://github.com/FCTE-Qualidade-de-Software-1/2025-2_T02_JEAN-SAMMET/pull/3] |
20% |
| Total | 100% |
Para a elaboração deste artefato, foi utilizado o auxílio de modelos de linguagem de grande escala (LLMs) como ferramentas de suporte. Especificamente, foram consultados os modelos Google Gemini e OpenAI ChatGPT para obter uma visão mais ampla e analisar diferentes perspectivas sobre a estrutura e o conteúdo do trabalho, permitindo que a equipe avaliasse qual abordagem fazia mais sentido para o projeto (o uso delas não exlui a validação humana).
O uso da inteligência artificial se concentrou em duas áreas principais:
Vale salientar, novamente, que as IAs atuaram exclusivamente como ferramentas de validação e sugestão. Todo o conteúdo, a redação final e as decisões estratégicas foram produzidos e validados pelos integrantes da equipe.
ISO. ISO/IEC 25000:2014 — Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Guide to SQuaRE. International Organization for Standardization, 2014. Disponível em: https://www.iso.org/standard/64764.html. Acesso em: 30 set. 2025.
ISO. ISO/IEC 25010:2011 — Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models. International Organization for Standardization, 2011. Disponível em: https://www.iso.org/standard/35733.html. Acesso em: 30 set. 2025.
ISO. ISO/IEC 25023:2016 — Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Measurement of system and software product quality. International Organization for Standardization, 2016. Disponível em: https://www.iso.org/standard/35746.html. Acesso em: 30 set. 2025.
AGILE BUSINESS CONSORTIUM. AgilePM® Agile Project Management Handbook v2. Ashford: Agile Business Consortium, 2014. ISBN 978-1909864003.
[1] THE BUGZILLA PROJECT. Bugzilla. Disponível em: https://www.bugzilla.org/. Acesso em: 30 set. 2025.
[2] MOZILLA. Bug Writing Guidelines. MDN Web Docs. Disponível em: https://developer.mozilla.org/en-US/docs/Mozilla/QA/Bug_writing_guidelines. Acesso em: 30 set. 2025.
[3] MOZILLA. Process Model. Firefox Source Docs. Disponível em: https://firefox-source-docs.mozilla.org/dom/ipc/process_model.html. Acesso em: 30 set. 2025.
[4] MOZILLA. Gecko Overview. Firefox Source Docs. Disponível em: https://firefox-source-docs.mozilla.org/overview/gecko.html. Acesso em: 30 set. 2025.
[5] BROWSERBENCH. Browser Benchmarks: Speedometer, JetStream, MotionMark. Disponível em: https://browserbench.org/. Acesso em: 30 set. 2025.
[6] MICROSOFT. typeperf command. Microsoft Learn. Disponível em: https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/typeperf. Acesso em: 30 set. 2025.
[7] THE LINUX MAN-PAGES PROJECT. top(1) — Linux manual page. Disponível em: https://man7.org/linux/man-pages/man1/top.1.html. Acesso em: 30 set. 2025.
[8] THE LINUX MAN-PAGES PROJECT. vmstat(8) — Linux manual page. Disponível em: https://man7.org/linux/man-pages/man8/vmstat.8.html. Acesso em: 30 set. 2025.
[9] ORGANIZAÇÃO DAS NAÇÕES UNIDAS NO BRASIL. ODS 9: Indústria, Inovação e Infraestrutura. Nações Unidas Brasil, [s.d.]. Disponível em: https://brasil.un.org/pt-br/sdgs/9. Acesso em: 1 out. 2025.
[10] ORGANIZAÇÃO DAS NAÇÕES UNIDAS NO BRASIL. ODS 10: Redução das Desigualdades. Nações Unidas Brasil, [s.d.]. Disponível em: https://brasil.un.org/pt-br/sdgs/10. Acesso em: 1 out. 2025.
| Versão | Descrição | Autor(es) | Data | Revisor(es) | Data de Revisão |
|---|---|---|---|---|---|
| 1.0 | Criação e documentação inicial da fase 1 | João Filipe de Oliveira Souza | 29/09/2025 | ||
| 1.1 | Adição da bibliografia e do histórico de versões | Artur Mendonça Arruda | 29/09/2025 | Lucas Mendonça Arruda | 29/09/2025 |
| 1.2 | Reestruturação do documento | Artur Mendonça Arruda e Lucas Mendonça Arruda | 29/09/2025 | ||
| 1.3 | Adição de detalhes técnicos, relação entre características, e profundidade do projeto | Artur Mendonça Arruda | 30/09/2025 | Lucas Mendonça Arruda | 30/09/2025 |
| 1.4 | Adição de hyperlinks das fontes | Artur Mendonça Arruda | 30/09/2025 | Lucas Mendonça Arruda | 30/09/2025 |
| 1.5 | Adição do Propósito da Avaliação e Usos Pretendidos | Rodrigo Mattos de F. A. Bezerra | 30/09/2025 | Artur Mendonça Arruda | 01/10/2025 |
| 1.6 | Adição de partes interessadas e classificação do tipo do produto | Lucas Mendonça Arruda | 01/10/2025 | ||
| 1.7 | Adição das imagens e bibliografia das ODS’s | Artur Mendonça Arruda | 01/10/2025 | Lucas Mendonça Arruda | 01/10/2025 |
| 1.8 | Adição da priorização MOSCOW para a escolha das características de qualidade | Artur Mendonça Arruda | 01/10/2025 | Lucas Mendonça Arruda | 01/10/2025 |
| 1.9 | Reestruturação geral com títulos e seções para melhorar a legibilidade e adição de declaração de uso de IA | Artur Mendonça Arruda | 01/10/2025 | Lucas Mendonça Arruda | 01/10/2025 |
| 1.10 | Adição de rastreabilidade do documento | Artur Mendonça Arruda | 23/10/2025 |