Buscar

Aula 1 - Avaliaçãode SW

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Avaliação de Software 
Prof. Ulisses Sperle Graça 
Conteúdo Programático 
 Qualidade e Garantia de Qualidade de Software 
 Testes de Verificação e de Validação 
 Gerenciamento do Testeware 
 Gestão das Ferramentas de apoio a Testes 
 Documentação do Planejamento 
 Relatório das Verificações e Validações 
O que iremos 
aprender? 
Bibliografia Utilizada 
Bibliografia Básica 
 
Garantia de Qualidade de Software; Alexandre BARTIÉ; Editora Campus; 
2002 - 1a. edição. 
Engenharia de Software; Roger S. Pressman;6a edição Makron Books. 
Engenharia de Software - 8ª Edição Ian Sommerville; ed. Pearson. 
O que iremos 
aprender? 
Bibliografia Utilizada 
Bibliografia Complementar 
 
Engenharia de Software - 2ª Edição Pfleeger, Shari Lawrence; Ed. Pearson; 
O que iremos 
aprender? 
I – A Busca pela Qualidade 
Unidade I 
mar/2013 
Avaliação de Software 
Prof. Ulisses Sperle Graça 
6 
O software tornou-se uma força motora. É o 
motor que dirige a tomada de decisão nos 
negócios. Serve de base à moderna investigação 
científica e às soluções de problemas de 
engenharia. 
É um fator chave que diferencia produtos e 
serviços modernos. Está embutido em sistemas de 
todas as naturezas: de transportes, médicos, de 
telecomunicações, militares, industriais, de 
escritório, etc. É inevitável na vida moderna. 
(Pressman) 
Introdução 
7 
Justificativa 
 O desenvolvimento de sistemas envolve uma série de 
atividades em que as oportunidades de injeção de falhas 
são muito grandes. Estes erros podem começar a aparecer 
logo no início do processo, onde os objetivos podem estar 
erroneamente especificados, além de erros que venham a 
ocorrer em fases de projeto e desenvolvimento 
posteriores. 
 Como a tolerância a software com erros /problemas 
é praticamente inexistente, o desenvolvimento de software 
é acompanhado por uma atividade de garantia de qualidade. 
 A atividade de teste de software é um elemento 
crítico da garantia de qualidade de software e representa 
a última revisão de especificação, projeto e codificação. 
 
8 
Custo do Reparo 
9 
Curva de falhas para o software 
índice de 
falhas 
mudança curva real 
curva idealizada 
tempo 
10 
Em tempo de necessidade de tomada de decisão rápida e 
acertada, diminuição dos erros, necessidade de correção 
de rota dos negócios, devido à mudança do perfil do 
consumidor, novos produtos com novas tecnologias etc., os 
sistemas de informação assumem papel estratégico nas 
organizações. 
 
Eles passam a se constituir como recursos indispensáveis 
no registro dos dados das organizações, no tratamento 
desses dados, transformando-os em informação para 
apoio à gestão e na consolidação de tais informações, 
gerando conhecimento para a inovação e para antecipação 
frente à concorrência. 
Cenário Atual 
11 
Apesar do enorme avanço do desenvolvimento de 
software nos últimos anos, muitas empresas ainda estão 
presas a antigos paradigmas, o que impede seu 
amadurecimento no processo de desenvolvimento. Elas 
não percebem que seus ambientes estão cada vez mais 
complexos, o que exige posturas cada vez mais difíceis. 
 
Elas não percebem que implantar um processo de 
garantia da qualidade de software não é uma opção a 
ser estudada, mas parte de uma estratégia de 
sobrevivência em um mercado cada vez mais exigente e 
competitivo. 
Cenário Atual 
12 
Apesar de todas as organizações concordarem em 
apontar a TIC como um dos aspectos mais estratégicos 
para viabilizar o aprimoramento e inovação de seus 
produtos, o que se vê no processo de desenvolvimento 
de software é a ineficiência. 
 
O que se percebe é que, de uma forma geral, a 
indústria de software não está preparada para atender 
às rápidas necessidades do mercado porque não 
investiram no aperfeiçoamento de seus processos 
internos, ou seja, desconhecem um processo de 
engenharia de software. 
 
A Realidade dos Projetos de Software 
13 
Não existe qualquer garantia que a solução tecnológica 
será entregue dentro do prazo e a custos negociados. 
 
Estudos americanos apontam para a seguinte realidade: 
 
 Mais de 30% dos projetos são cancelados antes de serem 
