Pular para conteúdo

Plano de Avaliação - Quanto à Portabilidade

Introdução

Nesta etapa do projeto, vamos especificar como iremos implementar e executar as métricas definidas na metodologia Goal-Question-Metric (GQM) da fase anterior (Fase 2) para avaliar objetivamente a Portabilidade do módulo file-exr do GIMP.

O processo de coleta e análise focará na capacidade do módulo de ser executado, instalado e adaptado em diferentes ambientes. Serão utilizados ambientes virtualizados e nativos (Windows e Linux) para comparar o comportamento funcional e de desempenho. Além disso, serão realizados testes de instalação/desinstalação e tentativas controladas de substituição de dependências (bibliotecas OpenEXR) para mensurar o esforço de adaptação.

Métricas a Serem Implementadas

Com base no planejamento da fase anterior (Fase 2), serão coletados dados para as seguintes métricas de Adaptabilidade, Instalabilidade e Substituibilidade:

ID Métrica Atributo de Qualidade
1.1 Taxa de Sessões Livres de Falhas entre Plataformas Adaptabilidade
1.2 Desvio de Desempenho entre diferentes plataformas Adaptabilidade
2.1 Taxa de Sucesso na Instalação Instalabilidade
2.2 Taxa de Sucesso na Desinstalação Instalabilidade
3.1 Taxa de Sucesso de Instalação por Ambiente Instalabilidade
3.2 Desvio Relativo de Sucesso entre Ambientes Instalabilidade
3.3 Diferença no Tempo e Tipos de Falha entre Ambientes Instalabilidade
4.1 Taxa de Compatibilidade com Versões Alternativas Substituibilidade
4.2 Esforço de Adaptação para Novas Dependências Substituibilidade
4.3 Taxa de Sucesso em Testes após Substituição Substituibilidade

Ferramentas e Métodos de Coleta

Ambiente de Teste

Para garantir a análise de portabilidade, os testes serão executados em pelo menos dois ambientes distintos, conforme detalhado abaixo:

Categoria Ambiente A (Principal) Ambiente B (Secundário) Artefatos Comuns
S.O. Windows 10/11 (64 bits) Linux (Ubuntu 22.04 LTS ou Fedora via WSL/VirtualBox) Código fonte do GIMP (branch estável)
Ferramentas PowerShell, MSYS2/MinGW (para compilação) Bash, GCC, Make/CMake Dependências do OpenEXR (versões padrão e alternativas)
Hardware CPU 4 núcleos, 8GB RAM Virtualizado com recursos similares ao Ambiente A (ou nativo se disponível) Dataset de imagens .exr para validação de funcionamento

Instrumentos de Medição

O processo de medição para cada métrica será conduzido com os seguintes instrumentos e métodos de coleta de dados:

Métrica(s) Atributo Instrumento/Método Dados Coletados
1.1 e 1.2 Adaptabilidade (Falhas e Desempenho) Script de Execução Cruzada (PowerShell/Bash) Contagem de crashes/erros de execução; Medição de tempo de processamento (time, Measure-Command).
2.1, 2.2, 3.1, 3.2, 3.3 Instalabilidade Scripts de Build Automatizado (./configure, make), Coleta de Logs, Cronometragem. Logs de saída (stderr, stdout); Tempo exato de instalação/desinstalação; Status de Sucesso/Falha.
4.1, 4.2 e 4.3 Substituibilidade (Dependências) Controle de Versão (Git), Registro de Tempo Humano, Suite de Testes de Regressão. Linhas de código modificadas (git diff --stat); Horas gastas pela equipe na adaptação; Taxa de Sucesso dos testes funcionais.

Passo a Passo de Coleta

Primeiro passo: Preparação dos Ambientes 1. Configurar o ambiente Windows com as dependências necessárias. 2. Configurar a VM/WSL Linux com as dependências necessárias. 3. Clonar o repositório e separar as versões da biblioteca openexr a serem testadas.

Segundo passo: Execução (Iterar nos Ambientes A e B) 1. Instalação: Rodar script de build/install 10 vezes em cada ambiente. Registrar sucessos, falhas e tempos. 2. Adaptabilidade: Rodar bateria de testes com 18 imagens .exr. Registrar se houve crash e o tempo total da operação. 3. Desinstalação: Rodar comando de desinstalação. Verificar se o binário foi removido.

Terceiro passo: Teste de Substituibilidade (Apenas Ambiente de Desenvolvimento) 1. Alterar a referência da biblioteca openexr para uma versão alternativa. 2. Tentar compilar. Se falhar, corrigir o código. 3. Registrar o tempo gasto e usar git diff para medir o esforço (linhas alteradas). 4. Rodar os testes funcionais com a nova biblioteca.

Quarto passo: Consolidação - Preencher a planilha resultados_portabilidade.csv comparando os dados do Ambiente A vs. Ambiente B.

Localização dos Dados de Avaliação

Artefato Conteúdo Finalidade
planilha_portabilidade.csv Tabela comparativa de resultados, incluindo tempos e status. Consolidação dos resultados das métricas 1.2, 2.1, 2.2, 3.x.
Pastas de Logs Saídas de stderr e stdout dos processos de build. Análise das Diferenças no Tempo e Tipos de Falha (Métrica 3.3).
/logs_windows/install_logs/ Logs de instalação no Ambiente A.
/logs_linux/install_logs/ Logs de instalação no Ambiente B.
/logs_replaceability/diffs/ Saída de git diff --stat. Mensurar o Esforço de Adaptação (Métrica 4.2).
Relatório de Adaptação Documento de texto. Descreve as dificuldades encontradas na troca de versão da biblioteca (Métrica 4.2).

Histórico de Versão

Versão Data Descrição Autor Revisor
1.0 13/11/2025 Criação do Documento. Caio Venâncio Vinicius Castelo
2.0 19/11/2025 Adicionado informações ao Documento Vinicius Castelo Caio Venâncio