Buscar

Aula_03

Prévia do material em texto

AVALIAÇÃO DE SOFTWARE
Aula 3- Métodos de validação de Qualidade de Software
 
1
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
Nesta aula o aluno irá compreender os principais métodos de testes de verificação. Aprenderá a explicar a aplicação e funcionamento: das revisões e suas modalidades, das auditorias, do Processo de verificação e do check list na verificação. Estará apto a realizar testes de verificação nas diversas fases do processo de desenvolvimento de software e entenderá a importância das revisões nas diversas fases do processo de desenvolvimento. 
2
Conteúdo Programático desta aula
Diferenciar os principais métodos de testes de verificação
Explicar a aplicação e funcionamento: 
 das revisões e suas modalidades
 das auditorias
 do Processo de verificação
 do check list na verificação
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
3
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
4
Testes de Verificação
 
Revisões
Foco nas Documentações
Qualidade 
do processo
 de software
Auditorias
Foco nas Atividades
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
os testes de verificação devem garantir a qualidade de todas as etapas do desenvolvimento de sistemas. Neste sentido a qualidade será obtida através da correta construção de documentos e a adequada realização das atividades previstas no processo corporativo de engenharia de software. Desta forma os testes de verificação devem concentra-se em dois aspectos bem distintos:
5
Revisões Técnicas
 
Mecanismo mais efetivo para descobrir erros antes que sejam passados para os usuários finais
É um processo 
Humano
de análise de determinado documento e consequentemente um processo subjetivo e passível de falhas
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
os testes de verificação devem garantir a qualidade de todas as etapas do desenvolvimento de sistemas. Neste sentido a qualidade será obtida através da correta construção de documentos e a adequada realização das atividades previstas no processo corporativo de engenharia de software. Desta forma os testes de verificação devem concentra-se em dois aspectos bem distintos:
6
Por que são importantes?
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
Ao se descobrir um erro logo no início do processo, fica menos caro corrigí-lo. Nós já estudamos isso através da regra 10 de Myers, lembra? Assim devemos levar em consideração que os erros podem aumentar à medida que o processo continua.  
Um erro relativamente insignificante, sem tratamento no início do processo, pode ser ampliado e se transformar em um conjunto de erros graves para a sequência do projeto.  
As revisões minimizam o tempo de desenvolvimento do software devido à redução do número de reformulações que serão necessárias ao longo do projeto. Existem diferentes técnicas de revisão e cada uma delas apresenta características e um tipo de aplicação. Para cada fase do processo de criação de documentos, conforme a figura abaixo, poderemos aplicar um tipo de revisão diferente:
 
7
Técnicas de revisão
Autor
R
E
V
I
S
Ã
O
I
S
O
L
A
D
A
Revisor
Documento
Criação do Documento
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
Existem diferentes técnicas de revisão e cada uma delas apresenta características e um tipo de aplicação. Para cada fase do processo de criação de documentos, conforme a figura abaixo, poderemos aplicar um tipo de revisão diferente:
 
Revisão isoladas Esse método de verificação é muito eficiente apesar de pouco explorado, na detecção prematura de erros de definições e soluções registradas. Seu objetivo principal é antecipar a revisão de documento com entregas de versões ainda não acabadas para que possam ser analisados os tópicos já abordados, são realizadas validações parciais do documento. Desta forma possibilita correções nos documentos durante sua fase de concepção.
 
Nesta caso a ação dos revisores é isolada, sendo normalmente utilizado um único revisor que proporá as modificações necessárias. O grande problema desta técnica é que o autor pode ter uma visão de conjunto mais apurada que o revisor já que a utilização de único revisor poderá propor mudanças que prejudiquem uma visão integrada do problema.
 
8
Técnicas de revisão
Moderador
Autor
Documento
Revisão Formal
Grupo 
De
 Revisão
Validação
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
São técnicas mais efetivas e bem estruturadas. Baseiam-se em reuniões com um grupo de profissionais responsáveis em identificar falhas presentes em documentos gerados nas diversas etapas do desenvolvimento. Esta técnica apresenta regras próprias que devem ser respeitadas e que visam à identificação do maior número possível de erros nas documentações. 
 
