fundamentos de testes de software - qualidad

114
Introdução aos Testes de Software

Upload: targettrust-treinamentos-tecnologia

Post on 11-Jun-2015

147 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Fundamentos de Testes de Software - Qualidad

Introdução aos Testes de Software

Page 2: Fundamentos de Testes de Software - Qualidad

Qualidade de Software -Historia da Qualidade -O que é Qualidade -Qualidade do Produto -Qualidade do Processo -Certificação da Qualidade -O Sistema de Certificação -Quais as Vantagens da Certificação -Certificações voltadas para a Qualificação do Profissional -Quais são as certificações para profissionais na área de Teste de Software -Custo da Qualidade

Page 3: Fundamentos de Testes de Software - Qualidad

Historia da Qualidade

"A única coisa permanente no universo é a mudança" [Heráclito, 450 a.C.]

- Vamos construir o conceito de qualidade apoiados na História - O que é qualidade para uma pessoa, pode ser falta de qualidade para outra - Quais são suas qualidades? -Qualidade do Produto: todos os produtos tem a mesma qualidade para todos? Vamos pensar....

Page 4: Fundamentos de Testes de Software - Qualidad

Qualidade subjetiva: “não sei ao certo o que é qualidade, mas eu a reconheço quando a vejo” Qualidade baseada no produto “O produto possui algo, que lhe acrescenta valor, que os produtos similares não possuem” Qualidade baseada na perfeição: “ É fazer a cosia certa primeira vez” Qualidade baseada no valor: “O Produto possui a maior relação custo beneficio” Qualidade baseada na manufatura: “É a conformidade às especificações e aos requisitos, além de não haver nenhum defeito” Qualidade baseada no cliente: “É a adequação ao uso”; “ É a conformidade às exigências do cliente”. Qual destas definições é a mais correta ou importante?

...Qualidade???

Page 5: Fundamentos de Testes de Software - Qualidad

O Valor para o cliente tem uma hierarquia compreendida de quatro níveis (graus de qualidade): Básico: este valor compreende os componentes essenciais exigidos do negocio Esperado: aquilo que os clientes normalmente esperariam de um determinado negocio Desejado: valor adicional que os clientes conhecem e apreciam mas não esperam Inesperado: aspectos que surpreendem e vão além das expectativas e desejos que o cliente tem ao fazer o negocio

...Qualidade: Valor para o cliente

Page 6: Fundamentos de Testes de Software - Qualidad

Desempenho Características Confiabilidade Conformidade Durabilidade Manutenibilidade Estética Qualidade percebida

Oito dimensões de Qualidade:

Page 7: Fundamentos de Testes de Software - Qualidad

Qual destas definições é a mais correta ou importante?

De onde surge a necessidade de uma preocupação com a qualidade?

Page 8: Fundamentos de Testes de Software - Qualidad

Historia da Qualidade

Revolução Industrial (século XVIII) -Produção em serie -Padronização (evitar conflitos nas relações comerciais) -Melhoria nos processos

Segunda Guerra Mundial (1939-1945) -Padronização na produção -Melhoria nos processos -Técnicas estatísticas de controle da qualidade. - Walter Andrew Sherwhart

Page 9: Fundamentos de Testes de Software - Qualidad

Fim da Segunda Guerra - Japoneses -Toyotismo X Fordismo - O sistema Fordista de produção em massa, a qualidade era assegurada através de controles amostrais em apenas pontos do processo produtivo -No Toyotismo, o controle de qualidade se desenvolve por meio de todos os trabalhadores em todos os pontos do processo produtivo.

- Primeiros a utilizar modelo de qualidade – TQC (Total Quality

Control)

A partir da década de 80 - “ Era das Normas” ou “Gestão de Qualidade” -Padrões adotados internacionalmente -International Organization of Standardization - ISO

Page 10: Fundamentos de Testes de Software - Qualidad

Casa da Toyota - Lean

Page 11: Fundamentos de Testes de Software - Qualidad

O Que é Qualidade

Qualidade, po ta to, é, po atu eza, u at i uto e o sta te ovi e to

1. Aquilo que caracteriza uma pessoa ou coisa e que a distingue das outras;

2. Modo de ser;

3. Atributo em constante movimento, predicado, aptidão;

4. Melhoria contínua, conformidade com os requisitos e adequação ao uso, observados critérios como custos, controles internos e prazos, dentre outros.

Page 12: Fundamentos de Testes de Software - Qualidad

Qualidade do Produto

A Qualidade do p oduto é o ue us a os a Qualidade do p o esso é o eio pa a o segui os

Ex: Cafeteria... sobremesa (produto) que está relacionada com a

satisfação das necessidades (requisitos) que podem ser: aparência,

sabor, temperatura, rapidez no serviço, preço, higiene, valor

nutricional, etc...

