Fase 3 - Descrição da Medição
Sumário
- 1. Descrição da Medição Para a Adequação Funcional
- 1.1. Procedimentos das Análises
- 2. Descrição da Medição Para a Confiabilidade
- 2.1. Procedimentos das Análises
- 3. Descrição da Medição Para a Manutenibilidade
- 3.1. Procedimentos das Análises
- 4. Ambiente de Testes
- 5. Instrumentos de Medição
- 6. Localização dos Dados de Avaliação
- 7. Cronograma
- Uso de IA
- Referências Bibliográfica
- Histórico de Versões
1. Descrição da Medição Para a Adequação Funcional
Afim de permear nossa proposta inicial de abringir os escopos planejados para a adequação funcional:
-
Completude Funcional: todas as funções estão presentes?
-
Correção funcional: os resultados das funções estão corretos?
-
Pertinencia Funcional: essas funções de fato ajudam os usuários?
Mais detalhes em: Fase 1 - Proposito de Avaliação
Os artefatos encontrados na documentação pública e como estudado na referência [1] e [4], não são suficientes para a completa modelagem desse artefato o ideal é a utilização de requisitos funcionais para a completude da análise. Portanto, solicitamos uma entrevista com dois dos desenvolvedores do lappis que atuam diretamente no desenvolvimento produto: Gabriel Ferreira e Hugo Rocha para nos ajudar a melhor entender a aplicação e modelar de maneira mais completa esse artefato.
1.1. Procedimentos das Análises:
Aqui vamos descrever todo o passo a passo de como iremos realizar as medições para as perguntas feitas na etapa de planejamento de avaliação mais detalhes em: Fase 2 - Planejamento de Avaliação. Para a melhor análise posterior das questões todos os processos será gravados e disponibilizados na Fase 4.
Q1. Em que medida as funcionalidades priorizadas do MEPA foram implementadas?
- Utilizaremos como insumos a lista de requisitos funcionais (obtida na entrevista) que será realizada na Fase 4 - Execução da Medição e a análise dos documentos públicos: Fase 1 - Proposito de Avaliação para verificar se as funcionalidades especificadas estão implementadas.
Q2. Os resultados apresentados pelo sistema estão corretos?
- Nesta análise, o foco é a precisão dos resultados. Realizaremos testes manuais na aplicação offline, pois o ambiente offline possue os usuários de maior nível na aplicação ao invés só do convidado, inserindo dados de faturas e comparando os resultados gerados pela plataforma com cálculos de referência.
Q3. As funcionalidades implementadas operam em conformidade com o esperado?
- Na análise de pertinência buscamos entender se as funcionalidades existentes são de fato úteis e relevantes para os objetivos dos usuários. Portanto, realizamos um passo a passo simulado das tarefas do gestor como: cadastrar uma fatura e gerar um relatório de economia para avaliarmos o fluxo de trabalho é lógico.
2. Descrição da Medição Para a Confiabilidade
A Confiabilidade, fundamentada na norma ISO/IEC 25010, refere-se à capacidade do produto de software de manter um nível de desempenho especificado quando usado sob condições especificadas.
Para esta avaliação do sistema MEPA Energia, a abordagem metodológica adotada é a de Testes de Caixa Preta (Black Box Testing). Nesta abordagem, as medições são realizadas através da interface do usuário e ferramentas de inspeção de navegador (Browser DevTools), sem acesso intrusivo ao código-fonte ou banco de dados, auditando a resiliência do sistema sob a ótica da experiência real do usuário.
Focaremos nas seguintes sub-características essenciais:
| Sub-característica | Descrição Técnica (Abordagem Caixa Preta) |
|---|---|
| Tolerância a Falhas (Fault Tolerance) | Capacidade do front-end de validar entradas e gerenciar exceções de uso (erros humanos ou dados inválidos) sem colapso da interface ou exposição de erros críticos de execução (Stack Trace) no Console do navegador. |
| Recuperabilidade (Recoverability) | Capacidade do sistema de preservar o estado da aplicação (State Management) e os dados inseridos pelo usuário em caso de interrupção abrupta da sessão (ex: atualização de página ou queda de rede momentânea) antes da submissão. |
| Disponibilidade (Availability) | Verificação da latência de resposta inicial, status HTTP e tempo de carregamento da árvore crítica (DOM) em ambiente de produção, garantindo que o serviço esteja acessível quando solicitado. |
Mais detalhes sobre o propósito e as perguntas de avaliação podem ser encontrados no planejamento da Fase 2.
Procedimentos das Análises:
A seguir, detalhamos o passo a passo de como as medições serão realizadas via ferramentas de auditoria Client-Side.
Tolerância a Falhas: Validação de Entrada e Estabilidade
- Procedimento: Execução de testes de submissão de formulários críticos com payloads vazios (entradas nulas). Utiliza-se o inspetor de elementos para monitorar a aba Console em busca de erros de execução (JavaScript Exceptions) e verifica-se o feedback visual imediato ao usuário.
- Métricas associadas:
- CF1 - Eficácia da Validação (EV): Capacidade binária do sistema de impedir o envio de requisições inválidas e manter o console livre de erros críticos.
Recuperabilidade: Persistência de Rascunho
- Procedimento: Simulação de falha de continuidade. O usuário preenche formulários transacionais e força o recarregamento da página (Hard Refresh - F5) antes da submissão. Monitora-se a aba Application > Local Storage do navegador para verificar se há salvamento temporário dos dados digitados.
- Métricas associadas:
- CF2 - Taxa de Recuperação de Sessão (TRS): Proporção de campos recuperados após a atualização da página.
Disponibilidade: Performance e Latência
- Procedimento: Análise de performance via aba Network do DevTools. Mede-se o tempo total de Load (carregamento completo) e o código de status HTTP retornado pelo servidor principal após uma limpeza de cache.
- Métricas associadas:
- CF3 - Tempo de Carregamento (Load Time): Tempo cronometrado em segundos até a interatividade total da interface.
Resumo dos Instrumentos de Medição:
| Instrumento | Descrição |
|---|---|
| Chrome DevTools (Network) | Utilizado para aferir o Status Code (200 OK) e o tempo exato de carregamento dos recursos (Waterfall). |
| Chrome DevTools (Console) | Utilizado para monitorar logs de erro, avisos e exceções de JavaScript durante a operação. |
| Chrome DevTools (Application) | Utilizado para inspecionar o armazenamento local (Local Storage) e verificar a persistência de dados. |
| --- |
3. Descrição da Medição Para a Manutenibilidade
A medição da Manutenibilidade é crucial para garantir a longevidade e a adaptabilidade do software MEPA, que é um projeto de código aberto e em constante evolução. Conforme definido no Planejamento de Avaliação (Fase 2), o foco está em avaliar a facilidade com que o sistema pode ser analisado, modificado e testado.
Nossa análise será baseada no acesso ao código-fonte e aos dados de gestão de projetos, conforme detalhado nos artefatos abaixo:
Tabela 2: Documentos e Artefatos Analisados para Manutenibilidade
| Artefato | Descrição | Link/Localização |
|---|---|---|
| Repositório de Código-Fonte | O código-fonte completo do projeto MEPA, essencial para a análise estática. | Repositório no GitLab |
| Sistema de Gestão de Issues | Plataforma utilizada para rastrear defeitos e tarefas de manutenção (Lead Time de Correção). | Presente no próprio repositório |
| Relatórios de Cobertura de Testes | Documentos gerados pelo CI/CD que indicam a cobertura de código por testes automatizados. | Presentes no próprio repositório na visualização das pipelines de CI/CD |
Procedimentos das Análises:
Aqui descrevemos o passo a passo de como serão realizadas as medições para as questões de Manutenibilidade definidas na Fase 2.
Q8. A estrutura do código favorece a manutenção? (Complexidade Ciclomática Média - CCM)
- Procedimento: Utilizaremos a ferramenta de análise estática SonarQube para calcular a Complexidade Ciclomática (CC) em todos nos módulos da api. A CCM será calculada como a média dos valores de CC para estas funções/módulos.
- Métricas associadas: MN4 (Complexidade Ciclomática), MN5 (Acoplamento).
Q9. Qual é a agilidade no fluxo de correção de defeitos? (Lead Time de Correção - LTC)
- Procedimento: Serão extraídos dados das Issues presentes no GitLab abrangindo um período de 6 meses. O LTC será calculado para uma amostra dos defeitos críticos, medindo o tempo entre a abertura da issue e o merge da correção em produção.
- Métricas associadas: MN1 (Tempo de Resolução de Defeitos), MN2 (Tempo de Entrega de Correção).
Q10. O sistema possui proteção adequada contra regressão? (Cobertura de Testes de Regressão - CTR)
- Procedimento: Como houve dificuldade em analisar o relatório de cobertura de código (CTR) gerado durante a build, o cálculo de CTR será feito manualmente nos últimos 5 Merge Requestes aceitos (!430; !431; !432; !433 e !435), que foram todos feitos no período do último mês.
- Métricas associadas: MN3 (Cobertura de Testes).
4. Ambiente de Testes:
Os testes foram executados nos ambientes descritos na tabela abaixo, garantindo a verificação em diferentes configurações:
| Componente | Especificação | Observações |
|---|---|---|
| Sistema Operacional | Windows 11 e Ubuntu 22.04 LTS | Utilizado para execução dos testes manuais e automáticos. |
| Hardware | Processador Ryzen 7 Pro 4750U, 16 GB RAM | Configuração mínima para garantir a execução fluida das ferramentas. |
| Navegador | Mozilla Firefox (versão mais recente) | Browser utilizado para os testes de interface e funcionalidade. |
| Ambiente Backend | Python 3.10+ / Django 4.2+ | Ambiente de execução da API do MEPA. |
| Banco de Dados | PostgreSQL 15 | Utilizado para armazenamento e consulta dos dados da aplicação. |
| Containerização | Docker 24.0+ | Utilizado para criar um ambiente padronizado e isolado para a aplicação e seus serviços. |
5. Instrumentos de Medição:
Para a coleta de dados, foram utilizados os seguintes instrumentos:
| Instrumento | Descrição |
|---|---|
| Ferramenta de Captura de Tela | Utilizada para registrar evidências estáticas (imagens) de resultados e comportamentos específicos. |
| Software de Gravação (OBS Studio e Microsoft Teams) | Utilizado para gravar as sessões de teste em vídeo, documentando o fluxo de interação e entrevistas. |
| Relatório de Análise Estática | Documento gerado pela ferramenta SonarQube contendo as métricas de código (CCM, Coesão, Acoplamento). |
| Query de Issues | Consulta no GitLab para extrair os dados de tempo de vida dos defeitos (LTC). |
| Relatório de Cobertura de Código | Documento que detalha o percentual de código coberto por testes automatizados (CTR). |
| Ferramenta de Simulação de Carga (JMeter) | Utilizada para gerar requisições em massa e simular sobrecarga no sistema, essencial para testar a Tolerância a Falhas. |
| Script de Monitoramento de Uptime | Ferramenta automatizada para registrar o tempo de atividade e inatividade do servidor, fundamental para o cálculo da Disponibilidade. |
| Cronômetro | Utilizados para medir o Tempo Médio de Recuperação (TMR). |
| Ferramenta de Análise Estática | SonarQube |
6. Localização dos Dados de Avaliação
Os dados coletados serão organizados e armazenados na seguinte estrutura neste repositório:
/docs/pages/Modulo4/dados/: Diretório principal para todos os dados da avaliaçãoadequacao_funcional/: Resultados das métricas de adequação funcionalChecklist Funcionalidades: Dados dos requisitos elicitadosCorretude:Pertinencia:
portabilidade/: Resultados das métricas de portabilidadeComplexidade Ciclomática: Dados do SonarQube
7. Cronograma
| Atividade | Responsável(is) | Data | Status |
|---|---|---|---|
| Gravação com os desenvolvedores no MEPA para a Adq Funcional | Felipe das Neves e Mylena Mendonça | 18/11 | Concluído |
| Elicitação dos requisitos com base no vídeo para a Adq Funcional | Felipe das Neves e Mylena Mendonça | 19/11 | Concluído |
| Gravação dos vídeos de testes da adequação funcional | Felipe das Neves e Mylena Mendonça | 25/11 | Concluído |
| Análise das métricas para a Adq Funcional | Felipe das Neves e Mylena Mendonça | 25/11 | Concluído |
| Finalização da Adq Funcional | Felipe das Neves e Mylena Mendonça | 26/11 | Concluído |
Uso de IA
Para a elaboração deste documento e de outros artefatos do projeto, foram utilizadas ferramentas de Inteligência Artificial, como o ChatGPT (OpenAI) e o Gemini (Google). O uso dessas tecnologias teve como principais objetivos:
- Aprimoramento da Escrita: Melhorar a clareza, coesão e correção gramatical dos textos, garantindo uma comunicação mais eficaz.
- Geração de Estruturas: Auxiliar na criação de estruturas iniciais para seções e tabelas, otimizando o tempo de desenvolvimento.
- Refinamento de Ideias: Servir como ferramenta de brainstorming para refinar conceitos e justificativas apresentadas no documento.
- Consistência Terminológica: Ajudar a manter a consistência dos termos técnicos utilizados ao longo da documentação.
Ressaltamos que todo o conteúdo gerado por IA foi cuidadosamente revisado, editado e validado pelos membros da equipe para assegurar sua precisão, relevância e alinhamento com os objetivos da avaliação de qualidade. As ferramentas foram empregadas como um suporte ao processo de criação, e a responsabilidade final pelo conteúdo permanece com os autores do projeto.
Referências Bibliográfica
[1] REQUISITOS NÃO FUNCIONAIS. Canal Fatto Consultoria e Sistemas. Publicado em 06 de ago. de 2015. Disponível em: https://www.youtube.com/watch?v=Gv5H9XgWOJ0. Acesso em: 17 de nov. de 2025.
[2] RODRIGUES, Renato. ISO/IEC 25010: Functional Suitability. LinkedIn, 2 de fev. de 2024. Disponível em: https://pt.linkedin.com/pulse/isoiec-25010-functional-suitability-renato-rodrigues. Acesso em: 17 de nov. de 2025.
[3] Notas de aula da disciplina de Qualidade de Software: Conceitos GQM (introdução, planejamento, definição, coleta e interpretação).
[4] Qualidade de Software - Visão geral em 20 minutos. Canal Vitor Maia. Publicado em 25 de ago. de 2025. Disponível em: https://www.youtube.com/watch?v=Gv5H9XgWOJ0. Acesso em: 17 de nov. de 2025.
Histórico de Versões
| Versão | Descrição | Autor(es) | Data de Produção | Revisor(es) | Data de Revisão | Observações / Incrementos |
|---|---|---|---|---|---|---|
1.0 |
Desenvolvimento dos objetivos do GQM. | Felipe das Neves | 17/11/2025 | — | — | Versão inicial do documento. |
1.1 |
Inserção das técnicas de medição para a adequação funcional. | Felipe das Neves | 17/11/2025 | Mylena Mendonça | 17/11/2025 | Revisão da ideação do artefato. |
1.2 |
Inserção das técnicas de medição para a confiabilidade. | Gustavo Gontijo Lima | 18/11/2025 | Ana Luiza Komatsu | 18/11/2025 | Revisão da ideação do artefato. |
1.3 |
Inserção das técnicas de medição para a Manuntenabilidade. | Pedro Barbosa | 18/11/2025 | |||
1.4 |
Realocação da Entrevista com o desenvolvedor para a fase 4 | Felipe das Neves | ||||
1.5 |
Unificação dos ambientes de testes e instrumentos de medição | Felipe das Neves | ||||
1.6 |
Correção das contas em confiabilidade | Felipe das Neves | ||||
1.7 |
Alteração em Manutenibilidade | Marcos Bittar | ||||
1.8 |
Remoção do checklist como uma das ferramentas de análise | Felipe das Neves | 26/11/2025 |