O autor do documento estará presente somente para responder às dúvidas e eventuais questões levantadas pelos revisores, não podendo conduzir a reunião. Com a participação limitada do autor, o documento poderá ser analisado de uma perspectiva diferente. Desta forma todos os participantes devem ter estudado o documento e os assuntos tratados por ele. 
 
As revisões formais exigem uma equipe multidisciplinar de profissionais de forma que as decisões sejam analisadas por diversos ângulos. É fundamental documentar tudo o que foi discutido, os principais problemas detectados, suas correções e as sugestões de melhoria. Esta documentação é produzida pela equipe de qualidade e posteriormente apresentada aos autores do documento para realização das modificações e posteriormente submetido a uma nova revisão.
 
9
As fases do processo de revisão
 
Planejamento
Selecionar a equipe, alocar as funções, definir os critérios de entrada e de saída para os diversos tipos de revisão, e selecionar quais as partes dos documentos serão vistos.
Kick-off
 
Distribuir os documentos, explicar os objetivos, processos e documentos para os participantes; e checar os critérios de entrada (para os diversos tipos de revisão).
 
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
10
As fases do processo de revisão
 
Preparação individual
 
Trabalho feito por cada participante antes da reunião de revisão, tomando nota dos defeitos em potenciais, questões e comentários.
 
Re-trabalho
 
Resolver defeitos encontrados. Atividade tipicamente realizada pelo autor. 
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
11
As fases do processo de revisão
 
Acompanhamento
 
Checar se os defeitos foram encaminhados, obtendo métricas e checando o critério de saída (para tipos de revisões formais).
 
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
12
Técnicas de revisão
Autor
Reunião de acompanhamento
Documento
Grupo 
De
 Acompanhamento
Divulgação
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
As reuniões de acompanhamento é a forma de verificação menor formal do que as reuniões de revisão, já que não necessita de uma adequada preparação por parte dos participantes. Neste caso somente o apresentador que normalmente é o autor do documento prepara-se para a reunião enquanto o demais participantes simplesmente comparecem. O Objetivo desta reunião não é a detecção de erros e sim democratizar as informações entre todos os participantes, o que permite envolver um número maior de pessoas que podem colaborar no processo de desenvolvimento do software.
A dinâmica normalmente utilizada é a distribuição do material a todos os participantes para que possam realizar a análise antecipada dos documentos e que posteriormente em reunião pré-agendada todos poderão debater dúvidas e divergências existentes. 
 
13
Auditoria de Qualidade 
Um determinado projeto e as diversas equipes estãorespeitando o processo de desenvolvimento;
estão registrando os defeitos encontrados
Se estão produzindo as atas de reuniões
Se estão realizando as reuniões de revisões,
Se estão realizando as documentações obrigatórias
Se estão atualizando o mapa de riscos dos projetos
E se estão envolvendo clientes e usuários nos processos
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
O processo de validação requer um conjunto de procedimentos e regras, dentre várias possibilidades, que auxiliarão as equipes de qualidade na verificação:
O checklist é um poderoso instrumento a ser aplicado nas revisões de documentos e auditorias de processo de trabalho pois possibilita direcionar todas as atividades dos testes de verificação nas diferentes fases do processo, conforme a figura abaixo.
Devem ser utilizados como um acessório durante as fases de verificação, pois possibilita direcionar todas as atividades dos testes de verificação e servem como “guias” para o trabalho de revisão reduzindo o grau de subjetividade. 
 
 
14
Aplicação do processo de verificação
Planejar mão de obra e tarefas de cada um
Preparar o pessoal de forma que recebam o máximo de material sobre o tema em questão.
Verificar os documentos
Aplicar check-list nas verificações
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
O processo de validação requer um conjunto de procedimentos e regras, dentre várias possibilidades, que auxiliarão as equipes de qualidade na verificação:
O checklist é um poderoso instrumento a ser aplicado nas revisões de documentos e auditorias de processo de trabalho pois possibilita direcionar todas as atividades dos testes de verificação nas diferentes fases do processo, conforme a figura abaixo.
Devem ser utilizados como um acessório durante as fases de verificação, pois possibilita direcionar todas as atividades dos testes de verificação e servem como “guias” para o trabalho de revisão reduzindo o grau de subjetividade. 
 
 
15
Verificação dos negócios
Checklist 
de Verificação dos negócios
Verificação de requisitos
Testes de Verificação
Verificação de análise e modelagem
Verificação de implementação
Checklist 
de verificação de requisitos
Checklist 
de Verificação de análise e modelagem
Checklist 
de verificação de implementação
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
As verificações devem ser aplicadas com um nível de formalidade apropriado para o produto a ser construído, a cronologia do projeto e as pessoas que estão realizando o trabalho. 
 