A Qualidade do produto de software resulta das atividades realizadas

no seu desenvolvimento.

Avaliar a qualidade de um produto significa verificar, através de

técnicas e atividades, o quanto os requisitos estão sendo atendido.

Page 13: Fundamentos de Testes de Software - Qualidad

Qualidade do Processo

• Conceito de processo de software:

- Uma seqüência de estágios para desenvolver ou manter o software

- Apresentando estruturas técnicas e de gerenciamento (uso de métodos, ferramentas e pessoas para as tarefas do sistema)

- Ex: Cafeteria... o processo seria como a sobremesa solicitada

foi realizada, ou seja, todas as etapas até chegar à sua mesa.

Page 14: Fundamentos de Testes de Software - Qualidad

Qualidade do Processo

Não asta ue a ualidade exista, ela deve se e o he ida pelo lie te

- Surgiu o que conhecemos por certificações, as quais são emitidas utilizando como referência base algum padrão de qualidade.

Page 15: Fundamentos de Testes de Software - Qualidad

Certificações

- O selo do SIF – referente à inspeção da carne

(Serviço de Inspeção federal)

- O selo da ABIC – existentes nos pacotes de café

(Associação Brasileira da Indústria do Café)

- A classificação em estrelas – hotelaria

- Os certificados de qualidade da série ISO

(International Organization of Standardization)

Page 16: Fundamentos de Testes de Software - Qualidad

Certificações

Organismos normalizadores/certificadores reconhecidos mundialmente:

- ISO - International Organization for Standardization

- IEEE - Instituto de Engenharia Elétrica e Eletrônica

- ABNT - Associação Brasileira de Normas Técnicas

Page 17: Fundamentos de Testes de Software - Qualidad

Certificação da Qualidade

• O que é certificação

• Sistema de certificação

• Auto-certificação

• Vantagens da certificação

• Certificação profissional

Page 18: Fundamentos de Testes de Software - Qualidad

O Que é certificação? • A certificação pode ser entendida como um

instrumento para as empresas gerenciarem e garantirem o nível de qualidade de seus produtos.

• Informar e garantir aos consumidores que os produtos certificados possuem os atributos procurados, atributos esses que podem ser intrínsecos aos produtos.

Page 19: Fundamentos de Testes de Software - Qualidad

Utilidade dos certificados • Uma utilidade dos certificados é evitar ações

oportunistas, que podem surgir quando a informação sobre o produto específico é distribuída pelo próprio fabricante por parte de algumas empresas, ou seja, impedir que o Fabricante alegue processos ou ingredientes que não realizam ou utilizam, mas que são explorados na comunicação junto aos consumidores por serem de difícil comprovação

• Importância da reputação das instituições certificadoras e regulamentadoras é garantir / evitar essas ações oportunistas.

Page 20: Fundamentos de Testes de Software - Qualidad

O Sistema de Certificação

A certificação por terceiros envolve três fatores principais:

1. Normas;

2. Órgãos certificadores;

3. Organismos credenciadores

Page 21: Fundamentos de Testes de Software - Qualidad

O Sistema de Certificação

http://www.sei.cmu.edu/cmmi/

http://www.iso.org/iso/about/the_iso_story.htm

Page 22: Fundamentos de Testes de Software - Qualidad

Normas Abordando de forma geral, algumas das normas

mais conhecidas no mercado :

• ISO 9126 , ISO 12207, ISO/IEC 14598

• ABNT- NBR ISO 9001

• CMM – CMMi (Software Engineering institute - SEI)

• MPT.BR (Softex) / MPS.BR

Page 23: Fundamentos de Testes de Software - Qualidad

Qualidade: Produto e Processo

Vamos detalhar os modelos mais utilizados hoje no mercado. A seguir veremos ISO9126 (produto) e Cmmi/MPS-Br (processo)

Page 24: Fundamentos de Testes de Software - Qualidad

Qualidade do Produto:

ISO 9126

Page 25: Fundamentos de Testes de Software - Qualidad

ISO 9126

• Descreve um modelo de qualidade do produto

• É composto de duas partes • Qualidade Interna e Externa

• Possui 6 características

• Qualidade de Uso • Possui 4 características • Para o usuário é o efeito combinado das 6

características de qualidade interna e externa

Page 26: Fundamentos de Testes de Software - Qualidad

Necessidades de qualidade do usuário

Qualidade Interna Verificação

Validação

Uso e Feedback

Qualidade Externa

Qualidade no uso

indica

Requisitos internos de qualidade

Contribuem para

especificar

Requisitos externos de qualidade

Contribuem para

especificar

Diferentes Visões da Qualidade de Software

indica

Page 27: Fundamentos de Testes de Software - Qualidad

• Conjunto de características do produto de software que avaliam o produto segundo uma visão interna

