Sie sind auf Seite 1von 92

COPPE/UFRJ COPPE/UFRJ

Qualidade de Produtos de Software


Qualidade de Produtos de Software
Ana Regina Rocha
COPPE/UFRJ COPPE/UFRJ
Programa de Engenharia de Sistemas e Computao Programa de Engenharia de Sistemas e Computao

COPPE/UFRJ COPPE/UFRJ
Qualidade de Software
Totalidade de caractersticas de um produto de software
que lhe confere a capacidade de satisfazer s
necessidades explcitas e implcitas. (ISO 8402)
ISO/CD 8402; Quality Concepts and
Terminology Part One: Generic Terms and
Definition; ISO; dezembro 1990

COPPE/UFRJ COPPE/UFRJ
Qualidade de Software
Conjunto de caractersticas a serem satisfeitas em um
determinado grau de modo que o software satisfaa s
necessidades de seus usurios

COPPE/UFRJ COPPE/UFRJ
Qualidade do Produto

Caractersticas de Qualidade

Tcnicas para Avaliao da Qualidade



COPPE/UFRJ COPPE/UFRJ
Dois tipos de Avaliao

Avaliao ao longo do processo de desenvolvimento

Avaliao de pacotes

COPPE/UFRJ COPPE/UFRJ
Caractersticas de Qualidade do Produto

Norma ISO 9126

Norma 12119

Caractersticas de Qualidade para Domnios Especficos

Caractersticas de Qualidade para Tecnologias Especficas



COPPE/UFRJ COPPE/UFRJ
(Information Technology - Software product evaluation -
Quality characteristics and guidelines for their use)
ISO 9126
Verso 2001:
9126-1: modelo de qualidade
9126-2: mtricas externas
9126-3: mtricas internas
9126-4: mtricas para qualidade no uso

COPPE/UFRJ COPPE/UFRJ
Diferentes Vises da Qualidade de Software
Diferentes Vises da Qualidade de Software
Necessidades
de qualidade
do usurio
Necessidades
de qualidade
do usurio
Qualidade
Interna
Qualidade
Interna
Verificao
Validao
Uso e Feedback
Qualidade
Externa
Qualidade
Externa
indica
Qualidade no
uso
Qualidade no
uso
indica
Requisitos
internos de
qualidade
Requisitos
internos de
qualidade
Contribuem para especificar
Requisitos
externos de
qualidade
Requisitos
externos de
qualidade
Contribuem para especificar

COPPE/UFRJ COPPE/UFRJ
Qualidade Interna

Conjunto de caractersticas do produto de software que


avaliam o produto segundo uma viso interna

Usados para definir estratgias de desenvolvimento e


critrios para avaliao e verificao durante todo o
desenvolvimento

COPPE/UFRJ COPPE/UFRJ
Qualidade Externa

Conjunto de caractersticas do produto de software que


avaliam o produto segundo uma viso externa

Qualidade quando o software executado

Avaliado atravs de testes em ambientes simulados



COPPE/UFRJ COPPE/UFRJ
Qualidade em Uso

Viso do usurio sobre a qualidade do produto quando em


uso em um ambiente especificado dentro de um contexto de
uso

medida em relao ao resultado da utilizao do software


e no em relao a caractersticas do produto

Representa o efeito combinado da qualidade externa e


interna

COPPE/UFRJ COPPE/UFRJ
Modelo para Qualidade Interna e Externa
Qualidade
Interna e
Externa
Qualidade
Interna e
Externa
Funcionalidade
Funcionalidade
Confiabilidade
Confiabilidade
Usabilidade
Usabilidade
Eficincia
Eficincia
Manutenabilidade
Manutenabilidade
Portabilidade
Portabilidade

COPPE/UFRJ COPPE/UFRJ
ISO 9126
(Information Technology - Software product evaluation -
Quality characteristics and guidelines for their use)
=
Define seis caractersticas de qualidade e sub-
caractersticas associadas a estas caractersticas

COPPE/UFRJ COPPE/UFRJ
Funcionalidade

Capacidade do produto de software fornecer funes que


satisfazem as necessidades explcitas ou implcitas quando o
software usado sob condies especificadas
Sub-caractersticas:
=
adequao: capacidade do produto de software de
fornecer um conjunto de funes adequado para as tarefas
especificadas e os objetivos dos usurios
=
acurcia: capacidade do produto de software de fornecer
os resultados corretos ou acordados com o grau necessrio
de preciso

COPPE/UFRJ COPPE/UFRJ
Funcionalidade
=
interoperabilidade: capacidade do produto de software
interagir com um ou mais sistemas especificados

=
segurana: capacidade do produto de software proteger a
informao e os dados de forma que pessoas ou sistemas
no autorizados no possam l-los ou modific-los e
pessoas e sistemas autorizados no tenham negado o acesso
aos mesmos
=
conformidade da funcionalidade: capacidade do produto
de software aderir a normas, convenes ou
regulamentaes previstas em leis e prescries similares,
relacionadas funcionalidade