A formalidade do processo está relacionada a fatores como a maturidade do processo de desenvolvimento, requisitos legais e reguladores ou a necessidade de acompanhamento de auditoria. O modo como o processo é conduzido depende do seu objetivo (ex: encontrar defeitos, obter compreensão, discussão ou decisões por um consenso) e do tipo de verificação a ser realizada: reuniões isoladas, reuniões formais, reuniões de acompanhamento e auditorias.
 
16
 Revisar o produto, não o produtor.
Estabelecer uma agenda e mantê-la
Limitar debates e refutação
Enunciar as áreas do problema, mas não tentar resolver todo o problema registrado.
Tomar notas
Limitar o número de participantes e insistir na preparação antecipada
Desenvolver uma lista de verificação para cada artefato que provavelmente será revisado ou auditado.
Alocar os recursos e programar o tempo para as RTFs ou auditorias
Realizar treinamento para todos os revisores ou auditores.
Revisar as revisões ou auditorias iniciais
Boas práticas para revisões e auditorias
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
Diferentes tipos de revisão podem ser utilizados em um único tipo de documento. Seja uma revisão de acompanhamento (walkthrough), uma revisão técnica ou uma inspeção, cada RTF (revisão técnica formal) é realizada como uma reunião e apenas será bem-sucedida se for apropriadamente planejada, controlada e tiver a participação de todos os envolvidos. 
 
Cada reunião de revisão deve ser preparada antecipadamente, porém não deve tomar mais que duas horas de trabalho de cada pessoa. Devem estar envolvidas de 3 a 5 pessoas em uma revisão e cada reunião de revisão deve ser de pelo menos de duas horas.
 
Durante a RTF(revisão técnica formal), um revisor registra ativamente todos os problemas levantados. Estes são sintetizados no final da reunião de revisão e é produzida uma lista de problemas de revisão, além do relatório sintetizado da revisão técnica formal. Normalmente o relatório sintetizado é um formulário de uma página, cujo anexo é a lista de problemas de revisão.
 
O relatório sintetizado de revisão deve responder a três questões:
O que foi revisado?
Quem o revisou?
Quais foram as descobertas e as conclusões?
17
As fases dos Testes de Verificação
 