• Usados para definir estratégias de desenvolvimento e critérios para avaliação e verificação durante todo o desenvolvimento

Qualidade Interna ISO 9126

Page 28: Fundamentos de Testes de Software - Qualidad

• Conjunto de características do produto de software que avaliam o produto segundo uma visão externa

• Qualidade quando o software é executado

• Avaliado através de testes em ambientes simulados

Qualidade Externa ISO 9126

Page 29: Fundamentos de Testes de Software - Qualidad

Modelo para Qualidade Interna e Externa

Qualidade Interna e

Externa

Funcionalidade

Confiabilidade

Usabilidade

Eficiência

Manutenibilidade

Portabilidade

Page 30: Fundamentos de Testes de Software - Qualidad

ISO 9126 Características, subcaracterísticas e perguntas chave

Característica Subcaracterística Pergunta chave para a subcaracterística

Funcionalidade

Adequação Propõe-se a fazer o que é apropriado?

Acurácia Faz o que foi proposto de forma correta?

Interoperabilidade Interage com os sistemas especificados?

Conformidade Está de acordo com as normas, leis etc.?

Segurança de acesso Evita acesso não autorizado aos dados?

Confiabilidade Maturidade Com que frequência apresenta falhas?

Tolerância a falhas Ocorrem falhas, como ele reage?

Recuperabilidade É capaz de recuperar dados em caso de falha?

Usabilidade Intelegibilidade É fácil entender o conceito e a aplicação?

Apreensibilidade É fácil aprender a usar?

Operacionalidade É fácil operar e controlar?

Eficiência Tempo Qual é o tempo de resposta, a velocidade de execução?

Recursos Quanto recurso usa? Durante quanto tempo?

Manutenibilidade

Analisabilidade É fácil de encontrar uma falha, qdo ocorre?

Modificabilidade É fácil modificar e adaptar?

Estabilidade Há grande risco quando se faz alterações?

Testabilidade É fácil testar quando faz alterações?

Portabilidade

Adaptabilidade É fácil adaptar a outros ambientes?

Capacidade p ser Instalado

É fácil instalar em outros ambientes?

Conformidade Está de acordo com padrões de portabilidade?

Capacidade para Substituir

É fácil de usar para substituir outro?

Page 31: Fundamentos de Testes de Software - Qualidad

• Capacidade do produto de software fornecer funções que satisfazem as necessidades explícitas ou implícitas quando o software é usado sob condições especificadas

• Pergunta-chave: Satisfaz às necessidades?

Sub-características:

– adequação: capacidade do produto de software de fornecer um conjunto de funções adequado para as tarefas especificadas e os objetivos dos usuários

– acurácia: capacidade do produto de software de fornecer os

resultados corretos ou acordados com o grau necessário de precisão

Funcionalidade ISO 9126

Page 32: Fundamentos de Testes de Software - Qualidad

Sub-características: – interoperabilidade: capacidade do produto de software

interagir com um ou mais sistemas especificados

– segurança: capacidade do produto de software proteger a informação e os dados de forma que pessoas ou sistemas não autorizados não possam lê-los ou modificá-los e pessoas e sistemas autorizados não tenham negado o acesso aos mesmos

– conformidade da funcionalidade: capacidade do produto de software aderir a normas, convenções ou regulamentações previstas em leis e prescrições similares, relacionadas à funcionalidade

Funcionalidade ISO 9126

Page 33: Fundamentos de Testes de Software - Qualidad

• Capacidade do produto de software manter o nível de desempenho especificado quando usado sob as condições especificadas

• Pergunta-chave: É imune a falhas?

Sub-características: – maturidade: capacidade do produto de software evitar falhas

provocadas por defeitos no software

– tolerância a defeitos: capacidade do produto de software manter um nível de desempenho especificado em casos de defeitos no software ou de violação de suas interfaces especificadas

Confiabilidade ISO 9126

Page 34: Fundamentos de Testes de Software - Qualidad

Sub-características: – recuperabilidade: capacidade do produto de software

restabelecer o nível de desempenho especificado e recuperar os dados diretamente afetados, em caso de uma falha

– conformidade da confiabilidade: capacidade do produto de software aderir a normas, convenções ou regulamentações relacionadas à confiabilidade

Confiabilidade ISO 9126

Page 35: Fundamentos de Testes de Software - Qualidad

• Capacidade do produto de software ser entendido, ser aprendido e ser atraente ao usuário quando usado sob as condições especificadas

• Pergunta-chave: É fácil de usar?

Sub-características:

– inteligibilidade: capacidade do produto de software que permite ao usuário entender se o software é adequado e como ele pode ser usado para tarefas e condições de uso específicas

Usabilidade ISO 9126

Page 36: Fundamentos de Testes de Software - Qualidad

Sub-características: – apreensibilidade: capacidade do produto de software permitir

ao usuário aprender a sua aplicação.

