Prévia do material em texto
1 38 1 Profª Rosemari Pavan Rattmann Métricas e Estimativa de Software Aula 5 38 2 Conversa Inicial 38 3 Métricas de webapps e aplicativos móveis Desempenho – segurança – usabilidade Métricas de código-fonte Métricas para testes Cobertura de código – densidade de defeitos Tempo de teste – rastreamento de requisitos Aplicações práticas Análise de métricas 38 4 Métricas para projetos de melhoria/manutenção Padrões de qualidade – ISO Ferramentas para métricas Análise de métricas 38 5 Métricas para Webapps e Aplicativos Móveis 38 6 Diversidade de plataformas Webapps x aplicativos móveis Métricas para aplicativos móveis Indicativos de qualidade Métricas para aplicativos móveis 1 2 3 4 5 6 2 38 7 Métricas para aplicativos móveis ConclusãoAPP CAPP BAPP AIndicador de Qualidade Usuários preferem apps com tempos de resposta rápidos 0,6s (Excelente)1,2s (Bom)0,8s (Excelente)Tempo de Resposta (seg) Tempo de carregamento impacta menos que resposta rápida 1,8s (Bom)1,5s (Muito Bom)2s (Aceitável)Tempo de Carregamento (seg) Consumo de memória moderado é preferido280Mb (Alto)200Mb (Baixo)250Mb (Médio)Consumo de Memória (Mb) Baixo consumo de bateria é uma preferência significativa 4% (Muito Baixo)5% (Baixo)6% (Moderado)Consumo de Bateria (%/hora) Melhoria marginalmente notada1,1s (Bom)0,9s (Muito Bom)1s (Bom)Eficiência de Processamento Alta escalabilidade aumenta preferência 2/1000 sessões (Baixo) 1/1000 sessões (Baixo) 3/1000 sessões (Moderado) Taxa de Erros/ Travamentos Usabilidade fortemente correlacionada com preferência 78% (Muito Boa)85% (Excelente)75% (Boa)Satisfação com Usabilidade F o n te : R a tt m a n n , 2 0 2 4 . 38 8 Métricas para aplicativos móveis F o n te : R a tt m a n n , 2 0 2 4 . 38 9 Qualidade das aplicações Relevância da qualidade Principais métricas Tempo de resposta Tempo de carregamento Acessibilidade Métricas para aplicativos web 38 10 Benefícios da otimização Melhora da experiência do usuário Aumento na percepção positiva da marca Melhor posicionamento nas buscas Métricas para aplicativos web 38 11 Gestão contínua Monitoramento das métricas Interconexão entre métricas Competividade no mercado Diferencial estratégico Atendimento das expectativas dos usuários Métricas para aplicativos web 38 12 Práticas recomendadas Design inclusivo Otimização de código – tempos Análises regulares do ciclo de vida Métricas para aplicativos web Lemberg Vector studio /shutterstock 7 8 9 10 11 12 3 38 13 Importância Tempo de resposta Taxa de transferência Escalabilidade Confiabilidade Métricas de desempenho Hamdi Ujeb Addakhil /shutterstock 38 14 Benefícios da análise de desempenho Eficiência em diferentes dispositivos Experiência para o usuário Maior satisfação e retenção Métricas de desempenho 38 15 Webapp Maior tempo de carregamento e busca de informação Aplicativo Móvel Mais rápido Métricas de Desempenho 38 16 Métricas de desempenho Fonte: Rattmann, 2024. 38 17 Definição Facilidade de navegação Interação com o aplicativo Principais métricas Design e arquitetura (navegabilidade) Eficiência de interação – número de cliques Usabilidade Afeta a satisfação, fidelidade e retenção do usuário Métricas de usabilidade 38 18 Métricas de usabilidade Fonte: Rattmann, 2024. Taxa de Erro (%)Quantidade de ErrosTarefa 3,015Login 5,025Enviar Mensagem 2,010Carregar Página 4,020Salvar Dados 1,05Buscar Informações 6,030Atualizar Perfil •Tarefa: Representa as ações que os usuários realizam no aplicativo texto do seu parágrafo. •Quantidade de Erros: O número total de erros cometidos pelos usuários em cada tarefa. •Taxa de Erro (%): Percentual que representa a quantidade de erros em relação ao número total de tentativas de cada tarefa. 13 14 15 16 17 18 4 38 19 Métricas para Código-fonte 38 20 Facilidade de manutenção Complexidade ciclomática Coesão e acoplamento Linhas de código Abordagem proativa Revisões regulares Benefícios para o software Código mais limpo Facilidade de evolução Métricas para código-fonte 38 21 Métricas para código-fonte Fonte: Rattmann, 2024. ObservaçõesCoesão (Escala de 1-10) Complexidade Ciclomática Total de Linhas de CódigoMódulo Ideal com alta coesão e complexidade moderada: fácil de manter e testar. 915320Módulo A Gerenciável, mas com dependências que aumentam a complexidade; manutenção viável. 725450Módulo B Difícil de manter devido à baixa coesão e alta complexidade; recomenda-se reavaliação. 540500Módulo C Boa coesão, porém algumas dependências aumentam a complexidade; manutenção requer cautela. 820375Módulo D Reestruturação necessária devido à baixa coesão e alta complexidade; complicações na manutenção. 435425Módulo E Figura 5 - Métrica de linhas de código 38 22 Métricas para Testes 38 23 Tipos de métricas Cobertura de código Métricas para testes Fonte: Rattmann, 2024. RepresentaçãoDescriçãoNome Barra de progresso com porcentagem de cobertura (ex: 80%) Mede a proporção de linhas de código executadas durante os testes, garantindo que cada linha seja testada pelo menos uma vez. Cobertura de instruções Setas com caminhos testados marcados com ✓ e não testados com ✗. Avalia se todos os caminhos de decisão (branches) do código foram testados, abrangendo diferentes fluxos de execução Cobertura de Branches Duplas de caixas para cada condição (Verdadeiro/Falso) Garante que cada condição em decisão foi avaliada tanto como verdadeira quanto como falsa Cobertura de Condições Figura 6 - Métricas de teste - tipos de cobertura 38 24 Tipos de métricas Densidade de defeitos Métricas para testes Fonte: Rattmann, 2024. 19 20 21 22 23 24 5 38 25 Tipos de métricas Tempo de teste Métricas para testes Rosemari Pavan Rattmann/chatgpt/IA 38 26 Tipos de métricas Rastreamento de requisitos Métricas para testes Fonte: Rattmann, 2024. ObsStatus do Testes Descrição do Teste ID do TestePrioridadeDescrição do Requisito ID do Requisito Funcionou conforme esperado Passou Testar login com credenciais válidas TESTE-001Alta O sistema deve permitir login de usuários REQ-001 Registro foi salvo corretamente Passou Testar registro de ocorrência TESTE-002Alta O sistema deve registrar as ocorrências REQ-002 O sistema não salvou as alterações Falhou Testar edição de dados do usuário TESTE-003Média O sistema deve permitir edição de dados REQ-003 38 27 Aplicações em ambientes industriais Estudo de caso da IBM Estratégia orientada por dados Alinhamento aos objetivos do projeto Métricas para testes BRKH-STUDIO /shutterstock 38 28 Métricas para Projetos de Melhoria/Manutenção 38 29 O que medir? Métricas – manutenção/melhorias Fonte: Rattmann, 2024.Figura 6 - Métricas de teste - tipos de cobertura Valor ExemplarDescriçãoMétrica 5 horas Tempo necessário para corrigir um defeito após sua identificação. Um valor menor indica melhor manutenibilidade Tempo de Resolução de Defeitos 20 linhas/código por defeito Densidade de defeitos rem relação ao total de linhas de código. Um número menor indica um código de melhor qualidade Número de Linhas de Código por Defeito 85% Porcentagem do código que é coberta por testes automatizados. uma alta cobertura sugere maior manutenibilidade Cobertura de Testes 38 30 Complexidade ciclomática Taxa de reabertura de defeitos Taxa de mudança Métricas – manutenção/melhorias 25 26 27 28 29 30 6 38 31 Iso/ies 25010 Analisabilidade Modificabilidade Testabilidade Estabilidade Substituibilidade Métricas – manutenção/melhorias 38 32 Métricas – manutenção/melhorias Fonte: Rattmann, 2024. AçãoCondição Você escolhe pizzaSe há pizza Você escolhe um sanduícheSe não há pizza, mas há sanduíches Você escolhe frutasSe não há pizza nem sanduíches, mas há frutas Você não come nadaSe não há nada disse 38 33 Papel vital na melhoriada manutenção e evolução Métricas – manutenção/melhorias 38 34 Métricas – manutenção/melhorias F o n te : R a tt m a n n , 2 0 2 4 . Projetos de ManutençãoProjetos NovosMétrica Pode ser alta, especialmente em versões legadas Baixa durante o desenvolvimento inicial Taxa de Defeitos Pode ser maior devido à complexidade do sistema Geralmente menor devido a tesets extensivosTempo de Resolução de Defeitos Avaliada através de relatórios de usuários e revisões contínuas Avalida através de feedback inicialSatisfação do Cliente Frequentemente imprevisível devido a problemas planejados Estimativas baseadas em planos de projeto Tempo de Entrega Medida por alterações ou correções realizadas em um período Medida por linhas de código ou funcionalidades entregues Produtividade da Equipe Alta, devido a dependências e interações com partes existentes Geralmente baixa, novo códigoComplexidade do Código A cobertura pode ser menor, dependendo da documentação disponível Alta cobertura é esperadaCobertura de Testes Pode ser maior e mnos previsivel, devido a requisitos não especificados Planejado de forma detalhadaCusto de Implementação Muitas vezes incompleta ou desatualizadaCriada durante o desenvolvimentoDocumentação Monitorado continuamente e ajsutado conforme necessário Avaliado após o lançamentoFeedback de Performance 38 35 Repositórios de Métricas e Ferramentas 38 36 Onde encontrar? IEEE – Xplore Digital Library Scopus Outros Repositórios de métricas Alena Divina/shutterstock 31 32 33 34 35 36 7 38 37 SonarQube Identifica áreas problemáticas do código JUnit Identifica código não testado JMeter Medição de carga e eficiência Ferramentas para métricas 38 38 Postman Testes de APIs Checkmarx Detectar vulnerabilidades (segurança) Ferramentas para métricas 38 39 37 38 39