finalizados. 
 Mais de 70% dos projetos falham nas entregas das 
funcionalidades esperadas. 
 Os custos extrapolam em mais de 180% os valores originais. 
 Os prazos excedem em mais de 200% os cronogramas 
originais. 
A Realidade dos Projetos de Software 
14 
 Regras e Responsabilidades reduzem em 15% o número de 
defeitos; 
 Procedimentos Formalizados reduzem em 25% o número de 
defeitos; 
 Processos Repetitivos reduzem em 35% o número de defeitos; 
 Controles e Medições reduzem em 30% o número de defeitos; 
A Realidade dos Projetos de Software 
15 
Para aprender a gerir, conceber, desenvolver, testar, 
avaliar a qualidade, avaliar a segurança, enfim, para 
atuar com Sistemas de Informação, o profissional de 
TIC deve conhecer melhor o que é Qualidade de 
Software. 
Qualidade de Software 
16 
 Nossa Meta  Produzir software de alta qualidade. 
 
A garantia de qualidade de software não é algo com a qual 
começamos a nos preocupar depois que o código foi gerado, e sim, 
ao longo de todo o processo de engenharia de software. 
 
Qualidade de Software é um processo sistemático que focaliza 
todas as etapas e artefatos produzidos com o objetivo de garantir 
a conformidade de processos e produtos, prevenindo e eliminando 
defeitos. 
 
Qualquer decisão tomada durante o processo de desenvolvimento 
pode comprometer sua qualidade final, sendo que seu produto final 
é exatamente o somatório de todas as decisões e realizações 
geradas durante o ciclo de desenvolvimento. Se desejamos 
produzir software de alta qualidade, é necessário investir em 
qualidade em todos os pontos do processo. 
Qualidade de Software 
17 
Dimensão de Qualidade de Software 
Garantia da Qualidade de Software 
 
 
 
 
 
+ 
Qualidade 
do 
Processo 
Qualidade 
do 
Produto 
Testes que garantem a 
Qualidade do Processo 
Testes que garantem a 
Qualidade do Produto 
18 
Quando estamos diante do desafio de garantir a qualidade 
de um software, estamos estabelecendo uma cultura de não 
tolerância a erros, ou seja, estamos estruturando processos 
que possuam mecanismos de inibição e impedimento de 
falhas, possibilitando que os diversos artefatos gerados 
durante o ciclo de desenvolvimento tenham procedimentos 
que avaliam sua qualidade, possibilitando a identificação 
precoce de erros nesses artefatos. 
 
Artefatos  qualquer saída produzida por uma atividade do 
ciclo de desenvolvimento. 
 
Uma das primeiras providências a serem tomadas é a de 
estabelecer um processo mínimo de desenvolvimento, pois 
não se pode garantir a qualidade de algo que não existe. 
Dimensão da Qualidade do Processo 
19 
Tem como objetivo principal garantir a qualidade do produto 
tecnológico gerado durante o ciclo de desenvolvimento. 
Todas as atividades que tenham por objetivo “estressar”! 
Telas e funcionalidades de um SI podem ser categorizadas 
na dimensão de garantia de qualidade do produto. 
 
Apesar de bastante empregadas, o grau de eficiência é 
assustadoramente baixo, o que incentiva as empresas a 
substituirem tais atividades pela correção de problemas. 
Principais motivos para a constatação deste fato: Falta de 
planejamento das atividades de testes, ausência de testes 
que validem funcionalidades antigas e ausência de um 
processo de automação dos testes e conferência. 
Dimensão da Qualidade do Produto 
20 
O processo de qualidade de software utiliza-se dos testes 
em todo o ciclo de desenvolvimento, de forma a garantir 
tanto o processode engenharia quanto o produto de 
software desenvolvido. 
 
Temos então o seguinte: 
 
 Testes que garantem a qualidade do processo; 
 
 Testes que garantem a qualidade do produto. 
 
Medindo a Qualidade através do Teste 
21 
A qualidade do processo pode ser medida através de 
testes aplicados em documentos (ou artefatos) gerados 
em cada fase do desenvolvimento. 
 
Desta forma é possível reconstruir o documento ou até 
mesmo reexecutar a fase inteira. 
 
São também conhecidos como testes estáticos, pois 
seus principais alvos são os documentos gerados 
durante todo o ciclo de desenvolvimento. 
 