– operacionalidade: capacidade do produto de software permitir ao usuário sua operação e controle

– atratividade: capacidade do produto de software ser atraente ao usuário

– conformidade da usabilidade: capacidade do produto de

software aderir a normas, convenções, diretrizes de estilo ou regulamentações relacionadas à usabilidade

Usabilidade ISO 9126

Page 37: Fundamentos de Testes de Software - Qualidad

• Capacidade do produto de software fornecer o desempenho adequado, relacionado à quantidade de recursos usados, sob condições estabelecidas

• Pergunta-chave: É ápido e e xuto ?

Sub-características: – comportamento em relação ao tempo: capacidade do produto

de software fornecer tempo de resposta e de processamento e taxas de throughput ao realizar suas funções sob condições estabelecidas

Eficiência ISO 9126

Page 38: Fundamentos de Testes de Software - Qualidad

Sub-características: – utilização de recursos: capacidade do produto de software usar

quantidade e tipos adequados de recursos quando o software realiza suas funções sob condições estabelecidas

– conformidade da eficiência: capacidade do produto de software aderir a normas e convenções relacionadas à eficiência

Eficiência ISO 9126

Page 39: Fundamentos de Testes de Software - Qualidad

• Capacidade do produto de software de ser modificado. As modificações podem incluir correções, melhorias ou adaptação do software a mudanças no ambiente, nos requisitos e nas especificações funcionais.

• Pergunta-chave: É fácil de modificar?

Sub-características: – analisabilidade: capacidade do produto de software ser

diagnosticado com relação a deficiências ou causas de falhas no software, ou para identificar as partes a serem modificadas

Manutenibilidade ISO 9126

Page 40: Fundamentos de Testes de Software - Qualidad

Sub-características: – modificabilidade: capacidade do produto de software permitir

que uma modificação especificada seja implementada.

– estabilidade: capacidade do produto de software evitar efeitos inesperados, ocasionados por modificações 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 convenções relacionadas à manutenibilidade

Manutenibilidade ISO 9126

Page 41: Fundamentos de Testes de Software - Qualidad

• Capacidade do produto de software ser transferido de um ambiente para outro

• Pergunta-chave: É fácil de usar em outro ambiente?

Sub-características: – adaptabilidade: capacidade do produto de software ser

adaptado a diferentes ambientes especificados, sem a necessidade de aplicação de outras ações ou meios além daqueles fornecidos para essa finalidade pelo software considerado

Portabilidade ISO 9126

Page 42: Fundamentos de Testes de Software - Qualidad

Sub-características: – capacidade para ser instalado: capacidade do produto de

software ser instalado em um ambiente especificado

– co-existência: 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 padrões ou convenções relacionados à portabilidade

Portabilidade ISO 9126

Page 43: Fundamentos de Testes de Software - Qualidad

• Visão do usuário sobre a qualidade do produto quando em uso em um ambiente especificado dentro de um contexto de uso

• É medida em relação ao resultado da utilização do software e não em relação a características do produto

• Representa o efeito combinado da qualidade externa e interna

Qualidade em Uso ISO 9126

Page 44: Fundamentos de Testes de Software - Qualidad

Modelo para Qualidade em Uso

Page 45: Fundamentos de Testes de Software - Qualidad

• Capacidade do produto de software possibilitar ao usuário alcançar seus objetivos com correção e completude no contexto de uso especificado

Efetividade ISO 9126

Page 46: Fundamentos de Testes de Software - Qualidad

• Capacidade do produto de software possibilitar ao usuário gastar quantidade de recursos adequados em relação a efetividade alcançada

Produtividade ISO 9126

Page 47: Fundamentos de Testes de Software - Qualidad

• Capacidade do produto de software alcançar níveis aceitáveis de risco de prejuízo à pessoas, negócios, software ou ao ambiente em um contexto de uso especificado

Segurança Crítica ISO 9126

Page 48: Fundamentos de Testes de Software - Qualidad

• Capacidade do produto de software satisfazer os usuários em um contexto de uso

Satisfação ISO 9126

Page 49: Fundamentos de Testes de Software - Qualidad

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

Modelo de Qualidade ISO 9126

Page 50: Fundamentos de Testes de Software - Qualidad

Qualidade do Processo

Page 51: Fundamentos de Testes de Software - Qualidad

– Falta de definição das responsabilidades; – Retrabalho por falta de qualidade; – Problemas com fornecedores; – Falta de conhecimento técnico; – Falta de competências para gerenciar os projetos; – Falta de uma ferramenta de apoio; – Falta de uma metodologia de apoio; – Mudanças constantes no escopo.

Principais problemas das organizações durante a gerência dos seus projetos(1/2):

Page 52: Fundamentos de Testes de Software - Qualidad

