Baixe o app para aproveitar ainda mais
Prévia do material em texto
AVALIAÇÃO DE SOFTWARE Aula 2- VERIFICAÇÃO E VALIDAÇÃO Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Conteúdo Programático desta aula Testes de verificação e de validação Etapas dos testes de verificação Etapas dos testes de validação Principais problemas que derivam da implantação inadequada de processos de desenvolvimento de software Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Verificação e Validação Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Vamos relembrar? Qual o principal objetivo do processo de qualidade de software? Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Qualidade de Software Garantir que todos os produtos previstos na metodologia empregada estejam em conformidade com os requisitos implementados. Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Qualidade de Software “Qualidade não é uma fase do ciclo de desenvolvimento de software é parte de todas as fases” Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Testes de Validação Testes de Verificação Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Verificação + Validação Garantir o processo Garantir a qualidade do produto Teste = Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Testes de Verificação Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Testes de Validação Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Testes de Validação Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Testes de Validação Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Ausência da gerência de qualidade independente Ausência de procedimentos de testes automatizados Qualidade é aplicada tardiamente no projeto Ausência de profissionais capacitados em qualidade Falta de um modelo corporativo de qualidade Fatores do Insucesso dos Processos de Qualidade Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Foco em testes progressivos aumenta riscos Deficiência no planejamento dos testes Sob pressão os testes são sacrificados Ausência de um ambiente isolado de testes Transferir o planejamento ao analista de sistemas Dificultar o acesso do analista de testes ao software Fatores do Insucesso dos Processos de Qualidade Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Resumo Final Verificação e validação Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Verificação e Validação Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Resumo Final Verificação e validação Etapas dos testes de verificação Etapas dos testes de validação Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Testes de Validação Testes de Verificação Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Resumo Final Verificação e validação Etapas dos testes de verificação Etapas dos testes de validação Principais problemas que derivam da implantação inadequada de processos de desenvolvimento de software Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Ausência da gerência de qualidade independente Ausência de procedimentos de testes automatizados Qualidade é aplicada tardiamente no projeto Ausência de profissionais capacitados em qualidade Falta de um modelo corporativo de qualidade Foco em testes progressivos aumenta riscos Deficiência no planejamento dos testes Sob pressão os testes são sacrificados Ausência de um ambiente isolado de testes Transferir o planejamento ao analista de sistemas Dificultar o acesso do analista de testes ao software Fatores do Insucesso dos Processos de Qualidade Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Explorando o tema Não esqueça de consultar o material didático e a biblioteca virtual da Estácio! Tema da Apresentação VERIFICAÇÃO E VALIDAÇÃO – AULA2 Avaliação de Software Obrigada e até a próxima aula! Tema da Apresentação * Nesta aula iremos compreender que não é possível conceber um processo de garantia de software sem integrá-lo ao ciclo de desenvolvimento de software. Iremos estudar que o processo de qualidade está decomposto em fases que se organizam em formato de “U” e que possuem uma relação de “um-para-um” entre suas atividades e as fases do processo de desenvolvimento de software. O objetivo deste processo é garantir que durante o ciclo de desenvolvimento do software produza todos os produtos previstos na metodologia empregada e que o aplicativo que está sendo construído esteja adequado com os requisitos documentados. Desta forma iremos compreender que a qualidade do software só ocorre na medida em que existem os testes de verificação e validação. * Histórico das atividades de testes no processo de desenvolvimento de software desde 1960 até os dias atuais. Entender a importância do processo de software contemplar atividades de testes Compreender o conceito de qualidade de software em seu sentido mais amplo. Compreender a importância na realização de teses por todas as fases do processo de desenvolvimento. * * Com já vimos na aula anterior o controle da qualidade é um processo contínuo e sistêmico de acompanhamento da eficiência do desenvolvimento do software em relação aos requisitos propostos. Normalmente temos uma tendência a pensar o desenvolvimento de software como uma linha de tempo na qual todas as etapas serão cumpridas e que existe uma etapa específica para a realização dos testes. É um equívoco pensarmos que somente obteremos qualidade após a codificação de partes do produto a ser desenvolvido, o que fere inclusive a regra 10 de Myers estudada na aula 1. Desta forma devemos garantir a qualidade de todas as etapas do processo de desenvolvimento, não sendo possível um processo de qualidade que não seja integrado ao processo de desenvolvimento. * * * * O processo de qualidade de software pode ser decomposto em fases que se organizam em um formato de “U” e consequentemente deve existir uma relação de “um-para-um” entre as fases de desenvolvimento e as atividades a serem desempenhadas pela equipe de qualidade, conforme mostra a figura a seguir: O processo de desenvolvimento de software é dividido em dois momentos que possuem características diferentes e consequentemente necessitam de métodos de avaliação também difirentes: MOMENTO 1: É a coleta de informações de negócios e o planejamento da arquitetura do software. Nesta fase a principal preocupação é o entendimento e a coerência entre o negócio a ser atendido e o software a ser construído. Nesta fase não existem componentes tecnológicos, mas documentos que especificam o comportamento a ser seguido pelo software a ser desenvolvido Momento2: Esta fase caracteriza-se pela existência de um componente computacional (seja em parte ou um todo da solução) * Os testes de verificação e validação são complementares, não devendo ser encarados como atividades redundantes. Cada um possui natureza e objetivo distinto, fortalecendo desta forma o processo de detecção de erros e aumentando a qualidade final do produto. * Processo de auditoria de atividades e avaliação de documentos gerados em todas as fases do processo de desenvolvimento do software.Não envolve o processamento de softwares, pois não exste uma encarnação deste ainda. Os testes de verificação serão aplicados respeitando os estágios do desenvolvimento: Verificação dos negócios: O objetivo desta fase é garantir que os diversos documentos produzidos tenham total aderência às necessidades apontadas pelos clientes. Verificação dos requisitos : O objetivo desta fase é a verificação das especificações do levantamento dos requisitos funcionais e não funcionais do software a ser desenvolvido. Verificação da analise e modelagem : O objetivo desta fase não está somente na avaliação da aderência da solução tecnológica aos requisitos funcionais e não funcionais estabelecidos pelo cliente, mas também em avaliar a modelagem da solução como um todo. Verificação da Implementação : O objetivo desta fase é garantir a qualidade do código-fonte gerado pela equipe de desenvolvimento. Essa qualidade é atribuída pela prática das regras da boa programação. É um processo formal de verificação do código produzido. * * Os testes são baseados no comportamento do software através de simulações de diversas condições baseadas e comparadas com as especificações levantadas pela área de negócio. Durante o desenvolvimento do software serão aplicadas diferentes categorias de testes utilizando ferramentas, técnicas e abordagens diferentes. As atividades de teste (planejamento, modelagem, execução e conferência) deverão ocorrer em paralelo às atividades de construção de componentes executáveis e respeitando os estágios de desenvolvimento. * Validação da unidade A validação de unidade é a primeira etapa do processo de validação que tem por objetivo testar componentes individuais de uma aplicação. Validação da integração A validação de integração é uma continuação natural dos testes unitários. Estes testes têm por objetivo validar a compatibilidade entre componentes de um software. validação do sistema A validação do sistema tem com objetivo validar a solução como um todo. Quando este estágio é atingido a maior parte das falhas de funcionalidade deve ter sido detectada pelos testes unitários e pelos testes de integrações. Validação do aceite A validação do aceite é o último estágio do processo de validação. Trata-se do último processo formal de detecção de erros no sistema, antes de sua disponibilização no ambiente de produção. Nesta etapa o software é disponibilizado para clientes e usuários com o objetivo de estes validarem todas as funcionalidades requisitadas no início do projeto. * Não é de hoje que as empresas, conscientes da necessidade de produzirem software com qualidade, tentam em vão inserir processos de qualidade dentro de suas estruturas de desenvolvimento. Relacionamos abaixo 11 dos principais fatores que influenciam esse insucesso das empresas na implantação de processo de aferição da qualidade do processo (verificações) e do produto (validações): * Todas as decisões tomadas durante o processo de desenvolvimento do software pode comprometer sua qualidade final. Se desejarmos produzir software com qualidade, é necessário investir em qualidade em todos os pontos do processo. * Custos da Conformidade Significa o esforço para garantir a qualidade. São todos os investimentos realizados para planejar e manter toda uma infra-estrutra de pessoas, processos e ferramentas cujo objetivo seja prevenir e detectar. Custos da não-conformidade Está relacionado aos defeitos e suas correções. São todos os custos de atividades ligadas ao esforço de reparar falhas de produtos originados no decorrer do processo de desenvolvimento. * Com já vimos na aula anterior o controle da qualidade é um processo contínuo e sistêmico de acompanhamento da eficiência do desenvolvimento do software em relação aos requisitos propostos. Normalmente temos uma tendência a pensar o desenvolvimento de software como uma linha de tempo na qual todas as etapas serão cumpridas e que existe uma etapa específica para a realização dos testes. É um equívoco pensarmos que somente obteremos qualidade após a codificação de partes do produto a ser desenvolvido, o que fere inclusive a regra 10 de Myers estudada na aula 1. Desta forma devemos garantir a qualidade de todas as etapas do processo de desenvolvimento, não sendo possível um processo de qualidade que não seja integrado ao processo de desenvolvimento. * Custos da Conformidade Significa o esforço para garantir a qualidade. São todos os investimentos realizados para planejar e manter toda uma infra-estrutra de pessoas, processos e ferramentas cujo objetivo seja prevenir e detectar. Custos da não-conformidade Está relacionado aos defeitos e suas correções. São todos os custos de atividades ligadas ao esforço de reparar falhas de produtos originados no decorrer do processo de desenvolvimento. * O processo de qualidade de software pode ser decomposto em fases que se organizam em um formato de “U” e consequentemente deve existir uma relação de “um-para-um” entre as fases de desenvolvimento e as atividades a serem desempenhadas pela equipe de qualidade, conforme mostra a figura a seguir: O processo de desenvolvimento de software é dividido em dois momentos que possuem características diferentes e consequentemente necessitam de métodos de avaliação também difirentes: MOMENTO 1: É a coleta de informações de negócios e o planejamento da arquitetura do software. Nesta fase a principal preocupação é o entendimento e a coerência entre o negócio a ser atendido e o software a ser construído. Nesta fase não existem componentes tecnológicos, mas documentos que especificam o comportamento a ser seguido pelo software a ser desenvolvido Momento2: Esta fase caracteriza-se pela existência de um componente computacional (seja em parte ou um todo da solução) * Custos da Conformidade Significa o esforço para garantir a qualidade. São todos os investimentos realizados para planejar e manter toda uma infra-estrutra de pessoas, processos e ferramentas cujo objetivo seja prevenir e detectar. Custos da não-conformidade Está relacionado aos defeitos e suas correções. São todos os custos de atividades ligadas ao esforço de reparar falhas de produtos originados no decorrer do processo de desenvolvimento. * Não é de hoje que as empresas, conscientes da necessidade de produzirem software com qualidade, tentam em vão inserir processos de qualidade dentro de suas estruturas de desenvolvimento. Relacionamos abaixo 11 dos principais fatores que influenciam esse insucesso das empresas na implantação de processo de aferição da qualidade do processo (verificações) e do produto (validações): *
Compartilhar