Para avaliar a qualidade do processo é necessário 
garantir a qualidade dos documentos produzidos. 
Testes que garantem a qualidade do processo 
22 
A qualidade dos produtos pode ser garantida através 
de sistemáticas aplicação de testes nos vários estágios 
do desenvolvimento da aplicação. 
 
Também são conhecidos como testes de validação 
porque, quando construímos uma unidade d software, 
validamos a sua estrutura interna e sua aderência aos 
requisitos estabelecidos, como também avaliamos a sua 
integração com as demais unidades existentes e mais 
adiante validamos a solução tecnológica como um todo. 
 
São também conhecidos como testes de software ou 
testes dinâmicos. 
Testes que garantem a qualidade do produto 
23 
Teste é o processo de demonstrar que os defeitos não estão presentes. 
 
Teste é o processo de demonstrar que algo funciona corretamente. 
 
Teste é o processo de provar que determinadas coisas fazem o que deveriam 
fazer. 
 
Todos aqui enxergam os testes como uma forma de 
provar que tudo está funcionando conforme 
estabelecido, pois é mais fácil provar que algo funciona 
do que provar que algo não funciona, significando que 
teremos um esforço menor do que o contrário. 
 
E ainda temos o aspecto psicológico. 
Definição comum dos testes 
24 
Se o nosso objetivo é apenas provar que as coisas estão 
funcionando, significa que idealizaremos um conjunto de cenários 
favoráveis à utilização do software, mas se o nosso objetivo passa 
a ser o de provar a não adequação de algo, temos que ir além dos 
cenários positivos comuns e estender a nossa abstração 
identificando um maior volume de cenários positivos e ainda incluir 
um esforço adicional em identificar os cenários negativos. 
Perspectivas diferentes 
Visão do 
Analista de 
Sistemas 
Cenários 
Positivos 
Comuns 
Testes para 
provar que algo 
esta correto 
Testes para provar que 
algo não esta correto 
Visão do 
Analista 
de Testes 
Cenários Positivos 
Estendidos 
Cenários Negativos 
Estendidos 
25 
 
 
 
 
 
 
 
 
 
 
Objetivos da atividade de Testes 
A atividade de teste é o processo de executar um 
programa com a intenção de descobrir um erro. 
 
Provar que algo não funciona. 
 
Um teste bem-sucedido é aquele que revela um erro 
ainda não descoberto. 
26 
Testes de software é o processo de executar o software de uma 
maneira controlada com o objetivo de descobrir diferenças 
entre o comportamento previsto e o comportamento observado. 
Pressman 
 
Teste é um processo sistemático e planejado que tem por 
finalidade única a identificação de erros. 
Bartié 
 
Definição correta de Testes 
27 
Testes podem ser usados para descobrir a presença de erros, mas 
não para mostrar a sua ausência. 
 
Um processo de qualidade, por melhor que seja , não conseguirá 
cobrir todas as infinitas combinações existentes em um ambiente de 
execução em tempo real. Defeito zero é praticamente inatingível. 
 
Quanto maior a extensão dos testes, maior será a qualidade do 
software e menor será o risco de erros, uma vez que mais cenários 
foram testados e validados. 
 
Os esforços de testes devem ser orientados pelo risco existente e 
pelo impacto que a falta de qualidade causará ao ambiente. (Custo, 
criticidade e complexidade). 
Limitações dos Testes 
28 
 
 
 
 
 
 
 
 
 
 
Os Pilares da Qualidade de Software 
Planejamento da Qualidade – processo destinado a identificar 
quais padrões de qualidade são relevantes para o projeto e 
determinar como satisfazê-los. 
 
Garantia da Qualidade – processo que engloba a estruturação, 
sistematização e execução de atividades que terão como objetivo 
garantir o adequado desempenho de cada etapa do 
desenvolvimento, satisfazendo os padrões de qualidade definidos 
no processo (testes de verificação e de validação). 
 
Controle de Qualidade – processo que se concentra no 
monitoramento e desempenho dos resultados do projeto para 
determinar se ele está atendendo aos padrões de qualidade no 
processo de desenvolvimento. 
29 
 
 
 
 
 
 
 
 
 
 
Onde devemos aplicar Qualidade? 
É comum cometermos o equívoco de acreditar que somente 
obteremos qualidade após a codificação de partes do produto a 
ser desenvolvido. 
 
 
 
 
 
Modelo 
Negócios 
 
 
Requisitos 
 
 
 
