Qualidade de Software Histórico e Fundamentos Professor: Lucas Portela Costa da Silva lucas.portela@ifmg.edu.br A história do teste de software teve início há muitos anos, mas foi em 1957 que o conceito mudou um pouco: ao invés de apenas verificar se o produto funciona, o processo de detecção de erros também passou a ser considerado. E, em 1979, foram produzidos os primeiros trabalhos complexos dentro deste contexto. Evolução dos conceitos de qualidade Os primeiros passos foram dados por W.A. Shewhart, estatístico norte-americano que se preocupou com a questão da variabilidade na produção. A partir dessa problemática, Shewhart criou duas ferramentas importantíssimas para a Gestão da Qualidade, que são o Controle Estatístico de Processo (CEP) e o Ciclo PDCA, que mais tarde ficou conhecido como Ciclo Deming da Qualidade. Ciclo de Deming PDCA(Plan-Do-Check-Act), é uma metodologia de melhoria contínua evoluída por W. Edwards Deming. Amplamente utilizado em processos de gestão da qualidade, incluindo o desenvolvimento de software, e segue quatro fases que formam um ciclo Plan Planejar) Nesta fase, são identificados problemas ou oportunidades de melhoria. Em termos de software, isso pode incluir o levantamento de requisitos, definição de metas de qualidade, identificação de defeitos, ou definição de processos de desenvolvimento. Plan Planejar) O planejamento cuidadoso é crucial para assegurar que a solução ou melhoria tenha uma direção clara. Exemplo: Se uma equipe percebe que o tempo de resposta de um sistema está lento, pode planejar melhorias no código ou na infraestrutura para otimizar o desempenho. Do Executar) A fase de execução é quando as ações planejadas são implementadas. Aqui, no contexto de software, a equipe de desenvolvimento trabalha nas mudanças ou melhorias necessárias. Do Executar) A implementação pode incluir o desenvolvimento de novas funcionalidades, correções de bugs, ou ajustes no processo de trabalho. Exemplo: A equipe desenvolve e implementa o código otimizado conforme o planejamento anterior. Check Verificar) Após a execução, é essencial verificar se os resultados alcançados estão de acordo com as expectativas. A fase de verificação envolve a análise e medição do desempenho em comparação com os objetivos de qualidade estabelecidos no planejamento. Check Verificar) Testes e auditorias são comuns nesse estágio para avaliar se as mudanças surtiram o efeito esperado. Exemplo: Após a otimização do sistema, a equipe mede o tempo de resposta para verificar se houve melhoria significativa no desempenho. Act Agir) Dependendo dos resultados da fase de verificação, a fase de ação envolve a implementação de ajustes ou a padronização das melhorias bem-sucedidas. Act Agir) Se os resultados forem satisfatórios, as novas práticas são adotadas permanentemente. Caso contrário, o ciclo recomeça, revisando o planejamento e buscando novas soluções. Exemplo: Se o tempo de resposta foi melhorado, a equipe pode padronizar a nova prática de otimização. Caso contrário, uma nova rodada de análise e planejamento é iniciada. Modelos de Qualidade Diversos modelos de qualidade foram desenvolvidos, como o CMMI e o ISO 25010. Estes modelos fornecem diretrizes para garantir que o software atenda a padrões de qualidade estabelecidos. CMMI Capability Maturity Model Integration) Modelo de melhoria de processos que ajuda empresas a aprimorar a qualidade e eficiência de suas operações. Ele oferece uma estrutura clara para que as organizações evoluam, passando por cinco níveis de maturidade, desde processos básicos e desorganizados até operações altamente otimizadas e eficientes. Isso permite às empresas identificar falhas, padronizar procedimentos e garantir entregas consistentes e de alta qualidade. CMMI Capability Maturity Model Integration) O modelo foca na melhoria contínua, ajudando as organizações a prever problemas, aumentar a produtividade e se destacar no mercado. Com ele, é possível otimizar operações, reduzir custos e melhorar a satisfação dos clientes, tornando a empresa mais competitiva e preparada para enfrentar desafios. ISO 25010 É um padrão internacional que define um modelo de qualidade para software, focando em garantir que os produtos atendam às necessidades dos usuários e sejam confiáveis. O modelo divide a qualidade do software em duas grandes categorias: Qualidade do Produto e Qualidade em Uso ISO 25010 Dentro dessas categorias, estão oito características principais, comofuncionalidade,eficiência de desempenho, manutenibilidade e segurança, que servem como diretrizes para avaliar e melhorar a qualidade de um software de forma consistente. ISO 25010 Desta forma as organizações conseguem alinhar seus projetos de software às melhores práticas internacionais, garantindo que o produto final seja robusto, fácil de usar e confiável. O padrão ajuda as equipes a identificar aspectos críticos que precisam de atenção durante o desenvolvimento, como usabilidade, segurança e adaptabilidade, permitindo que as soluções sejam mais completas e atinjam um alto nível de satisfação dos usuários. Atividade prática Aplicando o PDCA