Buscar

Aula 3 - Avaliação de SW

Prévia do material em texto

Unidade II – Testes de Verificação 
9 - Métodos Estruturados de Verificação 
Unidade II 
Avaliação de Software 
Prof. Ulisses Sperle Graça 
Março/2013 
2 
Os testes de verificação devem garantir a 
qualidade de todas as etapas do desenvolvimento 
de sistemas. 
A qualidade será obtida através da correta 
construção de documentos e a adequada 
realização de atividades previstas no processo de 
engenharia de software. 
Os testes devem concentrar-se em dois aspectos: 
as atividades de verificação que focalizam as 
documentações, as chamadas revisões, e as que 
avaliam as atividades, as chamadas auditorias. 
(Bartié) 
Introdução 
3 
Introdução 
 
 
Qualidade 
do 
Processo de 
Software 
 
Revisões 
 
Auditorias 
Foco nas Documentações 
Foco nas Atividades 
4 
Impacto das Revisões 
 Revisões de Requisitos detectam 15% dos erros; 
 Revisões na Análise e Design detectam 30% dos erros; 
 Revisões na Implementação detectam 20% dos erros. 
5 
Revisões 
A revisão é um processo “humano” de análise de 
determinado documento (ou artefato), que requer pessoas 
adequadamente treinadas para desempenhar seus papéis 
durante a condução das atividades de verificação. 
6 
Revisões 
Para cada fase do processo de criação de documentos 
podemos aplicar um tipo diferente de revisão: 
Criação  revisão isolada, cujo objetivo é fazer 
validações parciais do documento. 
Validação  revisão formal, cujo objetivo é validar o 
documento finalizado com todos os grupos interessados. 
Divulgação  reuniões de acompanhamento, cujo objetivo 
é garantir a leitura do documento por todas pessoas-chave 
envolvidas. 
7 
Tipos de Revisões 
Criação Validação Divulgação 
Autor 
Irtoprçlh
khg 
][gfg~fçl
kçj 
Documento 
Revisor 
Autor 
Irtoprçlh
khg 
][gfg~fçl
kçj 
Documento 
Moderador 
Grupo de 
Revisão 
Grupo de 
Acompanhamento 
Irtoprçlh
khg 
][gfg~fçl
kçj 
Documento 
Autor 
Reunião 
Acompanhamento 
Revisão 
Formal 
Revisão 
Isolada 
Fases de criação do documento e respectivos tipos de revisão 
8 
Revisão Isolada 
É um método pouco explorado mas muito eficiente na detecção 
precoce de erros. 
Trata-se de uma verificação individual do material produzido, 
porém executada por alguém diferente do autor, que tem como 
objetivo revisar e identificar o maior número possível de 
problemas. 
A ideia é antecipar a revisão dos documentos com entrega de 
versões ainda não acabadas, possibilitando correções nos 
documentos durante sua fase de concepção. 
Permitem o contato antecipado dos revisores com as 
documentações geradas, auxiliando na familiaridade com o 
formato de como determinadas regras estão sendo organizadas 
e registradas. 
9 
Revisão Isolada 
Como a ação do revisor será isolada, poderá propor mudanças 
que prejudiquem uma visão integrada do problema. Neste caso o 
autor deverá sugerir uma reunião para decidir qual caminho 
trilhar. 
Se isso se tornar recorrente, as ações isoladas podem 
prejudicar o trabalho, indicando que as áreas envolvidas não 
estão compreendendo a extensão dos problemas que estão 
sendo abordadas. 
Outro grande problema é a chamada “revisão superficial”. Isto 
ocorre quando o revisor não está preparado para interpretar o 
documento ou tem pouca iniciativa para realizar sugestões ou 
críticas, se tornando pouco eficientes. 
10 
Revisões Formais 
São as mais efetivas, pois baseiam-se em reuniões com um 
grupo de profissionais responsáveis em identificar falhas em 
documentos gerados nas diversas etapas do desenvolvimento. 
As revisões têm regras próprias que devem ser respeitadas, 
objetivando o maior sucesso da condução, que é a maior 
identificação possível de erros. 
 O autor estará presente somente para responder às duvidas e 
questões levantadas pelos revisores, não podendo conduzir a 
reunião, permitindo assim uma maior isenção na condução dos 
trabalhos. 
11 
Revisões Formais 
Todos os participantes devem ter estudado antecipadamente o 
documento e ter alguma afinidade com os assuntos tratados por 
este. 
Desta forma, cada participante deve, individualmente, 
preparar-se para coletar o maior número possível de 
informações antes da reunião. Os participantes devem ter 
experiências e conhecimento diferentes, mas complementares, 
para que todas as decisões sejam analisadas por diferentes 
ângulos. 
Durante a reunião, é fundamental documentar tudo o que for 
discutido (problemas, sugestões, melhorias etc.). 
O autor realizará as mudanças e irá produzir uma nova versão 
da documentação que será submetida a nova revisão*. 
12 
Executando Revisões 
 Um tópico é definido e será escopo das discussões; 
 Uma questão é levantada por um revisor; 
 A questão é discutida e avaliada; 
 Os revisores confirmam a existência do defeito; 
 O defeito é registrado e detalhado para que seja corrigido 
pelos autores; 
 Outras questões são levantadas até que todas tenham sido 
analisadas; 
 Um novo tópico é identificado até que todos tenham sido 
discutidos; 
13 
Executando Revisões 
 Profundidade das Análises e Discussões; 
 Uniformidade das Atividades; 
 Continuidade e Frequência; 
 Revisores Experientes; 
 Presença de um Moderador nas Reuniões; 
 Revisões Curtas e Bem Focadas; 
 Identificar Problemas, e Não Resolvê-los; 
 Concluir as Revisões; 
14 
Reuniões de Acompanhamento 
É a forma de verificação menos formal, já que não necessita de 
uma adequada preparação dos participantes. Somente o autor, 
que é o apresentador, se prepara para a reunião. 
Seu objetivo maior é tornar o documento e o discurso familiar a 
todos os participantes, enquanto a detecção dos erros torna-se 
uma preocupação secundária. 
Elas são interessantes pois permitem envolver um maior número 
de pessoas no processo, mas por outro lado são menos 
eficientes na detecção de problemas, devido ao despreparo dos 
participantes e pela condução da reunião pelo próprio autor. 
Substituem com vantagens as “coletas de assinaturas”, que não 
incentivam os profissionais a debaterem as decisões 
registradas nos documentos. 
15 
Reuniões de Acompanhamento 
Uma forma mais eficiente seria a distribuição do material a 
todos os participantes. Seria então agendada uma reunião na 
qual todos poderiam debater dúvidas e divergências e, no final, 
caso exista consenso, é que seria realizada a coleta de 
assinaturas. 
Isto evitaria o efeito retardado: mudar as coisas depois que 
determinados assuntos já foram encerrados simplesmente 
porque alguns participantes não interpretaram adequadamente 
as decisões registradas nos documentos e mesmo assim 
assinaram. 
Na “coleta de assinaturas” é muito comum as pessoas não lerem 
adequadamente o material distribuído. 
16 
Auditoria 
Concentram-se nas atividades críticas de um processo de 
engenharia e software. 
Seu principal objetivo é o de avaliar se em um determinado 
projeto as diversas equipes estão respeitando o processo de 
desenvolvimento. 
Os auditores são os guardiões do processo, pois devem estar 
atentos às chamadas quebras de processo, que são muito 
comuns em organizações que não possuem etapas bem definidas 
e ainda estão criando um processo de desenvolvimento de 
software corporativo. 
Isto é sempre justificado com a argumentação de que estes são 
diferentes dos demais e que determinados controles são 
desnecessários. 
17 
Auditoria 
É verdade que as atuais metodologias pregam que os processos 
de software devem adequar-se a determinadas categorias de 
sistemas, exigindo uma flexibilidade dos processos. 
Devemos ter cuidado, pois cada equipe tenderá a definir o que é 
importanteestabelecendo quais documentos e procedimentos 
devem ser utilizados, criando uma confusão. 
Somente um grupo que represente o modelo corporativo poderá 
estabelecer as regras do processo de engenharia de software. 
Caso isto não aconteça, os auditores de qualidade não terão 
parâmetros para conduzir os trabalhos. 
18 
Aplicando o processo de verificação 
Como foi visto, existem várias abordagens que podemos aplicar 
para a realização efetiva de um processo de verificação de 
documentos ou de atividades executadas em determinadas 
etapas do ciclo de desenvolvimento. 
Veremos agora um conjunto de procedimentos que auxiliarão na 
prática e condução destas revisões. 
19 
Planejamento das reuniões de verificação 
Uma das primeiras decisões é estabelecer o alvo dos trabalhos 
é definir o grupo que participará das atividades a serem 
realizadas. 
Todos devem ser orientados em relação às regras e objetivos a 
serem alcançados com as atividades de verificação. 
É recomendável que este grupo seja heterogêneo e 
multidisciplinar, permitindo que as análise sejam aplicadas sobre 
perspectivas diferentes, garantindo uma revisão sob várias 
dimensões do problema. 
Deverá ser considerado o número de profissionais que 
desempenharão os papéis de revisores dos documentos, que 
será em função da complexidade e criticidade dos mesmos. 
20 
Planejamento das reuniões de verificação 
Poucos revisores deixam o processo menos eficiente, pois 
teremos pouca diversidade de opiniões levando a poucos 
elementos que subsidiarão a equipe para decidir se determinado 
documento está adequado ou não. 
Por outro lado, muitos revisores poderão deixar as reuniões 
longas e improdutivas, reduzindo sua eficiência. Muitos 
profissionais geram um excesso de divergência que resultam em 
muitas discussões e poucas conclusões. 
Um número ideal seria de quatro a sete profissionais. 
21 
Preparando os Profissionais 
É necessário prepara os participantes para que recebam o 
máximo de informações sobre o tema a ser discutido. 
Cabe aos profissionais que estão organizando as reuniões 
estruturar uma fonte de informações que possibilite agregar 
conhecimento a todos que estarão participando do processo. 
O acesso á documentação que será alvo das revisões também é 
estratégico para seu sucesso. 
Devemos distribuir os documentos a todos os participantes 
antes de executarmos as revisões, dando a oportunidade a 
todos de lerem o material, assimilar todos os tópicos a serem 
discutidos e indicarem os pontos essenciais à revisão. 
22 
Preparando os Profissionais 
Durante este período de distribuição, os revisores devem 
estudar os documentos e realizar diversos questionamentos 
referentes à falta de entendimento, ausência de exemplos ou 
comentários, à falta de estudos comprobatórios etc. 
Uma semana é um prazo adequado para um conveniente estudo 
das documentações, sendo possível estender por algumas 
semanas, dependendo da carga de serviços e do volume do 
material. 
23 
Executando a verificação de documentos 
Durante as revisões, o profissional que está conduzindo a 
reunião deverá garantir que todos os pontos do documento 
foram questionados e avaliados. 
A reunião deve ser orientada pela estrutura de tópicos do 
documento, de forma a evitar o risco de dispersão dos 
assuntos, dificultando o controle de cobertura final do 
documento. 
24 
Executando a verificação de documentos 
A condução da verificação segue uma sequência lógica. As 
principais atividades são: 
 Um tópico será definido e será escopo de discussões; 
 Uma questão é levantada por um revisor; 
 A questão é discutida e avaliada; 
 Os revisores confirmam a existência do defeito; 
 O defeito é registrado e detalhado para que seja corrigido 
pelo autor; 
 Outras questões são levantadas até que todas tenham sido 
analisadas; 
 Um novo tópico é identificado até que todos tenham sido 
discutidos. 
25 
Executando a verificação de documentos 
Revisões são, muitas vezes, encaradas como críticas aos 
autores, o que torna esta tarefa mais difícil, porém, devemos 
entender que nosso propósito está em fazer melhor o nosso 
trabalho, e as revisões estão aperfeiçoando o documento. 
Todos nós temos a ganhar com esse processo, inclusive o autor, 
que poderá contar com o apoio de outros profissionais, dividindo 
assim a responsabilidade pelo trabalho. 
26 
Aplicando o Checklist na Verificaçã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, criando uma abordagem única de como avaliar a 
qualidade de um documento. 
Esse direcionamento é realizado através de “guias” que 
orientam as auditorias e inspeções de documentos, reduzindo o 
grau de subjetividade em relação ao que deve ser avaliado ou 
não. 
A checklist deve ser utilizada como um acessório, pois orienta 
na investigação de diversos aspectos em relação ao documento 
ou atividade. É apenas um “guia” que disciplina a atividade. 
27 
Aplicando o Checklist na Verificação 
 
Verificação 
de 
Negócios 
 
Verificação 
de 
Requisitos 
 
Verificação 
Análise e 
Modelagem 
 
Verificação 
da 
Implementação 
 
Check-List 
 
Verificação 
de 
Negócios 
 
Check-List 
 
Verificação 
Análise e 
Modelagem 
 
Check-List 
 
Verificação 
de 
Requisitos 
 
Check-List 
 
Verificação 
da 
Implementação 
Checklist aplicada nas diversas fases do teste de verificação. 
A checklist deve ser utilizada como um acessório, pois orienta na 
investigação de diversos aspectos em relação ao documento ou 
atividade. É apenas um “guia” que disciplina a atividade. 
28 
Aplicando o Checklist na Verificação 
Check-List do Diagramas UML 
 
q Diagramas de Classes 
 
- Todas as classes possuem nome e descrição adequados. 
 
 OK 
 
 Não OK 
 
- Todos os atributos da classe possuem nome e descrição adequados. 
 
 OK 
 
 Não OK 
 
- Todos os serviços da classe possuem nome e descrição adequados. 
 
 OK 
 
 Não OK 
 
q Diagrama de Estado 
 
- Todas as transições de estado possuem um serviço ou evento associado. 
 
 OK 
 
 Não OK 
 
- Todos os estados possuem nome e descrição adequados. 
 
 OK 
 
 Não OK 
 
- Todas as transições de estado refletem o real ciclo de vida da classe. 
 
 OK 
 
 Não OK 
 
q Diagramas de Componentes 
 
- As “Packages” agrupam componentes com mesmas características. 
 
 OK 
 
 Não OK 
 
- Cada componente agrupa classes de única camada: user, business, data 
 
 OK 
 
 Não OK 
 
- Todas as dependências dos Componentes foram estabelecidas. 
 
 OK 
 
 Não OK 
 
29 
Aplicando o Checklist na Verificação 
 
Modelo 
de 
Negócios 
 
 
Implementação 
 
Análise 
e 
Modelagem 
 Revisar Contexto do Mercado e Necessidades Cliente; 
 Revisar Riscos do Projeto; 
 Auditar Alternativas de Execução do Projeto; 
 Revisar Estudo de Viabilidade do Projeto; 
 Revisar Arquitetura da Aplicação; 
 Revisar o Modelo Estático do Projeto de Software; 
 Revisar o Modelo Dinâmico do Projeto de Software; 
 Revisar Nível de Componentização; 
 Revisar Nível de Reutilização; 
 
 Modelo de Negócios; 
 Análise de Riscos; 
 Arvore de Decisão; 
 Estudo de Viabilidade; 
 Arquitetura da Aplicação; 
 Modelos Estáticos; 
 Modelos Dinâmicos; 
 Modelos Distribuição; 
 Código-Fonte; 
 Componentes; 
 Manual do Usuário; 
 Revisar o Código-Fonte; 
 Avaliar Complexidade do Código-Fonte; 
 Auditar Rastreabilidade entre Componentes;. 
 Revisar Manual do Usuário; Especificação Requisitos; 
 Rastreabilidade; 
 Revisar Especificação de Requisitos Funcionais; 
 Revisar Especificação de Requisitos Não-Funcionais; 
 Revisar Priorização de Requisitos; 
 Auditar Rastreabilidade de Requisitos; 
 
 
 
Especificação 
de 
Requisitos 
Fase da 
Verificação 
Principais 
Produtos 
Principais Atividades da 
Fase de Verificação

Continue navegando