– Recursos humanos insuficientes; – Mudanças de prioridade; – Estimativas incorretas; – Riscos não avaliados corretamente; – Falta de apoio da alta administração; – Problemas de comunicação; – Não cumprimento do orçamento; – Não cumprimento dos prazos.

Principais problemas das organizações durante a gerência dos seus projetos (2/2):

Page 53: Fundamentos de Testes de Software - Qualidad

E na sua empresa? Como é?

Page 54: Fundamentos de Testes de Software - Qualidad

CMMi

Page 55: Fundamentos de Testes de Software - Qualidad

O Que é o CMMi?

O CMMI - Capability Maturity Model Integration é um conjunto de modelos integrados de maturidade e capacidade para diversas disciplinas, tais como: engenharia de software e sistemas, fontes de aquisição e desenvolvimento integrado do produto. Mantido pelo SEI (Software Engineering Institute) – Universidade Carnegie Mellon • Criado a partir de uma solicitação da força aérea americana • http://www.sei.cmu.edu/cmmi

Page 56: Fundamentos de Testes de Software - Qualidad

1º Mito a ser “quebrado” “CMMI é a solução!” • O CMMI não é (e nunca será) a solução dos seus problemas!

• Mostra “O QUÊ” fazer, e não “COMO” fazer

Page 57: Fundamentos de Testes de Software - Qualidad

Estrutura do Modelo

• 22 áreas de processo (PAs – Process Areas) distribuídas em: – 4 categorias (continua - capacidade) – 5 níveis de maturidade (estágios) • Mas o que é “área de processo”?

Page 58: Fundamentos de Testes de Software - Qualidad

Estrutura do Modelo

Exemplo de área de processo: – Selecionar creme dental; – Selecionar escova; – Realizar escovação. • Qual é a área de processo?

“Limpeza dos Dentes”

Page 59: Fundamentos de Testes de Software - Qualidad

Estrutura do Modelo

• Área do processo (Process Area)

– É o agrupamento de práticas comuns de uma determinada “disciplina”.

Page 60: Fundamentos de Testes de Software - Qualidad

1- OPF: Foco no Processo organizacional 2- OPD: Definição do Processo Organizacional 3- OT: Treinamento Organizacional 4- OPP: Desenvolvimento do Processo Organizacional 5- OID: Inovação e Melhoria Organizacional 6- PP: Planejamento e Projeto 7- PMC: Acompanhamento e Controle de Projeto 8- SAM: Gestão de Acordo com Fornecedores 9- IPM: Gestão Integrada de Projeto 10- RSKM: Gestão de Risco 11- QPM: Gestão Quantitativa de Projeto 12- REQM: Gestão de Requisitos 13- RD: Desenvolvimento de Requisitos 14- TS: Solução Técnica 15- PI: Integração de Produto 16- VER: Verificação 17- VAL: Validação 18- CM: Gestão de Configuração 19- PPQA: Garantia da Qualidade de Processo e Produto 20- MA: Medição de Analise 21- DAR: Analise de Decisão e Resolução 22- CAR: Análise de Causa e Resolução

Áreas do Processo

Page 61: Fundamentos de Testes de Software - Qualidad

• Gerenciamento de Projetos; • Gerenciamento de Processos; • Engenharia; • Suporte.

CMMi - Categorias:

Page 62: Fundamentos de Testes de Software - Qualidad

– Gerenciamento de projetos: • Gestão Integrada de Projeto(IPM) • Acompanhamento e Controle de Projeto(PMC) • Planejamento e Projeto(PP) • Gestão Quantitativa de Projeto(QPM) • Gestao de Risco (RSKM) • Gestão de Acordo com Fornecedores(SAM)

Áreas de processo distribuídas por categorias:

Page 63: Fundamentos de Testes de Software - Qualidad

– Gerenciamento do Processo: • Inovação e Melhoria Organizacional(OID) • Definição do Processo Organizacional (OPD) • Foco no Processo organizacional(OPF) • Desenvolvimento do Processo Organizacional(OPP) • Treinamento Organizacional (OT)

Áreas de processo distribuídas por categorias:

Page 64: Fundamentos de Testes de Software - Qualidad

– Engenharia: • Integração de Produto(PI) • Desenvolvimento de Requisitos (RD) • Gestão de Requisitos(REQM) • Solução Técnica (TS) • Validação (VAL) • Verificação (VER)

Áreas de processo distribuídas por categorias:

Page 65: Fundamentos de Testes de Software - Qualidad

– Suporte: • Análise de Causa e Resolução(CAR) • Gestão de Configuração(CM) • Analise de Decisão e Resolução(DAR) • Medição de Analise(MA) • Garantia da Qualidade de Processo e Produto(PPQA)

Áreas de processo distribuídas por categorias:

Page 66: Fundamentos de Testes de Software - Qualidad

