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: q.kamilla@gmail.com
• Blog: mihqueiroz.com.br
• Twitter: twitter.com/MihQueiroz
• Facebook: facebook.com/kamilla.queiroz
• LinkedIn: linkedin.com/kamilla.queiroz
• SlideShare: slideshare.net/kamilla.queirz
Primeiros Passos
• Qualidade de Software
• Teste de Software
• É importante testar? Porquê?
• Ciclo de Vida (Desenvolvimento Vs Testes)
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
• 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’
E Qualidade de Software
• Esse termo não existe (ops!)
• Mas temos:
– GARANTIA DA QUALIDADE
– CONTROLE DA QUALIDADE
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;
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;
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.
PENSE NISSO...
• QUALIDADE DO PRODUTO é o que
buscamos, a QUALIDADE DO PROCESSO é
o meio para conseguirmos! – (amiga) Regina
Maria Thienne Colombo / IMETRO
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
(amigo) Myers e sua regra 10
• Leia-se:
QUANTO ANTES (mais cedo) descobrimos e
corrigimos um defeito MENOR SERÁ SEU
CUSTO (mais barato).
Custo da Conformidade
• Custos com prevenção
• Custos com treinamento, planejamento,
revisões e homologação
• Custos com inspeções
Custos da Não-Conformidade
• Custos de falha interna;
• Custos com retrabalho, análise de falhas,
ações corretivas, atraso no cronograma;
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í.
– ‘é 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.
• 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;
• 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;
• Quem trabalha com Teste de Software:
–Testador
–Analista de Teste
–Automatizador
–Arquiteto de Teste
–Líder de Teste
–Gerente de Teste
• Lembrando – para exercer qualquer atividade
das mencionadas é necessário:
–ser investigador
–ser criativo
–ser questionador
–ser detalhista
–ser pró-ativo
• 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;
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.
• Detalhe ae...
ERRO != DEFEITO != FALHA
É importante testar? Por quê?
• Alguns (poucos) dentre os vários motivos:
– questões de negócio
– qualidade
– custo
– segurança
– confiabilidade
• 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
• 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.
Ciclo de Vida
• Atividades fundamentais:
– especificação
– projeto e implementação
– validação
– evolução
• 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.
– 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?
• 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;
• 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;
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;
• 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?
• 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?
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
• Papeis em Teste de Software
• Erro – Defeito – Falha
• Ciclo de Vida
• Validação & Verificação
Finito (?) !!
• Obrigado pela atenção!

Qualidade e Teste de Software - O que preciso saber

  • 2.
    ABOUT ME ! KamillaQueiró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: q.kamilla@gmail.com • Blog: mihqueiroz.com.br • Twitter: twitter.com/MihQueiroz • Facebook: facebook.com/kamilla.queiroz • LinkedIn: linkedin.com/kamilla.queiroz • SlideShare: slideshare.net/kamilla.queirz
  • 3.
    Primeiros Passos • Qualidadede Software • Teste de Software • É importante testar? Porquê? • Ciclo de Vida (Desenvolvimento Vs Testes)
  • 4.
    Qualidade, o queeu 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
  • 5.
    • De acordocom a norma ISO 9000, a definição de QUALIDADE é: ‘QUALIDADE é o grau no qual um conjunto de características inerentes, satisfaz a requisitos’
  • 6.
    E Qualidade deSoftware • Esse termo não existe (ops!) • Mas temos: – GARANTIA DA QUALIDADE – CONTROLE DA QUALIDADE
  • 7.
    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;
  • 8.
    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;
  • 9.
    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.
  • 10.
    PENSE NISSO... • QUALIDADEDO PRODUTO é o que buscamos, a QUALIDADE DO PROCESSO é o meio para conseguirmos! – (amiga) Regina Maria Thienne Colombo / IMETRO
  • 11.
    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
  • 12.
    (amigo) Myers esua regra 10
  • 13.
    • Leia-se: QUANTO ANTES(mais cedo) descobrimos e corrigimos um defeito MENOR SERÁ SEU CUSTO (mais barato).
  • 14.
    Custo da Conformidade •Custos com prevenção • Custos com treinamento, planejamento, revisões e homologação • Custos com inspeções
  • 15.
    Custos da Não-Conformidade •Custos de falha interna; • Custos com retrabalho, análise de falhas, ações corretivas, atraso no cronograma;
  • 16.
    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í.
  • 17.
    – ‘é avaliarse 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.
  • 18.
    • Em todocaso, 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;
  • 19.
    • E seuobjetivo 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;
  • 20.
    • Quem trabalhacom Teste de Software: –Testador –Analista de Teste –Automatizador –Arquiteto de Teste –Líder de Teste –Gerente de Teste
  • 21.
    • Lembrando –para exercer qualquer atividade das mencionadas é necessário: –ser investigador –ser criativo –ser questionador –ser detalhista –ser pró-ativo
  • 22.
    • Abrangência dosTestes – 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;
  • 23.
    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.
  • 24.
    • Detalhe ae... ERRO!= DEFEITO != FALHA
  • 25.
    É importante testar?Por quê? • Alguns (poucos) dentre os vários motivos: – questões de negócio – qualidade – custo – segurança – confiabilidade
  • 26.
    • 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
  • 27.
    • 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.
  • 28.
    Ciclo de Vida •Atividades fundamentais: – especificação – projeto e implementação – validação – evolução
  • 29.
    • Especificação – etapaonde 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.
  • 30.
    – contempla quatrofases: • 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?
  • 31.
    • Projeto eimplementaçã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;
  • 32.
    • Validação – etapapela 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;
  • 33.
    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;
  • 34.
    • 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?
  • 35.
    • 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?
  • 36.
    Vamos relembrar? • Qualidadede Software >> Garantia da Qualidade e Controle da Qualidade; • Qualidade do Processo & Custo da Qualidade • Regra 10 de Myers • Teste de Software
  • 37.
    • Papeis emTeste de Software • Erro – Defeito – Falha • Ciclo de Vida • Validação & Verificação
  • 38.
    Finito (?) !! •Obrigado pela atenção!