Você está na página 1de 58

Qualidade de Produtos de Software

Renata Bezerra (rbsa@cin.ufpe.br) Virgnia Chalegre (vcc@cin.ufpe.br)

Roteiro

Introduo Modelos de qualidade de produto Teste de Software Inspeo de Software Modelos de Maturidade de Testes de Software Concluso Referncias

Qualidade de Produtos de Software

Introduo

A indstria busca continuamente aprimorar seus produtos de acordo com os padres mais rigorosos em uso no mundo. Maior qualidade = cliente satisfeito!

Qualidade de Produtos de Software

Introduo

Um problema fundamental da qualidade de software definir claramente os objetivos que se pretende atingir com um projeto.

Qualidade de Produtos de Software

Modelos de Qualidade de Produto

Qualidade de Produtos de Software

ISO 9126
ISO/IEC 9126-1:2001 Modelo de Qualidade ISO/IEC TR 9126-2:2003 Mtricas Externas ISO/IEC TR 9126-3:2003 Mtricas Internas ISO/IEC TR 9126-4:2004 Mtricas de Qualidade em Uso

Qualidade de Produtos de Software

ISO 9126 - 1

Qualidade de Produtos de Software

ISO 9126
Processo
influencia Qualidade de processo

Produto de Software
influencia influencia

Atributos de qualidade interna

Atributos de qualidade externa

Atributos de qualidade no uso


Contextos de uso

depende de Medidas do processo

depende de

depende de Medidas de qualidade no uso

Medidas internas

Medidas externas

Qualidade de Produtos de Software

ISO 12119
Avaliao de software de prateleira Estabelece os requisitos de qualidade Fornece instrues para teste, considerando estes requisitos

Qualidade de Produtos de Software

ISO 12119
3. Requisitos de qualidade 3.1. Descrio do Produto 3.2. Documentao do usurio 3.3. Programas e dados 4. Instrues para teste 4.1. Pr-requisitos de teste 4.2. Atividades de teste 4.3. Registro de teste 4.4. Relatrio de teste
Qualidade de Produtos de Software

ISO 14598

um guia para avaliao de produtos de software, baseado na utilizao prtica da norma ISO 9126 Contm conceitos para avaliar a qualidade de software e define um modelo de processo de avaliao genrico
Qualidade de Produtos de Software

ISO 14598
Norma Nome Finalidade Ensina a utilizar as outras normas do grupo. Define os termos tcnicos utilizados nas demais partes, contm requisitos gerais para especificao e avaliao de qualidade de software e esclarece os conceitos gerais. Sobre como fazer uma avaliao, de forma geral Como avaliar sob o ponto de vista de quem desenvolve Como avaliar sob o ponto de vista de quem vai adquirir Como avaliar sob o ponto de vista de quem certifica Detalhes sobre como avaliar cada caracterstica
Qualidade de Produtos de Software

14598-1

Viso Geral

14598-2 14598-3 14598-4 14598-5 14598-6

Planejamento e Gerenciamento Guia para Desenvolvedores Guia para Aquisio Guia para Avaliao Mdulos de Avaliao

Projeto SQuaRE
Software product Quality Requirements and Evaluation Manual de utilizao e reorganizao das normas ISO/IEC 9126 e ISO/IEC 14598.

Qualidade de Produtos de Software

Projeto SQuaRE

Requisitos Avaliao de Qualidade Gerenciamento 2504n 2503n de Qualidade 2501n Medies 2501n

Modelo de Qualidade 2501n

Qualidade de Produtos de Software

Teste de Software

Qualidade de Produtos de Software

Verificao e Validao

V & V Verificao e Validao


Verificao

avalia um produto e determina se est de acordo com os requisitos Validao procura garantir que o produto atenda s necessidades dos clientes

Teste de Software tcnica dinmica de V & V Inspeo de Software tcnica esttica de V & V

Qualidade de Produtos de Software

Objetivos
Executar o sistema de modo a encontrar defeitos Garantir que o sistema faz aquilo que suposto fazer

Qualidade de Produtos de Software

