Teste de Software e Qualidade

download Teste de Software e Qualidade

of 82

Transcript of Teste de Software e Qualidade

  • 8/8/2019 Teste de Software e Qualidade

    1/82

    1

    Testes de Software &Testes de Software &

    Garantia da QualidadeGarantia da Qualidade

    (Conceitos & Fundamentos(Conceitos & Fundamentos))Professor: Rodrigo Zauza PassosProfessor: Rodrigo Zauza Passos

  • 8/8/2019 Teste de Software e Qualidade

    2/82

    2

    Slide: 2

    Capacitar o aluno a testar umasoluo tecnolgica fundamentando-

    senas melhores prticas de

    Testes e de Garantia da Qualidade.

    :.::.: ObjetivoObjetivo

  • 8/8/2019 Teste de Software e Qualidade

    3/82

    3

    Slide: 3

    Achar falhas

    Previnirfalhas

    Evitar falhas

    :.::.: A Oratec trabalha com as prticas:A Oratec trabalha com as prticas:

  • 8/8/2019 Teste de Software e Qualidade

    4/82

    4

    Slide: 4

    Ferramen

    tas

    Ferramen

    tas

    Proces

    sos

    Proces

    sos

    Pesso

    as

    Pesso

    as

    Qualquer ciclo deproduo em TI sustentado por 3 pilares: Processos: o melhor

    mtodo simples deusar e cabe no bolso dequem o usa.

    Pessoas: devem atuarem suas competnciasnivelada ao seu perfilpessoal;

    Ferramentas: socomponentesfacilitadores e nocomplicadores.

    e ele amparado pelaquadra Escopo, Prazo,Custo & Qualidade ,mandamento de qualquerbom gerente de rea.

    :.::.: Variveis de ContextoVariveis de Contexto

  • 8/8/2019 Teste de Software e Qualidade

    5/82

    5

    Aurlio Requisito

    Condio que se deve satisfazer para que uma coisa fique legal e regular;

    Exigncia imprescindvel para a consecuo de certo fim;

    Qualidade, dotes, predicados exigidos para um produto;

    Requerimento Ato ou efeito de requerer (pedir /solicitar).

    Para um Analista

    Um requisito algo que o produto deve fazer ou alguma qualidade que deveapresentar.

    Para um Testador:

    Um requisito algo (verificvel) que o produto deve fazer ou alguma qualidade(mensurvel)que deve apresentar e que (pelo seu risco de comprometer o sucesso

    do projeto, compen$a) deve ser testado.

    :.::.: Nivelamento de Conceitos (I)Nivelamento de Conceitos (I)

    Conc

    eito

  • 8/8/2019 Teste de Software e Qualidade

    6/82

    6

    Usurio Implementador Testador Organizao

    Facilidade deuso,

    desempenho,confiabilidade

    dos resultados,etc.

    Facilidade demanuteno e

    conformidade emrelao aos

    requisitos deusurios, etc.

    Software com boaqualidade aqueleque cumpre com

    os requisitosnegociais com omnimo de falhas

    possvel.

    Cumprimentode prazo, boapreviso decusto, boa

    produtividadee rentabilidade.

    Vises sobre a qualidade de um Software:

    :.::.: Nivelamento de Conceitos (II)Nivelamento de Conceitos (II)

    Conc

    eito

  • 8/8/2019 Teste de Software e Qualidade

    7/82

    7

    Existe defeito quando um software ou parte dele:

    No funciona, mas os requisitos ou os artefatos indicam quefunciona;

    Faz algo na aplicao em que os requisitos ou os artefatosindicam que no deveria fazer;

    Faz algo que os requisitos ou os artefatos no indicam; Faz algo que os requisitos ou os artefatos no indicam, pormdeveriam indicar;

    No funciona adequadamente aos olhos do testador, pois difcil de entender, de usar ou lento.

    :.::.: Nivelamento de Conceitos (III)Nivelamento de Conceitos (III)

    Defeito=Falha=Anomalia=Bug=Ocorrncia

    Conc

    eito

  • 8/8/2019 Teste de Software e Qualidade

    8/82

    8

    Caso1- DisneysLionKing(1994-1995)-ADisney,em1994lanouseuprimeirojogodemultimediaparacrianasLionKingAnimated stories. Eraaprimeira

    da Disney,erenom

    ada, fezumenormecampanhademarketingportodo osEUA.Vendasforamabsurdamentefantsticas (vendasdenatal).Porm,nodiaseguinte,26dedezembrode1994 odepartamentodeatendimentoaocliente daDisney recebeuumaenxurradadeligaesdeclientesindignadosenervosos.OCDnofuncionava emmuitasdasplataformas dePCexistentesnomercado.Razo: Osoftwarefoidesenvolvidoemumanicaplataforma(quenorefletia

    asmaiscomunsdomercado!).

    Faltouumsimples testedemultiplataforma....

    :.::.: Bug Arrasadores (1/4)Bug Arrasadores (1/4)

  • 8/8/2019 Teste de Software e Qualidade

    9/82

    9

    Caso2PatriotMissileDefenseSystem,1991UmprogramadedefesaamericanochamadodestarwarsincluaochamadoU.S.Patriotmissile.Oprimeirousofoinaguerradogolfoem1991paradefenderdo

    smisseisScuds doIraque.Porem,estesistemafalhouinmerasvezescontravriosmisseis,incluindoummssiliraquianoquematou28soldadosamericanosemDhahran,na Arbia Saudita. Numaanalise,encontraramacausa:umbugnosistemadecontagem(pequenotimingerror) culminandonumerrode14horasdediferenaentreosrelgios,deixandoosistemadecontagemdefasado.

    Custo: Nomnimo,28vidas.

    :.::.: Bug Arrasadores (2/4)Bug Arrasadores (2/4)

  • 8/8/2019 Teste de Software e Qualidade

    10/82

    10

    Caso3LimitedeendereosdecomputadornaWWWQuandooTCP/IP(protocolodetransmissodepacotesdaInternet)foicriadopelossr.VintCerfeBobKahn,elesacharamque4.3bilhesdeendereoseramsufici

    entes.Parecemuito,mascomocrescimentoexponencialdetransaesnessaplataforma,pode-seatingirolimiteantesdoprevisto.Umconsrciodeorganizaesgovernamentaisestosepreparandoparaampliarestenmeroparamaisde200trilhesdeendereospossveis.

    Asingelamudanaimplicamexercommuitagenteemuitoscomputadoresespalhadospeloplaneta.Serumproblemacomplexo

    delogsticaesincronizaodossistemas.

    :.::.: Bug Arrasadores (3/4)Bug Arrasadores (3/4)

  • 8/8/2019 Teste de Software e Qualidade

    11/82

    11

    Caso4NovoSistemaDDDnoBrasilEmjulhode1999,oBrasilexperimentouumcaosnosistemadetelefoniapormaisde uma semana,devidoainstalaodonovosistemadecodificaodeDDD. Asrazesdoproblema foram: Aanatelno

    checouo resultadodostestesfeitospelas operadorasdentrodosestados.Entreestadosnenhumtestefoifeito;

    AtrocadoSistemanopassouporumtestesimuladoemnvelnacional; Asoperadorasapenassimularamconexodosequipamentosemrealimitadas;

    Nemtodasasoperadoras fizeraminvestimentossuficientesparasuportaramudana;

    AcampanhapublicitriadaAnatelenfatizavasomenteodireito deescolhadasoperadoras, masno explicavacom clarezaasmudanas; SeiscentraisdaEmbrateltiveramerrosnaprogramao,fazendocomqueaschamadasfossempararemlocaisdiferentes.

    :.::.: Bug Arrasadores (4/4)Bug Arrasadores (4/4)

  • 8/8/2019 Teste de Software e Qualidade

    12/82

    12

    So disciplinas distintas, mas convergentes: meta aqualidade;

    Testar significa verificar e validar um ou mais artefatos; Garantir a qualidade significa disciplinar a verificao e

    validao deles nos ciclos de produo e testes de software; Misso do time de teste: achar anomalias; Misso do time de QA: no deixar que elas se repitam; Nas tratativas legais, o Analista de QA quem responde pela

    qualidade do software, baseando-se nas mtricas do time detestadores.

    :.::.: Nivelamento de Conceitos (IV)Nivelamento de Conceitos (IV)

    Testes de Software Garantia da Qualidade

    Viv

    ncia

  • 8/8/2019 Teste de Software e Qualidade

    13/82

    13

    Slide: 13

    ProcessosProcessos

  • 8/8/2019 Teste de Software e Qualidade

    14/82

    14

    Slide: 14

    Processo de Software

    Gerncia eficaz e controledas atividades

    Processo de Software

    muito bem definido

    pessoas

    procedimentos

    ferramentas

    Req usurios

    Req.desenvolvedor

    Req.organizao

    :.::.: Processo de SoftwareProcesso de Software

  • 8/8/2019 Teste de Software e Qualidade

    15/82

    15

    Slide: 15

    RADRADRADRAD

    XM

    XM

    XM

    XM

    OMT

    OMT

    OMT

    OMT

    Booc

    Booc

    hhB

    ooc

    Booc

    hh

    PMBOK

    PMBOK

    PMBOK

    PMBOK

    Ca

    tal

    ysi

    Ca

    tal

    ysi

    ss

    Ca

    tal

    ysi

    Ca

    tal

    ysi

    ss

    Wa

    te

    Wa

    te

    rfall

    rfall

    Wa

    te

    Wa

    te

    rfall

    rfall

    USDP

    USDP

    SSADSSAD

    MM

    W-M

    odelV

    -Mod

    el

    Na Engenharia de Software,

    existem vrias metodologias de produo ...

    Focaliza o quFocaliza o qu

    Anlise do sistemaAnlise do sistema

    Fase planejamentoFase planejamento

    Anlise de requisitosAnlise de requisitos

    Focaliza o comoFocaliza o como

    Projeto da ArquiteturaProjeto da Arquitetura

    CodificaoCodificao

    TestesTestes

    Focaliza as mudanasFocaliza as mudanas

    Manutenes A.C.E.Manutenes A.C.E.

    DefinioDefinio

    DesenvolvimentoDesenvolvimento

    ManutenoManuteno

    Informaes processadas

    Funo e desempenho desejados

    Riscos mapeadosInterfaces estabelecidas

    Arquitetura da soluoEstrutura de dados

    Padres de codificao

    Planejamento dos Testes

    Contramedidaspara a gerncia

    da produo

    XP

    XP

    XP

    XP

    FDD

    FDD

    FDD

    FDD

    RUP

    RUP

    RUP

    RUP

    DS

    DM

    DS

    DM

    DS

    DM

    DS

    DM

    SC

    RU

    M

    SC

    RU

    M

    SC

    RU

    M

    SC

    RU

    M

    Iconix

    Iconix

    Iconix

    Iconix

    Crista

    Crista

    ll

    Crista

    Crista

    ll

    EUP

    :.::.: Mtodos de ProduoMtodos de Produo

  • 8/8/2019 Teste de Software e Qualidade

    16/82

    16

    Slide: 16

    Existem vrios modelos e padres de qualidade:Existem vrios modelos e padres de qualidade:

    :.::.: Padres de QualidadePadres de Qualidade

  • 8/8/2019 Teste de Software e Qualidade

    17/82

    17

    Slide: 17

    Existem vrios modelos e padres de qualidade:Existem vrios modelos e padres de qualidade:

    Efici

    ncia

    Integ

    ridade

    Usabilid

    ade

    Corretitu

    de

    Confiabili

    dad

    e

    Manuten

    ibilidad

    e

    Flexibilidade

    Tes

    tabilidade

    PortabilidadeReusabilidade

    Interoperabilidade

    A maioria deles avaliam a qualidade do software a partir de3 aspectos:

    (1) Operao do Produto;

    (2) Reviso do Produto;(3) Transio do Produto.

    A maioria deles avaliam a qualidade do software a partir de3 aspectos:

    (1) Operao do Produto;

    (2) Reviso do Produto;(3) Transio do Produto.

    Modelo de MCall (1977)

    :.::.: Padres de QualidadePadres de Qualidade

  • 8/8/2019 Teste de Software e Qualidade

    18/82

    18

    Slide: 18

    Testability Maturity Model (TMM) Test Organization Maturity (TOM) Testing Assessment Program (TAP)

    Evaluation&Test SW-CMM Key Process Area(CMM-I KPA)

    Metrics-based Testing Maturity Model (MB-TMM)

    Em desenvolvimento

    :.::.: Padres de Qualidade para testesPadres de Qualidade para testes

  • 8/8/2019 Teste de Software e Qualidade

    19/82

    19

    Slide: 19

    ProcessoProcesso

    ProdutoProduto

    RequerimentosRequerimentos

    AnliseAnlise

    DesenhoDesenho

    CodificaoCodificaoTestes

    de Unidade

    Testesde Unidade

    Testesde SistemaTestes

    de Sistema

    Testesde Aceitao

    Testesde Aceitao

    Testesde Integrao

    Testesde Integrao

    testeteste

    testeteste

    testeteste

    testeteste

    docdoc

    docdoc

    docdoc

    docdoc

    :.::.: Um bom modelo de produoUm bom modelo de produo

  • 8/8/2019 Teste de Software e Qualidade

    20/82

    20

    Slide: 20

    A implantao de umprocesso de formal de

    Testes no ciclo produtivo

    otimiza as relaessetoriais e garante acadncia do trabalho

    coorporativo

    :.::.: Viso Geral sobre os TestesViso Geral sobre os Testes

  • 8/8/2019 Teste de Software e Qualidade

    21/82

    :.: O Processo de Testes de Software:.: O Processo de Testes de Software

    Existem basicamente 2 vises sobre os testes:

    Viv

    ncia

    Viso Restrita Viso Abrangente

    Um bom testador um bomprogramador;

    Testar significa mais gastosde recursos e tempo doprojeto;

    O testador s deve achar

    erros.

    Um bom testador aqueleque domina as regrasnegociais do SUT (SystemUnder Testing);

    Testar significa investir paragastar menos;

    Alm de ach-los, o testador

    deve indicar como evit-los epreven-los. (QA/QD/QC)

    21

  • 8/8/2019 Teste de Software e Qualidade

    22/82

    Registrar/monitorar erros

    Analisar todos os requisitos

    Produzir mtricas

    Formular indicadoresde qualidade

    :.: O Processo de Testes de Software:.: O Processo de Testes de Software

    So premissas dos testes de software:

    22

  • 8/8/2019 Teste de Software e Qualidade

    23/82

    23

    Com

    ple

    xid

    ad

    e

    Ciclo de Vida

    ConcepoDiagnosticar

    situao

    atual

    Assimilar

    Conhecimento

    Definir

    Estratgias

    InstrumentalizaoInstrumentalizar as estratgias definidas

    Criar, compartilhar e realimentar Expertise

    EvangelizaoMonitorar e criar cultura, Divulgar, Negociar,

    Compartilhar, Justificar, Celebrar, Aperfeioar...

    Analistas /Arquitetode Testes

    Analista/Executores deTestes

    t+1

    Analistas eExecutores

    :.: O Processo de Testes de Software:.: O Processo de Testes de Software

    Atividades Macro X Responsveis:

    t

  • 8/8/2019 Teste de Software e Qualidade

    24/82

    Todos os testes devem ser rastreveis at a sua origem,que so os requisitos negociais;

    Planeje sempre. Mas seja comedido ! Cerca de 60% das falhas ocorrem na concepo do produto;

    Crie casos de testes genricos; Testes no tm fim. Eles apenas provocam um ponto de

    corte ! Processos inteligentes (e eficientes) so independentes de

    ferramentas;

    Antes de executar um esforo de testes defina bem ospapis e responsabilidades;

    :.: O Processo de Testes de Software:.: O Processo de Testes de Software

    Dicas teis:Vi

    vncia

    24

    o

  • 8/8/2019 Teste de Software e Qualidade

    25/82

    25

    :.::.: Nivelamento de Conceitos (V)Nivelamento de Conceitos (V)Conc

    eito

    Artefatos documentais do processo de testes de

    software: Requisitos: lista contendo todas asnecessidades negociais do SUT(funcionais/no funcionais);

    Plano ou estratgia: documentocom o conjunto das atividades doesforo de teste. Aqui se definem ostipos de testes, cronograma, papis,responsabilidades e infra necessria;

    Cenrio ou roteiro: conjunto decasos de testes que seroexecutados para cobrir um ou maisprocessos negociais;

    Casos de teste: um conjunto deprocedimentos que valida/verificaum ou mais requisitos negociais;

    Etapas: aes devalidao/verificao de um caso deteste.

  • 8/8/2019 Teste de Software e Qualidade

    26/82

    26

    Construa um simples caso de teste cujameta :

    Verificar se um palito de fsforo acende.

    Tempo estimado: 30 minutos (20/10)

    :.: Desafio #1:.: Desafio #1

  • 8/8/2019 Teste de Software e Qualidade

    27/82

    27

    :.: O Processo de Testes de Software:.: O Processo de Testes de Software

    Estratgia de testes

    Testes caixa branca

    Testes exploratrios

    Testes caixa preta

    Testes de vulnerabilidades

    Testes de Carga e Stress

    Testes Funcionais

    Testes baseados em cenrios Testes negativos

    Inspeo deArtefatos Doc.

    Verificao deDiagramas UML

    Validao de modelos ER

    Validao/Verificao derequisitos

    Rgua de AvaliaoFornecedores

    Testes unitrios

    A estratgia de testes faz parte da Metodologia dos

    testes !!!Testes de regresso

    Testes automatizados

  • 8/8/2019 Teste de Software e Qualidade

    28/82

    :.: O Processo de Testes de Software:.: O Processo de Testes de Software

    Tipos de testes mais comuns:

    Funcionais: verificam se o SUT est agindo conforme os requisitos negociaisprojetados inicialmente; Baseados em cenrios: uma boa estratgia para abranger a maior parte dos

    requisitos negociais do SUT; Testes negativos: so atividades que tentam contradizer a natureza para qual

    aquela funcionalidade foi projetada; Testes de caixa-preta: valida somente a entrada e a sada de um processo, no

    importando o que acontece dentro dele; Performance: so atividades que avaliam o desempenho do SUT ou de umcomponente de acordo com parmetros balisadores de aceitabilidade (requisitos nofuncionais);

    Load/Stress: a estratgia utilizada para averiguar a suportabilidade dainfraestrutura do SUT (rede, middleware, RDBMS, etc.). O teste de stress nada mais do que o ponto limite da carga utilizada no esforo do teste e suportada pela

    infraestrutura; Teste exploratrio: sua finalidade reconhecer as caractersticas do prottipo etentar provocar a ocorrncia de anomalias;

    Teste de vulnerabilidade: com o advento da Internet tornou-se atividadeestratgica, pois verifica os limites do SUT com relao s atividades de XSS, Cross-Scripting, sobrecarga de nveis de servio;

    Testes automatizados: so viveis quando os requisitos do SUT so maduros e

    estveis; Testes de regresso: aplicvel quando um coponente do SUT sofre alterao.28

  • 8/8/2019 Teste de Software e Qualidade

    29/82

    Slide: 29

    Levantamento de

    Necessidades

    Anlise dosRequisitos e

    ArtefatosEspecificao

    /Desenho

    Inspeo eValidao

    Corrigir e solucionardvidas

    Esclarecimento

    Reescrever

    Revalidar

    EnviarDefeitoFornecedor

    AbrirDefeito

    RetestarDefeito

    CancelarDefeito

    EncerrarDefeito

    Defeito ?

    BUGFix ?

    Ciclo de Reparo deDefeitos

    Gerenciamento de

    Testes e Defeitos

    :.: O ciclos de produo e:.: O ciclos de produo ede testes de softwarede testes de software

    Gerenciamento do ciclode produo do

    software

  • 8/8/2019 Teste de Software e Qualidade

    30/82

    30

    No se pode testar aquilo que no se sabe;

    Clientes sempre mudam os requisitos; Uso de prottipos no pode ser desculpa para nodocumentar requisitos;

    Interfaces grficas abrangem unicamente requisitosfuncionais de alto nvel, sem detalhes, sem regras de

    negcios; Usurios no sabem o que querem at terem algopaupvel.

    :.: Melhores prticas de testes (1/9):.: Melhores prticas de testes (1/9)

    #1) Requisito a base do teste

  • 8/8/2019 Teste de Software e Qualidade

    31/82

    31

    fcil de configurar: customizar uma funcionalidade conforme asnecessidades do usurio deve ser uma tarefa fcil para ele;

    Est em conformidade com os requisitos que o cliente pediu.

    eficiente: recursos de infraestrutura atendem a performance dafuncionalidade (processador, memria, discos e linhas decomunicao);

    Seja expandvel: recursos que permitam a utilizao de objetos ecomponentes de estrutura funcional para compor os novos requisitosde sistema (isso ideal para a perfeita manuteno do software);

    Tenha flexibilidade: procedimento que permite a mudana dosoftware em ambientes diferentes. Ex.: mudana de Banco deDados;

    Tenha integridade: que a habilidade do software proteger a elemesmo via permissionamento de nveis de acesso.

    #2) Um bom software aquele que

    :.: Melhores prticas de testes (2/9):.: Melhores prticas de testes (2/9)

  • 8/8/2019 Teste de Software e Qualidade

    32/82

    32

    Tenha interoperabilidade: que a capacidade de trocar dadoscom outros softwares;

    Seja de fcil manuteno: reutilizao de componentes,parametrizao, orientao a objetos e todas as demais tcnicas que

    organizam e facilitem a vida do programador; Seja gerencivel: que a habilidade de gerenciar os recursos de

    alocao, gesto de contedo e configurao; Seja seguro: que a capacidade do software executar uma

    funcionalidade sem causar condies inseguras;

    Seja fcil de usar: a facilidade que o software pode seraprendido e operado;

    Seja verificvel: a capacidade de verificar que o software esttrabalhando corretamente.

    #2) Um bom software aquele que

    :.: Melhores prticas de testes (2/9):.: Melhores prticas de testes (2/9)

  • 8/8/2019 Teste de Software e Qualidade

    33/82

    33

    A linguagem escrita no um meio confivel de especificarrequisitos. Podem aparecer requisitos: Vagos Ambguos Incompletos De difcil compreenso e entendimento No to fceis de se testar

    DICA: Use alguns desses modelos para incrementar a linguagemescrita:

    Modelo de dados Modelo de processos Modelo de objetos Tabelas de deciso Casos de uso

    #3) Adote um modelo baseado em requisitos

    :.: Melhores prticas de testes (3/9):.: Melhores prticas de testes (3/9)

  • 8/8/2019 Teste de Software e Qualidade

    34/82

    34

    Para cada requisito, identifique os possveiscenrios;

    Use tcnicas como: Classes de equivalncia; Grficos de causa e efeitos;Tabelas de deciso;

    rvores de deciso; Anlise da integridade relacional; Casos de uso.

    #4) Defina formalmente os casos de testes

    :.: Melhores prticas de testes (4/9):.: Melhores prticas de testes (4/9)

  • 8/8/2019 Teste de Software e Qualidade

    35/82

    35

    Testes positivos: qualquer atividade que aponta avalidao de um requisito. Supe-se que o dado entrado vlido e ele ser processado atravs dos caminhos normais;

    Testes negativos: o processo de execuo de umprograma com a inteno de encontrar erros. Supe-se que odado entrado invlido e ele ser processado atravs da

    manipulao errada dos caminhos funcionais;

    #5) Execute casos de testes positivos enegativos

    :.: Melhores prticas de testes (5/9):.: Melhores prticas de testes (5/9)

  • 8/8/2019 Teste de Software e Qualidade

    36/82

    36

    Requisito #1 Requisito #2 Requisito #... Requisito #n

    Caso de Teste #1 Passou Passou No executado

    Caso de Teste #2 Passou Passou

    Caso de Teste #3 Falhou Passou Passou

    Caso de Teste #...

    Caso de Teste #n

    #6) Crie matriz de rastreabilidade decomponentes

    :.: Melhores prticas de testes (6/9):.: Melhores prticas de testes (6/9)

  • 8/8/2019 Teste de Software e Qualidade

    37/82

    37

    Baseie os cenrios de teste de regresso em: Anlise de impacto

    Quando um requisito modificado, quais so os componentes

    afetados com a mudana ?Quando um componente modificado, quais os requisitos que

    devem ser retestados novamente ?Este tipo de anlise comea no desenvolvimento com os

    programadores e continua durante a fase dos testes

    Anlise de risco

    Ferramentas de Capture/Playback podem ser muito til (inclusive paraautomatizar os testes de regresso).

    #7) Execute testes de regresses maisabrangentes

    :.: Melhores prticas de testes (7/9):.: Melhores prticas de testes (7/9)

  • 8/8/2019 Teste de Software e Qualidade

    38/82

    38

    Ferramenta de planejamento de testes Gerenciamento de testes

    Ferramentas de Case Design Ferramentas para testes de cobertura Ferramentas para execuo de testes e de

    capture/replay Ferramentas para anlise esttica BugTrackers

    #8) Selecione ferramentas para suportar ostestes

    :.: Melhores prticas de testes (8/9):.: Melhores prticas de testes (8/9)

  • 8/8/2019 Teste de Software e Qualidade

    39/82

    39

    Testes de software uma disciplina contextual; A prtica a melhor maneira de aprimorar seus

    conhecimentos; Procure se certificar profissionalmente:

    CSTE (QAI/USA) CSQA (QAI/USA)

    CBTS (ALATS/BRZ)

    #9) Aprimore continuamente sua capacitao

    :.: Melhores prticas de testes (9/9):.: Melhores prticas de testes (9/9)

  • 8/8/2019 Teste de Software e Qualidade

    40/82

    40

    Em desenvolvimentoEm teste

    Em teste

    Em homologao

    Em homologaoEm produo

    :.: Ambientes de produo:.: Ambientes de produo

  • 8/8/2019 Teste de Software e Qualidade

    41/82

    41

    :.: Ambientes de produo:.: Ambientes de produo

  • 8/8/2019 Teste de Software e Qualidade

    42/82

    42

    Toda a estrutura destinada aosanalistas de sistema e programadores;

    segmentado em produo e testes facultativo o uso das equipes

    :.: Ambientes de produo:.: Ambientes de produo

  • 8/8/2019 Teste de Software e Qualidade

    43/82

    43

    Toda a estrutura destinada equipe detestadoresTesta os requisitos de softwareEstrutura semelhante ao da produo

    :.: Ambientes de produo:.: Ambientes de produo

  • 8/8/2019 Teste de Software e Qualidade

    44/82

    44

    Pelos erros ocorridos e mtricascoletadas, novos casos seroconfeccionados para garantir a qualidadede software

    Beta testes somente para um grupo deusurios

    :.: Ambientes de produo:.: Ambientes de produo

    Slide: 45

  • 8/8/2019 Teste de Software e Qualidade

    45/82

    45

    Escolhamaisdetrsmaneirasparamediraestabilidadedoprodutoserliberadoemproduo:

    1. PadresdeCodificao2. FluxodeFalhas/Condio3. EstabilidadePerformtica4. Qualidad

    edosTestes5. MNC(MtricasNoCartesianas)

    :.: Mtricas clssicas:.: Mtricas clssicasem testesem testes

    Slide: 46

  • 8/8/2019 Teste de Software e Qualidade

    46/82

    46

    Emcadaciclodetestes,consegue-secoletar: Asfalhaspormdulos(local aondeafalhafoidetectada);

    Oprogressodostestes; Aquantidadedefalhasporstatus,severidade,testador,etc;

    Obugfixtime;

    Aquantidadedefalhasemambientesdeprepsproduo;

    Adensidadedefalhas(#falhas/KLOC) Adistribuiodeesforoporfasesdeproduo;

    Aevoluodaqualidadedostestes; Aevoluodotamanho de cadaverso;

    :.: Mtricas clssicas:.: Mtricas clssicasem testesem testes

    Slide: 47

  • 8/8/2019 Teste de Software e Qualidade

    47/82

    47

    Somtricasquedependemdocontextodaanlise.

    Fatoresqueatrapalhamaqualidadedostestes(faltademetodologia,

    tempocurtoparaexecuodostestes,documentaorudimentar,infraestrutura,etc.);

    Percentualdeacertosdobugfix; ndicedesatisfaodocliente;

    Evoluodosrequisitosporverso;

    :.: Mtricas no:.: Mtricas nocartesianascartesianas

    Slide: 48

    cia

  • 8/8/2019 Teste de Software e Qualidade

    48/82

    48

    Viv

    nci

    Acredite:

    Uma mtrica a fotografia de umasituao em um dado momento;

    Em um processo, existem ferramentas,mtodos e pessoas. E para medir aspessoas, o conjunto de mtricas, comcerteza, no sero cartesianas;

    Por mais catico que seja a produo desoftware na corporao, sempre haver

    uma maneira de medir a sua eficincia; Se me fosse dado seis horas para

    derrubar uma rvore, as quatro primeiraspassaria afiando o machado. (AbraamLincoln)

    Planeje sempre a sua medio.

  • 8/8/2019 Teste de Software e Qualidade

    49/82

    49

    :.: Mtricas recursos de infra:.: Mtricas recursos de infra

  • 8/8/2019 Teste de Software e Qualidade

    50/82

    50

    448.5 MB/hr324.9 MB/hr214.0 MB/hr170.1 MB/hr123.2 MB/hr115.7 MB/hr73.9 MB/hr31.4 MB/hr31.0 MB/hr26.0 MB/hr18.0 MB/hr

    SMBCC:Mail

    IPNFSRPC

    NetBIOS Session SrvcTCPISO

    SQL ServerWWW (Web)

    FTP

    10.2 ms1.5 ms

    --35.5 ms123.3 ms90.0 ms-- ms-- ms4.2 s

    189.0 ms673.4 ms

    Application List

    Bytes Application Average Response Time

    113 Applications

    Lock Filter

    WAN Top ApplicationsSMB32%

    All Others10%

    NetBIOSSession Srvc

    6%TCP7%

    Pipe files8%

    IP Port 11779%

    CC:Mail28%

    Passo Nove

    :.: Mtricas recursos de infra:.: Mtricas recursos de infra

    Slide: 51

  • 8/8/2019 Teste de Software e Qualidade

    51/82

    51

    1. Preparao dos testes

    Objetivo: preparar todas as informaes eartefatos necessrios para um efetivo e eficienteprocesso de testes. Isto inclui levantar asespecificaes de uso, estabelecer as classe edesenhar um modelo flexvel para o processo detestes.

    :.: O ciclo de testes:.: O ciclo de testes

    Slide: 52

  • 8/8/2019 Teste de Software e Qualidade

    52/82

    52

    2. Planejando os testes

    Objetivo: identificar a estratgia e

    procedimentos que melhor se adaptem metodologia de desenvolvimento garnatindo aeficincia e eficcia dos testes.

    Esta etapa est em paralelo ao desenho dosistema e inclui: recursos, responsabilidades eobjetivo dos testes; identificao de riscos e

    prioridades e identificao de entidades quesero ou no testadas.

    :.: O ciclo de testes:.: O ciclo de testes

    Slide: 53

  • 8/8/2019 Teste de Software e Qualidade

    53/82

    53

    3. Desenhando os testes

    Objetivo: definir os casos de teste, dados eprocedimentos que estaro em conformidade comos requisitos iniciais. Esta etapa envolve

    planejamento estratgico prativo que detectepossveis falhas. A definio dos testes deveprimar pela simplicidade e baixo custo deexecuo.

    :.: O ciclo de testes:.: O ciclo de testes

  • 8/8/2019 Teste de Software e Qualidade

    54/82

    Slide: 55

  • 8/8/2019 Teste de Software e Qualidade

    55/82

    55

    4. Anlise do resultado dos testes

    Objetivo: Pra aprimorar o processo produtivo,nesta etapa so coletadas analisadas as

    evidncias geradas pela etapa anterior.

    :.: O ciclo de testes:.: O ciclo de testes

  • 8/8/2019 Teste de Software e Qualidade

    56/82

    56

    1. Criar os artefatos

    documentais para osseguintes softwares: Controle de Estoque; Locadora de DVD; Automoo Comercial

    (lanchonete);1. Consideraes:

    Dividam-se em 3 grupos eescolham o System UnderTesting (SUT);

    Se tiver dvida, pergunte ao

    Professor sobre os requisitosnegociais de cada software;

    Garanta a rastreabilidade dosartefatos;

    1. Tempo estimado: 1h30min

    :.: Desafio #2:.: Desafio #2

  • 8/8/2019 Teste de Software e Qualidade

    57/82

    57

    Interpretao (do usurio e do analista); Ambiguidade; Inconsistncia;

    No relevncia; Informalidade; No testabilidade; Gramatical e morfolgica;

    Sub especificao.

    :.: Anomalias dos Artefatos documentais:.: Anomalias dos Artefatos documentais

    ncia

  • 8/8/2019 Teste de Software e Qualidade

    58/82

    58

    Que exista um

    DOCUMENTO ESCRITO (Formal)

    com aquilo que deve ser feito e

    que neste documento exista uma

    lista identificada de REQUISITOS.

    (pode ser um anexo)

    CMM nvel 2 essencialmente sobre Requisitos

    CMM nivel 3 introduz formalmente Testes de Requisitos (peer-reviews)

    :.: Premissas para se executarem testes:.: Premissas para se executarem testesVivn

    c

    ncia

  • 8/8/2019 Teste de Software e Qualidade

    59/82

    59

    :.: Apresentao da metodologia A360:.: Apresentao da metodologia A360Vivn

    Criada por Rodrigo Z. Passos em 2006 para ajudar a rea deGesto de Projetos de uma grande siderrgica. A misso eraenvolver todos os colaboradores na homologao de artefatos defornecedores externos, atestando ou no a entrega do produto.

    A metodologia baseia-se em 3 premissas:

    1. No perfil de colaborador envolvido (permite at 4 perfis);

    2. No Questionrio com n perguntas baseadas na ISO 9126 econfiguradas de acordo com o artefato a ser inspecionado(documentos, diagramas, etc.);

    3. No parecer tcnico final.

    Objetivo ldico: testar o software antes dele

    existir !

    ncia

  • 8/8/2019 Teste de Software e Qualidade

    60/82

    60

    :.: Apresentao da metodologia A360:.: Apresentao da metodologia A360Vivn

    O conceito de qualidade varivel em relao ao perfil doanalisador;

    Uma equipe de testes mais qualificada para inspecionar aqualidade do que qualquer outro time; mas a etapa de

    homologao legalmente envolve terceiros; O desafio foi desenvolver uma metodologia que transforma asubjetividade da anlise contextual do documento, em mtricasobjetivas que demonstrem matematicamente a qualidade doartefato inspecionado;

    Criou-se um questionrio-base para todos os colaboradores

    envolvidos responderem uma escala gradativa de 1 a 7. Cada umadas respostas gera uma mdia ponderada para a categoria deanlise realizada (via ISO9126);

    Nenhum dos colaboradores pode ter acesso ao questionrio deseu colega;

    O confronto das mdias encontradas pelos testadores e demaiscolaboradores fornece vrias perspectivas de anlise sobre a

    Fatores motivadores para criao da metodologia

    ncia

  • 8/8/2019 Teste de Software e Qualidade

    61/82

    61

    :.: Apresentao da metodologia A360:.: Apresentao da metodologia A360Vivn

    Insumo bsico - ISO 9126: Portais da QualidadePortais daQualidade

    Significado Pergunta Chave

    Funcionabilidade Evidencia o conjunto defunes que atendem snecessidades implcitas eexplcitas para a finalidadea que se destina o produto

    Satisfaz snecessidades ?

    Confiabilidade Evidencia a capacidade do

    produto de manter seudesempenho ao longo dotempo e em condiesestabelecidas.

    imune a falhas ?

    Usabilidade Evidencia a facilidade paraa utilizao do produto

    E fcil de usar ?

    Eficincia Evidencia o relacionamentoentre o nvel dedesempenho do produto e

    a quantidade de recursosutlizados, sob condiesestabelecidadas..

    rpido e enxuto ?

    Manutenibilidade Evidencia o esforonecessrio para realizarmodificaes no produto.

    fcil de modificar ?

    ncia

  • 8/8/2019 Teste de Software e Qualidade

    62/82

    62

    :.: Apresentao da metodologia A360:.: Apresentao da metodologia A360Vivn

    Engenharia Conceitual: normalmente o escopo do projeto acordado entre a rea de

    usurios e demais tcnicos; Requistos de Negcio/Funcionais:

    lista contendo todas as necessidades do software/soluo emTI;

    Especificaes Funcionais ou de Caso de Uso Diagramas UML:

    estado, transio, casos de uso, etc; Diagramas Fluxo de Dados Diagramas de Entidade e Relacionamento

    Tipos de artefatos que podem ser

    inspecionados:

  • 8/8/2019 Teste de Software e Qualidade

    63/82

    63

    1. Inspecionar os artefatos

    documentais criadosanteriormente para: Controle de Estoque; Locadora de DVD; Automoo Comercial

    (lanchonete);1. Consideraes:

    Dividam-se novamente em 3grupos, com composiorespectiva diferente da anterior;

    Use a metodologia A360;

    Registre as anomaliasencontradas;

    1. Tempo estimado: 2h

    :.: Desafio #3:.: Desafio #3

    Slide: 64

  • 8/8/2019 Teste de Software e Qualidade

    64/82

    64

    Pessoasessoas

    Slide: 65

    ncia

  • 8/8/2019 Teste de Software e Qualidade

    65/82

    65

    Fique preparado: tudo vai bem at o seu relatrio apontar o

    primeiro problema; Voc apenas um inspetor ! A garantia da qualidade no a sua

    responsabilidade. Bugs so altamente relevantes ao ciclo de produo; Mantenha seu senso de humor e aceitao. No se irrite por estar

    testando uma bosta Faa seu trabalho e tenha vida normalaps o expediente de trabalho. Voc s pode testar aquilo que se pode observar;

    Algum aqui j testou um sistema de bilhetagem ????

    Use a disciplina a seu favor: torne-se amiguinho de padres eprocessos;

    Fique esperto: nunca se ter tempo suficiente para se testar umSUT;

    No se iluda: no existe Software Zero-Defect ! Desenvolvedores no so inimigos !!! Sobre o SUT: simplicidade no sinnimo de facilidade.

    :.: Frases a serem ditas a um testador::.: Frases a serem ditas a um testador:Vivn

  • 8/8/2019 Teste de Software e Qualidade

    66/82

    Slide: 67

    ncia

  • 8/8/2019 Teste de Software e Qualidade

    67/82

    67

    Tem um forte auto-marketing; Sabe automotivar-se; Entende e defende o usurio/cliente;

    Seleciona talentos na equipe que faro adiferena na hora da entrega do produto desoftware com qualidade;

    Estuda o processo negocial, aplica o

    conhecimento tcnico e acredita no seu taco( pr-atividade)

    :.: Um bom profissional de testes::.: Um bom profissional de testes:Vivn

    Slide: 68

  • 8/8/2019 Teste de Software e Qualidade

    68/82

    68

    O programa de certificao do Quality AssuranceInstitute (QAI) um dos mais aceitosinternacionalmente.

    Existem dois tipos de certificao:

    1. CSTE (produto): preparao do ambiente de

    testes; planejamento de testes; test design;execuo de testes; automao; ferramentas;elaborao de relatrios; etc.

    2. CSQA (processo): estrutura de modelos dequalidade; definio de padres de prtica e

    controle de qualidade; construo,implementao e melhoria dos processos dequalidade; mtricas.

    Outras instituies outorgantes: InternationalSoftware Testing Institute e American Society for

    Quality

    :.: Certificao Profissional:.: Certificao Profissional

    Slide: 69

  • 8/8/2019 Teste de Software e Qualidade

    69/82

    69

    :.: Papis & Responsabilidades:.: Papis & ResponsabilidadesPapel Responsabilidades

    Gerente, Coordenador ouLder de testes

    Viabiliza os recursos necessrios paraum esforo de testes; conduz asatividades e as monitora emconformidade com o planejamento;Realoca recursos ao longo do ciclo.

    Analistas de Testes Planeja a estratgia e elabora casosde testes, baseando-se nos requisitosde negcio do SUT.

    Arquiteto de Testes Prepara toda infra estruturanecessria para se executar aestratgia de testes. Instalaferramenta, gera massa de dados,mede performance, etc.

    Executor de Testes Executa tudo o que est planejado.Figura-chave do ciclo de testes pois as

    ocorrncias encontradas por ele soos indicadores da qualidade doproduto inspecionado.

  • 8/8/2019 Teste de Software e Qualidade

    70/82

  • 8/8/2019 Teste de Software e Qualidade

    71/82

    71

    FerramentasFerramentasFerramentasFerramentas

    Gerenciamento deDados e Arquivos

    Depurao e

    Anlise Interativa

    Gerenciamento deFalhas e Performance

    Automao dosTestes

    :.: Viso geral de ferramentas em testes:.: Viso geral de ferramentas em testes

    Slide: 72

    ncia

  • 8/8/2019 Teste de Software e Qualidade

    72/82

    72

    Viv

    n

    A Tecnologia deve conter:

    GUI: Interface com capacidades de capture /playback, planejamento, script, gerenciar eanalisar resultados, relatrios e grficos;

    Repositrio: Armazena o projeto;

    Carga: Simulao de usurios, volume,performance e stress;

    Analisador: Monitorar teste;Detector: Detecta e relata erros/problemas;

    Tracker: Captura defeitos e armazena;

    :.: Dicas sobre ferramentas:.: Dicas sobre ferramentas

    Slide: 73

    ncia

  • 8/8/2019 Teste de Software e Qualidade

    73/82

    73

    Viv

    Dicas importantes para gerentes que iro adquirir ferramentas de mercado:

    Definir requisitos iniciais:

    Quais so os principais problemas que as ferramentas dever a ajud-lo resolver ? Quais so as capacidades que a ferramenta dever ter para ser eficiente no ambiente de trabalho ?

    Qual o impacto da absoro cultural das novas tecnologias defendidas pela ferramenta ?

    Se as diretrizes estratgicas existem investimentos em testes de automao, qual o ROI da ferramenta ?

    Pesquisar muito antes de comprar:

    Interaja com a comunidade: participe de feiras, congressos, etc;

    Leia tudo o que puder: web, livros, revistas, jornais, blog;

    Analise a relao contextual: mudana cultural corporativa X nova ferramenta;

    Refinar os requisitos: Durante a pesquisa, voc ir descobrir novas necessidades em termos ferramentais;

    Ache uma maneira de convencer o setor de que aquela ferramenta no ir acabar com o emprego doscolaboradores. Apresente contigncia, caso isso seja inevitvel;

    Fazer prova de aderncia:

    a chance que se tm de verificar o quo eficiente a ferramenta ser para o ciclo produtivo da corporao

    Cuidado: Os grandesplayers so predadores

    Eles sempre iro dizer que ferramentas salvaro a lavoura.

    No se enganem: estes s vendem caixinhas.

    Delimite o seu terreno.

    :.: 5 etapas de avaliao de ferramentas::.: 5 etapas de avaliao de ferramentas:

  • 8/8/2019 Teste de Software e Qualidade

    74/82

    74

    ExperimentosExperimentos

    Slide: 75

    ncia

  • 8/8/2019 Teste de Software e Qualidade

    75/82

    75

    :.: Inspeo de Artefatos em TI (1/5):.: Inspeo de Artefatos em TI (1/5)Por Ciclo de Entregas

    Qua

    lid

    ade

    Ciclo de Vida

    Qualidade suficientemente boa

    No d pra testara Qualidade

    O artefato foi liberado.

    O Ciclo de testes comeaaqui !

    Build / Verso / Release

    Fim do Ciclo

    Testes NOK:problemas vista

    Testes OK:

    comportamentoesperado

    Testes noexecutados:Vriascausas.

    Viv

    Slide: 76

    vncia

  • 8/8/2019 Teste de Software e Qualidade

    76/82

    76

    :.: Inspeo de Artefatos em TI (2/5):.: Inspeo de Artefatos em TI (2/5)Ritmo mais demorados de testes

    Qua

    lid

    ade

    Ciclo de Vida

    Qualidade suficientemente boa

    No d pra testara Qualidade

    O artefato foi liberado.

    O Ciclo de testes comeaaqui !

    Build / Verso / Release

    Fim do Ciclo

    Testes NOK:problemas vista

    Testes OK:comportamentoesperado

    Testes noexecutados:Vriascausas.

    Viv

    Slide: 77

    vncia

  • 8/8/2019 Teste de Software e Qualidade

    77/82

    77

    :.: Inspeo de Artefatos em TI (3/5):.: Inspeo de Artefatos em TI (3/5)Ritmo de testes estilo Pizzaria

    Qua

    lid

    ade

    Ciclo de Vida

    Qualidade suficientemente boa

    No d pra testara Qualidade

    O artefato foi liberado.

    O Ciclo de testes comeaaqui !

    Build / Verso / Release

    Viv

    Testes NOK:problemas vista

    Testes OK:comportamentoesperado

    Testes noexecutados:Vriascausas.

    Slide: 78

    vncia

  • 8/8/2019 Teste de Software e Qualidade

    78/82

    78

    :.: Inspeo de Artefatos em TI (4/5):.: Inspeo de Artefatos em TI (4/5)Sob presso foram a homologao.

    Qua

    lid

    ade

    Ciclo de Vida

    Qualidade suficientemente boa

    No d pra testara Qualidade

    O artefato foi liberado.

    O Ciclo de testes comeaaqui !

    Fim do Ciclo

    Testes NOK:problemas vista

    Testes OK:

    comportamentoesperado

    Testes noexecutados:Vrias

    causas.

    Viv

    Build / Verso / Release

    Slide: 79

    vncia

  • 8/8/2019 Teste de Software e Qualidade

    79/82

    79

    :.: Inspeo de Artefatos em TI (5/5):.: Inspeo de Artefatos em TI (5/5)Est acontecendo algo com quem produz o SUT

    Qua

    lid

    ade

    Ciclo de Vida

    Qualidade suficientemente boa

    No d pra testara Qualidade

    O artefato foi liberado.

    O Ciclo de testes comeaaqui ! Fim do Ciclo

    Testes NOK:problemas vista

    Testes OK:comportamentoesperado

    Testes noexecutados:

    Vriascausas.

    Viv

    Build / Verso / Release

    Slide: 80

    i li d ( / )

  • 8/8/2019 Teste de Software e Qualidade

    80/82

    80

    :.: Finalizando (1/2):.: Finalizando (1/2)

    Resultados obtidos com os desafios deste curso: Desafio#1 : descoberta da real

    importncia sobre como se deveescrever um artefato documentalem TI;

    Desafio#2: a partir doconhecimento de domnio pblico,foram construdos os artefatosdocumentais para o ciclo de testesde 3 SUTs;

    Desafio#3: aplicando a teoria prtica - pelo uso da ferrementaCamaleo, o aluno populou os ciclosde controle de produo e testouefetivamente os prottipos dos

    SUTs.

    Slide: 81

    Fi li d (2/2)

  • 8/8/2019 Teste de Software e Qualidade

    81/82

    81

    So premissas de uma boa prtica de testes desoftware:

    O valor de qualquer prtica, depende de seucontexto;

    Existem boas prticas em um contexto, mas noexistem melhores prticas;

    Projetos evoluem ao longo do tempo de maneirararamente antecipada;

    Pessoas trabalhando em esprito de equipe so ocontexto mais importante de qualquer projeto;

    :.: Finalizando (2/2):.: Finalizando (2/2)

    Slide: 82

  • 8/8/2019 Teste de Software e Qualidade

    82/82

    http://www.oratec.com.br

    Dvidas & Sugestes:[email protected]