25
QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Embed Size (px)

Citation preview

Page 1: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

QUALIDADE DE PRODUTOS DE SOFTWAREMarília Oliveira

Page 2: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Roteiro Introdução Modelos de Qualidade Testes de Software Inspeções Modelos de Maturidade para Testes

Page 3: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Introdução A indústria busca a cada dia oferecer

produtos de maior qualidade, a fim de fidelizar clientes, vencer a concorrência, ganhar mercado e por conseqüência, conseguir melhores resultados financeiros.

Qualidade é objetivo de negócio.

Page 4: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Introdução O que é um software de qualidade?

Qualidade verificável – requisitos verificáveis

Requisitos funcionais e não funcionais idealmente devem descrever características qualitativas e quantitativas que devem ser respeitadas

Medir a qualidade de um software é avaliá-lo em relação a essas características.

Page 5: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Modelos de Qualidade ISO 9126

ISO/IEC 9126-1 ISO 12119 ISO 14598 Projeto SQuaRE

Page 6: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

ISO/IEC 9126-1 Modelo de referência para atributos de qualidade Características e subcaracterísticas de qualidade

Funcionalidade Adequação Acurácia Conformidade Segurança de acesso

Confiabilidade Maturidade Tolerância a falhas Recuperabilidade

Usabilidade Intelegibilidade Apreensibilidade

Page 7: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

ISO/IEC 9126-1 Características e subcaracterísticas de

qualidade Eficiência

Tempo Recursos

Manutenibilidade Analisabilidade Modificabilidade Estabilidade Testabilidade

Portabilidade Adaptabilidade Facilidade para ser instalado

Page 8: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

IS0 12119 Avaliação de pacotes de software Requisitos de qualidade

Descrição do Produto Documentação do usuário Programas e dados

Instruções para testes Pré-requisitos de teste Atividades de teste Registro de teste Relatório de teste

Page 9: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

ISO 14598 Guia para avaliação de produtos de

software baseado na ISO 9126 Define um processo geral de avaliação e

um conjunto de guias relacionados ao objetivo da avaliação Guia para Desenvolvedores Guia para Aquisição Guia para Avaliação

Page 10: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Projeto SQuaRE Organização em conjunto das normas

9126 e 14598 - norma ISO/IEC 25000

Requisitos de

Qualidade

2503n

Modelo de Qualidade

2501nGerenciamento

de Qualidade 2501n

Medições2501n

Avaliação

2504n

Page 11: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Testes de Software O que é um produto de qualidade?

Normas / atributos de qualidade

Como avaliar se os atributos de qualidade estão presentes no software? Teste de software Inspeção

Page 12: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Testes de Software Atividade de executar um objeto de testes

com o intuito de encontrar falhas, onde falha é qualquer tipo de comportamento não desejado no sistema

Atividade de executar um sistema para demonstrar que ele faz o que era suposto fazer

Avaliar um objeto de software em relação a sua especificação

Page 13: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Abordagens de testes Caixa Preta – motivação de testar uma

combinação de entradas e verificar as respectivas saídas.

Caixa Branca – motivação de testar “caminhos”, estruturas de controle no código- fonte e verificar as saídas.

Page 14: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Estágios de Teste - I Testes de unidade – objeto de testes é

um componente – classe, normalmente caixa-branca

Testes de integração – objeto de testes é a interface entre dois componentes já previamente testados – caixa-branca ou caixa-preta

Page 15: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Estágios de Testes - II Testes de sistema – objeto de testes é

o sistema, já instalado em um ambiente similar ao de produção – caixa-preta.

Testes de aceitação – objeto de testes é o sistema, mas o objetivo é obter o “aceite” do usuário final. Teste alfa ou beta.

Page 16: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Tipos de Testes Relacionados a quais requisitos ou

características específicas do sistema que serão verificadas. Teste funcional Teste de recuperação a falhas Teste de interoperabilidade Teste de segurança Teste de carga Teste de performance Teste de stresse Teste de configuração Teste de usabilidade

Page 17: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Testes de Regressão Atividade de re-executar um conjunto

de testes em um objeto de teste (componente, interface, sistema) de modo a observar se novos defeitos foram introduzidos após um incremento de funcionalidade ou uma manutenção corretiva.

Page 18: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Processo de TestesPlanejamento e

Controle

Análise e Projeto

Implementação e Execução

Avaliação dos critérios de

saída

Encerramento

Page 19: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Inspeção de Software - I Testes Estáticos – ao contrário dos testes

dinâmicos, que avaliam o comportamento do sistema em execução, os testes estáticos avaliam a estrutura dos artefatos produzidos (especificações, modelos e código-fonte) e verifica aspectos como adequação a padrões, completude, corretude e consistência

Detectam de 60% (Fagan, 1986) a 90% (Mills,1987) dos defeitos de um sistema, detecção e correção mais barata

Suporte de ferramentas

Page 20: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Testes e o ciclo de vida do software

Requisitos do usuário

Requisitos do sistema

Projeto do sistema

Projeto dos component

esImplementa

ção

Testes de unidade

Teste de Integração

Testes de sistema

Testes de Aceitação

Page 21: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Modelos de Maturidade para Testes Modelos de referência para o processo de

desenvolvimento são pouco superficiais em relação às atividades de testes

Modelos de maturidade para testes – modelos de referência para a definição de processos de testes mais eficientes.

Investir em processo falho é desperdiçar mais recursos para obter os mesmos resultados.

Page 22: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Test Process Improvement - TPI 20 áreas chaves dividas em:

ciclo de vida do desenvolvimento do software; técnicas de planejamento e testes; infra-estrutura do ambiente de testes; fatores organizacionais.

Matriz de

Maturidade

De Teste

Áreas Chave

Níveis

Pontos de Verificação Sugestões de Melhoria

Page 23: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Test Maturity Model - TMM Baseado no CMM

e aderente ao CMMI

5 níveis de maturidade, áreas de processo definidas para cada nível Inicial

Definição

Integração

Gerenciamento e Medição

Otimização

Page 24: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Test Improvement Model - TIM Desenvolvido pela Ericson, Subotic, Ursing 5 níveis de maturidade:

Nível 0 Nível 1 – Baseline Nível 2 – Cost-efectiveness Nível 3 – Risk-lowering Nível 4 – Optimizing

Aspectos: Organização Planejamento e rastreabilidade Casos de testes Testware Revisões

Page 25: QUALIDADE DE PRODUTOS DE SOFTWARE Marília Oliveira

Considerações finais Se o assunto é qualidade de software não há como

desvinculá-la a realização de testes

Mas não basta ter profissionais de testes na equipe ou atividades de testes no processo

Teste é uma atividade bastante custosa, sendo assim é preciso otimizar a utilização dos recursos disponíveis e executar “os melhores testes possíveis”

É preciso definir o que fazer, como fazer e quando fazer, de preferência em conformidade com normas e padrões internacionais e modelos de referencia para processos de testes