Abordagens de Testes

Abordagem Funcional (Caixa Preta)


Software

visualizado como uma caixa

preta Considera os dados de entrada e observa se a sada est de acordo com o esperado

Qualidade de Produtos de Software

Abordagens de Testes

Abordagem Estrutural (Caixa Branca)


Interesse

no que acontece dentro da

caixa Avalia as funcionalidades internas dos componentes do software

Qualidade de Produtos de Software

Estgios de Testes

Teste de Unidade testa a estrutura interna e comportamento de componentes individuais Teste de Integrao as unidades da etapa anterior so testadas de forma integrada Teste de Sistema testa o funcionamento da aplicao como um todo Teste de Aceitao testes realizados pelos usurios do sistema na tentativa de garantir a sua confiana
Qualidade de Produtos de Software

Tipos de Testes

Teste Funcional focado nas regras de negcio do sistema Teste de Recuperao de Falha sistema forada a falhar para analisar o seu comportamento Teste de Segurana verifica se o sistema previne acesso no autorizado Teste de Carga - mede o comportamento do sistema quando este submetido a nveis altos de carga Teste de Performance - verifica o rendimento de um sistema
Qualidade de Produtos de Software

Tipos de Testes

Teste de Stress - avalia o comportamento do sistema diante de condies que ultrapassem o limite especificado nos requisitos Teste de Configurao - testa o funcionamento do sistema em diferentes configuraes de hardware/software Teste de Usabilidade verifica se o produto tem uma interface amigvel Teste de Regresso re-execuo de testes para validar correes realizadas
Qualidade de Produtos de Software

Processo de Testes
Planejamento e Controle Anlise e Projeto Implementao e Execuo Avaliao do Critrio de Sada e Relatrio Atividade de Encerramento de Teste

Qualidade de Produtos de Software

Processo de Testes

Planejamento e Controle
Determinar

o escopo e riscos e identificar os objetivos de teste Determinar a estratgia de teste Definir recursos, humanos e materiais Elaborar cronograma de testes Estabelecer os critrios de sada

Qualidade de Produtos de Software

Processo de Testes

Anlise e Projeto
Revisar

a base de testes Identificar e descrever casos de teste Estruturar procedimentos de teste Avaliar a capacidade de testar os requisitos

Qualidade de Produtos de Software

Processo de Testes

Implementao
Implementar

componentes de apoio Criar sutes de teste Implementar e verificar o ambiente

Qualidade de Produtos de Software

Processo de Testes

Execuo
Executar as sutes de teste e casos de teste individuais Seguir as estratgias de teste definidas na etapa de planejamento Criar um log com as sadas da execuo dos testes Comparar resultados obtidos com resultados esperados Registrar os defeitos em um repositrio centralizado Realizao de testes de regresso

Qualidade de Produtos de Software

Processo de Testes

Avaliao do critrio de sada e relatrio


os logs de testes Verificar necessidade de incluso de mais testes ou mudana nos critrios de sada Escrever um relatrio de resumo de testes para os stakeholders
Checar

Qualidade de Produtos de Software

Processo de Testes

Atividades de Encerramento de teste


Garantir

que todos os problemas reportados foram realmente resolvidos Finalizar e arquivar os artefatos produzidos Repassar os artefatos para a equipe de manuteno Avaliar como se deu o processo de testes e analisar as lies aprendidas

Qualidade de Produtos de Software

Processo de Testes X Processo de Desenvolvimento de Software

Modelo V

Qualidade de Produtos de Software

Inspeo de Software

Qualidade de Produtos de Software

Definio

Tcnica esttica do processo de V & V So efetuadas revises no sistema com o objetivo de encontrar defeitos Tipicamente so analisados artefatos como:
Especificao de Requisitos Projetos e especificaes de interface com usurio Projeto de Arquitetura, Projeto de alto nvel e Projeto detalhado Cdigo fonte Planos de Teste e casos de Teste

Qualidade de Produtos de Software

Objetivos
Identificar