Análise e 
Modelagem 
 
 
Implemen 
tação 
 
 
Testes de 
Software 
 
 
 
 
Disponibili 
zação 
Tempo 
Esforço 
para obter 
Qualidade 
Qualidade não é uma fase do ciclo de desenvolvimento, é parte de todas as fases. 
30 
 
 
 
 
 
 
 
 
 
 
Onde estão os defeitos? 
Se nosso objetivo é reduzir ao máximo o nível de erros dentro do 
processo de desenvolvimento, devemos nos concentrar nas 
atividades iniciais. Desta forma, estaríamos identificando 
prematuramente os erros e impedindo que estes migrassem para 
outras fases. 
 
 
 
 
Outros
10%
Implementação
7%
Análise e 
Modelagem
27%
Requisitos
56%
Produzem retrabalho 
Aumentam os custos do projeto 
Dilatam os prazos de entrega 
Diminuem a produtividade 
Aumentam a insatisfação do cliente 
31 
 
 
 
 
 
 
 
 
 
 
Qualidade em todo o ciclo 
Se os erros estão concentrados nas fases iniciais do ciclo de 
desenvolvimento, devemos investir mais tempo nas atividades de 
especificação e modelagem. Isso faria com que muitos erros 
fossem eliminados em função de um levantamento mais criteriosos 
e bem estruturado, porém a redução de erros somente ocorrerá se 
em todas as etapas existir procedimentos que avaliem a qualidade 
do que foi produzido. 
 
 
 
 
32 
 
 
 
 
 
 
 
 
 
 
O custo da Qualidade de Software 
Todo o investimento realizado com a finalidade de um produto ou 
serviço atingir a qualidade desejada. 
Alocam todos os esforços relacionados aos custos das não 
conformidades (defeitos e suas correções) e todos os custos 
relacionados à manutenção da conformidade dos produtos e 
serviços a serem produzidos (esforço de garantir a qualidade). 
 
 
 
 
Custos da Conformidade Custos da não Conformidade 
Planejamento dos trabalhos Refugos 
Treinamentos (processos, técnicas e ferramentas) Retrabalhos 
Controles do processo de desenvolvimento Perdas financeiras e operacionais 
Testes (estáticos e dinâmicos) Atrasos nos cronogramas 
Revisões de documentos Ações corretivas 
Auditoria de processos Perdas de oportunidades 
33 
 
 
 
 
 
 
 
 
 
 
O custo da Qualidade de Software 
Custos da Conformidade : objetivo é a detecção e prevenção de 
erros. Tudo que é realizado com a intenção de melhorar e garantir 
o processo de desenvolvimento . 
 
Custos da não Conformidade: esforço para reparar falhas 
originadas no decorrer do processo de desenvolvimento. 
 
 
34 
 
 
 
 
 
 
 
 
 
 
O custo da propagação dos defeitos 
Segundo estudos de Myers, quanto maistarde descobrimos os 
erros, mais caros estes se tornam. Ele aplica a chamada “regra de 
10” aos custos da correção dos erros. Isto significa que, quando 
um erro não é identificado, os custos de sua correção multiplicam-
se por 10 para cada fase em que o erro migra. 
 
 
Requisitos Análise e 
Modelagem 
Teste de 
Software 
Código Produção 
Ciclo de Desenvolvimento de Software 
1 
100 
10 
1.000 
10.000 
35 
 
 
 
 
 
 
 
 
 
 
O custo qualidade 
35 
Custo do 
Projeto 
Custo do 
Desenvolvimento 
Custo da 
Qualidade 
Custo da 
Não-Conformidade 
Custo da 
Conformidade 
Custo da 
Prevenção de Defeitos 
-Metodologias; 
-Treinamento; 
-Ferramentas; 
-Políticas; 
-Procedimentos; 
-Planejamento; 
-Análises; 
-Métricas; 
-Rel.de Qualidade; 
-Projetos de Inovação; 
Custo da 
Detecção de Defeitos 
-Revisões 
o Problema; 
o Requisitos; 
o Modelagem; 
o Planos de Testes; 
o Scripts de Testes; 
-Inspeção de Código; 
-Testes (1a. execução); 
-Auditorias; 
-Re-Revisões; 
-Re-Testes; 
-Correção 
oCódigo; 
oDocumentação; 
-Re-Estruturação; 
-Re-Distribuição versão; 
-Atrasos Cronogramas; 
-Falhas da Produção; 
 
 
... 
Existe uma co-relação 
entre os custos da 
não-conformidade com os investimentos 
em prevenção de defeitos. Quanto maior 
estes investimentos, menor a incidência 
das não-conformidades.

Outros materiais