– Nível 2: • Gestão de Configuração(CM) • Medição de Analise(MA) • Acompanhamento e Controle de Projeto(PMC) • Planejamento e Projeto(PP) • Garantia da Qualidade de Processo e Produto(PPQA) • Gerenciamento de Requisitos(REQM) • Gestão de Acordo com Fornecedores(SAM)

Áreas de processo distribuídas por níveis de maturidade:

Page 67: Fundamentos de Testes de Software - Qualidad

Áreas de processo distribuídas por níveis de maturidade:

– Nível 3: • Analise de Decisão e Resolução (DAR) • Gestão Integrada de Projeto(IPM) • Definição do Processo Organizacional (OPD) • Foco no Processo organizacional(OPF) • Treinamento Organizacional (OT) • Integração de Produto(PI) • Desenvolvimento de Requisitos(RD) • Gestão de Risco (RSKM) • Solução Tecnica (TS) • Validação (VAL) • Verificação (VER)

Page 68: Fundamentos de Testes de Software - Qualidad

Áreas de processo distribuídas por níveis de maturidade:

– Nível 4: • Desenvolvimento do Processo Organizacional(OPP) • Gestão Quantitativa de Projeto(QPM)

Page 69: Fundamentos de Testes de Software - Qualidad

Áreas de processo distribuídas por níveis de maturidade:

Nível 5: • Análise de Causa e Resolução (CAR) • Inovação e Melhoria Organizacional(OID)

Page 70: Fundamentos de Testes de Software - Qualidad

Mas... Pra que tudo isto????

Page 71: Fundamentos de Testes de Software - Qualidad

Representações (“formas de implementação do modelo”)

Page 72: Fundamentos de Testes de Software - Qualidad

Representação por Estágio (Maturity Levels) e

Representação continua (Capability Levels).

CMMi – Formas de Representação:

Page 73: Fundamentos de Testes de Software - Qualidad

CMMi Representação por Estágio

Page 74: Fundamentos de Testes de Software - Qualidad

•Disponibiliza uma seqüência pré-determinada para melhoria baseada em cinco estágios, cada estágio serve de base para o próximo. É caracterizado por Níveis de Maturidade (Maturity Levels) • Maturidade é medida por um conjunto de processos.

CMMI – Representação por Estágio:

Page 75: Fundamentos de Testes de Software - Qualidad

CMMI – Representação por Estágios:

Todos os processos devem atinjam nível de maturidade “dois” para que a empresa seja certificada com nível dois.

Page 76: Fundamentos de Testes de Software - Qualidad

CMMI – Representação por Estágios:

– Foco em um conjunto de áreas de processo – Demonstra a “experiência” da organização de uma forma simples: Nível de Maturidade – É mais fácil de “vender” – Mais “simples” – Mais utilizada – Pode ser um caminho interessante para organizações que estão iniciando

Page 77: Fundamentos de Testes de Software - Qualidad

CMMI – Representação por Estágios:

Níveis de Maturidade: • 1 [Initial] – Semelhante ao “capability level 0”; – Onde as coisas simplesmente acontecem; – O “sucesso” nos projetos acontece “por acaso”; » “Por acaso, temos alguns heróis...” » “Por acaso, o cliente era mais desorganizado...” – É normal estouro de prazo e custos (entre outros problemas); – Ambiente sem controle (caos); – Grande dependência dos heróis (mas não é qualquer herói...)

Page 78: Fundamentos de Testes de Software - Qualidad

Jack Bauer – O herói das empresas nível 1

Page 79: Fundamentos de Testes de Software - Qualidad

• Está sempre sob pressão; • Nunca tira férias; • Anda sempre estressado; • Nunca tem tempo para os amigos; • Nunca se diverte; • Sempre tem que trabalhar 24 horas direto; • Até consegue terminar o projeto, mas...

Jack Bauer – O herói das empresas nível 1

Page 80: Fundamentos de Testes de Software - Qualidad

Níveis de Maturidade: •2 [Managed] – Recursos são definidos; – Projetos são planejados e monitorados; – Medições são coletadas; – Requisitos são gerenciados; – As coisas deixam de “simplesmente acontecer”...

CMMI – Representação por Estágios:

Page 81: Fundamentos de Testes de Software - Qualidad

Níveis de Maturidade: •3 [Defined] – Processo definido para a organização; » “Portal de Processos”, “Processo de Desenvolvimento de Software”, etc. – Customização do processo para projetos (a partir do processo padrão); – Evolução do nível 2.

CMMI – Representação por Estágios:

Page 82: Fundamentos de Testes de Software - Qualidad

Níveis de Maturidade: •4 [Quantitatively Managed] – Controle estatístico; – Previsibilidade; – Base de medições utilizada para tomada de decisão; – É fundamental que os níveis 2 e 3 estejam “rodando perfeitamente”; – High Level Maturity.