quaisquer desvios de padres Sugerir oportunidades de melhoria para o autor Promover a troca de experincia entre os participantes

Qualidade de Produtos de Software

A Equipe de Inspeo

Autor desenvolvedor do artefato que ser inspecionado Inspetor examina o produto na tentativa de encontrar defeitos Leitor apresenta o artefato aos demais participantes Escritor registra as informaes sobre cada defeito encontrado Moderador possui o papel mais crtico de todo o processo, liderando toda a equipe
Qualidade de Produtos de Software

O Processo de Inspeo

Qualidade de Produtos de Software

O Processo de Inspeo

Planejamento
O

moderador responsvel por:

Selecionar

a equipe de inspeo Checar se o produto est pronto para inspeo Organizar a reunio Delegar as atividades de cada membro Garantir a completude dos materiais a serem inspecionados
O

autor e o moderador decidem quantas reunies de inspeo sero requeridas


Qualidade de Produtos de Software

O Processo de Inspeo

Viso Geral
O

autor apresenta as principais caractersticas do produto a ser inspecionado uma etapa opcional e depende da necessidade identificada pelo moderador

Qualidade de Produtos de Software

O Processo de Inspeo

Preparao
Os

inspetores analisam o produto de trabalho em busca de no-conformidades Fazem as anotaes necessrias O moderador analisa os logs antes da reunio para determinar se a equipe est preparada para suas tarefas

Qualidade de Produtos de Software

O Processo de Inspeo

Reunio
O

leitor realiza a leitura e interpretao do produto O autor tira quaisquer dvidas que surgirem A equipe de inspetores identifica os possveis defeitos A reunio no deve passar de duas horas No devem ser discutidas formas de corrigir os defeitos
Qualidade de Produtos de Software

O Processo de Inspeo

Re-Trabalho
O

autor corrige os defeitos identificados na reunio


Defeitos

considerados mais relevantes devem ser corrigidos primeiro

Qualidade de Produtos de Software

O Processo de Inspeo

Acompanhamento
O

moderador:

Analisa

o material corrigido pelos autores Verifica se os defeitos foram corrigidos com sucesso Decide se uma nova inspeo necessria

Qualidade de Produtos de Software

Testes e Inspeo

No teste
Voc comea com um problema Em seguida tem que encontrar o bug Depois, deve imaginar a correo Por fim, implementa e testa a correo

Nas Inspees
Voc v o defeito Ento imagina a correo Finalmente, implementa e revisa a correo

Qualidade de Produtos de Software

Testes e Inspeo

Nos Testes
Se

o programa produziu um resultado no usual, voc precisa


Detectar

que aquilo no foi usual Descobrir o que o sistema estava fazendo Encontrar em que ponto estava no programa Descobrir que defeito poderia causar este comportamento estranho

Qualidade de Produtos de Software

Testes e Inspeo

Nas Inspees
Voc segue sua prpria lgica Quando encontra um defeito, sabe exatamente onde est Voc sabe o que o programa deveria fazer e no est fazendo Logo, voc sabe porque isto um defeito Portanto, est em melhor posio para imaginar uma correo completa e eficaz Quando combinadas com testes, o nmero de defeitos encontrados pode superar os 90% de defeitos existentes

Qualidade de Produtos de Software

Modelo de Maturidade de Testes de Software

Qualidade de Produtos de Software

TPI

Qualidade de Produtos de Software

Nveis reas Chaves

B Elaborao de estratgias combinadas para testes de alto nvel.

C Elaborao de estratgias combinadas para testes de alto nvel e de baixo nvel.

D Estratgia para todos os nveis de testes e combinao.

Elaborao de simples estratgias para testes de alto Estratgia de Teste nvel. Por exemplo: para Testes de Sistemas. Planejamento, Especificao, Modelos de Ciclo Execuo. de Vida Na concluso dos documentos base para os testes. Estimativa e planejamento resumidos

Momento de envolvimento

Planejamento e Estimativa Tcnicas de Especificao de Testes

Tcnicas informais

