qualidade e teste de software - o que preciso saber

38

Upload: kamilla-queiroz-cbts

Post on 20-Mar-2017

475 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Qualidade e Teste de Software - O que preciso saber
Page 2: Qualidade e Teste de Software - O que preciso saber

ABOUT ME !Kamilla Queiróz (MihQueiróz)

• Cearense adotada pelo Rio Grande do Sul• Analista de Testes @NeoGrid• Tecnóloga em Análise e Desenvolvimento de Sistemas• Pós-Graduando Teste e Qualidade de Software• Mantedora do Blog MihQueiroz.com.br• En.tu.si.as.ta e hóspede do Mundo

Contato:• Email: [email protected]• Blog: mihqueiroz.com.br• Twitter: twitter.com/MihQueiroz• Facebook: facebook.com/kamilla.queiroz• LinkedIn: linkedin.com/kamilla.queiroz• SlideShare: slideshare.net/kamilla.queirz

Page 3: Qualidade e Teste de Software - O que preciso saber

Primeiros Passos

• Qualidade de Software

• Teste de Software

• É importante testar? Porquê?

• Ciclo de Vida (Desenvolvimento Vs Testes)

Page 4: Qualidade e Teste de Software - O que preciso saber

Qualidade, o que eu entendo?

• O termo QUALIDADE é utilizado em diversas situações:– QUALIDADE de um restaurante• bom atendimento• refeições saborosas• ambiente organizado e higiênico

MAS ESSA NOÇÃO DE QUALIDADE PODE E MUDA DE PESSOA PARA PESSOA

Page 5: Qualidade e Teste de Software - O que preciso saber

• De acordo com a norma ISO 9000, a definição de QUALIDADE é:

‘QUALIDADE é o grau no qual um conjunto de características inerentes, satisfaz a requisitos’

Page 6: Qualidade e Teste de Software - O que preciso saber

E Qualidade de Software

• Esse termo não existe (ops!)

• Mas temos:

– GARANTIA DA QUALIDADE– CONTROLE DA QUALIDADE

Page 7: Qualidade e Teste de Software - O que preciso saber

Garantia da Qualidade (QA)

• É um processo de auditoria dos requisitos de qualidade e de resultados das medições;

• Visa garantir que sejam usados padrões de qualidade e definições operacionais;

Page 8: Qualidade e Teste de Software - O que preciso saber

Controle da Qualidade (QC)

• É um processo de monitoramento e registro de resultados das atividades de qualidade para avaliar o desempenho;

• Visa obter informações para recomendar mudanças que sejam necessárias;

Page 9: Qualidade e Teste de Software - O que preciso saber

Qualidade do Processo

• Afeta diretamente a qualidade dos produtos fornecidos

–desta forma, se o processo de DESENVOLVIMENTO DE SOFTWARE for BEM DEFINIDO as chances dos produtos que forem produzidos com base nele terem MELHOR QUALIDADE é alta.

Page 10: Qualidade e Teste de Software - O que preciso saber

PENSE NISSO...

• QUALIDADE DO PRODUTO é o que buscamos, a QUALIDADE DO PROCESSO é o meio para conseguirmos! – (amiga) Regina Maria Thienne Colombo / IMETRO

Page 11: Qualidade e Teste de Software - O que preciso saber

Custo da Qualidade

• Engloba todos os custos ocorridos no ciclo de vida de um produto – seja ele de: conformidade ou não-conformidade.

• Deve sempre ser visto como INVESTIMENTO

Page 12: Qualidade e Teste de Software - O que preciso saber

(amigo) Myers e sua regra 10

Page 13: Qualidade e Teste de Software - O que preciso saber

• Leia-se:

QUANTO ANTES (mais cedo) descobrimos e corrigimos um defeito MENOR SERÁ SEU CUSTO (mais barato).

Page 14: Qualidade e Teste de Software - O que preciso saber

Custo da Conformidade

• Custos com prevenção

• Custos com treinamento, planejamento, revisões e homologação

• Custos com inspeções

Page 15: Qualidade e Teste de Software - O que preciso saber

Custos da Não-Conformidade

• Custos de falha interna;

• Custos com retrabalho, análise de falhas, ações corretivas, atraso no cronograma;

Page 16: Qualidade e Teste de Software - O que preciso saber

Teste de Software

• Definições encontradas:

– ‘é analisar um programa com a intenção de descobrir erros e defeitos’ , (amigo) Myers.

– ‘é exercitar ou simular a operação de um programa ou sistema’, alguém por aí.

Page 17: Qualidade e Teste de Software - O que preciso saber

– ‘é avaliar se o software está fazendo o que deveria fazer, de acordo com seus requisitos, e não está fazendo o que não deveria fazer’, outro alguém por aí.

– ‘é qualquer atividade que a partir da avaliação de um atributo ou capacidade de um programa ou sistema seja possível determinar se ele alcança os resultados desejados’, Bill Hetzel.

Page 18: Qualidade e Teste de Software - O que preciso saber

• Em todo caso, Teste de Software é:

– uma das atividades dentro do processo de desenvolvimento de software;

– tem a finalidade de determinar se certo produto atingiu suas especificações e funcionou corretamente;

Page 19: Qualidade e Teste de Software - O que preciso saber