Verificação de negócios
Verificação de requisitos
Verificação de análise e modelagem
Verificação de implementação
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
18
Fase de negócio
Verificação dos negócios
Modelo de Negócios
Modelar as necessidades e estabelecer uma macrovisão.
Identificar expectativas e exigências do cliente.
Estimar prazos e custos do projeto de software.
Verificar aderência do modelo de negócios com a macrovisão.
Verificar as expectativas e exigências do projeto.
Verificar se projeções foram realizadas criteriosamente.
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
Nesta fase estabelecemos o primeiro contato com as necessidades, expectativas e exigências dos clientes. Através da modelagem de negócios poderemos criar uma macro visão da extensão do projeto e os seus principais objetivos (recursos humanos, físicos e financeiros). 
O objetivo da verificação nesta fase é garantir que os documentos produzidos tenham aderência às necessidades apontadas pelos clientes. É importante o exercício de revisão destes documentos com o próprio cliente.
19
Fase de negócio
Modelo de Negócios
Fase da Verificação
Modelo de Negócios
Análise de Riscos
Árvore de Decisão
Estudo de viabilidade
Revisar Contexto do Mercado e Necessidade do cliente
Revisar Riscos do Projeto
Auditar Alternativas de Execução do Projeto
Revisar Estudo de Viabilidade do Projeto
Principais Produtos
Principais Atividades
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
Nesta fase estabelecemos o primeiro contato com as necessidades, expectativas e exigências dos clientes. Através da modelagem de negócios poderemos criar uma macro visão da extensão do projeto e os seus principais objetivos (recursos humanos, físicos e financeiros). 
O objetivo da verificação nesta fase é garantir que os documentos produzidos tenham aderência às necessidades apontadas pelos clientes. É importante o exercício de revisão destes documentos com o próprio cliente.
20
Exemplo de Checklist (Fase de negócio)
Levantamento das Necessidades do cliente
- Todas as necessidades foram devidamente registradas..
- Cada necessidade apontada possui uma descrição..
Sim.
Não.
Sim.
Não.
Definição das Características do Software
- Cada característica atende ao menos a uma necessidade identificada..
- Cada característica possui uma descrição clara.
Sim.
Não.
Sim.
Não.
- Cada característica possui exemplos que auxiliam seu entendimento.
Sim.
Não.
- Existe uma rastreabilidade entre características e necessidades
Sim.
Não.
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
21
Mas o que verificar nesta fase?
Avaliar se todas as necessidades, metas e exigências foram listadas;
Verificar se a modelagem de negócios cobre todas as necessidades;
Conferir se as projeções realizadas são baseadas em métricas e indicadores confiáveis;
Avaliar a existência de alternativas a essa solução;
Avaliar o retorno sobre o investimento em cada alternativa existente (ROI);Validar as opções de investimento (árvore de decisão).
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
22
Fase de Requisitos
Verificação de Requisitos
Especificação de Requisitos
Identificar os requisitos funcionais.
Identificar os requisitos não funcionais.
Identificar a arquitetura da aplicação.
Verificar consistência dos requisitos funcionais.
Verificar consistência dos requisitos não funcionais.
Verificar rastreabilidade entre requisitos e necessidades.
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
 Esta fase tem a missão de detalhar todos os aspectos funcionais e não funcionais relativos à solução a ser construída. O conjunto de especificações de negócio serão, nesta fase, detalhados em seu nível máximo, deverão ser apontados todos os aspectos a serem implementados. Vale lembrar aqui, que o sucesso de qualquer projeto de software depende desta fase, pois esta fase direcionará todas as fases posteriores do desenvolvimento de software e estabelecem um escopo para o produto final. 
Nesta fase os revisores deverão concentrar-se na identificação de todos os requisitos funcionais e não funcionais definidos nesta fase. Cabe aos revisores verificar os requisitos e garantir a adequada definição de cada um.
23
Exemplo de Checklist (Fase de Requisitos)
Diagrama de Casos de Uso
- Existe um modelo de casos de uso para cada subsistema identificado...
- Todos os casos de usos estão adequadamente descritos
Sim.
Não.
Sim.
Não.
Levantamento de Requisitos
- Todos os atores estão adequadamente representados
- Cada caso de uso representa um requisito funcional.
Sim.
Não.
- Existe rastreabilidade entre requisitos identificados e necessidades.
Sim.
Não.
- Requisitos foram avaliados por importância, volatilidade e criticidade
Sim.
Não.
Sim.
Não.
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
24
Exemplo de Checklist (Fase de Requisitos)
Especificações Funcionais
- Cada requisito funcional possui uma especificação detalhada...
- As especificações contemplam os fluxos básicos, alternativos e exceção.
Sim.
Não.
Sim.
Não.
Especificações não funcionais
- As especificações contemplam pré-requisitos e pós-condições.
- Todas as categorias não funcionais foram levantadas.
Sim.
Não.
Sim.
Não.
- Cada requisito não funcional possui uma especificação.
Sim.
Não.
- Todas as dependências dos componentes foram estabelecidas.
Sim.
Não.
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
25
Mas o que verificar nesta fase?
Completo: Todos os requisitos do projeto devem estar documentados;
Claro: Cada requisito deve expressar seu propósito em relação ao projeto;
Simples: Cada requisito deve expressar sua essência com uma simples definição;
Preciso: Cada requisito deve ser exato, não dar margens a dúvidas;
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
26
Mas o que verificar nesta fase?
Consistente: Cada requisito não deve possuir conflitos com outros requisitos existentes; 
Relevante: Cada requisito deve pertencer ao escopo do projeto em questão;
Testável: Cada requisito deverá fornecer informações que possibilitem quantificar se um determinado item foi adequadamente implementado;
Factível: Cada requisito deve ser viável em sua implementação, avaliando as condições financeiras, humanas e tecnológicas disponíveis no projeto.
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
27
Fase de Análise e Modelagem
Verificação Análise e Modelagem
Análise e Modelagem
Modelar uma solução que suporte todos os requisitos.
Modelar uma arquitetura flexível, escalável e reutilizável.
Modelar uma arquitetura que suporte mudanças.
Verificar consistência da arquitetura da solução.
Verificar aderência de requisitos funcionais com a solução.
Verificar aderência de requisitos não funcionais com a solução.
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
 Nesta etapa o objetivo é definir uma solução tecnológica que suporte além dos requisitos estabelecidos pelo cliente, os requisitos de qualidade que deverão ser atendidos pela arquitetura do software a ser modelada ( flexibilidade, escalabilidade, ser reutilizável). 
 