Planejamento , Preparao, Especifica o, Execuo, Finalizao. No inicia da Incio da construo especificao dos dos requisitos documentos base para os testes. Estimativas e planejamento s baseados em dados histricos. Tcnicas formais

Incio do Projeto de desenvolvimento.

Qualidade de Produtos de Software

Modelo para Implantar Melhorias TPI


Determinar o alvo e a abordagem: Que reas sero atacadas ? Primeira avaliao: Conhecimento da situao atual so verificados os pontos fortes e fracos do processo de teste. Definir aes de melhoria: Baseadas nas metas e no resultado da avaliao. Formular plano: O plano aborda as atividades necessrias para orientar o processo de mudana . Implementar aes de melhoria: Execuo do plano. So analisadas as aes executadas e bem sucedidas. Avaliao final: Qual foi o rendimento das aes implementadas?

Qualidade de Produtos de Software

TMM

Qualidade de Produtos de Software

TMM

Nvel 1 Initial: no existe processo definido. O objetivo dos testes mostrar que o software funciona. Nvel 2 Phase Definition: planos de teste so estabelecidos contendo estratgias de teste. Nvel 3 Integration: Testes integrados ao ciclo de vida do software. feito um Master Test Plan. A estratgia de testes determinada atravs de tcnicas de gerenciamento de riscos e baseada em requisitos.
Qualidade de Produtos de Software

TMM

Nvel 4 Management and Measurement: Revises e inspees so incorporadas ao ciclo de vida do desenvolvimento. Os produtos de software so avaliados a partir de critrios de qualidade , como reusabilidade e usabilidade. Casos de testes so armazenados e gerenciados em uma base de dados central para reuso e testes de regresso

Qualidade de Produtos de Software

TMM

Nvel 5 Optimization: Mtodos e tcnicas so otimizadas e esto em melhoramento contnuo. A preveno de defeitos e o controle de qualidade so introduzidos em outras reas do processo. H procedimentos para escolha e avaliao de ferramentas de testes.

Qualidade de Produtos de Software

TIM

4 Objetivos gerais com sub-objetivos; Um objetivo s poder ser atendido se seus sub-objetivos tambm forem atendidos reas Chave

Qualidade de Produtos de Software

Objetivos - TIM

Nvel 1 - Baselining - Padronizao dos documentos, mtodos e polticas. - Anlise e classificao dos problemas. Nvel 2 Cost-efectiveness - Deteco de bugs desde o incio do projeto - Automao de tarefas de teste - Treinamento - Reuso

Qualidade de Produtos de Software

Objetivos - TIM

Nivel 3 Risk-lowering - Envolvimento desde o incio do projeto Envolvimento desde o incio do projeto - Anlise de custo x benefcio para justificar os gastos - Anlise de custo x benefcio para justificar os gastos - Anlise de problemas nos produtos e processos - Anlise de problemas nos produtos e processos - Mtricas de produtos, processos e recursos - Mtricas de produtos, processos e recursos - Anlise e gerenciamento de riscos - Anlise e gerenciamento de riscos - Comunicao com todas as partes envolvidas nos projetos - Comunicao com todas as partes envolvidas nos projetos Nivel 4 - Optimizing - Conhecimento e entendimento atravs de experimentao e Conhecimento e entendimento atravs de experimentao e modelagem modelagem - Cooperao com todas as partes envolvidas nos projetos em - Cooperao com todas as partes envolvidas nos projetos em todas as fases do desenvolvimento todas as fases do desenvolvimento - Anlise das causas razes para os principais problemas - Anlise das causas razes para os principais problemas - Melhoria contnua - Melhoria contnua
Qualidade de Produtos de Software

reas Chave - TIM


Organizao Planejamento e Rastreabilidade Casos de Teste Testware (artefatos de teste) Revises

Qualidade de Produtos de Software

Concluso
Garantir a qualidade do produto essencial O cliente ficar mais satisfeito Testes e Inspees contribuem na garantia da qualidade

Detectam

defeitos e corrigem antes de chegar nas mos do cliente

Qualidade de Produtos de Software

Dvidas

Qualidade de Produtos de Software