Buscar

sld_2_2

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 51 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 51 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 51 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

Unidade II
QUALIDADE DE SOFTWARE
Prof. Dr. Ivanir Costa
Qualidade de software
O que é qualidade de Software?
De acordo com a norma ISO 9126
É a totalidade de características de um 
produto de software que lhe confere a 
capacidade de satisfazer ascapacidade de satisfazer as 
necessidades explícitas e implícitas.
O que é qualidade de software?
Necessidades explícitas
São as condições e objetivos propostos 
por aqueles que produzem o software. 
São, portanto, fatores relativos à 
qualidade do processo dequalidade do processo de 
desenvolvimento do produto e são 
percebidos somente pelas pessoas que 
trabalham no seu desenvolvimento.
O que é qualidade de software?
Necessidades implícitas
São necessidades dos usuários 
(destinatários dos resultados do 
software)
São chamadas também de fatoresSão chamadas também de fatores 
externos e podem ser percebidas tanto 
pelos desenvolvedores quanto pelos 
usuários.
O que é qualidade de software?
De acordo com Côrtes & Chiossi (2001)
Qualidade de software é software sem 
defeitos;
Qualidade de software é software 
adequado ao uso;adequado ao uso;
Qualidade de software é software que 
atende às especificações, conforme a 
definição de qualidade de Crosby
Qualidade de software é software que 
possui confiabilidade usabilidade epossui confiabilidade, usabilidade e 
manutenibilidade.
Qualidade e o diferencial 
competitivo
Amadurecimento do mercado e as 
certificações da qualidade
Se a empresa não tiver habilidade de 
sobreviver em um mercado altamente 
competitivo, ela está em risco no 
mercado.
O mercado brasileiro é vulnerável a 
produtos importados que, normalmente, 
têm mais qualidade.
Todas as empresas sabem que corrigirTodas as empresas sabem que corrigir 
defeitos após o desenvolvimento do 
software é mais dispendioso do que 
corrígi-los antes.
A qualidade e os testes de software
A qualidade de software deve vir desde a 
definição dos requisitos até a entrega ao 
cliente
A qualidade de software não pode 
depender somente dos testes, apesar 
dos testes serem essenciais no processo 
de desenvolvimento.
Diferenças entre produto de 
software e outros produtos
Complexidade do produto de software
Software tem muitas regras a serem 
cumpridas, 
Muitas linhas de código a serem 
implementadas,implementadas, 
Diversos desenvolvedores com idéias 
diferentes e às vezes divergentes.
Diferenças entre produto de 
software e outros produtos
Invisibilidade e intangibilidade
O software é invisível para o usuário ou 
cliente. 
O que se vê são os resultados da 
execução, diferentemente de um produtoexecução, diferentemente de um produto 
manufaturado. 
Os desenvolvedores necessitam utilizar 
modelos para representar o sistema de 
software.
Diferenças entre produto de 
software e outros produtos
Produção sob medida (taylor made)
Para o software não existe produção em 
série, 
Cada usuário é um cliente que usa o 
software a sua maneira,software a sua maneira, 
Com ênfase em partes diferentes.
Diferenças entre produto de 
software e outros produtos
Não se desgasta com o uso
Em software os componentes lógicos 
são duráveis. 
A falha do software resulta de erros 
humanos cometidos durante o processohumanos cometidos durante o processo 
de desenvolvimento.
Diferenças entre produto de 
software e outros produtos
O software não tem prazo de vencimento 
e não é sensível a problemas ambientais 
e nem sofre qualquer tipo de defeito 
devido ao uso cumulativo.
O custo final do software é basicamente 
o custo do projeto e do 
desenvolvimento.
O software é o único produto que, 
quando apresenta defeito, o cliente paga 
para corrigir.
Situação da qualidade de software
Conforme Guerra & Colombo (2008):
Apesar das iniciativas em relação à 
melhoria da qualidade de software, 
infelizmente,
A realidade das empresas, tanto asA realidade das empresas, tanto as 
nacionais, como as internacionais, 
estão distante do ideal.
Situação da qualidade de software
Rocha (2001) destaca:
O trabalho do subcomitê de software da 
ISO e IEC que vêm trabalhando desde a 
década de 1990:
Elaborando normas que permitamElaborando normas que permitam 
especificar e avaliar a qualidade dos 
produtos de software, consolidando 
as diversas visões de qualidade.
Interatividade 
Apesar de todas as iniciativas em relação a 
melhoria da qualidade de software, 
infelizmente, a realidade das empresas, 
tanto as nacionais, como as internacionais, 
está distante do ideal, e os problemas de 
qualidade nos produtos persistem Apontequalidade nos produtos persistem. Aponte 
a resposta correta
a) Iniciativas dos modelos de 
sustentabilidade
b) Iniciativas ISO/IEC a partir de 1950
) I i i ti i d lc) Iniciativas americanas com os modelos 
ISO e Modelo Qualidade Brasileiro
d) Iniciativas brasileiras com os modelos 
CMM/CMMI, MPsBR e ITIL.
e) Iniciativas da ISO/IEC a partir de 1990
Garantia da Qualidade de Software
Software Quality Assurance
A garantia de qualidade de software SQA é 
um conjunto de atividades que assegura 
que todos os esforços serão feitos para 
garantir que os produtos de software 
tenham a qualidade desejada. 
Essas atividades devem:
Minimizar o número de defeitos; criar 
mecanismos para preservar prazos e 
custo; garantir que o produto possa ser 
usado no mercado e a qualidade de 
versões futuras do produto.
Garantia da Qualidade de Software
A SQA abrange:
Métodos e ferramentas de análise, 
projeto, codificação e teste;
Revisões técnicas formais que são 
aplicadas durante cada fase doaplicadas durante cada fase do 
processo;
Uma estratégia de testes;
Controle da documentação de software e 
das mudanças efetuadas;
Um procedimento para garantir a 
adequação aos padrões adotados; e
Mecanismos de medição e divulgação.
Garantia da qualidade de software e 
os requisitos de software
A SQA enfatiza três pontos importantes 
sobre requisitos:
1. Eles são a base a partir da qual a 
qualidade é medida. A falta de 
conformidade aos requisitos significa 
falta de qualidade.
2. Padrões definem um conjunto de 
critérios que orientam o trabalho de 
engenharia. Se não forem seguidos, o 
resultado será a falta de qualidade.
3. Há um conjunto de requisitos implícitos 
que nem sempre são mencionados. A 
qualidade de software será suspeita
Garantia da qualidade de software e 
os requisitos de software
A comunicação entre o desenvolvedor e 
o cliente é a chave para a definição 
correta dos requisitos. 
O desenvolvedor deverá trabalhar em 
conjunto com o cliente para definir 
corretamente as especificações do 
software, isto é, a definição precisa do 
escopo do sistema.
Garantia da qualidade de software e 
os requisitos de software
O desenvolvimento de software deve:
Utilizar as melhores práticas da 
engenharia de software;
ser executado por pessoal qualificado; 
Dar ênfase na prevenção de defeitos eDar ênfase na prevenção de defeitos e 
não só corrígi-los.
Gerar registros para demonstrar 
efetividade e eficiência (bases históricas) 
Utilizar as bases históricas na melhoria 
contínua dos processos.
As sete grandes atividades da SQA
1. Aplicação de métodos técnicos 
comprovados pelas normas ISO e 
modelos de qualidade;
2. realizações de revisões técnicas formais 
utilizando técnicas de reunião, revisão 
por pares, inspeção, walkthrougs etc.;
3. Possuir as atividades de testes de 
software;
4. Uso de padrões e normas 
preestabelecidas pela organização epreestabelecidas pela organização e 
com aderência a padrões reconhecidos 
no mercado;
As sete grandes atividades da SQA
5. Controle de mudanças com práticas bem 
sucedidas na gestão de mudanças –
manutenção evolutiva;
6. Medição do processo e da qualidade do 
produto, métricas e processo de 
medição;
7. Manutenção de registros e relatórios 
para feedback superior (rastreabilidade).
Revisões técnicas para se ter 
qualidade em software
Uma equipe estruturada consegue prever 
os defeitos com revisões técnicas
Weinberg (1997) relata sobre a eficiência 
das RTs em uma empresa americana em 
projetosde software que possuem em 
torno de 2,5 milhões de linhas de código 
de alto nível:
Encontrou-se um defeito para cada 
homem-hora investido. Cada hora 
gasta em inspeções evita uma média 
de 33 horas de retrabalho. As 
inspeções podem ser até 20 vezes 
mais eficientes que os testes
Rastreamento da qualidade de 
software
Um objetivo importante da SQA é 
rastrear a qualidade de software e avaliar 
o impacto das mudanças metodológicas 
e procedimentais sobre a qualidade do 
software. 
Para realizar isso, uma métrica de 
software no uso dos procedimentos deve 
ser coletada.
Rastreamento da qualidade de 
software
O registro e a disseminação de 
informações de SQA com os resultados 
de revisões, auditorias, controle de 
mudanças, testes e outras atividades 
devem tornar-se parte do histórico de um 
projeto e devem ser levados aoprojeto e devem ser levados ao 
conhecimento do pessoal envolvido com 
o desenvolvimento.
Rastreamento da qualidade de 
software
Os modelos de qualidade de software, 
tais como o CMMI e a ISO 15504 –
possuem processos específicos e 
práticas para atender a essas demandas 
pela qualidade.
Interatividade 
A SQA é:
Responda qual a alternativa é a correta.
a) Métodos e ferramentas de análise, 
projeto, codificação e teste;
b) Revisões técnicas formais que sãob) Revisões técnicas formais que são 
aplicadas durante cada fase de 
engenharia de software;
c) Uma estratégia de testes de múltiplas 
fases;
d) Controle da documentação de software e 
das mudanças feitas nela;
e) Todas estão corretas.
Evolução da qualidade de software
No início, o software era produzido de 
maneira que ninguém tinha 
compromisso com o que estava sendo 
feito; iniciativas isoladas procuravam 
melhorar o produto final. 
Molinari (2003) afirma que na década de 
1980, o importante era descobrir “bugs”, 
era a verdadeira caça às “bruxas”;
Na década de 1990, o enfoque voltou-se 
para os negócios: o software deveria 
suportar o negócio, isto é, se o caminho 
usado sempre funcionasse, as exceções 
eram desprezadas.
Evolução da qualidade de software
como estamos?
Na atualidade busca-se tornar o 
desenvolvimento de software coberto, 
garantido e assistido por todas as etapas 
de um processo de software.
Os testes de software passaram a ser 
uma parte importante deste processo e 
muitas empresas estão descobrindo na 
prática que teste é fundamental.
A atividade de teste de software combina 
uma estratégia de múltiplos passos com 
uma série de métodos de projeto de 
casos de testes que ajudam a garantir 
uma detecção de erros e defeitos efetiva.
Fatores de qualidade de software
Os fatores que afetam a qualidade de 
software podem ser categorizados em 
dois amplos grupos:
Fatores que podem ser medidos 
diretamente (por ex: número de erros 
(KLOC)/unidade de tempo);
Fatores que podem ser medidos 
apenas de forma indireta (por ex: 
usabilidade ou manutenibilidade).
Em cada caso deve ocorrer a medição,Em cada caso deve ocorrer a medição, 
ou seja, devemos comparar o software 
com algum dado presente ou histórico e 
chegar a uma indicação de 
qualidade.
Indicadores de qualidade de 
software
EX: Indicador sugerido pelo IEEE que índica 
a maturidade de software (SMI) e que 
forneçe uma indicação da estabilidade de 
um software. 
SMI = [Mt – (Fa + Fc + Fd)]/Mt 
Mt = núm. de módulos da versão atual.
Fa = número de módulos da versão atual 
que foram adicionados.
Fc = núm. módulos da versão atual que 
foram mudados.
Fd = número de módulos da versãoFd = número de módulos da versão 
anterior que foram suprimidos da versão 
atual.
SMI próximo de 1 – software estabilizado
Confiabilidade de software
A confiabilidade é um elemento 
fundamental na qualidade de um 
software
Se um sistema/programa deixar de 
funcionar com frequência pouco importa 
se outros fatores da qualidade são 
aceitáveis
A confiabilidade é definida em termos 
estatísticos como a probabilidade do 
software não falhar em um determinado 
período de tempo.
Medidas da confiabilidade de 
software
Uma medida simples da confiabilidade é o 
tempo médio entre a ocorrência de falha
MTBF = MTTF + MTTR. 
onde:
MTBF – Mean Time between Failures –
tempo médio entre falhastempo médio entre falhas.
MTTR – Mean Time to Repair – tempo 
médio de reparo de uma falha ou 
defeito.
MTTF – Mean Time to Fail – tempo 
médio até a ocorrência de falha.médio até a ocorrência de falha.
Um usuário final está preocupado com a 
ocorrência de falhas, não com a contagem 
total de erros.
Controle da qualidade de software
Molinari (2003):
Controle de qualidade é definido como os 
processos e métodos usados para 
monitorar o trabalho e os requsitos
envolvidos. 
É focado nas revisões e remoção de 
defeitos antes da entrega do produto. 
Controle de qualidade deve ser 
responsabilidade da unidade de 
produção do produto dentro daprodução do produto dentro da 
organização. 
Dúvida. Deve ser feito por quem produz 
o software ou por um grupo 
independente?
Controle da qualidade de software
Consiste em verificações do produto bem 
definidas e que sejam especificadas dentro 
do plano de garantia de qualidade.
Para produtos de software:
São as revisões de especificaçãoSão as revisões de especificação
Inspeções de códigos e documentos,
Testes, e
Verificações de entrega ao 
usuário/cliente.
Prevenção x detecção
Molinari (2003):
Qualidade não pode ser alcançada pelo 
acesso a um produto pronto e completo. 
A soluçao é prevenir contra as 
deficiências e fazer com que o produtodeficiências e fazer com que o produto 
possa ter uma
garantia de qualidade através de 
medições.
Somente se pode gerenciar aquilo que se 
consegue medirconsegue medir. 
prevenção x detecção
gerência da qualidade
Algumas medidas de qualidade incluem a 
estruturação de um processo de 
desenvolvimento com métodos,
técnicas e ferramentas. 
Um programa de gerência de qualidade com:Um programa de gerência de qualidade com:
Documentação de padrões de códigos,
Descrição de uso desses padrões,
Métodos, ferramentas, 
Procedimentos de recuperação de dados, p ç ,
Gerência de mudanças/configuração,
Documentação dos defeitos, e
Rastreabilidade.
prevenção x detecção
custos dos defeitos
Prevenir custos consiste no conjunto de 
ações tomadas para prevenir os defeitos 
antes que eles apareçam: inspeção e testes
Custos de falhas externas consistem nos 
custos envolvidos com retrabalho depois 
que os produtos foram entregues e 
liberados. 
Afeta a reputação da organização ou 
resultará em perda de faturamento. 
A prevenção reduz o número de defeitos,A prevenção reduz o número de defeitos, 
melhora a qualidade e reduz o custo do 
software.
Interatividade 
O Índice de Maturidade de Software (SMI) 
criado pelo IEEE fornece uma indicação de 
estabilidade de um software durante seu 
ciclo de vida. Aponte a(s) afirmativa(s) 
correta(s):
Àa) À medida que o SMI se aproxima de 1,0 o 
produto está deteriorado
b) Se o SMI for próximo de 0 o produto não 
apresenta nehuma estabilidade.
c) Se o SMI for 1,0 indica que o softwarec) Se o SMI for 1,0 indica que o software 
está totalmente estabilizado.
d) O SMI não serve para medir a 
estabilidade de um software.
e) As resposta b e c estão corretas
Técnicas da qualidade de software
V&V
Verificação e Validação:
Conceitos
Verificação garante que o produto 
está sendo construído de acordo 
com os requisitos especificados, ecom os requisitos especificados, e
Validação garante que o sistema vai 
ao encontro dos requisitos do 
consumidor.
Técnicas da qualidade de software
verificação e validação
O teste de um produto está muito mais 
perto de Validação do que de 
Verificação.
Depois que o programa/sistema é 
terminado, ele é testado para determinar 
sua funcionalidade e sua performance. 
É uma prática combinar verificação com 
validação no processo de testes.
Técnicas da qualidade de software
verificação
Verificação inclui procedimentos 
sistemáticos de revisão, análise e testes 
empregados durante o desenvolvimento.
Critérios fundamentais:1) O software tem de executar todas as1) O software tem de executar todas as 
funções desejadas.
2) O software, durante sua execução, não 
deve passar por nenhum caminho que 
não tenha sido testado.
Verificação é um “processo de melhoria”Verificação é um processo de melhoria 
que não tem fim.
Técnicas da qualidade de software
RTFS – objetivos e benefícios
O objetivo principal das RTFs é achar 
erros durante o processo de 
desenvolvimento para que eles não se 
transformem em defeitos depois da 
entrega do software. 
O benefício das RTFs é a descoberta 
antecipada de erros, de forma que eles 
não se propaguem. 
Estudos da indústria indicam que as 
atividades de projeto introduzem entre 
50% e 65% de todos os defeitos durante 
o processo de software. 
Técnicas da qualidade de software
revisões técnicas formais
O estudo mostrou que as RTFs são 75% 
mais efetivas na descoberta de erros de 
projeto.
Pressman, (2006) classifica o Walkthroug, 
as inspeções, as revisões por par como 
RTFs: 
Pessoas envolvidas: o autor do trabalho, 
um escriba, um especialista do assunto, 
um desenvolvedor mais experiente.
Preparo do material, máximo de duasPreparo do material, máximo de duas 
horas de trabalho, pequena parte do 
software, restringindo-se o foco.
Técnicas da qualidade de software
revisões técnicas formais
Como resultado de uma RTF gera-se um 
relatório resumido ou ata da revisão que 
responde a três questões: 
O que foi revisado? 
Quem fez a revisão?Quem fez a revisão?
Quais foram as descobertas e 
conclusões?
Técnicas da qualidade de software
testes de software
A atividade de teste continua sendo de 
importância fundamental para a eliminação 
dos erros que persistem após as RTFs.
Um bom caso de teste é aquele que tem 
alta probabilidade de encontrar um erro 
ainda não descoberto. 
Existem muitos tipos de testes: 
Teste de funcionalidade, de segurança, 
perfomance, usabilidade, etc.
Técnicas da qualidade de software
testes de software
Duas perspectivas diferentes de teste: 
1. A lógica interna do programa é 
exercitada com Casos de Testes Caixa-
Branca
2. Os Requisitos de software são2. Os Requisitos de software são 
exercitados usando técnicas de projeto 
de Casos de teste Caixa-preta. 
O objetivo é encontrar o maior número de 
erros com a menor quantidade de esforço e 
tempo.tempo. 
Técnicas da qualidade de software
princípios de testes de software
Pressman (2002) apresenta os princípios:
Testes devem ser relacionados aos 
Requisitos
Testes devem ser planejados
Princípio de Pareto 80% dos errosPrincípio de Pareto – 80% dos erros 
encontrados se relacionam a 20% dos 
componentes do software
O teste deve começar nos componentes 
individuais e progredir a todo sistema
Teste completo não é possível –
cobertura adequada dentro de 
prioridades
Técnicas da qualidade de software
conclusão
Fica claro que somente se pode 
gerenciar a qualidade de um processo e 
um produto de software se os mesmos 
puderem ser medidos e acompanhados 
durante todo o processo. 
Outra contribuição importante dos 
autores e especialistas é que corrigir 
defeitos é muito caro. 
Mais uma vez o “dito” popular prevalece 
“é melhor prevenir do que remediar”.
Interatividade 
Das afirmações abaixo, qual está errada?
a) Testes de Software e RTFs têm o mesmo 
objetivo: Achar erros durante o processo 
de desenvolvimento.
b) Os Testes de Software são mais efetivosb) Os Testes de Software são mais efetivos 
que as Revisões Técnicas Formais.
c) O processo de revisão reduz 
substancialmente os erros cometidos
d) O teste de software é um elemento 
crítico para a garantia de qualidade docrítico para a garantia de qualidade do 
produto de software.
e) O processo de desenvolvimento que 
inclui revisões e inspeções produzem 
produtos com mais qualidade.
ATÉ A PRÓXIMA!

Continue navegando