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
Esta seção detalha o Plano de Execução da Fase 3 para a avaliação de qualidade do Mozilla Firefox. O propósito deste documento é definir o passo-a-passo metodológico, os ambientes, as ferramentas e os artefatos de coleta necessários para executar os testes definidos na Fase 2.
Este plano servirá como um guia padronizado para todos os executores de teste da equipe, garantindo que os dados coletados na próxima fase sejam consistentes e comparáveis. A execução em si, a coleta de dados brutos e a análise dos resultados serão documentadas em um artefato separado, a Fase 4: Execução e Análise de Resultados, utilizando os métodos e artefatos aqui definidos.
O plano segue a metodologia GQM definida na Fase 2, focando nas características de Eficiência de Desempenho e Portabilidade, priorizadas na Fase 1.
Para centralizar a coleta de dados da Fase 4, a equipe utilizará uma Planilha Mestra. A divisão de tarefas de execução está definida conforme a tabela abaixo:
| Executor | Papel de Execução |
|---|---|
| Artur Mendonça Arruda | Android |
| Lucas Mendonça Arruda | Linux |
| João Filipe de Oliveira Souza | macOS |
| Rodrigo Mattos de F. A. Bezerra | Windows (Coleta 1) |
| Nayra Silva Nery | Windows (Coleta 2) |
Para garantir a validade técnica e a reprodutibilidade dos testes (Critério C2), foram definidos os requisitos mínimos de hardware, software e o perfil técnico necessário para os avaliadores.
Os dispositivos utilizados para a coleta devem atender às seguintes especificações mínimas para evitar gargalos de hardware que não sejam causados pelo navegador:
bash ou zsh.Dada a complexidade das ferramentas de coleta, o executor do teste deve possuir:
Para evitar inconsistências na execução, foram criados Guias Técnicos específicos vinculados às ferramentas nativas de cada SO.
| Ambiente | Ferramenta Principal (RAM) | Link para o Guia Técnico de Execução |
|---|---|---|
| Windows 11 | typeperf (CMD Admin) |
Ver Guia Técnico - Windows |
| Linux | top / ps |
Ver Guia Técnico - Linux |
| macOS | Monitor de Atividade | Ver Guia Técnico - macOS |
| Android | adb shell |
Ver Guia Técnico - Android |
Procedimentos detalhados para a coleta das métricas de eficiência definidas na Fase 2.
M1.1 - Consumo de RAM:
Para medir o consumo de memória, o utilitário typeperf no Windows será configurado para capturar três contadores específicos do processo Firefox: \Process(firefox)\Private Bytes, que é essencial para identificar vazamentos de memória; \Process(firefox)\Working Set, que representa o impacto total na RAM; e \Process(firefox)\Working Set - Private, referente ao uso exclusivo de RAM.
O teste será duplicado para dois perfis de uso:
Working Set ou RES.M1.2 - Tempo de Carga (LCP): A medição do tempo de carregamento focará na métrica Largest Contentful Paint, ou LCP. Esta é a métrica padrão da indústria para medir a velocidade de carregamento percebida pelo usuário.
Para cada site, anotar o tempo do LCP:
const observer = new PerformanceObserver((list) => {
const entries = list.getEntries();
const lastEntry = entries[entries.length - 1]; // Pega o LCP mais recente
console.log("LCP:", lastEntry.startTime);
console.log(lastEntry);
});
observer.observe({ type: "largest-contentful-paint", buffered: true });
pra rodar de novo sem reiniciar a página basta usar o comando:
observer.observe({ type: "largest-contentful-paint", buffered: true });
M1.3 - Benchmarks: Para avaliar o desempenho sintético bruto, dois benchmarks padronizados serão executados. O teste deve ser executado em um navegador recém-aberto para garantir que não haja interferência de outros processos.
https://browserbench.org/Speedometer3.0/https://browserbench.org/JetStream/M1.4 — Variação de Desempenho entre Plataformas (GQM)
Objetivo: Quantificar a diferença relativa de desempenho entre os ambientes (Windows, macOS, Linux e Android) com base nas pontuações dos benchmarks Speedometer 3.0 e JetStream 2, utilizando o Coeficiente de Variação (CV).
Definição da Métrica
Fórmula:
CV(\%) = \frac{\sigma}{\mu} \times 100
Onde:
Procedimento de Coleta
Executar os benchmarks Speedometer 3.0 e JetStream 2 em cada plataforma:
Para cada benchmark, executar 3 repetições em cada plataforma:
Para cada plataforma, calcular a pontuação representativa como a mediana das 3 execuções (reduz ruído estatístico).
Reunir as pontuações representativas das 4 plataformas e calcular:
O valor obtido será o resultado da métrica M1.4.
Para garantir que os testes de carga pesada (método M1.1) e LCP (método M1.2) sejam comparáveis entre os executores, todos deverão utilizar a seguinte lista de 10 sites.
https://www.youtube.com (logado e reproduzindo um vídeo 1080p)https://www.amazon.com.br (em uma página de produto)https://www.facebook.com (logado, no feed principal)https://www.mercadolivre.com.br (em uma página de busca)https://g1.globo.com (na página principal)https://pt.wikipedia.org (em um artigo principal)https://www.twitch.tv (na página principal, com stream ao vivo)https://www.reddit.com (no feed principal)https://www.magazineluiza.com.br (em uma página de produto)https://twitter.com (logado, no feed principal)Justificativa da Seleção: Esta lista foi escolhida para fornecer uma visão holística do uso real da web. Ela combina:
Os procedimentos detalhados para as métricas M2.1 e M2.2 serão gerenciados em arquivos .md separados para manter a organização.
Cada executor deverá criar uma cópia dos templates abaixo, preenchê-los para seu ambiente específico e, em seguida, registrar o resultado total, por exemplo “19/20”, e o link para o arquivo preenchido na Planilha Mestra.
O cronograma foi desenvolvido com o objetivo de guiar a equipe na execução dos testes. A seguir, detalham-se as atividades a serem realizadas, bem como seus respectivos autores e datas:
Foi definido que cada integrante deve executar os testes de cada métrica, a fim de obter resultados em diferentes sistemas operacionais, respondendo às questões propostas e atendendo ao objetivo de medição.
O cronograma foi planejado considerando que cada integrante deve executar e armazenar os dados do teste da métrica 1.3 antes que a métrica 1.4 seja iniciada. Por isso, a data de início da métrica 1.4 está configurada para coincidir com o término do prazo estimado da métrica 1.3. Além disso, o tempo de execução da métrica 1.4 foi definido como 1 dia, uma vez que os testes já estarão armazenados na planilha, sendo necessário apenas calcular a média e o desvio padrão.
Esta seção identifica riscos potenciais para a validade da coleta de dados e suas respectivas mitigações.
Esta tabela reflete as contribuições para a elaboração deste Plano de Execução (Fase 3).
| Matrícula | Integrante | Principais Contribuições | Comprovação | Contribuição |
|---|---|---|---|---|
[231033737] |
Artur Mendonça Arruda | Checklists, guias técnicos, documentação da fase 3 | https://github.com/FCTE-Qualidade-de-Software-1/2025-2_T02_JEAN-SAMMET/commit/e8c338d5245e6b42f60d36c53297af62cc8fb0bd, https://github.com/FCTE-Qualidade-de-Software-1/2025-2_T02_JEAN-SAMMET/commit/b9b29af716742823fedc7dc895f4ab7232fb3389, https://github.com/FCTE-Qualidade-de-Software-1/2025-2_T02_JEAN-SAMMET/commit/1e0bc20eb7a3b57b806bf81a56d6a55a027c5daf | 35% |
[221007608] |
Nayra Silva Nery | |||
[231035141] |
João Filipe de Oliveira Souza | |||
[231035464] |
Lucas Mendonça Arruda | Adicionei cronograma, revisei e ajustei textos | 30% | |
[180108875] |
Rodrigo Mattos de F. A. Bezerra | |||
| Total | 55% |
A elaboração desta fase contou com o auxílio dos modelos de linguagem ChatGPT e Google Gemini que foram empregados como ferramentas complementares de revisão para verificar se a ordem cronológica das seções apresentava uma lógica consistente e se o estilo de escrita estava adequado ao contexto técnico do documento. Além do suporte na detecção e correção de erros gramaticais e ortográficos esses recursos serviram para validar a fluidez do texto mas todo o conteúdo passou por uma análise crítica rigorosa por parte dos integrantes do grupo. Foram realizadas revisões humanas tanto durante a escrita quanto após a finalização do artefato garantindo que a tecnologia atuasse apenas como um instrumento de apoio para o aprimoramento da qualidade final do trabalho.
| Versão | Descrição | Autor(es) | Data | Revisor(es) | Data de Revisão |
|---|---|---|---|---|---|
| 1.0 | Criação do plano de execução | Artur Mendonça Arruda | 16/11/2025 | ||
| 1.1 | Definição dos artefatos, ferramentas e divisão de tarefas | Artur Mendonça Arruda | 16/11/2025 | ||
| 1.2 | Detalhamento dos cenários de teste e riscos | Artur Mendonça Arruda | 16/11/2025 | ||
| 1.3 | Adição da seção de Sites Padronizados e da seção de Links de Checklists | Artur Mendonça Arruda | 16/11/2025 | ||
| 1.4 | Atualização da seção 2.2 (Ferramentas), para conter os guias de coleta de cada SO | Artur Mendonça Arruda | 23/11/2025 | ||
| 1.5 | Adicionando cronograma na documentação | Lucas Mendonça Arruda | 26/11/2025 | ||
| 1.6 | Adição de rastreabilidade no cronograma da documentação | Artur Mendonça Arruda | 27/11/2025 | ||
| 1.6 | Detalhamento de especificação de recursos e ambiente, e adiciona declaração de uso de I.A | Artur Mendonça Arruda | 28/11/2025 |