CMMI – Representação por Estágios:

Page 83: Fundamentos de Testes de Software - Qualidad

Níveis de Maturidade: •5 [Optimizing] – Inovação; – Revisões buscando refletir alterações nos objetivos de negócio; – Melhoria contínua utilizando dados estatísticos; – Estado da arte; – High Level Maturity;

CMMI – Representação por Estágios:

Page 84: Fundamentos de Testes de Software - Qualidad

2º Mito a ser “quebrado” • “CMMI acaba com os heróis.” – A partir do nível 2 temos um novo herói...

Page 85: Fundamentos de Testes de Software - Qualidad

James Bond – O herói das empresas nível 2 a 5

Page 86: Fundamentos de Testes de Software - Qualidad

• Herói potencializado; • Consegue planejar seus projetos; • Tem os recursos definidos, de acordo com o projeto; • Tem tempo para estudar e utilizar novas tecnologias; • Tem tempo para os amigos; • Consegue se divertir e até namorar...

James Bond – O herói das empresas nível 2 a 5

Page 87: Fundamentos de Testes de Software - Qualidad

CMMi Representação Contínua

Page 88: Fundamentos de Testes de Software - Qualidad

•Possibilita à organização utilizar a ordem de melhoria que venha atende os objetivos de negócio da empresa. • É caracterizado por Níveis de Capacidade (Capability Levels) •A capacidade é medida por processos separadamente, onde é possível ter um processo com nível um e outro processo com nível cinco, por exemplo, variando de acordo com os interesses da empresa.

CMMi – Representação Continua:

Page 89: Fundamentos de Testes de Software - Qualidad

CMMi – Representação Continua: •A representação contínua é indicada quando a empresa deseja tornar apenas alguns processos mais maduros, quando já utiliza algum modelo de maturidade contínua ou quando não pretende usar a maturidade alcançada como modelo de comparação com outras empresas.

Page 90: Fundamentos de Testes de Software - Qualidad

90

CMMi – Representação Continua: – Especialização em áreas de processos específicas – Permite o foco em determinada(s) necessidade(s)

• Capability levels. • Grande vantagem!

– Fornece flexibilidade – Custo de implementação menor (considerando a representação por estágio) – Permite atuação em categorias:

• Project Management • Process Management; • Engineering; • Support.

Page 91: Fundamentos de Testes de Software - Qualidad

CMMi – Representação Continua:

– Capability Levels:

• [Incomplete] – Onde as coisas simplesmente acontecem

• [Performed] – Objetivos específicos da área de processo são atendidos

• [Managed] – Processo gerenciado (monitorado,controlado, etc.)

• [Defined] – Processo definido para toda a organização

• 4 [Quantitatively Managed] – Processo controlado utilizando estatística e técnicas quantitativas

Page 92: Fundamentos de Testes de Software - Qualidad

– Representação: Forma de implementar o modelo – Maturity Levels 2 a 5 = Capability Levels 2 a 5 – Diferença... • Maturity Levels: Refere-se a um conjunto de áreas de processo • Capability Levels: Refere-se a uma área de processo

Revisando...

Page 93: Fundamentos de Testes de Software - Qualidad

93

MPS.BR

Page 94: Fundamentos de Testes de Software - Qualidad

• Melhoria de processo do software brasileiro • www.softex.br/mpsbr • Foco em micro, pequenas e médias empresas – Custo de implementação e avaliação menor • Foi definido em conformidade ao CMMI • Níveis: – G (Parcialmente Gerenciado) até A (Em otimização)

MPS.BR

Page 95: Fundamentos de Testes de Software - Qualidad

MPS.BR - Níveis de Maturidade: Os níveis de maturidade estabelecem patamares de evolução de processos, caracterizando estágios de melhoria da implementação de processos na organização. O nível de maturidade em que se encontra uma organização permite prever o seu desempenho futuro ao executar um ou mais processos

Page 96: Fundamentos de Testes de Software - Qualidad

CMMi X MPS.BR

Page 97: Fundamentos de Testes de Software - Qualidad

MPS.BR X CMMi

Page 98: Fundamentos de Testes de Software - Qualidad

Agora que já vimos um pouco das principais certificações de

produto e processo, vamos entender como funcionam os

Órgãos certificadores

Page 99: Fundamentos de Testes de Software - Qualidad

Órgãos certificadores

O o ga is o e tifi ado é u a o ga ização coletiva que estabelece regras de qualidade e

meios para fazer respeitar essas regras,

permitindo que os mercados se formem e

fu io e .

Page 100: Fundamentos de Testes de Software - Qualidad

Organismos credenciadores • Existe um órgão do governo responsável pelo credenciamento

dessas instituições que realizam a certificação de sistemas de qualidade no Brasil que é o INMETRO.

• www.inmetro.gov.br • Sua missão é prover confiança à sociedade brasileira nas