Capacidade de absorver mudanças e arranjos diferenciados de processamento (Bartié, 2002).
Suportar o crescimento de transações (Bartié, 2002).
Reutilização de partes do software (Bartié, 2002).
Nesta fase as revisões possibilitam validar os aspectos críticos da solução proposta, através da revisão da arquitetura proposta. 
28
Mas o que verificar nesta fase?
Avaliar se todos os requisitos funcionais e não funcionais contemplam a solução;
Avaliar se a arquitetura suporta o crescimento e a segurança desejados;
Avaliar se a arquitetura suporta futuras mudanças de negócios e de tecnologia;
Avaliar se a arquitetura pode ser operacionalizada em vários ambientes;
Avaliar as restrições e problemas conhecidos da arquitetura a ser adotada. 
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
29
Exemplo de Checklist (Fase de Análise e Modelagem)
Diagramas de Classes
- Todas as classes possuem nome e descrição adequados.
- Todos os atributos da classe possuem nome e descrição adequados.
Sim.
Não.
Sim.
Não.
Diagrama de Estado
- Todos os serviços da classe possuem nome e descrição adequados.
- Todas as transições de estado possuem um serviço de evento associado. 
Sim.
Não.
Sim.
Não.
- Todos os estados possuem nome e descrição adequados.
Sim.
Não.
- Todas as transições de estado refletem o real ciclo de vida da classe.
Sim.
Não.
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
30
Exemplo de Checklist (Fase de Análise e modelagem)
Diagramas de Componentes
- Os packages agrupam componentes com as mesmas características.
Sim.
Não.
Sim.
Não.
- Cada componente agrupa classes de única camada: user, business, data.
Sim.
Não.
- Todas as dependências dos componentes foram estabelecidas.
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
31
Fase de Implementação
Verificação da Implementação
Implementação
Traduzir os modelos em estruturas internas dos códigos.
Traduzir os requisitos de negócios, regras e comportamentos em código-fonte.
Garantir que fontes estão compatíveis com os modelos.
Garantir normas e padrões de desenvolvimento.
Garantir reduzido nível de complexidade das fontes.
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
 Nesta fase toda a documentação produzida nas fases anteriores serão transformadas em código de uma determinada linguagem de desenvolvimento.O objetivo da verificação nesta fase é garantir que a qualidade do código-fonte gerado pela equipe de desenvolvimento, o que pode ser verificado através das “boas práticas de programação” garantidas através da adoção de normas e padrões corporativos seguidos pela equipe de desenvolvimento. 
 
32
Mas o que verificar nesta fase?
Comparar os modelos de arquitetura com os códigos fontes;
Avaliar as mensagens apresentadas ao usuário final;
Inspecionar a existência de rotinas de tratamentos de erros nos processos críticos;
Inspecionar se o volume de comentários é suficiente;
Inspecionar a legibilidade do código;
Inspecionar o padrão de nomenclaturas existentes. 
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
33
Explorando o tema
Vamos discutir os assuntos das aulas 1, 2 e 3 em nosso fórum temático 1, sua participação é muito importante e vale nota para a nossa primeira avaliação! 
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
34
Explorando o tema
Caso você tenham ficado com alguma dúvida sobre os temas discutidos até agora, procure esclarece-la com o tutor da sua disciplina!
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software35
Explorando o tema
Não esqueça de consultar o material didático e a biblioteca virtual da Estácio!
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
36
Obrigada
 e até
 a próxima aula!
Métodos de validação de Qualidade de Software – Aula 3
Avaliação de Software
37

Continue navegando