• E seu objetivo nada mais é que:

– Revelar o número máximo de falhas, com menor esforço;

– Identificar essas falhas e suas causas, para que as mesmas sejam corrigidas pela equipe de desenvolvimento;

Page 20: Qualidade e Teste de Software - O que preciso saber

• Quem trabalha com Teste de Software:

– Testador–Analista de Teste–Automatizador–Arquiteto de Teste– Líder de Teste–Gerente de Teste

Page 21: Qualidade e Teste de Software - O que preciso saber

• Lembrando – para exercer qualquer atividade das mencionadas é necessário:

– ser investigador– ser criativo– ser questionador– ser detalhista– ser pró-ativo

Page 22: Qualidade e Teste de Software - O que preciso saber

• Abrangência dos Testes– varia muito de quanto de prazo e custo pode-se

investir

• Se os testes forem executados apenas no fim do processo, a abrangência tende a ser menor, em comparação a se forem executados em andamento com o processo de desenvolvimento (desde o inicio);

• Os dois processos andando em paralelo (lado a lado) as chances de testar com maior capacidade e cobertura é muito maior;

Page 23: Qualidade e Teste de Software - O que preciso saber

Teste e Qualidade

• Algumas questões:– Teste é igual a qualidade?– Se testarmos, teremos qualidade?

Testes por si só não constroem a qualidade, mas podem fornecer confiança

na qualidade de software.

Page 24: Qualidade e Teste de Software - O que preciso saber

• Detalhe ae...

ERRO != DEFEITO != FALHA

Page 25: Qualidade e Teste de Software - O que preciso saber

É importante testar? Por quê?

• Alguns (poucos) dentre os vários motivos:

– questões de negócio– qualidade– custo – segurança– confiabilidade

Page 26: Qualidade e Teste de Software - O que preciso saber

• Quer mais (?)– o ser humano é passível de erro devido à:

• pressão de prazo• códigos complexos• complexidade na infraestrutura• mudanças na tecnologia• muitas interações de sistema

Page 27: Qualidade e Teste de Software - O que preciso saber

• Mais ainda (?)– falhas causadas por interferências do ambiente:• radiação• magnetismo• campos eletrônicos• poluição

Pois devido a isso podem causar falhas em software embarcado

e influenciar a execução pelas mudanças de condições de hardware.

Page 28: Qualidade e Teste de Software - O que preciso saber

Ciclo de Vida

• Atividades fundamentais:

– especificação– projeto e implementação– validação– evolução

Page 29: Qualidade e Teste de Software - O que preciso saber

• Especificação – etapa onde destina-se a estabelecer quais

funções são requeridas pelo sistema e as restrições sobre operação e o desenvolvimento do sistema.

– é nessa etapa onde há a produção de uma documentação de requisito, que é a especificação para o sistema.

Page 30: Qualidade e Teste de Software - O que preciso saber

– contempla quatro fases:

• estudo de viabilidade;

• levantamento e análise de requisitos;

• especificação de requisitos;

• validação de requisitos

Em qual dessas fases é passível atuação do Teste de Software?

Page 31: Qualidade e Teste de Software - O que preciso saber

• Projeto e implementação

– etapa da conversão de um especificação em um sistema executável;

– atividades contempladas:• projeto de arquitetura;• especificação abstrata;• projeto de interface;• projeto de componentes;• projeto de estrutura de dados;• projeto de algoritmo;

Page 32: Qualidade e Teste de Software - O que preciso saber

• Validação– etapa pela qual destina-se a mostrar que um

sistema está de acordo com suas especificações e que atende às expectativas do cliente;

• Evolução– etapa de melhorias e evoluções pelas quais o

sistema necessita evoluir para atender as necessidades mutáveis do cliente;

Page 33: Qualidade e Teste de Software - O que preciso saber

Validação e Verificação (V&V)

• Como dito (repetindo) – destina-se a mostrar que um sistema está de acordo com suas especificações;

• Tal processo envolve, verificar processos por meio inspeções e verificações em cada estágio do processo – desde a definição dos requisitos até o desenvolvimento do programa;

Page 34: Qualidade e Teste de Software - O que preciso saber

• Verificação – segundo a norma B87925, é descrito como um processo de avaliação de um sistema ou componente;

– Em outros termos – será que construímos o produto direito?

– Pergunta que cabe: O programa é livre de erros, faz o que deveria fazer?

Page 35: Qualidade e Teste de Software - O que preciso saber

• Validação – pela a norma B87925, é descrito como determinação da precisão dos produtos do desenvolvimento;

– Visto como – esse é o produto certo?

– Pergunta que cabe: É isso que você realmente quer?

Page 36: Qualidade e Teste de Software - O que preciso saber

Vamos relembrar?

• Qualidade de Software >> Garantia da Qualidade e Controle da Qualidade;

• Qualidade do Processo & Custo da Qualidade

• Regra 10 de Myers

• Teste de Software

Page 37: Qualidade e Teste de Software - O que preciso saber

• Papeis em Teste de Software

• Erro – Defeito – Falha

• Ciclo de Vida

• Validação & Verificação

Page 38: Qualidade e Teste de Software - O que preciso saber

Finito (?) !!

• Obrigado pela atenção!