Prévia do material em texto
Qualidade de Software Definição, Ferramentas e Processos de Trabalho Agenda Definição de Qualidade de Software Ferramentas para Qualidade de Software Processos de Trabalho em Qualidade de Software Definição de Qualidade de Software Qualidade de software refere-se ao grau em que um software atende aos requisitos especificados e às expectativas dos usuários, proporcionando uma experiência confiável, eficiente e satisfatória. - Conceito de qualidade em software: Medida de quão bem o software atende às especificações. - Importância para o sucesso do projeto: Qualidade alta reduz bugs e falhas. - Impacto na satisfação do usuário: Usuários satisfeitos com um software confiável e fácil de usar. Características da Qualidade de Software - Funcionalidade: O software atende às funções e características esperadas. - Confiabilidade: O software funciona de forma consistente e livre de falhas. - Usabilidade: O software é fácil de usar e entender. - Eficiência: O software utiliza os recursos de forma otimizada. - Manutenibilidade: O software é fácil de corrigir, melhorar e adaptar. - Portabilidade: O software pode ser transferido para diferentes ambientes. Padrões de Qualidade de Software - ISO/IEC 25010: Padrão internacional para avaliação de qualidade de software. - CMMI (Capability Maturity Model Integration): Modelo de maturidade para a melhoria de processos. Ferramentas de Qualidade de Software - JIRA: Gerenciamento de projetos e bugs. - Selenium: Testes automatizados. - JUnit: Testes unitários. - SonarQube: Análise de código estática. Ferramentas de Qualidade de Software (Continuação) Como cada ferramenta contribui para a qualidade do software: - JIRA: Facilita a rastreabilidade e gestão de tarefas. - Selenium: Automatiza testes de interface de usuário. - JUnit: Facilita a criação e execução de testes unitários. - SonarQube: Avalia a qualidade do código e detecta problemas. Processos de Trabalho em Qualidade de Software - Ciclo de Vida do Desenvolvimento de Software (SDLC): Estrutura para o desenvolvimento de software. - Modelos de Desenvolvimento: Waterfall, Agile. - Revisões e Inspeções de Código: Práticas para garantir qualidade contínua. Ciclo de Vida do Desenvolvimento de Software (SDLC) O SDLC é um processo estruturado que abrange todas as etapas do desenvolvimento de software: - Planejamento: Definição de requisitos e escopo. - Análise: Análise detalhada dos requisitos. - Design: Criação da arquitetura e design do software. - Implementação: Codificação do software. - Teste: Verificação e validação do software. - Manutenção: Atualizações e correções contínuas. Modelos de Desenvolvimento Comparação entre Waterfall e Agile: - Waterfall: Etapas sequenciais, cada fase deve ser concluída antes da próxima começar. - Agile: Iterativo e incremental, permite ajustes contínuos ao longo do projeto. Revisões e Inspeções de Código Importância das revisões de código para garantir a qualidade: - Revisão por pares: Código revisado por outros desenvolvedores. - Inspeção formal: Revisão detalhada e documentada do código. Case Study: Microsoft Como a Microsoft implementa qualidade de software em seus processos: - Ferramentas utilizadas: Exemplo de ferramentas como Azure DevOps. - Metodologias adotadas: Uso de Agile e DevOps. - Resultados alcançados: Aumento da eficiência e redução de bugs. Boas Práticas de Qualidade de Software Dicas e boas práticas para garantir a qualidade de software: - Teste contínuo: Integração contínua de testes. - Automação de testes: Uso de ferramentas para automatizar testes. - Feedback constante: Feedback regular de todas as partes interessadas. - Documentação clara: Manter documentação precisa e atualizada. Conclusão Recapitulação dos pontos principais abordados na apresentação: - Definição de qualidade de software: Importância e impacto. - Ferramentas essenciais: JIRA, Selenium, JUnit, SonarQube. - Processos e boas práticas: SDLC, Waterfall, Agile, revisões de código. Perguntas e Discussão Espaço para perguntas e discussão com os alunos. image1.jpeg image2.png image3.svg .MsftOfcResponsive_Fill_4bacc6 { fill:#4BACC6; } image4.png image5.svg .MsftOfcResponsive_Fill_60e146 { fill:#60E146; } image6.png image7.svg .MsftOfcResponsive_Fill_f79646 { fill:#F79646; } image9.png image10.svg .MsftOfcResponsive_Fill_c0504d { fill:#C0504D; } image11.png image12.svg .MsftOfcResponsive_Fill_c0504d { fill:#C0504D; } image13.png image14.svg .MsftOfcResponsive_Fill_c0504d { fill:#C0504D; } image15.png image16.svg .MsftOfcResponsive_Fill_c0504d { fill:#C0504D; } image8.jpeg image18.png image27.svg .MsftOfcResponsive_Fill_1f497d { fill:#1F497D; } image19.svg .MsftOfcResponsive_Fill_1f497d { fill:#1F497D; } image20.png image21.svg .MsftOfcResponsive_Fill_1f497d { fill:#1F497D; } image22.png image23.svg .MsftOfcResponsive_Fill_1f497d { fill:#1F497D; } image24.png image25.svg .MsftOfcResponsive_Fill_1f497d { fill:#1F497D; } image26.png image17.jpeg image28.png image29.svg .MsftOfcResponsive_Fill_ffffff { fill:#FFFFFF; } image30.png image31.svg .MsftOfcResponsive_Fill_ffffff { fill:#FFFFFF; } image32.png image33.svg .MsftOfcResponsive_Fill_ffffff { fill:#FFFFFF; } image34.jpeg image35.jpeg image36.jpeg image37.png image38.svg .MsftOfcResponsive_Fill_4bacc6 { fill:#4BACC6; } image39.png image40.svg .MsftOfcResponsive_Fill_47d872 { fill:#47D872; } image41.png image42.svg .MsftOfcResponsive_Fill_ace946 { fill:#ACE946; } image43.png image44.svg .MsftOfcResponsive_Fill_f79646 { fill:#F79646; } image45.jpeg