Engenharia de Software 2 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT em Arquitetura de Software Qualidade de Software Teste de Software Sumrio 3 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT em Arquitetura de Software possvel garantir que o software funcione corretamente, sem a presena de erros? ...crise de software 4 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT Engenharia de Software com Desenvolvimento .NET Garantia da qualidade e padres Planejamento da Qualidade Controle da Qualidade Medidas e Mtricas de Software Qualidade de Software 5 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT Engenharia de Software com Desenvolvimento .NET Encapsulamento das melhores prticas evita a repetio de erros uma moldura para a garantida da qualidade dos processos batimento constante com os padres Prov continuidade novas equipes podem se situar na organizao pelo entendimento dos padres de qualidade utilizados Qualidade de Software Importncia dos Padres 6 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT em Arquitetura de Software No so vistos como relevantes e atuais pelos engenheiros de software Envolvem muita burocracia e preenchimento de formulrios No so suportados pelas ferramentas de Engenharia de Software O trabalho de manuteno de padres pode ser entediante Dificuldades com os Padres de Qualidade de Software 7 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT Engenharia de Software com Desenvolvimento .NET As mtricas de software buscam um ndice numrico para valorar o processo de software Isso permite comparaes objetivas entre as tcnicas e os processos Embora algumas empresas tenham introduzido programao de mtricas, o uso sistemtico ainda pequeno H poucos padres nessa rea. Medidas de Software e Mtricas 8 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT Engenharia de Software com Desenvolvimento .NET 9 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT Engenharia de Software com Desenvolvimento Java Qualidade de Software A qualidade de software busca assegurar que o software atende aos requisitos Os procedimentos devem ser documentados em um manual de qualidade da organizao Os padres de software so o encapsulamento das melhores prticas As revises so, ainda, a abordagem mais utilizada para garantir a qualidade do software As mtricas de qualidade podem ser utilizadas para identificar componentes problemticos No existemmtricas aceitas e padronizadas universalmente Testar programas para garantir a ausncia de erros um processo da Engenharia de Software com objetivo encontrar o maior numero de defeitos no produto, dispondo do esforo mnimo Correo antes da entrega final Testes de Software 10 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT Engenharia de Software com Desenvolvimento .NET Testes de Componentes Teste dos componente individualmente Usualmente de responsabilidade do desenvolvedor Testes so criados com a experincia prtica do desenvolvedor Testes de Integrao Testes de grupos de componentes (sub-sistema) Responsabilidade de um time de testes independente Baseados nas especificaes e requisitos Processo de Testes 11 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT Engenharia de Software com Desenvolvimento .NET Processo de Testes - Fases 12 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT Engenharia de Software com Desenvolvimento .NET Apenas o teste exaustivo mostra que um programa est livre de defeitos. (Impossvel) Os testes devem exercitar as capacidades do sistema e no os seus componentes Testar situaes tpicas mais importante do que as condies de contorno Processo de Testes 13 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT em Arquitetura de Software Uma abordagem onde o programa considerado uma caixa preta Os casos de teste so baseados nas especificaes do sistema O planejamento de testes pode comear mais cedo no processo de software Testes de Caixa Preta 14 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT Engenharia de Software com Desenvolvimento .NET Teste de Caixa Preta 15 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT em Arquitetura de Software Tambm conhecido como teste estrutural Os casos de teste so derivados da estrutura do programa O conhecimento da estrutura do programa utilizado para identificar os casos de teste O objetivo exercitar todos os comandos do programa Teste de Caixa Branca 16 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT em Arquitetura de Software Teste de Caixa Branca 17 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT em Arquitetura de Software Uma unidade a menor parte testvel de um programa de computador Em programao orientada a objetos, uma unidade pode ser uma classe Idealmente, cada teste de unidade independente dos demais, o que possibilita ao programador testar cada classe isoladamente. Teste de Unidade 18 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT em Arquitetura de Software Testam o sistema como um todo com seus componentes integrados Devem ser do tipo black-box Mais difcil de localizar os erros So realizados de forma incremental Podem ser realizados top-down ou bottom-up Testes de Integrao 19 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT em Arquitetura de Software Testes de Integrao 20 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT Engenharia de Software com Desenvolvimento .NET Testes de Integrao Top-Down 21 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT Engenharia de Software com Desenvolvimento .NET Testes de Integrao Bottom-UP 22 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT em Arquitetura de Software Realizado por um grupo restrito de usurios finais do sistema Simulam operaes de rotina do sistema de modo a verificar se seu comportamento est de acordo com o solicitado Teste formal conduzido para determinar se um sistema satisfaz ou no seus critrios de aceitao e para permitir ao cliente determinar se aceita ou no o sistema Validao de um software com o uso de dados ou cenrios especificados ou reais Pode incluir testes funcionais, de configurao, de recuperao de falhas, de segurana e de desempenho Teste de Aceitao 23 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT em Arquitetura de Software Testar as partes do sistema mais usadas Testes de caixa-preta so baseados nas especificaes do sistema Testes de componentes testam os componentes individualmente Os testes estruturais exercitam todos os comandos do sistema Os testes de integrao podem ser realizados de forma top- down ou bottom-up Testes de Software - Resumo 24 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT Engenharia de Software com Desenvolvimento .NET Independentemente da metodologia de trabalho empregue para o desenvolvimento de um software, para que se obtenha um produto final com um certo nvel de qualidade imprescindvel a melhoria dos processos de engenharia de software Concluso 25 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT em Arquitetura de Software EDUCAO SUPERIOR ORIENTADA AO MERCADO Informaes para o vestibular: w w w . i n f n e t . e d u . b r / v e s t i b u l a r Rua So Jos 90, 2 andar Esquina com Avenida Rio Branco CEP 20010-020 26 ESCOLA SUPERIOR DA TECNOLOGIA DA INFORMAO MIT Engenharia de Software com Desenvolvimento .NET