COPPE/UFRJ COPPE/UFRJ
Confiabilidade

capacidade do produto de software manter o nvel de


desempenho especificado quando usado sob as condies
especificadas
Sub-caractersticas:
=
maturidade: capacidade do produto de software evitar
falhas provocadas por defeitos no software
=
tolerncia a defeitos: capacidade do produto de software
manter um nvel de desempenho especificado em casos de
defeitos no software ou de violao de suas interfaces
especificadas

COPPE/UFRJ COPPE/UFRJ
=
recuperabilidade: capacidade do produto de software
restabelecer o nvel de desempenho especificado e
recuperar os dados diretamente afetados, em caso de
um falha
=
conformidade da confiabilidade: capacidade do produto
de software aderir a normas, convenes ou
regulamentaes relacionadas confiabilidade
Confiabilidade

COPPE/UFRJ COPPE/UFRJ
Usabilidade

capacidade do produto de software ser entendido, ser


aprendido e ser atraente ao usurio quando usado sob as
condies especificadas
Sub-caractersticas:
=
inteligibilidade: capacidade do produto de software que
que permite ao usurio entender se o software adequado
e como ele pode ser usado para tarefas e condies de uso
especficas

COPPE/UFRJ COPPE/UFRJ
=
apreensibilidade: capacidade do produto de software
permitir ao usurio aprender a sua aplicao.
=
operacionalidade: capacidade do produto de software
permitir ao usurio sua operao e controle
=
atratividade: capacidade do produto de software ser
atraente ao usurio
=
conformidade da usabilidade: capacidade do produto
de software aderir a normas, convenes, diretrizes de
estilo ou regulamentaes relacionadas usabilidade
Usabilidade

COPPE/UFRJ COPPE/UFRJ
Eficincia

Capacidade do produto de software fornecer o desempenho


adequado, relacionado quantidade de recursos usados, sob
condies estabelecidas
Sub-caractersticas:
=
comportamento em relao ao tempo: capacidade do
produto de software fornecer tempo de resposta e de
processamento e taxas de throughput ao realizar suas
funes sob condies estabelecidas


COPPE/UFRJ COPPE/UFRJ
Eficincia
=
utilizao de recursos: capacidade do produto de
software usar quantidade e tipos adequados de recursos
quando o software realiza suas funes sob condies
estabelecidas
=
conformidade da eficincia: capacidade do produto de
software aderir a normas e convenes relacionadas
eficincia

COPPE/UFRJ COPPE/UFRJ
Manutenibilidade

Capacidade do produto de software de ser modificado. As


modificaes podem incluir correes, melhorias ou
adaptao do software a mudanas no ambiente, nos
requisitos e nas especificaes funcionais.
Sub-caractersticas:
=
analisabilidade: capacidade do produto de software ser
diagnosticado com relao a deficincias ou causas de
falhas no software, ou para identificar as partes a serem
modificadas

COPPE/UFRJ COPPE/UFRJ
Manutenibilidade
=
modificabilidade: capacidade do produto de software
permitir que uma modificao especificada seja
implementada.
=
estabilidade: capacidade do produto de software evitar
efeitos inesperados, ocasionados por modificaes no
software.
=
testabilidade: capacidade do produto de software
permitir que o software modificado seja validado
=
conformidade da manutenibilidade: capacidade do
produto de software aderir a normas e convenes
relacionadas manutenibilidade

COPPE/UFRJ COPPE/UFRJ
Portabilidade

Capacidade do produto de software ser transferido de


um ambiente para outro
Sub-caractersticas:
=
adaptabilidade: capacidade do produto de software
ser adaptado a diferentes ambientes especificados,
sem a necessidade de aplicao de outras aes ou
meios alm daqueles fornecidos para essa finalidade
pelo software considerado

COPPE/UFRJ COPPE/UFRJ
=
capacidade para ser instalado: capacidade do produto de
software ser instalado em um ambiente especificado
=
co-existncia: capacidade do produto de software co-existir
com outro software independente num ambiente comum
partilhando recursos
=
capacidade para substituir: capacidade do produto de
software ser usado para substituir um outro software
especificado, para o mesmo objetivo no mesmo ambiente
=
conformidade da portabilidade: capacidade do produto de
software aderir a padres ou convenes relacionadas
portabilidade
Portabilidade

COPPE/UFRJ COPPE/UFRJ
Modelo para Qualidade em Uso
Qualidade em
uso
Qualidade em
uso
Efetividade
Efetividade
Produtividade
Produtividade
Segurana Crtica
Segurana Crtica
Satisfao
Satisfao

COPPE/UFRJ COPPE/UFRJ
Modelo para Qualidade em Uso
Qualidade em
uso
Qualidade em
uso
Efetividade
Efetividade
Produtividade
Produtividade
Segurana Crtica
Segurana Crtica
Satisfao
Satisfao
Capacidade do produto de
software possibilitar ao
usurio alcanar seus
objetivos com correo e
completude no contexto de
uso especificado