medições e nos produtos, através da metrologia e da avaliação da conformidade, promovendo a harmonização das relações de consumo, a inovação e a competitividade do País.

Page 101: Fundamentos de Testes de Software - Qualidad

Autocertificação

• Os certificados podem ser emitidos por organizações independentes, sejam elas privadas ou públicas, nacionais ou internacionais, e pela própria empresa o que denominaria a auto-certificação.

• O processo de certificação deve ser monitorado, ou seja, controlado, para garantir que os agentes certificados estejam realmente seguindo as normas impostas pelo agente regulador.

• Esse monitoramento pode ser feito de três formas: – Pelo órgão regulador,

– Por terceiros ou

– Através de um autocontrole: chamado também de auditoria.

Page 102: Fundamentos de Testes de Software - Qualidad

Vantagens da certificação - Melhoria do prestígio e da imagem;

- Aumento da competitividade e entrada em novos mercados; - Aumento da confiança dos trabalhadores, clientes e administração; - Cultura da melhoria contínua; - Redução de custos; - Prevenção e minimização de aspectos, perigos e acidentes. Que us a po e tifi ações e te de ga a ti a efi iê ia dos p o essos e a ex elê ia dos p odutos.

Page 103: Fundamentos de Testes de Software - Qualidad

Certificação Triângulo das Certificações – Três Pilares:

Page 104: Fundamentos de Testes de Software - Qualidad

Certificação profissional

• Nesta área existem vários autores e várias instituições que difundem conceitos diferentes, com isso não seguem todos uma única idéia apenas.

• Cada instituição acabou criando sua própria certificação, adotando assim os seus critérios e escopo de conhecimento para a prova.

Page 105: Fundamentos de Testes de Software - Qualidad

Certificação profissional Por que ter uma certificação?

• Existem vários fatores importantes que se adquirem junto com uma certificação profissional, algumas delas são a nivelação em relação ao meio assim como o aperfeiçoamento da base de conhecimento

• Independente da formação acadêmica as certificações profissionais visam basicamente validar competências, essas que são fortemente ligadas ao foco da carreira do profissional

Page 106: Fundamentos de Testes de Software - Qualidad

Certificações para profissionais

na área de Teste de Software Instituição Certificadora Certificações

QAI - Quality Assurance Institute http://www.qaibrasil.com.br

CAST - Certified Associate in Software Testing

CASQ - Certified Associate in Software Quality

CSTE - Certified Software Tester

CSQA - Certified Software Quality Analyst

CSPM - Certified Software Project Manager

Avançadas:

CMST – Certified Manager Software Testing

CMSQ - Certified Manager Software Quality

ALATS(Associação Latino-Americana de Teste de Software)

http://www.alats.org/

CBTS - Certificação Brasileira de Teste de Software

BSTQB(Brazilian Software Testing Qualifications Board)

http://www.bstqb.org.br/ ISTQB(International Software Testing Qualifications

Board) http://www.istqb.org/

CTFL - Foundation - Certified Tester, Foundation Level

CTAL - Certified Tester, Full Advanced Level

IIST(International Institute for Software Testing) http://www.iist.org/

CSTP - Certified Software Test Professional e

CTM - Certified Test Manager

Page 107: Fundamentos de Testes de Software - Qualidad

Custo da Qualidade

Page 108: Fundamentos de Testes de Software - Qualidad

• É o termo utilizado para quantificar o custo total de prevenção, avaliação e produção do software

Custo da Falha

Custo de Avaliação

Custo de Prevenção

Custo da Produção

Custo da Qualidade (Teste é parte do custo da Qualidade)

Custo de Construção (Teste é parte do custo da Qualidade)

= Total do Custo de produção

+

108

Page 109: Fundamentos de Testes de Software - Qualidad

Custo da Qualidade Custo de prevenção e avaliação -> relativo ao Custo da Conformidade

• Custo da conformidade – Custo da Prevenção

• Planejamento dos Trabalhos • Treinamentos (Processos, Técnicas e Ferramentas) • Controles do Processo de Desenvolvimento

– Custo de Avaliação

• Testes (Estáticos e Dinâmicos) • Revisões de Documentos • Auditorias de Processos

Page 110: Fundamentos de Testes de Software - Qualidad

Custo da Falha -> relativo ao custo da não conformidade

Custo da não-conformidade (custo da falha)

– Retrabalhos (correção de defeitos)

– Ações-Corretivas

– Atrasos nos Cronogramas

– Perdas Financeiras e Operacionais

– Perdas de oportunidades

Custo da Qualidade

Page 111: Fundamentos de Testes de Software - Qualidad

Custo da Qualidade • Bugs

Page 112: Fundamentos de Testes de Software - Qualidad

Bugs

Page 113: Fundamentos de Testes de Software - Qualidad