COPPE/UFRJ COPPE/UFRJ
Modelo para Qualidade em Uso
Qualidade em
uso
Qualidade em
uso
Efetividade
Efetividade
Produtividade
Produtividade
Segurana Crtica
Segurana Crtica
Satisfao
Satisfao
Capacidade do produto de
software possibilitar ao
usurio gastar quantidade
de recursos adequados em
relao a efetividade
alcanada

COPPE/UFRJ COPPE/UFRJ
Modelo para Qualidade em Uso
Qualidade em
uso
Qualidade em
uso
Efetividade
Efetividade
Produtividade
Produtividade
Segurana Crtica
Segurana Crtica
Satisfao
Satisfao
Capacidade do produto de
software alcanar nveis
aceitveis de risco de
prejuzo pessoas,
negcios, software ou ao
ambiente em um contexto
de uso especificado

COPPE/UFRJ COPPE/UFRJ
Modelo para Qualidade em Uso
Qualidade em
uso
Qualidade em
uso
Efetividade
Efetividade
Produtividade
Produtividade
Segurana Crtica
Segurana Crtica
Satisfao
Satisfao
Capacidade do produto
de software satisfazer os
usurios em um
contexto de uso

COPPE/UFRJ COPPE/UFRJ
Modelo de Qualidade
influencia
influencia
influencia
Qualidade
de
processo
Medidas do
processo
depende de
Atributos
de
qualidade
interna
Medidas
internas
depende de
Atributos
de
qualidade
externa
Medidas
externas
depende de
Processo
Produto de Software
Atributos
de
qualidade
no uso
Medidas de
qualidade no
uso
Efeitos do produto
de `software
Contextos de uso

COPPE/UFRJ COPPE/UFRJ
Qualidade para Domnios de Aplicao e
Tecnologias de Desenvolvimento Especficas

COPPE/UFRJ COPPE/UFRJ

Rocha,A.R., Maldonado,J.C., Weber,K.(eds) Qualidade de


Software: Teoria e Prtica. Prentice-Hall, 2001 (Cap6)

6.1 Qualidade do Software Educacional (Gilda Campos, Fernanda


Campos)

6.2 Qualidade de Software Mdico (Ana Regina Rocha, Kathia


Oliveira, Alvaro Rabelo)

6.3 Qualidade de Software Orientado a Objetos (Clifton Clunie,


Claudia Werner)

6.4 Qualidade de Software Web (Kathia Oliveira, Raquel Lima,


Ana Regina Rocha)
Qualidade para Domnios de Aplicao e
Qualidade para Domnios de Aplicao e
Tecnologias de Desenvolvimento Especficas
Tecnologias de Desenvolvimento Especficas

COPPE/UFRJ COPPE/UFRJ
Qualidade de Software Web
Qualidade de Software Web

Usabilidade

inteligibilidade global do site

feedback on line e help

interface e aspectos estticos

aspectos especiais

Funcionalidade

capacidade de busca e recuperao

aspectos navegacionais e de browsing

aspectos relacionados ao domnio da


aplicao

Eficincia

tempo de resposta

velocidade na gerao de pginas

velocidade na gerao de grficos

Confiabilidade

correo no processamento de links

recuperao de erros

validao e recuperao de entradas do


usurio

Manutenibilidade

facilidade de correo

adaptabilidade

extensibilidade
Olsina,L et al Specifying Quality Characteristics
and Attributes for Web Sites; First ICSE
Workshop on Web Engineering, Los Angeles,
1999

COPPE/UFRJ COPPE/UFRJ
Avaliao de Pacotes

ISO/IEC 12119

estabelece requisitos de qualidade

mostra como testar



COPPE/UFRJ COPPE/UFRJ
ISO 12119
(Information Technology - Software packages -
Quality requirements and testing)

Aplicvel avaliao de pacotes de software na forma em


que so oferecidos e liberados para uso no mercado
pacotes de software: conjunto completo e documentado
de programas fornecccidos a diversos usurios para uma
aplicao ou funo genrica

COPPE/UFRJ COPPE/UFRJ
CONTEM:
s
REQUISITOS DE QUALIDADE: um pacote de software deve possuir a
Documentao do Pacote, que composta por:
Descrio do Produto
Documentao do Usurio

Programa e Dados
s
INSTRUES PARA TESTE: recomenda como um produto deve ser
testado com relao aos padres de qualidade. Contem recomendaes para:
Pr-requisitos de teste
Atividades de teste
Registros de teste
Relatrio de teste
Teste de acompanhamento

COPPE/UFRJ COPPE/UFRJ
RAZES PARA
MEDIR SOFTWARE
ENTENDER
PREDIZER
CONTROLAR

COPPE/UFRJ COPPE/UFRJ
Mtricas de Software

Utilizadas para permitir a quantificao do grau em que as


caractersticas esto presentes em um determinado produto
de software

mtricas objetivas e subjetivas

mtricas diretas e indiretas

mtricas do produto e do processo



COPPE/UFRJ COPPE/UFRJ
Caractersticas de Boas Mtricas
Caractersticas Organizacionais

Aplicao ao processo de software e gerncia do projeto

Alta visibilidade

Consistncia na aplicao

Interesse e apoio da gerncia

Aceitao na organizao

Compatibilidade com a poltica da organizao

Existncia de responsabilidade e controle

Disponibilidade de dados histricos

Correspondncia ao processo de desenvolvimento

Apoio aos objetivos de melhoria do processo

Pacincia
Mller,K.H.; Paulish,D.J. Software Metrics;
IEEE Computer Society Press; 1993

COPPE/UFRJ COPPE/UFRJ
Caractersticas Tcnicas
Nmero limitado de mtricas
Facilidade de clculo
Disponibilidade de dados para clculo da mtrica
Preciso da definio
Apoio de ferramentas
Realizao de experimentos
Caractersticas de Boas Mtricas
Mller,K.H.; Paulish,D.J. Software Metrics;
IEEE Computer Society Press; 1993

COPPE/UFRJ COPPE/UFRJ
Taxonomia de Atributos Mensurveis

Mtricas de Pessoas

Mtricas do Processo

Mtricas do Produto

Mtricas do Ambiente
Munson, J.C. Software Measurement: problems and
practices; Annals of Software Engineering 1(1995)

COPPE/UFRJ COPPE/UFRJ
Mtricas de Pessoas

Software construdo por pessoas

Pessoas tm atributos relevantes que devem ser medidos


Exemplos:

nmero de cursos em Cincia da Computao

nmero de cursos no domnio da aplicao

experincia com a linguagem

treinamento formal em Engenharia de Software



COPPE/UFRJ COPPE/UFRJ
Exemplos

erros cometidos por programadores

pedidos de alterao no software

nmero de relatrios pendentes


Mtricas do Processo

COPPE/UFRJ COPPE/UFRJ
Exemplos:

medidas da Especificao de Requisitos

medidas da Especificao de Projeto


5
medidas do cdigo
Mtricas do Produto
Exemplo: nmero de falhas no teste
de aceitao

COPPE/UFRJ COPPE/UFRJ
Modelo para Qualidade Interna e Externa

Qualidade interna avaliada segundo um conjunto de


mtricas internas para essas caractersticas
=
aplicadas a um produto no-executvel
(especificaes, cdigo fonte, ..)
=
permite avaliar os produtos de software antes do
produto ser executvel

COPPE/UFRJ COPPE/UFRJ
Modelo para Qualidade Interna e Externa

Qualidade externa verificada segundo um conjunto de


mtricas externas definidas para essas caractersticas
=
obtidas a partir do comportamento do sistema
atravs de testes, operao ou observando sua
execuo
=
permite avaliar durante o teste e operao

COPPE/UFRJ COPPE/UFRJ
Mtricas na ISO 9126 (2001) - Exemplos
Usabilidade: inteligibilidade (exemplos)

Completude da descrio: qual a proporo de funes que


so entendidas aps a leitura da descrio do produto?

Entendimento de funes: qual a proporo de funes o


usurio capaz de entender corretamente

X= A / B
=
A= nmero de funes de interface cujo propsito corretamente
descrito pelo usurio
=
B= nmero de funs disponveis a partir da interface

0 <= X <= 1 Quanto mais prximo de 1 mais adequada



COPPE/UFRJ COPPE/UFRJ
Mtricas na nova ISO 9126 (2001)- Exemplos
Funcionalidade (Acurcia)

Acurcia computacional: quo frequentemente os usurios


encontram resultados errados?

Acurcia esperada: existem diferenas entre o resultados


obtidos e os esperados:

X = A / T
=
A = nmero def casos encontrados pelo usurio com diferenas
no valor esperado aceitvel
=
T= tempo de operao

0 <= X Quanto mais prximo de 0 melhor



COPPE/UFRJ COPPE/UFRJ

Quantificam aspectos do ambiente da organizao

Exemplos:

estabilidade da administrao

estabilidade do hardware e do software


C
frequncia de interrupes no trabalho

privacidade no ambiente de trabalho

facilidades de biblioteca
Mtricas do Ambiente

COPPE/UFRJ COPPE/UFRJ
Um programa de uso de mtricas deve ser
implementado com muito cuidado:

envolver as pessoas que iro usar as mtricas

criar rapidamente um conjunto inicial de mtricas

aplicar as mtricas em um projeto

melhorar as mtricas com o aprendizado

Evitar a existncia de muitas mtricas



COPPE/UFRJ COPPE/UFRJ
Caractersticas de Qualidade de Interesse
Documentos do Projeto
Informaes sobre o Processo
Tcnicas de Avaliao
Para avaliar software so necessrias as seguintes informaes:

COPPE/UFRJ COPPE/UFRJ

Requisitos de Qualidade

quais e em que grau os requisitos de qualidade


referente funcionalidade, eficincia, usabilidade,
manutenibilidade, confiabilidade e portabilidade
devem ser satisfeitos

podem ser acrescentados novos atributos de qualidade


dependendo da natureza do projeto e do produto

COPPE/UFRJ COPPE/UFRJ

Projetos diferentes tm requisitos de qualidade distintos

Requisitos de Qualidade devem:


=
fazer parte da Especificao de Requisitos
=
ser identificados com os usurios/clientes
Definio de Requisitos de Qualidade

COPPE/UFRJ COPPE/UFRJ
A realizao desta atividade envolve:

selecionar as caractersticas de qualidade de interesse

definir prioridades e relaes entre as caractersticas

definir quantitativamente os requisitos de qualidade atribuindo


valores esperados a cada medida

COPPE/UFRJ COPPE/UFRJ
Requisitos de Qualidade do Sistema ______________
Avaliao de Usurios
Nome: ________________________________________
Setor: __________________________________________
Instrues para preenchimento:
Para cada caracterstica de qualidade indique o nvel em que considera importante que ele esteja presente
no Sistema ______________________considerando a seguinte escala:
| 0 | 1 | 2 | 3 | 4 |
onde: 0 - presena totalmente desnecessria
1 - presena desnecessria
2 - presena necessria se no aumentar o custo/tempo de desenvolvimento
3 - presena necessria em grau elevado
4 - presena imprescindvel
Caso no se considere em condies de avaliar uma determinada caracterstica, marque a opo NA (no
avaliado).
Sua avaliao ser muito importante para a definio dos requisitos de qualidade do Sistema. Obrigado.

COPPE/UFRJ COPPE/UFRJ
adequao: capacidade do produto de software de fornecer um
conjunto de funes adequado para as tarefas especificadas e os
objetivos dos usurios
acurcia: capacidade do produto de software de fornecer os resultados
corretos ou acordados com o grau necessrio de preciso
interoperabilidade: capacidade do produto de software interagir com
um ou mais sistemas especificados

segurana: capacidade do produto de software proteger a informao
e os dados de forma que pessoas ou sistemas no autorizados no
possam l-los ou modific-los e pessoas e sistemas autorizados no
tenham negado o acesso aos mesmos
conformidade da funcionalidade: capacidade do produto de
software aderir a normas, convenes ou regulamentaes previstas
em leis e prescries similares, relacionadas funcionalidade
| 0 | 1 | 2 | 3 | 4 | | 0 | 1 | 2 | 3 | 4 | NA NA
| 0 | 1 | 2 | 3 | 4 | | 0 | 1 | 2 | 3 | 4 | NA NA
| 0 | 1 | 2 | 3 | 4 | | 0 | 1 | 2 | 3 | 4 | NA NA
| 0 | 1 | 2 | 3 | 4 | | 0 | 1 | 2 | 3 | 4 | NA NA
| 0 | 1 | 2 | 3 | 4 | | 0 | 1 | 2 | 3 | 4 | NA NA
Funcionalidade: Capacidade do produto de software fornecer funes que satisfazem as
necessidades explcitas ou implcitas quando o software usado sob condies
especificadas
SUB-CARACTERSTICA
NVEL DESEJADO

COPPE/UFRJ COPPE/UFRJ
0 - presena totalmente desnecessria
1 - presena desnecessria
2 - presena necessria se no aumentar o custo/tempo de desenvolvimento
3 - presena necessria em grau elevado
4 - presena imprescindvel
Adequao
Acurcia
Interoperabilidade
Conformidade da funcionalidade
Segurana
Maturidade
Tolerncia a defeitos
Recuperabilidade
Conformidade da confiabilidade
Inteligibilidade
Apreensibilidade
Operacionalidade
Atratividade
Conformidade da usabilidade
Comport. em relao ao tempo
Utilizao de recursos
Conformidade da eficincia
Analisabilidade
Modificabilidade
Estabilidade
Testabilidade
X
Y Z

COPPE/UFRJ COPPE/UFRJ

Walkthrough

Inspeo

Prova Formal

Testes
Tcnicas para Avaliao da Qualidade

COPPE/UFRJ COPPE/UFRJ
Defeitos e Falhas: Conceitos

Defeito

um problema nos requisitos, no projeto, no cdigo, na


documentao ou nos casos de teste

Falha

um problema no funcionamento do sistema


Falha: conseqncia de um defeito

COPPE/UFRJ COPPE/UFRJ
Defeitos e Falhas

Falhas podem ser resultado de qualquer uma das seguintes razes


(Pfleeger, S. Engenharia de Software:Teoria e Prtica. 2003):

A especificao pode estar errada ou falta um requisito

A especificao pode no ter declarado exatamente o que o cliente quer


ou necessita

A especificao pode conter um requisito impossvel de se implementar


considerando o hardware e software estabelecidos

O projeto do sistema contem um defeito (por ex: erro no projeto do BD)

O projeto do programa pode conter um defeito (por ex: erro no algoritmo)

Erro no cdigo

COPPE/UFRJ COPPE/UFRJ
OBJETIVOS
O
detectar erros em qualquer representao do software
O
verificar se o software sob avaliao atinge os requisitos
O
assegurar que foram obedecidos normas e padres
O
assegurar que o software desenvolvido de forma uniforme
O
tornar o produto gerencivel
O
treinar a equipe
CARACTERSTICAS

reunio com grupos de 3 a 5 pessoas

envolve preparao prvia reunio

devem durar em torno de 2 horas


Walkthrough e Inspees

COPPE/UFRJ COPPE/UFRJ

semelhante ao walkthrough embora mais formal

enfoque sistemtico para examinar um programa em detalhes

exame de um produto seguindo um processo sistemtico descrito


em documentos que prescrevem exatamente o que o inspetor deve
fazer

baseada em critrios previamente definidos

necessita de envolvimento do inspetor, no um processo


mecnico

sucesso depende do inspetor entender o problema e a tecnologia


Inspeo

COPPE/UFRJ COPPE/UFRJ

Inspees completam os testes


Inspees completam os testes

Testes apoiam a deteco de erros


Testes apoiam a deteco de erros

Podemos ter programas corretos mas difceis de


Podemos ter programas corretos mas difceis de
entender e manter
entender e manter

Inspees podem avaliar os demais atributos de


Inspees podem avaliar os demais atributos de
qualidade
qualidade

COPPE/UFRJ COPPE/UFRJ
Procedimentos para tornar eficaz a reunio

rever o produto e no o desenvolvedor

estabelecer uma agenda e mant-la

limitar o debate

detectar problemas mas no tentar resolv-los na reunio

fazer anotaes

limitar o nmero de participantes

elaborar um conjunto de critrios a serem avaliados

alocar recursos e espao no cronograma para a reunio

treinar revisores

rever revises anteriores



COPPE/UFRJ COPPE/UFRJ
Tempos Tpicos dedicados Preparao e
Realizao da Reunio de Inspeo
Artefato Tempo de Preparao Tempo de Reunio
Doc. de Requisitos 25 pginas/hora 12 pginas/hora
Espec. funcional 45 pginas/hora 15 pginas/hora
Espec. Lgica 50 pginas/hora 20 pginas/hora
Cdigo fonte 150 linhas de cdigo/hora 75 linhas de cdigo/hora
Docum.do usurio 35 pginas/hora 20 pginas/hora
(Jones, 1991)

COPPE/UFRJ COPPE/UFRJ
Durao da Inspeo na HP

Planejamento: 2 horas

Reunio com a equipe: 30 minutos

Preparao individual: 2 horas procurando defeitos e 90


minutos para registro

Brainstorm para discusso e recomendar aes: 30 minutos


* * * Correo de Defeitos * * *

Elaborao de documento resumo: 30 minutos



COPPE/UFRJ COPPE/UFRJ
Efetividade da Inspeo
Efetividade da Inspeo

Depende do tempo de preparao e no do tamanho da equipe

Efetividade e eficincia da equipe depende de sua familiaridade


com o produto

Defeitos encontrados durante atividades de identificao de


defeitos (Jones, 1991)
Atividade Defeitos encontrados por
mil linhas de cdigo
Reviso dos requisitos 2,5
Reviso do projeto 5,0
Inspeo do cdigo 10,0
Teste de integrao 3,0
Teste de Aceitao 2,0

COPPE/UFRJ COPPE/UFRJ
Teste de Software
um elemento do processo de garantia da qualidade
de software

COPPE/UFRJ COPPE/UFRJ
Objetivo dos Testes
Objetivo dos Testes

Objetivo dos testes descobrir defeitos

Teste bem sucedido quando:

um defeito encontrado

uma falha ocorre como resultado dos procedimentos de teste

Identificao de Defeitos: processo de determinar qual defeito


ou defeitos causaram a falha

Correo de Defeitos: processo de fazer mudanas no produto


de modo que os defeitos sejam eliminados

COPPE/UFRJ COPPE/UFRJ
Classificao Ortogonal de Defeitos da IBM
Classificao Ortogonal de Defeitos da IBM

Os defeitos so classificados por categorias que sugerem


que partes do processo de desenvolvimento necessitam de
ateno especial por estarem gerando muitos erros

Os desenvolvedores identificam tambm:

Se um defeito de omisso (falta de um elemento


importante no cdigo. Ex: uma varivel no
inicializada)

Se um defeito de criao (uma incorreo. Ex: uma


varivel inicializada com valor errado)

COPPE/UFRJ COPPE/UFRJ
Classificao Ortogonal de Defeitos da IBM
Classificao Ortogonal de Defeitos da IBM
Tipo de Defeito
Funo
Interface
Verificao Verificao
Atribuio Atribuio
Sincronia Sincronia
Verso/empaco- Verso/empaco-
tamento tamento
Documentao Documentao
Algoritmo Algoritmo
Significado
Defeito que afeta a capacidade, as interfaces com o usurio, as interfaces do
produto, as interfaces com a arquitetura de hardware ou estruturas globais de
dados
Defeito na interao com outros componentes ou drivers
Defeito na lgica do programa, que falha ao validar dados e valores antes de
utiliz-los
Defeito na estrutura de dados ou na inicializao do bloco de cdigo
Defeito que envolve a sincronia de recursos compartilhados e em tempo real
Defeito que ocorre devido a problemas nos repositrios, gerenciamento de
mudanas ou no controle de verses
Defeito que afeta as informaes nas publicaes ou sobre a documentao
Defeito que envolve a eficincia ou a correo do algoritmo ou da estrutura de
dados, mas no do Projeto

COPPE/UFRJ COPPE/UFRJ
Organizao dos Testes: Estgios
Organizao dos Testes: Estgios

Testar cada componente isolado: teste de mdulo, teste de


componente, teste de unidade

Verificar se as interfaces entre s componentes foram definidas e


tratadas adequadamente: teste de integrao

Testar o sistema para verificar se tem a funcionalidade desejada


(compara com os requisitos funcionais): teste funcional

Comparar o sistema com os demais requisitos de hw e sw: teste de


desempenho

Conferir com o cliente se o sistema est de acordo com suas


expectativas: teste de aceitao

Assegurar que o sistema funciona adequadamente no ambiente de uso:


teste de instalao
T
E
S
T
E

D
E

P
R
O
G
R
A
M
A
S
T
E
S
T
E

D
O

S
I
S
T
E
M
A

COPPE/UFRJ COPPE/UFRJ
Teste de Programas
Teste de
Unidade
Teste de
Unidade
Teste de
Unidade
.
.
.
Teste de
Integrao
Componente
de cdigo
Componente
de cdigo
Componente
de cdigo
C
o
m
p
o
n
e
n
t
e

t
e
s
t
a
d
o
C
o
m
p
o
n
e
n
t
e

t
e
s
t
a
d
o
Especificao
de Projeto
Mdulos
Integrados

COPPE/UFRJ COPPE/UFRJ
Teste
Funcional
Teste de
Desempenho
Teste de
Aceitao
Teste de
Instalao
Mdulos
integrados
Sistema
funcionando
Software
verificado e
validado
Sistema
aceito
SISTEMA
EM USO
Requisitos
funcionais do
sistema
Outros
requisitos do
software
Especificao
de requisitos
do cliente
Ambiente
do
usurio

COPPE/UFRJ COPPE/UFRJ
Seleo do Nvel de Avaliao
NVEL AMBIENTE PESSOAS ECONOMIA APLICAO
D
Pequeno dano a
propriedades
Sem risco para
pessoas
Perda econmi-
ca desprezvel

Lazer

Uso
domstico
C
Dano a proprie-
dades
Poucas pes-
soas mutiladas
Perda econmi-
ca significativa

Alarme de
incndio

Controle de
processos
B
Dano recuper-
vel ao ambiente
Risco para
vidas humanas
Grande perda
econmica

Sistemas
mdicos

Sistemas
financeiros
A
Dano irrecupe-
rvel ao am-
biente
Muitas pessoas
mortas
Desastre finan-
ceiro

Controle de
trens

Sistemas
nucleares

COPPE/UFRJ COPPE/UFRJ
NVEL D NVEL C NVEL B NVEL A
Funcionalidade
Teste funcional + Inspeo de
documentos
+ Teste de
componentes
+ Prova formal
Confiabilidade
Facilidades da
linguagem de
programao
+ Anlise da
tolerncia a
defeitos
+ Modelos de
crescimento da
confiabilidade
+ Prova formal
Usabilidade
Inspeo da
interface com
o usurio
+ Aderncia a
padres de
interface
+ Teste em
laboratrio
+ Modelos
mentais do
usurio
CARACTERSTICA
Tcnicas de Avaliao

COPPE/UFRJ COPPE/UFRJ
CARACTERSTICA NVEL D NVEL C NVEL B NVEL A
Eficincia
Medio do
tempo de
execuo
+ Benchmark + Anlise da
complexidade de
algortmos
+ Anlise de
desempenho
Manutenibilidade
Inspeo de
documentos
+ Anlise
esttica
+ Anlise do
processo de
desenvolvimento
+ Avaliao da
rastreabilidade
Portatilidade
Anlise da
instalao
+ Aderncia a
normas de
programao
+ Avaliao das
restries do
ambiente
+ Avaliao do
projeto de pro-
gramas
Tcnicas de Avaliao

COPPE/UFRJ COPPE/UFRJ
Capers Jones, Software defect-removal efficiency,
IEEE Computer, maro 1996
ATIVIDADE EFICINCIA
Revises informais de projeto 25% a 40%
Inspees formais de projeto 45% a 65%
Revises informais de cdigo 20% a 35%
Inspees formais de cdigo 45% a 70%
Teste de unidades 15% a 50%
Teste de integrao 25% a 40%
Teste do sistema 25% a 55%
Beta-teste (< 10 clientes) 24% a 40%
Beta teste (> 1000 clientes) 60% a 85%
Eficincia das Tcnicas para a
Deteco e Correo de Erros

COPPE/UFRJ COPPE/UFRJ
Efetividade das Tcnicas de Identificao de Defeitos
Defeitos Defeitos Defeitos Defeitos
nos Requisitos no Projeto no Cdigo na Documentao
Revises Regular Excelente Excelente Bom
Prottipos Bom Regular Regular No aplicvel
Testes Ruim Ruim Bom Regular
Provas de Correo Ruim Ruim Regular Regular

COPPE/UFRJ COPPE/UFRJ
Gerncia da Qualidade de Software

Planejamento e Gerncia do Processo

Planejamento e Gerncia da Qualidade do Produto



COPPE/UFRJ COPPE/UFRJ
Planejamento e Gerncia da
Qualidade do Produto
Trs fases

Definir requisitos de qualidade em termos quantitativos

Planejar o controle da qualidade

Realizar o controle da qualidade


medio
avaliao (as medidas obtidas so comparadas com
os requisitos de qualidade)

COPPE/UFRJ COPPE/UFRJ
1. Resumo do Projeto
2. Plano do Processo de Desenvolvimento
3. Plano de Organizao
4. Plano de Acompanhamento
5. Plano de Documentao
6. Plano de Controle da Qualidade
7. Plano de Treinamento
8. Plano de Implantao e Operao
9. Plano de Recursos e Produtos
10. Plano de Gerncia de Configurao
11. Glossrio
Plano do Projeto

COPPE/UFRJ COPPE/UFRJ

Controle da Qualidade ao longo do Desenvolvimento

Avaliao do Produto Final

Plano de Testes
Plano de Controle da Qualidade
Plano de Controle da Qualidade

COPPE/UFRJ COPPE/UFRJ
Planejamento do Controle da Qualidade

Identificao das caractersticas de qualidade de


interesse para o produto

Definio da importncia de cada caracterstica

Definio dos procedimentos de avaliao

Definio de marcos e pontos de controle ao longo do


processo de desenvolvimento

COPPE/UFRJ COPPE/UFRJ
Deve-se planejar as aes necessrias para atingir os requisitos
de qualidade definidos:

que critrios devem controlar as caractersticas de


qualidade de interesse

como e quando os dados necessrios devem ser coletados

que mtodos, tcnicas e ferramentas sero utilizados



COPPE/UFRJ COPPE/UFRJ
Plano de Testes

Guia para toda a atividade de testes

na verdade uma srie de planos, um para cada tipo de


teste

Descreve tcnicas, responsabilidades, casos de teste, critrios


para determinar que o teste est completo

COPPE/UFRJ COPPE/UFRJ
Nvel de Maturidade 2
Gerncia de Requisitos
Planejamento do Projeto
Monitorao e Controle do Projeto
Gerncia de Acordos com Fornecedores
Medio e Anlise
Garantia da Qualidade do Processo e do Produto
Gerncia de Configurao
reas de Processo CMMI relacionadas

COPPE/UFRJ COPPE/UFRJ
Gerncia de Requisitos
Hierarquia para
Rastreabilidade
Requisitos
Obter
Entendimento
dos Requisitos
Obter Aceite/
Comprometi-
mento com os
Requisitos
Gerenciar
Mudanas nos
Requisitos
Identificar
Inconsistncias
entre o Trabalho
do Projeto e os
Requisitos
Manter
Rastreabilidade
bidirecional dos
Requisitos
Gerenciar Requisitos

COPPE/UFRJ COPPE/UFRJ
Estabelecer
Estimativas
Desenvolver Plano
do Projeto
Obter aceite/
comprometimento
dos stakeholders
Planos do
Projeto
Dados de
Planejamento
MONITORAO E
CONTROLE DO PROJETO
Planejamento do Projeto

COPPE/UFRJ COPPE/UFRJ
Garantia da Qualidade
do Processo e do Produto
Avaliar Objetivamente Processos e Produtos do Trabalho
Avaliar
Objetivamente
os Processos
Estabelecer
Registros
Comunicar e
Garantir
Resoluo de
No Conformi-
dades
5


Produtos do
Trabalho
Relatrios e Registros
Formecer Insight Objetivo
Avaliar
Objetivamente
os Produtos de
Trabalho e
Servios

COPPE/UFRJ COPPE/UFRJ
QUALIDADE
Teste
Medies
Revises
Gerncia de
Configurao
Normas
Mtodos

Das könnte Ihnen auch gefallen